如何在没有register_opts的情况下使用oslo_config只加载配置文件?
How to use oslo_config to load config file only without register_opts?
在研究了oslo_config的用法后,我发现如果我想使用配置文件中的几个配置值(test.conf),我需要在我的程序中声明这些选项并注册它们, 如下。
test.conf
[test]
enable = True
usr_name = ‘Joe’
hobby = [‘Compute’, ‘python’, ‘OpenStack’]
test.py
from oslo.config import cfg
opt_group = cfg.OptGroup(name='test', title='Test example')
test_opts = [
cfg.BoolOpt('enable',default=False),
cfg.StrOpt('user_name',default='No Name',help=('Name of user')),
cfg.ListOpt('hobby',default=None,help=('List of hobby'))
]
if __name__ == "__main__":
CONF = cfg.CONF
CONF.register_group(opt_group)
CONF.register_opts(test_opts, opt_group)
CONF(default_config_files=["/etc/test/test.conf"])
print CONF.test.enable
print CONF.test.user_name
print CONF.test.hobby
为什么我不能只在配置文件 (test.conf) 中定义这些配置并加载配置文件以使用它们?谢谢。
实际上你可以't.The配置文件和命令行用于解析选项的值,你想做的是注册模式,这不仅是解析值,还有助于文本,数据类型和验证器要复杂得多。read in detail.BTW you can also ask question here: Ask Openstack
在研究了oslo_config的用法后,我发现如果我想使用配置文件中的几个配置值(test.conf),我需要在我的程序中声明这些选项并注册它们, 如下。
test.conf
[test]
enable = True
usr_name = ‘Joe’
hobby = [‘Compute’, ‘python’, ‘OpenStack’]
test.py
from oslo.config import cfg
opt_group = cfg.OptGroup(name='test', title='Test example')
test_opts = [
cfg.BoolOpt('enable',default=False),
cfg.StrOpt('user_name',default='No Name',help=('Name of user')),
cfg.ListOpt('hobby',default=None,help=('List of hobby'))
]
if __name__ == "__main__":
CONF = cfg.CONF
CONF.register_group(opt_group)
CONF.register_opts(test_opts, opt_group)
CONF(default_config_files=["/etc/test/test.conf"])
print CONF.test.enable
print CONF.test.user_name
print CONF.test.hobby
为什么我不能只在配置文件 (test.conf) 中定义这些配置并加载配置文件以使用它们?谢谢。
实际上你可以't.The配置文件和命令行用于解析选项的值,你想做的是注册模式,这不仅是解析值,还有助于文本,数据类型和验证器要复杂得多。read in detail.BTW you can also ask question here: Ask Openstack