<div dir="ltr"><div><div>In recent past, I opened many feature pages (proposals) with openstack usecase (mainly using Manila as the openstack service) against glusterfs.<br></div>Listing them here to see what from these can make it to glusterfs.next. We definitely need most if not all of these features to gel GlusterFS nicely (read: semantically) with Manila.<br><br></div>Each of the below feature pages have Usecase section where i document the openstack usecase gap and hence the need for the said feature in glusterfs.<br><div><br><tt><b>Manila requirements:</b><br>
          <br>
          1) GlusterFS SSL Cert based access support at subdir
          granularity (for glusterfs protocol only)<br>
              - <a class="" href="http://www.gluster.org/community/documentation/index.php/Features/Subdir_support_in_SSL_auth">http://www.gluster.org/community/documentation/index.php/Features/Subdir_support_in_SSL_auth</a><br>
          <br>
          2) GlusterFS snapshot support at subdir level (for all
          protocols)<br>
              - <a class="" href="http://www.gluster.org/community/documentation/index.php/Features/snap_support_for_subdir">http://www.gluster.org/community/documentation/index.php/Features/snap_support_for_subdir</a><br>
          <br>
          3) Adding IP based access control in addition to SSL based
          access control (for glusterfs protocol only)<br>
              - <a class="" href="http://www.gluster.org/community/documentation/index.php/Features/IP_access_alongside_SSL_auth">http://www.gluster.org/community/documentation/index.php/Features/IP_access_alongside_SSL_auth</a><br>
          <br>
          4) glusterd: Ability to create/delete volumes on the fly<br>
              - <a class="" href="http://www.gluster.org/community/documentation/index.php/Features/glusterd-intelligent-volume-creation">http://www.gluster.org/community/documentation/index.php/Features/glusterd-intelligent-volume-creation</a><br>
          <br>
          5) Dynamic volume set support for SSL specific options<br>
              - <a class="" href="http://www.gluster.org/community/documentation/index.php/Features/auto-refresh-volume-set-ssl">http://www.gluster.org/community/documentation/index.php/Features/auto-refresh-volume-set-ssl</a><br>
          <br>
          6) Turn off &#39;glusterfs&#39; protocol access only<br>
              - <a class="" href="http://www.gluster.org/community/documentation/index.php/Features/turn-off-glusterfs-proto-access">http://www.gluster.org/community/documentation/index.php/Features/turn-off-glusterfs-proto-access</a><br>
          <br>
          7) Ability to create a new share from snapshot<br>
              - <a class="" href="http://www.gluster.org/community/documentation/index.php/Features/share-from-snapshot">http://www.gluster.org/community/documentation/index.php/Features/share-from-snapshot</a><br>
          <br>
          8) GlusterFS quota with SSL based auth. is broken<br>
              - <a class="" href="http://www.gluster.org/community/documentation/index.php/Features/quota-with-ssl-auth">http://www.gluster.org/community/documentation/index.php/Features/quota-with-ssl-auth</a><br><br>
          </tt><tt>9) GlusterFS : data shredding feature as part of gluster volume
        delete<br>
            -
        <a class="" href="http://www.gluster.org/community/documentation/index.php/Features/data-shred-support">http://www.gluster.org/community/documentation/index.php/Features/data-shred-support</a><br><br></tt><tt>10) Ability to query GlusterFS volume&#39;s capabilities<br>
          -
<a class="" href="http://www.gluster.org/community/documentation/index.php/Features/glusterfs-query-cap">http://www.gluster.org/community/documentation/index.php/Features/glusterfs-query-cap</a><br>
      <br>
      11) Show usable size in gluster volume info<br>
          -
<a class="" href="http://www.gluster.org/community/documentation/index.php/Features/show-usable-size-in-volume-info">http://www.gluster.org/community/documentation/index.php/Features/show-usable-size-in-volume-info</a><br>
      <br><br></tt><tt><b>Cinder requirement</b><b>:</b><br>
          <br>
          1) gluster geo-rep support at file granularity<br>
              - <a class="" href="http://www.gluster.org/community/documentation/index.php/Features/georep-at-file-granularity">http://www.gluster.org/community/documentation/index.php/Features/georep-at-file-granularity</a><br></tt></div><div><tt>    - Just using &#39;rsync&#39; is primitive and doesn&#39;t help long term. We need to have glusterfs support APi/verbs like failback, failover, sync/swap etc that are typical in enterprise storage products supporting DR<br></tt></div><div><tt>
          <br>
          <br>
          <b>Misc (not fully baked ones, hence haven&#39;t open feature
            pages</b><b> yet!)</b><b>:</b><br>
          <br>
          1) GlusterFS proxy server (using containers?)to serve
          GlusterFS shares over a private network (for glusterfs
          protocol only)<br>
               - Disclaimer: Needs more thought and investigation<br>
               - This is similar to Netapp&#39;s virtual storage server
          which is created to serve each share on a pvt network <br>
                 to achive network level isolation between openstack VMs
          and storage array/controller. This makes them to<br>
                 claim multi-tenancy at network level too.<br>
          <br>
          2) Enabling non-SSL based access (from a diff. IP) with SSL
          based access (from a diff IP) at the same time (for glusterfs
          protocol only)<br>
               - Openstack Manila Usecase: non-SSL based access can be
          used for m-shr service mount and SSL. This is<br>
                 needed for m-shr housekeeping (update_share_stats being
          the primary work) in Manila. SSL based access is<br>
                 needed for tenants to access GlusterFS shares.<br>
          <br>
               - Needs more discussion, as this might be security
          threat!<br>
          </tt><br><br></div><div>thanx,<br>deepak<br><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jan 29, 2015 at 12:37 PM, Prashanth Pai <span dir="ltr">&lt;<a href="mailto:ppai@redhat.com" target="_blank">ppai@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">An object interface to GlusterFS would greatly benefit Swift integration efforts. Currently swiftonfile project uses FUSE mount to perform I/O on GlusterFS volumes. Moving to libgfapi would increase performance if there were an object interface. May be something like this:<br>
<br>
glfs_put(object_path, data, metadata)<br>
data, metadata = glfs_get(object_path)<br>
<br>
This idea is vaguely presented in two existing feature pages<br>
<a href="http://www.gluster.org/community/documentation/index.php/Features/composite-operations#CREATE-AND-WRITE" target="_blank">http://www.gluster.org/community/documentation/index.php/Features/composite-operations#CREATE-AND-WRITE</a><br>
<a href="http://www.gluster.org/community/documentation/index.php/Features/Feature_Smallfile_Perf#object-store_API" target="_blank">http://www.gluster.org/community/documentation/index.php/Features/Feature_Smallfile_Perf#object-store_API</a><br>
<br>
I remember Rudra Siva (CC&#39;d) from community working on something similar :<br>
<a href="http://www.gluster.org/pipermail/gluster-devel/2014-November/042762.html" target="_blank">http://www.gluster.org/pipermail/gluster-devel/2014-November/042762.html</a><br>
<br>
Regards,<br>
 -Prashanth Pai<br>
<div class="HOEnZb"><div class="h5"><br>
----- Original Message -----<br>
From: &quot;Vijay Bellur&quot; &lt;<a href="mailto:vbellur@redhat.com">vbellur@redhat.com</a>&gt;<br>
To: &quot;gluster-users Discussion List&quot; &lt;<a href="mailto:Gluster-users@gluster.org">Gluster-users@gluster.org</a>&gt;, &quot;Gluster Devel&quot; &lt;<a href="mailto:gluster-devel@gluster.org">gluster-devel@gluster.org</a>&gt;<br>
Sent: Wednesday, January 28, 2015 5:31:36 PM<br>
Subject: [Gluster-devel] What would you like to see in GlusterFS.next?<br>
<br>
Hi All,<br>
<br>
Thanks to everyone who responded to the recent community survey [1], we<br>
have an idea of what you think would be necessary in GlusterFS. I have<br>
tried to collate the wishlist of features under appropriate categories<br>
here [2].<br>
<br>
As a continuation of this, the approaching feature freeze for 3.7 &amp; more<br>
momentum being gained for 4.0 planning, it would be good to understand<br>
what features you would like to see in the next releases of GlusterFS.<br>
To re-state the obvious, 3.x releases will continue to be evolutionary<br>
and 4.0 is planned to be a major release that brings about architectural<br>
improvements for better scale, ease of use and performance. More details<br>
on 4.0 planning can be found at [3].<br>
<br>
Please chip in with your ideas and we will continue to curate the<br>
community feature wishlist with what we learn here.<br>
<br>
Cheers,<br>
Vijay<br>
<br>
[1] <a href="http://www.gluster.org/pipermail/gluster-users/2014-October/019219.html" target="_blank">http://www.gluster.org/pipermail/gluster-users/2014-October/019219.html</a><br>
<br>
[2] <a href="http://goo.gl/MLPao6" target="_blank">http://goo.gl/MLPao6</a><br>
<br>
[3] <a href="http://www.gluster.org/community/documentation/index.php/Planning40" target="_blank">http://www.gluster.org/community/documentation/index.php/Planning40</a><br>
<br>
_______________________________________________<br>
Gluster-devel mailing list<br>
<a href="mailto:Gluster-devel@gluster.org">Gluster-devel@gluster.org</a><br>
<a href="http://www.gluster.org/mailman/listinfo/gluster-devel" target="_blank">http://www.gluster.org/mailman/listinfo/gluster-devel</a><br>
_______________________________________________<br>
Gluster-devel mailing list<br>
<a href="mailto:Gluster-devel@gluster.org">Gluster-devel@gluster.org</a><br>
<a href="http://www.gluster.org/mailman/listinfo/gluster-devel" target="_blank">http://www.gluster.org/mailman/listinfo/gluster-devel</a><br>
</div></div></blockquote></div><br></div>