Openstack:Oslo_Config 已弃用名称的 NoSuchOptError - 可能需要定义 Deprecated_Opts?

Openstack: Oslo_Config NoSuchOptError for a Deprecated Name - probably need to define Deprecated_Opts?

我最近在 trove 中修复了一个代码,将 vertica 中的配置参数名称从 'cluster_member_count' 重命名为 'min_cluster_member_count'。此外,我弃用了旧参数的值,因此它可以向后兼容。这是配置选项将被弃用的组:

# Vertica
     vertica_group = cfg.OptGroup(
         'vertica', title='Vertica options',
          help="Oslo option group designed for Vertica datastore")
     vertica_opts = [
         cfg.ListOpt('tcp_ports',
               default=["5433", "5434", "22", "5444", "5450", "4803"],
               help='List of TCP ports and/or port ranges to open '
                    'in the security group (only applicable '
                    'if trove_security_groups_support is True).'),
  (skip lines)

我正在更改以下内容 cfg.IntOpt:

    cfg.IntOpt('cluster_member_count', default=3,
           help='Number of members in Vertica cluster.'),

要进行的更改:

更新后的cfg.IntOpt如下所示:

    cfg.IntOpt('min_cluster_member_count', default=3,
           help='Minimum number of members in Vertica cluster.',
           deprecated_name='cluster_member_count',
           deprecated_group='vertica'),

然而,当我 运行 tox -e py27 测试时,我收到以下错误:

oslo.config.cfg.NoSuchOptError: no such option in group vertica: cluster_member_count

我在这里错过了什么?我最初认为这应该有效,因为我为已弃用的名称分配了正确的 deprecated_group = 'vertica' 。我感谢任何有用的输入 - 谢谢。

更新:我相信我可能必须在 DEPRECATED_OPTS 下定义 'cluster_member_group',但谷歌搜索没有显示任何关于如何做的示例。希望 Openstack 文档提供示例代码,而不仅仅是语法。

因为宝藏中有人在使用cfg.CONF.vertica.cluster_member_count但是没有这个选项,你应该把代码改成cfg.CONF.vertica.min_cluster_member_count

而且我认为你不应该弃用该组,最好在vertica组中,如果你也想弃用该组名,你需要在特定的组中注册它,例如, DEFAULT,然后其他代码应将其引用为 cfg.CONF.min_cluster_member_count

干杯