Quantum server and agents should use openstack.common.cfg

Registered by Robert Kukura

The Quantum server and agents should use openstack.common.cfg in place of the code in quantum/common/config.py. Other OpenStack services, including nova and glance, are using this. Also, the openstack-common rpc that will likely be used for the scalable-agent-comms BP is expected to depend on openstack.common.cfg.

Note that introducing dependencies on openstack-common into quantum agents might have implications for running agents in XenServer dom0, where only python 2.4 is available. It may be necessary to investigate whether the openstack-common code can be made to run on python 2.4, or whether there are viable solutions to avoid running quantum agents in dom0.

Blueprint information

Status:
Complete
Approver:
dan wendlandt
Priority:
Medium
Drafter:
Robert Kukura
Direction:
Needs approval
Assignee:
Gary Kotton
Definition:
New
Series goal:
Accepted for folsom
Implementation:
Implemented
Milestone target:
milestone icon 2012.2
Started by
dan wendlandt
Completed by
Gary Kotton

Related branches

Sprints

Whiteboard

I think this is important. Bob, do we have an assignee to take this in F-2, or should I be shopping around for someone?

Gerrit topic: https://review.openstack.org/#q,topic:bp/use-common-cfg,n,z

Addressed by: https://review.openstack.org/7869
    blueprint use-common-cfg Added support for linuxbridge plugin

btw, we probably shouldn't put this as "needs code review" until all code for the bp is in code review. I tend to prefer "Good progress" if some code is under review, but more is coming.

Addressed by: https://review.openstack.org/8101
    Implements the blueprint use-common-cfg for the quantum service

Useful information:
1. The plugin.ini file has been merged into quantum.conf
2. The Quantum server now has to following options:-
 OVS-server:$>sudo python /usr/bin/quantum-server --help
 Usage: quantum-server [options]

 Options:
   -h, --help show this help message and exit
   --log-date-format=DATE_FORMAT
                         Format string for %(asctime)s in log records. Default:
                         none
   --config-file=PATH Path to a config file to use. Multiple config files
                         can be specified, with values in later files taking
                         precedence. The default files used are:
                         ['/etc/quantum/quantum.conf']
   -v, --verbose Print more verbose output
   --noverbose The inverse of --verbose
   --use-syslog Use syslog for logging.
   --nouse-syslog The inverse of --use-syslog
   --log-dir=LOG_DIR (Optional) The directory to keep log files in (will be
                         prepended to --logfile)
   --syslog-log-facility=SYSLOG_LOG_FACILITY
                         syslog facility to receive log lines
   -d, --debug Print debugging output
   --nodebug The inverse of --debug
   --log-format=FORMAT A logging.Formatter log message format string which
                         may use any of the available logging.LogRecord
                         attributes. Default: none
   --log-file=PATH (Optional) Name of log file to output to. If not set,
                         logging will go to stdout.
   --config-dir=DIR Path to a config directory to pull *.conf files from.
                         This file set is sorted, so as to provide a
                         predictable parse order if individual options are
                         over-ridden. The set is parsed after the file(s), if
                         any, specified via --config-file, hence over-ridden
                         options in the directory take precedence.
  --log-config=PATH If this option is specified, the logging configuration
                         file specified is used and overrides any other logging
                         options specified. Please see the Python logging
                         module documentation for details on logging
                         configuration files.
3. Agent command line is unchanged

Still need to do the following:
1. Separate the api-paste from the quantum configuration file
2. Add global support for the plugin (currently this uses the non-global cfg)

Open issues:
1. Bug in common config - if --config-file=~/etc/quantum.conf https://bugs.launchpad.net/openstack-common/+bug/1012671
2. With V2 doe we need to address versioned plugins? Not sure that this is in the scope of this BP

Addressed by: https://review.openstack.org/8800
    Remove paste configuration details to a seperate file. blueprint use-common-cfg

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.