[openstack-dev] [openstack][nova] Streamlining of config options in nova
Daniel P. Berrange
berrange at redhat.com
Thu Aug 13 09:02:02 UTC 2015
On Wed, Aug 12, 2015 at 07:20:24PM +0200, Markus Zoeller wrote:
> Another thing which makes it hard to understand the impact of the config
> options is, that it's not clear how the interdependency to other config
> options is. As an example, the "serial_console.base_url" has a
> dependency to "DEFAULT.cert" and "DEFAULT.key" if you want to use
> secured websockets ("base_url=wss://..."). Another one is the option
> "serial_console.serialproxy_port". This port number must be the same
> as it is in "serial_console.base_url". I couldn't find an explanation to
> this.
>
> The three questions I have with every config option:
> 1) which service(s) access this option?
> 2) what does it do? / what's the impact?
> 3) which other options do I need to tweek to get the described impact?
>
> Would it make sense to stage the changes?
> M cycle: move the config options out of the modules to another place
> (like the approach Sean proposed) and annotate them with
> the services which uses them
> N cycle: inject the options into the drivers and eliminate the global
> variables this way (like Daniel et al. proposed)
The problem I see is that as long as we're using config options as
global variables, figuring out which services use which options is
a major non-trivial effort. Some may be easy to figure out, but
with many it gets into quite call path analysis, and the usage is
changing under your feet as new reviews are posted. So personally
I think it would be more practical todo the reverse. ie stop using
the config options as global variables, and then split up the
config file so that we have a separate one for each service.
ie a /etc/nova/nova-compute.conf and get rid of /etc/nova/nova.conf
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the OpenStack-dev
mailing list