Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

3.6. 识别要修改的参数

Red Hat OpenStack Platform director 为配置提供了多个参数。在某些情况下,您可能难以识别要配置的特定选项以及对应的 director 参数。如果您需要通过 director 配置的选项,请使用以下工作流来识别并将选项映射到特定的 overcloud 参数:

  1. 确定您要配置的选项。记录使用 选项的服务。
  2. 选中对应的 Puppet 模块,以用于此选项。Red Hat OpenStack Platform 的 Puppet 模块位于 director 节点上的 /etc/puppet/modules 下。每个模块对应于特定的服务。例如,keystone 模块对应于 OpenStack Identity (keystone)。

    • 如果 Puppet 模块包含控制所选选项的变量,请转到下一步。
    • 如果 Puppet 模块不包含控制所选选项的变量,则此选项没有 hieradata。若有可能,您可以在 overcloud 完成部署后手动设置选项。
  3. 以 hieradata 的形式检查 Puppet 变量的核心 Heat 模板集合。puppet/services/* 中的模板通常对应于同一服务的 Puppet 模块。例如,puppet/services/keystone.yaml 模板为 keystone 模块提供 hieradata。

    • 如果 Heat 模板为 Puppet 变量设置了 hieradata,该模板也应披露 director 型参数进行修改。
    • 如果 Heat 模板没有为 Puppet 变量设置 hieradata,请使用配置 hook 使用环境文件传递 hieradata。有关自定义 hieradata 的更多信息,请参阅 第 4.5 节 “Puppet:为角色自定义 Hieradata”
重要

不要定义同一自定义 hieradata 哈希的多个实例。同一自定义 hieradata 的多个实例可能会导致 Puppet 运行期间出现冲突,并导致为配置选项设置了意外值。

工作流示例

您可能要更改 OpenStack Identity (keystone)的通知格式。使用工作流,您可以:

  1. 识别要配置的 OpenStack 参数(notification_format)。
  2. keystone Puppet 模块中搜索 notification_format 设置。例如:

    $ grep notification_format /etc/puppet/modules/keystone/manifests/*

    在本例中,keystone 模块使用 keystone::notification_format 变量管理此选项。

  3. 为此变量搜索 keystone 服务模板。例如:

    $ grep "keystone::notification_format" /usr/share/openstack-tripleo-heat-templates/puppet/services/keystone.yaml

    输出显示 director 使用 KeystoneNotificationFormat 参数来设置 keystone::notification_format hieradata。

下表显示了最终映射:

director ParameterPuppet HieradataOpenStack Identity (keystone)选项

KeystoneNotificationFormat

keystone::notification_format

notification_format

这意味着,在 overcloud 环境文件中设置 KeystoneNotificationFormat,将在 overcloud 的配置期间在 keystone.conf 文件中设置 notification_format 选项。