oslo_config模块是openstack中使用的全局配置项,贯穿于整个openstack架构中。
首先,需要引入oslo_config模块
from oslo_config import cfg
生成配置项
opts = [
cfg.StrOpt('instances_path',
default='/mnt/share/vmXmls',
help='Where instances xml are stored on disk'), # 生成string类型配置
cfg.BoolOpt('resume_guests_state_on_host_boot',
default=False,
help='Whether to start guests that were running before the '
'host rebooted'), # 生成bool类型配置
cfg.DictOpt('test_dict', default={'test': 'result'}) # 生成字典类型配置
]
注册配置项
CONF.register_opts(opts, group='t1') # 注册配置项,如果不存在group,可以直接引用。存在group,必须加入group后引用
获取配置项
>>> CONF.t1.instances_path
'/mnt/share/vmXmls'
>>> CONF.t1.test_dict
{'test': 'result'}
载入其他文件中的配置项
CONF = cfg.CONF
CONF.import_opt('console_host', 'test', group='t1') # 第一个参数为配置项名称, 第二个参数为模块名,第三个参数为配置项所在group
>>> CONF.t1.test_dict
{'test': 'result'}