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"
ノード固有の hieradata を定義して
per_node.yaml
テンプレートを事前設定フックに登録する環境ファイルを作成します。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 に対応するノード上に heiradata ファイルのセットを生成して、定義した hieradata を含めます。UUID が定義されていない場合には、生成される hieradata ファイルは空になります。上記の例では、per_node.yaml
テンプレートは (OS::TripleO::ComputeExtraConfigPre
フックに従って) 全コンピュートノード上で実行されますが、システム UUID が f5055c6c-477f-47fb-afe5-95c6928c407f
のコンピュートノードのみが hieradata を受け取ります。
このメカニズムを使用して、特定の要件に応じて各ノードを個別に調整することができます。
NodeDataLookup
の詳細については、コンテナー化された Red Hat Ceph を使用したオーバークラウドのデプロイ ガイドの Ceph Storage ノードのディスクレイアウトの変更 を参照してください。