5.5. puppet :为单个节点自定义 hieradata
您可以使用 heat 模板集合为单个节点设置 Puppet hieradata:
流程
从节点的内省数据识别系统 UUID:
$ openstack baremetal introspection data save 9dcc87ae-4c6d-4ede-81a5-9b20d7dc4a14 | jq .extra.system.product.uuid这个命令返回一个系统 UUID。例如:
"f5055c6c-477f-47fb-afe5-95c6928c407f"创建环境文件以定义特定于节点的 hieradata,并将
per_node.yaml模板注册到预先配置 hook。在NodeDataLookup参数中包括您要配置的节点的系统 UUID:resource_registry: OS::TripleO::ComputeExtraConfigPre: /usr/share/openstack-tripleo-heat-templates/puppet/extraconfig/pre_deploy/per_node.yaml parameter_defaults: NodeDataLookup: '{"f5055c6c-477f-47fb-afe5-95c6928c407f": {"nova::compute::vcpu_pin_set": [ "2", "3" ]}}'-
将此环境文件包含在
openstack overcloud deploy命令中,以及与部署相关的任何其他环境文件。
per_node.yaml 模板在与每个系统 UUID 对应的节点上生成一组 hieradata 文件,其中包含您定义的 hieradata。如果没有定义 UUID,则生成的 hieradata 文件为空。在本例中,per_node.yaml 模板在所有 Compute 节点上运行,由 OS::TripleO::ComputeExtraConfigPre hook 定义,但只有系统 UUID f5055c6c-477f-47fb-afe5-95c6928c407f 接收 hieradata。
您可以使用此机制来根据特定要求定制每个节点。