10.2. オーバークラウドの設定前のカスタマイズ
オーバークラウドは、OpenStackコンポーネントのコア設定に Puppet を使用します。director は、初回のブートが完了してコア設定が開始する前に、カスタム設定を提供するリソースのセットを用意します。これには、以下のリソースが含まれます。
- OS::TripleO::ControllerExtraConfigPre
- Puppet のコア設定前にコントローラーノードに適用される追加の設定
- OS::TripleO::ComputeExtraConfigPre
- Puppet のコア設定前にコンピュートノードに適用される追加の設定
- OS::TripleO::CephStorageExtraConfigPre
- Puppet のコア設定前に CephStorage ノードに適用される追加の設定
- OS::TripleO::NodeExtraConfig
- Puppet のコア設定前に全ノードに適用される追加の設定
以下の例では、まず基本的な Heat テンプレート (
/home/stack/templates/nameserver.yaml
) を作成します。このテンプレートは、変数のネームサーバーが指定された各ノードの resolv.conf
を追加するスクリプトを実行します。
この例では、「resources」セクションに以下が含まれています。
- ExtraPreConfig
- これは、ソフトウェアの設定を定義します。上記の例では、Bash
script
を定義しており、Heat は_NAMESERVER_IP_
をnameserver_ip
パラメーターに保存されている値に置き換えます。 - ExtraPreDeployments
- これは、
ExtraPreConfig
リソースのソフトウェア設定で指定されているソフトウェアの設定を実行します。次の点に注意してください。server
パラメーターは親テンプレートにより提供され、このフックを使用するテンプレートでは必須です。input_values
にはdeploy_identifier
と呼ばれるパラメーターが含まれます。これは、親テンプレートからのDeployIdentifier
を保存します。このパラメーターは、デプロイメントが更新される度にリソースにタイムスタンプを付けます。これにより、そのリソースは以降のオーバークラウドの更新に再度適用されるようになります。
次に、
OS::TripleO::NodeExtraConfig
リソース種別として Heat テンプレートを登録する環境ファイル (/home/stack/templates/pre_config.yaml
) を作成します。
この設定を追加するには、オーバークラウドの作成時または更新時にスタックにこの環境ファイルを追加します。たとえば、以下のコマンドを実行します。
openstack overcloud deploy --templates -e /home/stack/templates/pre_config.yaml
$ openstack overcloud deploy --templates -e /home/stack/templates/pre_config.yaml
このコマンドにより、オーバークラウドの初期作成またはその後の更新時にコア設定が開始する前に、全ノードに設定が追加されます。
重要
これらのリソースは、それぞれ 1 つの Heat テンプレートに対してのみ登録することが可能です。複数で使用すると、リソースごとに使用する Heat テンプレートが上書きされます。