4.6. 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"
このシステム UUID は、ノード固有の hieradata を定義して per_node.yaml
テンプレートを事前設定フックに登録する環境ファイルで使用します。以下に例を示します。
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 に対応するノード上に heiradata ファイルのセットを生成して、定義した hieradata を含めます。UUID が定義されていない場合には、生成される hieradata ファイルは空になります。上記の例では、per_node.yaml
テンプレートは (OS::TripleO::ComputeExtraConfigPre
フックに従って) 全コンピュートノード上で実行されますが、システム UUID が F5055C6C-477F-47FB-AFE5-95C6928C407F
のコンピュートノードのみが hieradata を受け取ります。
これにより、特定の要件に応じて各ノードを調整することができます。
NodeDataLookup について の詳細は、『 コンテナー化された Red Hat Ceph を持つオーバークラウドのデプロイ』の「Ceph Storage クラスター設定 の設定」を参照してください。