On Tue, Mar 22, 2016 at 04:19:48PM +0100, Michal Židek wrote:
> On 03/22/2016 03:29 PM, Sumit Bose wrote:
> >On Tue, Mar 22, 2016 at 12:29:39PM +0100, Michal Židek wrote:
> >>Hi,
> >>
> >>I would like to write a patch that will
> >>allow SSSD to use the config file merging
> >>feature from libini. But first I would like
> >>to ask developers for their opinions on how
> >>this  should be implemented.
> >>
> >>My idea was that it could work like this.
> >>
> >>The current /etc/sssd/sssd.conf would work
> >>as usual.
> >>
> >>We would add new directory /etc/sssd/conf.d/
> >>and its content would be following:
> >>- README file that informs what the direcotory
> >>is for.
> >>- any number of files ending with .conf extension
> >>   that would contain additional configuration for
> >>   SSSD. These files would have higher prioriry
> >>   than the /etc/sssd/sssd.conf , meaning if
> >>   the same option is present in these files
> >>   it will override the /etc/sssd/sssd.conf
> >>   value.
> >>
> >>SSSD would automatically pick up files ending
> >>in .conf from that direcory and use them. In
> >>order to disable the config file, the admin will
> >>have to rename the file ending (for example
> >>.conf.disabled). This way, we do not need to
> >>inspect the snippets for any special options
> >>like 'enable_this_snippet = true' which would
> >>just complicate the processing.
> >>
> >>In order for SSSD to load a configuration, all
> >>the config snippets in /etc/sssd/conf.d/ and
> >>/etc/sssd/sssd.conf must in combination
> >>result in valid configuration. If there is an
> >>error in processing one of the config files,
> >>the whole configuration loading will be
> >>unsuccessful and there will be no way to
> >>skip problematic snippets (later we may add
> >>a fallback config, but that is different issue).
> >>
> >>Of course sssd will have an cli option to
> >>use alternative directory for snippets (similar
> >>to what we use for config file now).
> >>
> >>Could it be implemented this way?
> >>Any comments are welcome.
> >
> >How will this interact with the python configuration API? If some
> >application will use the API to change the configuration the result will
> >be written to sssd.conf. But if there is a config snippets which sets
> >the same value the change via the config API is overridden which I guess
> >is unexpected by the application using the config API.
> >
> >bye,
> >Sumit
> >
> 
> Good question. I was not thinking about this. We
> could change the config API to actually write to its
> own snippet that will be always applied last.
> 
> OTOH some admins may want to really override whatever
> other applications may set up using python config API.
> 
> If we decide to apply snippets in alphabetical
> order as Lukas suggested, we can give the snippet to which
> python API writes a name for example 990_pyapi.conf
> and if the admin decides to create snippet with starting
> number lower than 990 it will have lower pririty than
> python config API.
> 
> We should document such behavior in the README file
> that will be placed in the /etc/sssd/conf.d directory.

I think we haven't agreed how to solve this..

And I'm not sure I like the lowest-priority override approach, because
then overrides would not work for anyone using the configAPI (which is
even authconfig..).

So I would actually just explain in the configAPI documentation that it
modifies the main config file, not the snippets and the admin should
choose one or the other.
_______________________________________________
sssd-devel mailing list
sssd-devel@lists.fedorahosted.org
https://lists.fedorahosted.org/admin/lists/sssd-devel@lists.fedorahosted.org

Reply via email to