If the consensus is to unify all the config options into a single
configuration file, I'd suggest following what the Nova folks did with
[1], which I think is what Salvatore was also hinted. This will also
help mitigate needless source code conflicts that would inevitably
arise when merging competing changes to the same file.

I personally do not like having a single file with gazillion options
(the same way I hate source files with gazillion LOC's but I digress
;), but I don't like a proliferation of config files either. So I
think what Mark suggested below makes sense.

Cheers,
Armando

[1] - 
https://github.com/openstack/nova/blob/master/etc/nova/README-nova.conf.txt

On 2 May 2014 07:09, Mark McClain <mmccl...@yahoo-inc.com> wrote:
>
> On May 2, 2014, at 7:39 AM, Sean Dague <s...@dague.net> wrote:
>
>> Some non insignificant number of devstack changes related to neutron
>> seem to be neutron plugins having to do all kinds of manipulation of
>> extra config files. The grenade upgrade issue in neutron was because of
>> some placement change on config files. Neutron seems to have *a ton* of
>> config files and is extremely sensitive to their locations/naming, which
>> also seems like it ends up in flux.
>
> We have grown in the number of configuration files and I do think some of the 
> design decisions made several years ago should probably be revisited.  One of 
> the drivers of multiple configuration files is the way that Neutron is 
> currently packaged [1][2].  We’re packaged significantly different than the 
> other projects so the thinking in the early years was that each 
> plugin/service since it was packaged separately needed its own config file.  
> This causes problems because often it involves changing the init script 
> invocation if the plugin is changed vs only changing the contents of the init 
> script.  I’d like to see Neutron changed to be a single package similar to 
> the way Cinder is packaged with the default config being ML2.
>
>>
>> Is there an overview somewhere to explain this design point?
>
> Sadly no.  It’s a historical convention that needs to be reconsidered.
>
>>
>> All the other services have a single config config file designation on
>> startup, but neutron services seem to need a bunch of config files
>> correct on the cli to function (see this process list from recent
>> grenade run - http://paste.openstack.org/show/78430/ note you will have
>> to horiz scroll for some of the neutron services).
>>
>> Mostly it would be good to understand this design point, and if it could
>> be evolved back to the OpenStack norm of a single config file for the
>> services.
>>
>
> +1 to evolving into a more limited set of files.  The trick is how we 
> consolidate the agent, server, plugin and/or driver options or maybe we don’t 
> consolidate and use config-dir more.  In some cases, the files share a set of 
> common options and in other cases there are divergent options [3][4].   
> Outside of testing the agents are not installed on the same system as the 
> server, so we need to ensure that the agent configuration files should stand 
> alone.
>
> To throw something out, what if moved to using config-dir for optional 
> configs since it would still support plugin scoped configuration files.
>
> Neutron Servers/Network Nodes
> /etc/neutron.d
>         neutron.conf  (Common Options)
>         server.d (all plugin/service config files )
>         service.d (all service config files)
>
>
> Hypervisor Agents
> /etc/neutron
>         neutron.conf
>         agent.d (Individual agent config files)
>
>
> The invocations would then be static:
>
> neutron-server —config-file /etc/neutron/neutron.conf —config-dir 
> /etc/neutron/server.d
>
> Service Agents:
> neutron-l3-agent —config-file /etc/neutron/neutron.conf —config-dir 
> /etc/neutron/service.d
>
> Hypervisors (assuming the consolidates L2 is finished this cycle):
> neutron-l2-agent —config-file /etc/neutron/neutron.conf —config-dir 
> /etc/neutron/agent.d
>
> Thoughts?
>
> mark
>
> [1] http://repos.fedorapeople.org/repos/openstack/openstack-icehouse/epel-7/
> [2] 
> http://packages.ubuntu.com/search?keywords=neutron&searchon=names&suite=trusty&section=all
> [3] 
> https://git.openstack.org/cgit/openstack/neutron/tree/etc/neutron/plugins/nuage/nuage_plugin.ini#n2
> [4]https://git.openstack.org/cgit/openstack/neutron/tree/etc/neutron/plugins/bigswitch/restproxy.ini#n3
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

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

Reply via email to