Re: [openstack-dev] [neutron] explanations on the current state of config file handling

2014-05-05 Thread Thomas Goirand
On 05/03/2014 12:48 AM, Mark T. Voelker wrote:
 I think it's not just devstack/grenade that would benefit from this.
 Variance in the plugin configuration patterns is a fairly common
 complaint I hear from folks deploying OpenStack, and going to a single
 config would likely make that easier.  I think it probably benefits
 distributions too.  There have been several issues with distro init
 scripts not properly supplying all the necessary --config-file
 arguments to Neutron services because they're not uniformly pattered.

With my OpenStack Debian package maintainer hat on...

TL;DR: Moving to a single configuration file is unimportant for me, what
I would like is configuration files that I can easily parse.

Longer version:

The issue hasn't been multiple configuration. I've dealt with that by
parsing the core_plugin value, and do what should be done in the init
script depending on that.

The main issue with current configuration files is that they are *not*
parser friendly. Eg, there stuff like:

# Example:
# directive = value
#directive=None

A script cannot make the difference between the first and the 2nd
instance of the directive, and it's like this all over the place in
Neutron configuration files. Something like this:

sed -i s/[ \t#]*directive[ \t]*=.*/directive = newvalue/ \
/etc/neutron/neutron.conf

which I extensively use (well, it's a little bit more complicated as
what I do doesn't show in /proc: for security purposes, directives
values shouldn't show in a ps, but you got the point...).

Even worse, there's some huge example snippet which I had to delete (for
the same parseability reasons). These belong in the openstack-manuals,
or in the sphinx doc, *not* in a configuration files.

So for me, parseability should be addressed with top priority. I am
currently patching the neutron configuration files because of this, and
I have to constantly rebase my debian-specific patches, that's boring,
and error prone. I'd very much prefer generated configuration files like
for other projects instead (on a single or multiple configuration files:
I don't care since I have the logic already implemented...).

Cheers,

Thomas Goirand (zigo)


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


Re: [openstack-dev] [neutron] explanations on the current state of config file handling

2014-05-05 Thread Jay Pipes

On 05/04/2014 01:13 PM, John Dickinson wrote:

To add some color, Swift supports both single conf files and conf.d 
directory-based configs. See 
http://docs.openstack.org/developer/swift/deployment_guide.html#general-service-configuration.


+1


The single config file pattern is quite useful for simpler configurations, 
but the directory-based ones becomes especially useful when looking at cluster 
configuration management tools--stuff that auto-generates and composes config settings 
(ie non hand-curated configs). For example, the conf.d configs can support each 
middleware config or background daemon process in a separate file. Or server settings in 
one file and common logging settings in another.


Also +1


(Also, to answer before it's asked [but I don't want to derail the current 
thread], I'd be happy to look at oslo config parsing if it supports the same 
functionality.)


And a final +1. :)

-jay

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


Re: [openstack-dev] [neutron] explanations on the current state of config file handling

2014-05-05 Thread Doug Hellmann
On Mon, May 5, 2014 at 10:18 AM, Jay Pipes jaypi...@gmail.com wrote:
 On 05/04/2014 01:13 PM, John Dickinson wrote:

 To add some color, Swift supports both single conf files and conf.d
 directory-based configs. See
 http://docs.openstack.org/developer/swift/deployment_guide.html#general-service-configuration.


 +1


 The single config file pattern is quite useful for simpler
 configurations, but the directory-based ones becomes especially useful when
 looking at cluster configuration management tools--stuff that auto-generates
 and composes config settings (ie non hand-curated configs). For example, the
 conf.d configs can support each middleware config or background daemon
 process in a separate file. Or server settings in one file and common
 logging settings in another.


 Also +1


 (Also, to answer before it's asked [but I don't want to derail the current
 thread], I'd be happy to look at oslo config parsing if it supports the same
 functionality.)


 And a final +1. :)

oslo.config includes a --config-dir option for this. When
--config-dir dirname is used with an app, oslo.config parses
dirname/*.conf and adds the settings to the configuration being
built.

Doug


 -jay


 ___
 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


Re: [openstack-dev] [neutron] explanations on the current state of config file handling

2014-05-04 Thread Sean Dague
On 05/03/2014 03:53 PM, gustavo panizzo gfa wrote:
 On 05/02/2014 11:09 AM, Mark McClain wrote:

 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?
 
 i like this idea, it makes easy to use configuration manager to setup
 neutron, also it fits perfectly with real life where sometimes you need
 more than one l3 agent running on the same box

Question (because I honestly don't know), when would you want more than
1 l3 agent running on the same box?

-Sean

-- 
Sean Dague
http://dague.net



signature.asc
Description: OpenPGP digital signature
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [neutron] explanations on the current state of config file handling

2014-05-04 Thread Mark McClain


 On May 4, 2014, at 8:08, Sean Dague s...@dague.net wrote:
 
 Question (because I honestly don't know), when would you want more than
 1 l3 agent running on the same box?

For the legacy case where there are multiple external networks connected to a 
node on different bridges.
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [neutron] explanations on the current state of config file handling

2014-05-04 Thread Armando M.
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=neutronsearchon=namessuite=trustysection=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


Re: [openstack-dev] [neutron] explanations on the current state of config file handling

2014-05-04 Thread John Dickinson
To add some color, Swift supports both single conf files and conf.d 
directory-based configs. See 
http://docs.openstack.org/developer/swift/deployment_guide.html#general-service-configuration.

The single config file pattern is quite useful for simpler configurations, 
but the directory-based ones becomes especially useful when looking at cluster 
configuration management tools--stuff that auto-generates and composes config 
settings (ie non hand-curated configs). For example, the conf.d configs can 
support each middleware config or background daemon process in a separate file. 
Or server settings in one file and common logging settings in another.

(Also, to answer before it's asked [but I don't want to derail the current 
thread], I'd be happy to look at oslo config parsing if it supports the same 
functionality.)

--John




On May 4, 2014, at 9:49 AM, Armando M. arma...@gmail.com wrote:

 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] 
 

Re: [openstack-dev] [neutron] explanations on the current state of config file handling

2014-05-04 Thread Mandeep Dhami
I second the conf.d model.

Regards,
Mandeep


On Sun, May 4, 2014 at 10:13 AM, John Dickinson m...@not.mn wrote:

 To add some color, Swift supports both single conf files and conf.d
 directory-based configs. See
 http://docs.openstack.org/developer/swift/deployment_guide.html#general-service-configuration
 .

 The single config file pattern is quite useful for simpler
 configurations, but the directory-based ones becomes especially useful when
 looking at cluster configuration management tools--stuff that
 auto-generates and composes config settings (ie non hand-curated configs).
 For example, the conf.d configs can support each middleware config or
 background daemon process in a separate file. Or server settings in one
 file and common logging settings in another.

 (Also, to answer before it's asked [but I don't want to derail the current
 thread], I'd be happy to look at oslo config parsing if it supports the
 same functionality.)

 --John




 On May 4, 2014, at 9:49 AM, Armando M. arma...@gmail.com wrote:

  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
 
 

Re: [openstack-dev] [neutron] explanations on the current state of config file handling

2014-05-04 Thread gustavo panizzo gfa
On 05/04/2014 01:22 PM, Mark McClain wrote:
 
 
 On May 4, 2014, at 8:08, Sean Dague s...@dague.net wrote:

 Question (because I honestly don't know), when would you want more than
 1 l3 agent running on the same box?
 
 For the legacy case where there are multiple external networks connected to a 
 node on different bridges.

legacy since when? i'm still using it on icehouse

pls, let us know if there is something better!

thanks!

-- 
1AE0 322E B8F7 4717 BDEA BF1D 44BB 1BA7 9F6C 6333

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


Re: [openstack-dev] [neutron] explanations on the current state of config file handling

2014-05-04 Thread Kevin Benton
External networks can be handled just like regular networks by not
specifying the external bridge. They will then be tagged with the provider
network information just like any other tenant network.


On Sun, May 4, 2014 at 6:52 PM, gustavo panizzo gfa g...@zumbi.com.arwrote:

 On 05/04/2014 01:22 PM, Mark McClain wrote:
 
 
  On May 4, 2014, at 8:08, Sean Dague s...@dague.net wrote:
 
  Question (because I honestly don't know), when would you want more than
  1 l3 agent running on the same box?
 
  For the legacy case where there are multiple external networks connected
 to a node on different bridges.

 legacy since when? i'm still using it on icehouse

 pls, let us know if there is something better!

 thanks!

 --
 1AE0 322E B8F7 4717 BDEA BF1D 44BB 1BA7 9F6C 6333

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




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


Re: [openstack-dev] [neutron] explanations on the current state of config file handling

2014-05-03 Thread Tom Fifield
On 02/05/14 22:09, Mark McClain 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?

What do operators want?



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


Re: [openstack-dev] [neutron] explanations on the current state of config file handling

2014-05-03 Thread Kashyap Chamarthy
On Fri, May 02, 2014 at 08:18:18AM -0500, Kyle Mestery wrote:
 On Fri, May 2, 2014 at 6: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.
 
  Is there an overview somewhere to explain this design point?
 
  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.
 
 I think this is entirely possible. Each plugin has it's own
 configuration, and this is usually done in it's own section. In
 reality, it's not necessary to have more than a single config file, as
 long as the sections in the configuration file are unique.

FWIW, I think this would definitely be useful - to have a Neutron single
config file with unique sections. I frequently try to test two-node
OpenStack setups with Neutron, where I need to keep track of at-least
these config files (correct me if I'm doing something ineffeciently) for
Neutron alone.

Controller node
---

  1. /etc/neutron/neutron.conf
  2. /etc/neutron/plugin.ini
  3. /etc/neutron/dhcp_agent.ini
  4. /etc/neutron/l3_agent.ini
  - I notice dhcp_agent and l3_agent configs similar most of the
time
  5. /etc/neutron/dnsmasq.conf 
  - I use this, so that I can log dnsmasq details to a file instead
of journalctl)
  6. /etc/neutron/metadata_agent.ini
  7. /etc/neutron/api-paste.ini 
 - This is auto-generated I believe


Compute node


  1. /etc/neutron/neutron.conf
  2. /etc/neutron/plugin.ini
  3. /etc/neutron/metadata_agent.ini

Not considering iptables/firewalld configs.


-- 
/kashyap

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


Re: [openstack-dev] [neutron] explanations on the current state of config file handling

2014-05-03 Thread gustavo panizzo gfa
On 05/02/2014 11:09 AM, Mark McClain wrote:
 
 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?

i like this idea, it makes easy to use configuration manager to setup
neutron, also it fits perfectly with real life where sometimes you need
more than one l3 agent running on the same box



-- 
1AE0 322E B8F7 4717 BDEA BF1D 44BB 1BA7 9F6C 6333

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


[openstack-dev] [neutron] explanations on the current state of config file handling

2014-05-02 Thread Sean Dague
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.

Is there an overview somewhere to explain this design point?

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.

-Sean

-- 
Sean Dague
http://dague.net



signature.asc
Description: OpenPGP digital signature
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [neutron] explanations on the current state of config file handling

2014-05-02 Thread Kyle Mestery
On Fri, May 2, 2014 at 6: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.

 Is there an overview somewhere to explain this design point?

 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.

I think this is entirely possible. Each plugin has it's own
configuration, and this is usually done in it's own section. In
reality, it's not necessary to have more than a single config file, as
long as the sections in the configuration file are unique.

I'd like to hear from other Neutron developers on this as well. We
could propose this change for Juno to migrate to a single config file
if everyone agrees.

Thanks,
Kyle

 -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


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


Re: [openstack-dev] [neutron] explanations on the current state of config file handling

2014-05-02 Thread Mark McClain

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=neutronsearchon=namessuite=trustysection=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


Re: [openstack-dev] [neutron] explanations on the current state of config file handling

2014-05-02 Thread Mark T. Voelker
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

+1 for making single config the norm

I think it's not just devstack/grenade that would benefit from this.
Variance in the plugin configuration patterns is a fairly common
complaint I hear from folks deploying OpenStack, and going to a single
config would likely make that easier.  I think it probably benefits
distributions too.  There have been several issues with distro init
scripts not properly supplying all the necessary --config-file
arguments to Neutron services because they're not uniformly pattered.
 Many distros take their cues from the sample config files (e.g.
https://github.com/openstack/neutron/tree/master/etc/ ), so ideally we
could unify things there early in the Juno cycle to give packagers
time to adapt.  The config management tool communities on StackForge
(Puppet/Chef/etc) would likely also benefit from greater uniformity as
well.

At Your Service,

Mark T. Voelker

On 05/02/2014 11:24 AM, Salvatore Orlando wrote:
 Technically we don't need anything in neutron to migrate to a
 single config files if not rearrange files in ./etc For devstack,
 iniset calls to plugin-specific configuration files should then be
 adjusted accordingly. I think we started with plugin specific
 configuration files because at that time it looked better to keep
 common arguments separated from the plugin-specific ones.
 
 From what I gather this could and should be achieved together with
 the config file generation work. I recall having seen somebody
 (don't remember who) volunteer for that on IRC.
 
 Salvatore
 
 
 
 
 On 2 May 2014 15:18, Kyle Mestery mest...@noironetworks.com 
 mailto:mest...@noironetworks.com wrote:
 
 On Fri, May 2, 2014 at 6:39 AM, Sean Dague s...@dague.net 
 mailto: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.
 
 Is there an overview somewhere to explain this design point?
 
 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.
 
 I think this is entirely possible. Each plugin has it's own 
 configuration, and this is usually done in it's own section. In 
 reality, it's not necessary to have more than a single config file,
 as long as the sections in the configuration file are unique.
 
 I'd like to hear from other Neutron developers on this as well. We 
 could propose this change for Juno to migrate to a single config
 file if everyone agrees.
 
 Thanks, Kyle
 
 -Sean
 
 -- Sean Dague http://dague.net
 
 
 ___ OpenStack-dev
 mailing list OpenStack-dev@lists.openstack.org
 mailto:OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

 
 
 
 ___ OpenStack-dev
 mailing list OpenStack-dev@lists.openstack.org 
 mailto: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
 
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBAgAGBQJTY8xWAAoJELUJLUWGN7CbGyIQAMZq6zDu9wvYRIJgafgRY3MK
TR1cGqlljchEzSCHw6kF7/s6JdlVbRruBHELPmIUpvStDlyc4gUdVNatqq/cbn2S
Kp0LwXcZ+kATTKP0AgzpjYWJawwuVGvlXvmgMMvSkG7sJ2U6RIhjDLLjBkAFBulN
bT+KRhfPjFjicW1UdAvQbT5xNkXk7pU1/+Uvo5v776CTeDkJ2VUVtDP9SpOMAKmv
i+ykOmKrpIaw634ThvVE7dYkg4TKf4xacnM0GO+HTJ98uKSK4VOIwGTCg7QAM5/p
QCc/Uy8LttKsc5NtTyCfU/37zOp3n0PynS3avNMioTk7Z78Xw5oQ131BAj5A4YrE
H+Kto8OThjRSApdSnAY6kUvO2+6UGCdiIKq/HsicbCHB4DzNtduyMap9Bm0DtJz5
/f6BmKhDNXIdtK3wks0YPMH43dUWcvL529IFO7pBOqucTCA91Pyji3FXPUN/IoDV
v7tpbtMuDkyV+0fmY1GDj0jT8qVdcOnkiirHZPujtvC6PrwpMPWKui1iAwqUFZxh
Og1iAMYwBm/rBn+3xg3tgn9zJJ1/W+HwROdUbhYOo8yg7l4Oc1wRMM68U+5HC6Iw
01VMs7fiH9qVd/3OgF8IHL/zgiKIFRKDZql3m/MX6cI838zpHfrbenXE1EeZUGCc
jF5b+OeEhw5QOY0n6w2f
=eoSD
-END PGP SIGNATURE-

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