<div dir="ltr"><br><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Regards,<br><p style="font-weight:bold;margin:0;padding:0;font-size:14px;text-transform:uppercase;margin-bottom:0"><span>Sunil kumar</span> <span>Acharya</span></p>
<p style="font-weight:normal;font-size:10px;margin:0px 0px 4px;text-transform:uppercase"><span>Senior Software Engineer</span></p>
<p style="font-weight:normal;margin:0;font-size:10px;color:#999"><a style="color:#0088ce;font-size:10px;margin:0;text-decoration:none;font-family:&#39;overpass&#39;,sans-serif" href="https://www.redhat.com" target="_blank">Red Hat <span><br><br></span></a></p>


<p style="font-weight:normal;margin:0px 0px 6px;font-size:10px;color:rgb(153,153,153)">
<span href="tel:+91-8067935170">T: <a href="http://redhatemailsignature-marketing.itos.redhat.com/" style="color:#0088ce;font-size:10px;margin:0;text-decoration:none;font-family:&#39;overpass&#39;,sans-serif" target="_blank">+91-8067935170</a>     </span>
</p>
<a href="https://red.ht/sig" target="_blank"> <img src="https://www.redhat.com/profiles/rh/themes/redhatdotcom/img/logo-red-hat-black.png" width="90" height="auto"></a> 

<div><a href="https://redhat.com/trusted" style="text-decoration:none;color:#c00;font-weight:bold" target="_blank">TRIED. TESTED. TRUSTED.</a></div><br></div></div></div>
<br><div class="gmail_quote">On Thu, Aug 3, 2017 at 2:14 AM, Niels de Vos <span dir="ltr">&lt;<a href="mailto:ndevos@redhat.com" target="_blank">ndevos@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"><span class="">On Wed, Aug 02, 2017 at 05:03:35PM +0530, Prashanth Pai wrote:<br>
&gt; Hi all,<br>
&gt;<br>
&gt; The ongoing work on glusterd2 necessitates following non-breaking and<br>
&gt; non-exhaustive list of changes to glusterfs source code:<br>
&gt;<br>
&gt; Port management<br>
&gt; - Remove hard-coding of glusterd&#39;s port as 24007 in clients and elsewhere.<br>
&gt;   Glusterd2 can be configured to listen to clients on any port (still<br>
&gt; defaults to<br>
&gt;   24007 though)<br>
&gt; - Let the bricks and daemons choose any available port and if needed report<br>
&gt;   the port used to glusterd during the &quot;sign in&quot; process. Prasanna has a<br>
&gt; patch<br>
&gt;   to do this.<br>
&gt; - Glusterd &lt;--&gt; brick (or any other local daemon) communication should<br>
&gt;   always happen over Unix Domain Socket. Currently glusterd and brick<br>
&gt;   process communicates over UDS and also port 24007. This will allow us<br>
&gt;   to set better authentication and rules for port 24007 as it shall only be<br>
&gt; used<br>
&gt;   by clients.<br>
<br>
</span>I prefer this last point to be configurable. </blockquote><div>+1<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">At least for debugging we<br>
should be able to capture network traces and display the communication<br>
in Wireshark. Defaulting to UNIX Domain Sockets is fine though.<br>
<span class=""><br>
<br>
&gt; Changes to xlator options<br>
&gt; - Xlator authors do not have to modify glusterd2 code to expose new xlator<br>
&gt;   options. IOW, glusterd2 will not contain the &quot;glusterd_volopt_map&quot; table.<br>
&gt;   Most of its fields will be moved to the xlator itself. Glusterd2 can load<br>
&gt;   xlator&#39;s shared object and read it&#39;s volume_options table. This also means<br>
&gt;   xlators have to adhere to some naming conventions for options.<br>
&gt; - Add following additional fields (names are indicative) to volume_option_t:<br>
&gt;     - Tag: This is to enable users to list only options having a certain<br>
&gt; tag.<br>
&gt;              IOW, it allows us to filter &quot;volume set help&quot; like output.<br>
&gt;              Example of tags: debug, perf, network etc.<br>
&gt;     - Opversion: The minimum (or a range) op-version required by the xlator.<br>
&gt;     - Configurable: A bool to indicate whether this option is<br>
&gt; user-configurable.<br>
&gt;                           This may also be clubbed with DOC/NO_DOC<br>
&gt; functionality.<br>
<br>
</span>This is something I have been thinking about to do as well. libgfapi<br>
users would like to list all the valid options before mounting (and<br>
receiving the .vol file) is done. Similar to how many mount options are<br>
set over FUSE, the options should be available through libgfapi.<br>
Hardcoding the options is just wrong, inspecting the available xlators<br>
(.so files) seems to make more sense. Each option would have to describe<br>
if it can be client-side so that we can apply some resonable filters by<br>
default.<br>
<br>
A GitHub Issue with this feature request is at<br>
<a href="https://github.com/gluster/glusterfs/issues/263" rel="noreferrer" target="_blank">https://github.com/gluster/<wbr>glusterfs/issues/263</a>. I appreciate additional<br>
comments and ideas about it :-)<br>
<span class=""><br>
<br>
&gt; - Xlators like AFR, changelog require non-static information such as brick<br>
&gt; path<br>
&gt;   to be present in it&#39;s options in the volfile. Currently, xlator authors<br>
&gt; have<br>
&gt;   to modify glusterd code to get it.<br>
&gt;   This can rather be indicated by the xlator itself using<br>
&gt; templates/placehoders.<br>
&gt;   For example, &quot;changelog-dir&quot; can be set in xlator&#39;s option as as<br>
&gt;   &lt;&lt;brick-path&gt;&gt;/.glusterfs/<wbr>changelogs and then glusterd2 will ensure to<br>
&gt; replace<br>
&gt;   &lt;&lt;brick-path&gt;&gt; with actual path during volfile generation.<br>
<br>
</span>I suggest to stick with whatever is a common syntax for other<br>
configuration files that uses placeholders. Maybe just {variable} or<br>
$VARIABLE, the &lt;&lt;variable&gt;&gt; looks a bit awkward.<br>
<span class=""><br>
<br>
&gt; We&#39;d like to hear your thoughts, suggestions and comments to these proposed<br>
&gt; changes.<br>
<br>
</span>Thanks for sharing!<br>
<span class="HOEnZb"><font color="#888888">Niels<br>
</font></span><div class="HOEnZb"><div class="h5">______________________________<wbr>_________________<br>
Gluster-devel mailing list<br>
<a href="mailto:Gluster-devel@gluster.org">Gluster-devel@gluster.org</a><br>
<a href="http://lists.gluster.org/mailman/listinfo/gluster-devel" rel="noreferrer" target="_blank">http://lists.gluster.org/<wbr>mailman/listinfo/gluster-devel</a><br>
</div></div></blockquote></div><br></div></div>