4.7. Puppet: カスタムのマニフェストの適用
特定の状況では、追加のコンポーネントをオーバークラウドノードにインストールして設定する必要がある場合があります。そのためには、カスタムの Puppet マニフェストを使用して、主要な設定が完了してからノードに適用します。基本的な例として、各ノードに motd
をインストールするとします。そのためには、まず Puppet 設定を起動する Heat テンプレート (/home/stack/templates/custom_puppet_config.yaml
) を作成します。
heat_template_version: 2014-10-16 description: > Run Puppet extra configuration to set new MOTD parameters: servers: type: json resources: ExtraPuppetConfig: type: OS::Heat::SoftwareConfig properties: config: {get_file: motd.pp} group: puppet options: enable_hiera: True enable_facter: False ExtraPuppetDeployments: type: OS::Heat::SoftwareDeploymentGroup properties: config: {get_resource: ExtraPuppetConfig} servers: {get_param: servers}
これは、テンプレート内に /home/stack/templates/motd.pp
を追加し、設定するノードに渡します。motd.pp
ファイル自体には、motd
のインストールと設定を行うための Puppet クラスが含まれています。
OS::TripleO::NodeExtraConfigPost:
リソース種別として Heat テンプレートを登録する環境ファイル (/home/stack/templates/puppet_post_config.yaml
) を作成します。
resource_registry: OS::TripleO::NodeExtraConfigPost: /home/stack/templates/custom_puppet_config.yaml
オーバークラウドのスタックを作成または更新する際に、その他の環境ファイルと共にこの環境ファイルを含めます。
$ openstack overcloud deploy --templates \ ... -e /home/stack/templates/puppet_post_config.yaml \ ...
これにより、motd.pp
からの設定がオーバークラウド内の全ノードに適用されます。