[Gluster-devel] Glusterd2 - Some anticipated changes to glusterfs source

Atin Mukherjee amukherj at redhat.com
Wed Aug 2 13:25:57 UTC 2017


On Wed, 2 Aug 2017 at 18:41, Kaushal M <kshlmster at gmail.com> wrote:

> On Wed, Aug 2, 2017 at 5:03 PM, Prashanth Pai <ppai at redhat.com> wrote:
> > Hi all,
> >
> > The ongoing work on glusterd2 necessitates following non-breaking and
> > non-exhaustive list of changes to glusterfs source code:
> >
> > Port management
> > - Remove hard-coding of glusterd's port as 24007 in clients and
> elsewhere.
> >   Glusterd2 can be configured to listen to clients on any port (still
> > defaults to
> >   24007 though)
> > - Let the bricks and daemons choose any available port and if needed
> report
> >   the port used to glusterd during the "sign in" process. Prasanna has a
> > patch
> >   to do this.
> > - Glusterd <--> brick (or any other local daemon) communication should
> >   always happen over Unix Domain Socket. Currently glusterd and brick
> >   process communicates over UDS and also port 24007. This will allow us
> >   to set better authentication and rules for port 24007 as it shall only
> be
> > used
> >   by clients.


We'll also need to account how brick multiplexing would work with this
change.


> >
> > Changes to xlator options
> > - Xlator authors do not have to modify glusterd2 code to expose new
> xlator
> >   options. IOW, glusterd2 will not contain the "glusterd_volopt_map"
> table.
> >   Most of its fields will be moved to the xlator itself. Glusterd2 can
> load
> >   xlator's shared object and read it's volume_options table. This also
> means
> >   xlators have to adhere to some naming conventions for options.
> > - Add following additional fields (names are indicative) to
> volume_option_t:
> >     - Tag: This is to enable users to list only options having a certain
> > tag.
> >              IOW, it allows us to filter "volume set help" like output.
> >              Example of tags: debug, perf, network etc.
> >     - Opversion: The minimum (or a range) op-version required by the
> xlator.
> >     - Configurable: A bool to indicate whether this option is
> > user-configurable.
> >                           This may also be clubbed with DOC/NO_DOC
> > functionality.
> > - Xlators like AFR, changelog require non-static information such as
> brick
> > path
> >   to be present in it's options in the volfile. Currently, xlator authors
> > have
> >   to modify glusterd code to get it.
> >   This can rather be indicated by the xlator itself using
> > templates/placehoders.
> >   For example, "changelog-dir" can be set in xlator's option as as
> >   <<brick-path>>/.glusterfs/changelogs and then glusterd2 will ensure to
> > replace
> >   <<brick-path>> with actual path during volfile generation.
>
> One more change in this regard would be that xlators would now need to
> ensure that all options have default values. There are cases where
> certain xlators options had default values only in the volopt_map and
> not in their own opt table. Also this will remove the possibilty of
> the defaults differing between volopt_map and xlator options table.


+1


>
> >
> > We'd like to hear your thoughts, suggestions and comments to these
> proposed
> > changes.
> >
> > - Glusterd2 team
> >
> > _______________________________________________
> > Gluster-devel mailing list
> > Gluster-devel at gluster.org
> > http://lists.gluster.org/mailman/listinfo/gluster-devel
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at gluster.org
> http://lists.gluster.org/mailman/listinfo/gluster-devel
>
-- 
- Atin (atinm)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gluster.org/pipermail/gluster-devel/attachments/20170802/4e5e19bf/attachment.html>


More information about the Gluster-devel mailing list