7.6. 检查自定义 Puppet 参数

如果您使用 ExtraConfig 接口来自定义 Puppet 参数,则 Puppet 可能会在升级过程中报告重复声明错误。这是因为 puppet 模块本身提供的接口有变化。

此流程演示了如何检查环境文件中的任何自定义 ExtraConfig hieradata 参数。

流程

  1. 选择一个环境文件,检查它是否有 ExtraConfig 参数:

    $ grep ExtraConfig ~/templates/custom-config.yaml
  2. 如果结果在所选文件中显示 ExtraConfig 参数(如 ControllerExtraConfig),请检查该文件中的完整参数结构。
  3. 如果参数包含 SECTION/parameter 语法 和值 的任何 puppet Hierdata,则它可能已被替换为实际 Puppet 类的参数。例如:

    parameter_defaults:
      ExtraConfig:
        neutron::config::dhcp_agent_config:
          'DEFAULT/dnsmasq_local_resolv':
            value: 'true'
  4. 检查 director 的 Puppet 模块,以查看参数现在存在于 Puppet 类中。例如:

    $ grep dnsmasq_local_resolv

    如果是,请更改为新接口。

  5. 以下是演示语法更改的示例:

    • 示例 1:

      parameter_defaults:
        ExtraConfig:
          neutron::config::dhcp_agent_config:
            'DEFAULT/dnsmasq_local_resolv':
              value: 'true'

      更改:

      parameter_defaults:
        ExtraConfig:
          neutron::agents::dhcp::dnsmasq_local_resolv: true
    • 示例 2:

      parameter_defaults:
        ExtraConfig:
          ceilometer::config::ceilometer_config:
            'oslo_messaging_rabbit/rabbit_qos_prefetch_count':
              value: '32'

      更改:

      parameter_defaults:
        ExtraConfig:
          oslo::messaging::rabbit::rabbit_qos_prefetch_count: '32'