<div dir="ltr"><div>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.<br>
</div><div><br></div><div>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.</div><div><br></div><div>
<br></div><div>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.</div><div><br></div>
<div>Example: conf.d/etc/nova/nova.conf:</div><div><div>[DEFAULT]</div><div><div>use_syslog = True<br></div><div><br></div><div>[osapi_v3]</div></div><div>enabled = False</div></div><div><br></div><div><br></div><div>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.<br clear="all">
<div><br></div><div>Example: nova.local.conf:</div><div># conf file names are parsed out of the section name below between '[' and the first ':'</div><div>[/etc/nova/nova.conf:DEFAULT]</div><div><div>use_syslog = True<br>
</div><div><br></div><div>[/etc/nova/nova.conf:osapi_v3]</div></div><div>enabled = False</div><div><br></div><div><br></div><div>Both cases need to be able to specify the destination config file and section in addition to the attribute name and value.</div>
<div><br></div><div>Thoughts?</div><div>dt</div><div><br></div><div><div>[Prompted by review <a href="https://review.openstack.org/44266">https://review.openstack.org/44266</a>]</div></div><div><br></div>-- <br><br>Dean Troyer<br>
<a href="mailto:dtroyer@gmail.com">dtroyer@gmail.com</a><br>
</div></div>