4.7. Puppet: カスタムのマニフェストの適用
特定の状況では、追加のコンポーネントをオーバークラウドノードにインストールして設定する場合があります。そのためには、カスタムの Puppet マニフェストを使用して、主要な設定が完了してからノードに適用します。基本的な例として、各ノードに motd
をインストールするケースを考えます。
手順
Puppet 設定を起動する heat テンプレート
~/templates/custom_puppet_config.yaml
を作成します。heat_template_version: 2014-10-16 description: > Run Puppet extra configuration to set new MOTD parameters: servers: type: json DeployIdentifier: type: string EndpointMap: default: {} 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 テンプレートを登録する環境ファイル (~templates/puppet_post_config.yaml
) を作成します。resource_registry: OS::TripleO::NodeExtraConfigPost: /home/stack/templates/custom_puppet_config.yaml
ご自分のデプロイメントに該当するその他の環境ファイルと共に、この環境ファイルを
openstack overcloud deploy
コマンドに追加します。$ openstack overcloud deploy --templates \ ... -e /home/stack/templates/puppet_post_config.yaml \ ...
これにより、
motd.pp
からの設定がオーバークラウド内の全ノードに適用されます。