After studying the usage of oslo_config, I found if I want to use few config values from a config file (test.conf), I need to declare these opts in my program and register them, as follows.
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
Why cannot I just define these configs in the config file (test.conf) and load the config file to use them? Thanks.