8.8. 事前にプロビジョニングされたノードを使用したオーバークラウドの作成
オーバークラウドのデプロイメントには、「CLI ツールを使用したオーバークラウドの作成」に記載された標準の CLI の方法を使用します。事前にプロビジョニングされたノードの場合は、デプロイメントコマンドに追加のオプションと、コア Heat テンプレートコレクションからの環境ファイルが必要です。
-
--disable-validations: 事前にプロビジョニングされたインフラストラクチャーで使用しないサービスに対する基本的な CLI 検証を無効化します。無効化しないと、デプロイメントに失敗します。 -
environments/deployed-server-environment.yaml: 事前にプロビジョニングされたインフラストラクチャーを作成、設定するための主要な環境ファイル。この環境ファイルは、OS::Nova::ServerリソースをOS::Heat::DeployedServerリソースに置き換えます。 -
environments/deployed-server-bootstrap-environment-rhel.yaml: 事前にプロビジョニングされたサーバー上でブートストラップのスクリプトを実行する環境ファイル。このスクリプトは、追加パッケージをインストールして、オーバークラウドノードの基本設定を提供します。 -
environments/deployed-server-pacemaker-environment.yaml: 事前にプロビジョニングされたコントローラーノードで Pacemaker の設定を行う環境ファイル。このファイルに登録されるリソースの名前空間は、deployed-server/deployed-server-roles-data.yamlからのコントローラーのロール名を使用します。デフォルトでは、ControllerDeployedServerとなっています。 deployed-server/deployed-server-roles-data.yaml: カスタムロールのサンプルファイル。これは、デフォルトのroles_data.yamlが複製されたファイルですが、各ロールのdisable_constraints: Trueパラメーターも含まれています。このパラメーターは、生成されたロールテンプレートのオーケストレーションの制約を無効にします。これらの制約は、事前にプロビジョニングされたインフラストラクチャーで使用しないサービスが対象です。独自のカスタムロールファイルを使用する場合には、各ロールに
disable_constraints: Trueパラメーターを追加するようにしてください。以下に例を示します。- name: ControllerDeployedServer disable_constraints: True CountDefault: 1 ServicesDefault: - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephMon - OS::TripleO::Services::CephExternal - OS::TripleO::Services::CephRgw ...
事前にプロビジョニングされたアーキテクチャー固有の環境ファイルを使用したオーバークラウドデプロイメントのコマンド例を、以下に示します。
$ source ~/stackrc
(undercloud) $ openstack overcloud deploy \
[other arguments] \
--disable-validations \
-e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-environment.yaml \
-e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-bootstrap-environment-rhel.yaml \
-e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-pacemaker-environment.yaml \
-r /usr/share/openstack-tripleo-heat-templates/deployed-server/deployed-server-roles-data.yaml
このコマンドにより、オーバークラウドの設定を開始されます。ただし、デプロイメントのスタックは、オーバークラウドのノードリソースが CREATE_IN_PROGRESS の段階に入ると一時停止します。
2017-01-14 13:25:13Z [overcloud.Compute.0.Compute]: CREATE_IN_PROGRESS state changed
2017-01-14 13:25:14Z [overcloud.Controller.0.Controller]: CREATE_IN_PROGRESS state changed
このように一時停止されるのは、オーバークラウドノード上のオーケストレーションエージェントがメタデータサーバーをポーリングするのを director が待っているためです。次のセクションでは、メタデータサーバーのポーリングを開始するようにノードを設定する方法を説明します。