From 141fe5b9741296f72b0695a85089fd1a0b2c2173 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Tue, 29 May 2012 08:27:05 +0100 Subject: cfg: add a global CONF object Implements blueprint cfg-global-object Add an instance of the CommonConfigOpts class to the cfg module's global namespace. The usage pattern is: from openstack.common import cfg opts = [ cfg.StrOpt('foo', default='blaa'), cfg.StrOpt('bar', default='blaa'), ] CONF = cfg.CONF CONF.register_opts(opts) def do_something_later(): print CONF.foo, CONF.bar def main(): CONF(project='pulsar') Change-Id: I77e87b1e186c243b2638a4b1c202f865249dafce --- openstack/common/cfg.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'openstack/common') diff --git a/openstack/common/cfg.py b/openstack/common/cfg.py index 0e7f615..66aeb3c 100644 --- a/openstack/common/cfg.py +++ b/openstack/common/cfg.py @@ -233,6 +233,22 @@ log files: ... ] +This module also contains a global instance of the CommonConfigOpts class +in order to support a common usage pattern in OpenStack: + + from openstack.common import cfg + + opts = [ + cfg.StrOpt('bind_host' default='0.0.0.0'), + cfg.IntOpt('bind_port', default=9292), + ] + + CONF = cfg.CONF + CONF.register_opts(opts) + + def start(server, app): + server.start(app, CONF.bind_port, CONF.bind_host) + """ import collections @@ -1540,3 +1556,6 @@ class CommonConfigOpts(ConfigOpts): super(CommonConfigOpts, self).__init__() self.register_cli_opts(self.common_cli_opts) self.register_cli_opts(self.logging_cli_opts) + + +CONF = CommonConfigOpts() -- cgit