On 09/12/2013 11:36 AM, Dean Troyer wrote:
DevStack has long had a config setting in localrc called EXTRA_OPTS that
allowed arbitrary settings to be added to /etc/nova/nova.conf [DEFAULT]
section.  Additional files and sections have recently been implemented
with a similar scheme.  I don't think this scales well as at a minimum
every config file and section needs to be individually handled.

I'd like to get some feedback on the following two proposals, or hear
other ideas on how to generalize solving the problem of setting
arbitrary configuration values.


a) Create conf.d/*.conf files as needed and process each file present
into a corresponding config file.  These files would not be supplied by
DevStack but created and maintained locally.

Example: conf.d/etc/nova/nova.conf:
[DEFAULT]
use_syslog = True

[osapi_v3]
enabled = False


b) Create a single service.local.conf file for each project (Nova,
Cinder, etc) that contains a list of settings to be applied to the
config files for that service.

Example: nova.local.conf:
# conf file names are parsed out of the section name below between '['
and the first ':'
[/etc/nova/nova.conf:DEFAULT]
use_syslog = True

[/etc/nova/nova.conf:osapi_v3]
enabled = False


Both cases need to be able to specify the destination config file and
section in addition to the attribute name and value.

Thoughts?

I like option a, though I'm not sure we need the full system path in the conf.d (that's pretty minor though).

I think this plus going through and purging all the conf variables that are just pass through would cause a lot of simplification in devstack, and allow for easily setting other items.

Honestly, the thing I'd really like is sort of a super version of "a" that would let you put everything in one file:

Example: local.conf
[[/etc/nova/nova.conf]]
[DEFAULT]
use_syslog = True

[osapi_v3]
enabled = False

[[/etc/cinder/cinder.conf]]
[DEFAULT]
use_syslog = True

Because inevitably people ask for copies of other folks configs to duplicate things, and a single file is easier to pass around than a tree. But that would mean a unique parser to handle the top level stanza.

        -Sean

--
Sean Dague
http://dague.net

_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to