4

我最近做了一个代码修复,将 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.'),

要进行的更改:

  • 将参数名称“cluster_member_count”更改为“min_cluster_member_count”
  • 帮助描述相应更改
  • 弃用旧参数名称“cluster_member_count”并在组下引用它(使用 DEPRECATED_GROUP)=“垂直”。这样做是为了向后兼容。

更新后的 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 文档提供示例代码,而不仅仅是语法。

4

1 回答 1

3

因为某些地方正在使用 cfg.CONF.vertica.cluster_member_count 但没有这样的选项,您应该将代码更改为 cfg.CONF.vertica.min_cluster_member_count

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

干杯

于 2016-04-23T05:41:19.117 回答