<div><br><div class="gmail_quote"><div dir="auto">On Wed, 2 Aug 2017 at 18:41, Kaushal M &lt;<a href="mailto:kshlmster@gmail.com">kshlmster@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Wed, Aug 2, 2017 at 5:03 PM, Prashanth Pai &lt;<a href="mailto:ppai@redhat.com" target="_blank">ppai@redhat.com</a>&gt; 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.</blockquote><div dir="auto"><br></div><div dir="auto">We&#39;ll also need to account how brick multiplexing would work with this change.</div><div dir="auto"><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
&gt;<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>
&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/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>
One more change in this regard would be that xlators would now need to<br>
ensure that all options have default values. There are cases where<br>
certain xlators options had default values only in the volopt_map and<br>
not in their own opt table. Also this will remove the possibilty of<br>
the defaults differing between volopt_map and xlator options table.</blockquote><div dir="auto"><br></div><div dir="auto">+1</div><div dir="auto"><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
&gt;<br>
&gt; We&#39;d like to hear your thoughts, suggestions and comments to these proposed<br>
&gt; changes.<br>
&gt;<br>
&gt; - Glusterd2 team<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Gluster-devel mailing list<br>
&gt; <a href="mailto:Gluster-devel@gluster.org" target="_blank">Gluster-devel@gluster.org</a><br>
&gt; <a href="http://lists.gluster.org/mailman/listinfo/gluster-devel" rel="noreferrer" target="_blank">http://lists.gluster.org/mailman/listinfo/gluster-devel</a><br>
_______________________________________________<br>
Gluster-devel mailing list<br>
<a href="mailto:Gluster-devel@gluster.org" target="_blank">Gluster-devel@gluster.org</a><br>
<a href="http://lists.gluster.org/mailman/listinfo/gluster-devel" rel="noreferrer" target="_blank">http://lists.gluster.org/mailman/listinfo/gluster-devel</a><br>
</blockquote></div></div><div dir="ltr">-- <br></div><div class="gmail_signature" data-smartmail="gmail_signature">- Atin (atinm)</div>