3.6. 识别要修改的参数
Red Hat OpenStack Platform director 为配置提供了多个参数。在某些情况下,您可能难以识别要配置的特定选项以及对应的 director 参数。如果您需要通过 director 配置的选项,请使用以下工作流来识别并将选项映射到特定的 overcloud 参数:
- 确定您要配置的选项。记录使用 选项的服务。
选中对应的 Puppet 模块,以用于此选项。Red Hat OpenStack Platform 的 Puppet 模块位于 director 节点上的
/etc/puppet/modules下。每个模块对应于特定的服务。例如,keystone模块对应于 OpenStack Identity (keystone)。- 如果 Puppet 模块包含控制所选选项的变量,请转到下一步。
- 如果 Puppet 模块不包含控制所选选项的变量,则此选项没有 hieradata。若有可能,您可以在 overcloud 完成部署后手动设置选项。
以 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)的通知格式。使用工作流,您可以:
-
识别要配置的 OpenStack 参数(
notification_format)。 在
keystonePuppet 模块中搜索notification_format设置。例如:grep notification_format /etc/puppet/modules/keystone/manifests/*
$ grep notification_format /etc/puppet/modules/keystone/manifests/*Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在本例中,
keystone模块使用keystone::notification_format变量管理此选项。为此变量搜索
keystone服务模板。例如:grep "keystone::notification_format" /usr/share/openstack-tripleo-heat-templates/puppet/services/keystone.yaml
$ grep "keystone::notification_format" /usr/share/openstack-tripleo-heat-templates/puppet/services/keystone.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出显示 director 使用
KeystoneNotificationFormat参数来设置keystone::notification_formathieradata。
下表显示了最终映射:
| director Parameter | Puppet Hieradata | OpenStack Identity (keystone)选项 |
|---|---|---|
|
|
|
|
这意味着,在 overcloud 环境文件中设置 KeystoneNotificationFormat,将在 overcloud 的配置期间在 keystone.conf 文件中设置 notification_format 选项。