选项弃用

如果您想重命名一些选项、将它们移动到另一个组或完全删除,您可以使用 deprecated_namedeprecated_groupdeprecated_for_removal 参数来修改它们的声明,这些参数传递给 Opt 构造函数

from oslo_config import cfg

conf = cfg.ConfigOpts()

opt_1 = cfg.StrOpt('opt_1', default='foo', deprecated_name='opt1')
opt_2 = cfg.StrOpt('opt_2', default='spam', deprecated_group='DEFAULT')
opt_3 = cfg.BoolOpt('opt_3', default=False, deprecated_for_removal=True)

conf.register_opt(opt_1, group='group_1')
conf.register_opt(opt_2, group='group_2')
conf.register_opt(opt_3)

conf(['--config-file', 'config.conf'])

assert conf.group_1.opt_1 == 'bar'
assert conf.group_2.opt_2 == 'eggs'
assert conf.opt_3

假设文件 config.conf 包含以下内容

[group_1]
opt1 = bar

[DEFAULT]
opt_2 = eggs
opt_3 = True

该脚本将成功执行,但会针对给定的已弃用选项记录三个相应的警告。

还有 deprecated_reasondeprecated_since 参数,用于指定有关弃用的一些附加信息。

所有提到的参数可以以任何组合方式混合使用。