13.9. ansible-playbook-command.sh スクリプトを使用した config-download の実行
標準の方式または個別のプロビジョニングおよび設定プロセスを使用してオーバークラウドをデプロイすると、director は /var/lib/mistral/ に作業ディレクトリーを生成します。このディレクトリーには、設定プロセスを再度実行するのに必要な Playbook およびスクリプトが含まれています。
前提条件
以下の方式のいずれかでデプロイされたオーバークラウド
- プロビジョニングプロセスと設定プロセスをまとめて実施する標準の方式
- プロビジョニングプロセスと設定プロセスを分離する方式
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 Ansible Playbook のディレクトリーに移動します。
$ cd /var/lib/mistral/overcloud//var/lib/mistral/.sshディレクトリーの所有者をstackユーザーに変更します。$ sudo chown stack. -R /var/lib/mistral/.ssh/ansible-playbook-command.shコマンドを実行して、オーバークラウドの設定を実行します。$ sudo ./ansible-playbook-command.sh/var/lib/mistral/.sshディレクトリーの所有者をmistralユーザーに変更します。これは、mistral_executorコンテナー内で実行されている ansible-playbook コマンドが正常に実行されるようにするために必要です。$ sudo chown 42430:42430 -R /var/lib/mistral/.ssh/mistralユーザーとしてスクリプトを再実行します。このスクリプトには追加の Ansible 引数を渡すことができ、それらの引数は、そのまま
ansible-playbookコマンドに渡されます。つまり、チェックモード (--check)、ホストの限定 (--limit)、変数のオーバーライド (-e) など、他の Ansible 機能を使用することができます。以下に例を示します。$ ./ansible-playbook-command.sh --limit Controller警告--limitを使用して大規模にデプロイする場合、実行に含まれるホストのみがノード全体の SSHknown_hostsファイルに追加されます。したがって、ライブマイグレーションなどの一部の操作は、known_hostsファイルにないノード間では機能しない場合があります。- 設定プロセスが完了するまで待ちます。
関連情報
作業ディレクトリーには、オーバークラウドの設定タスクを管理する
deploy_steps_playbook.yamlという名前の Playbook が含まれています。この Playbook を表示するには、以下のコマンドを実行します。$ less deploy_steps_playbook.yamlPlaybook は、作業ディレクトリーに含まれているさまざまなタスクファイルを使用します。タスクファイルには、OpenStack Platform の全ロールに共通するものと、特定の OpenStack Platform ロールおよびサーバー固有のものがあります。
作業ディレクトリーには、オーバークラウドの
roles_dataファイルで定義する各ロールに対応するサブディレクトリーも含まれます。以下に例を示します。$ ls Controller/各 OpenStack Platform ロールにディレクトリーには、そのロール種別の個々のサーバー用のサブディレクトリーも含まれます。これらのディレクトリーには、コンポーザブルロールのホスト名の形式を使用します。
$ ls Controller/overcloud-controller-0deploy_steps_playbook.yamlの Ansible タスクはタグ付けされます。タグの全リストを確認するには、ansible-playbookで CLI オプション--list-tagsを使用します。$ ansible-playbook -i tripleo-ansible-inventory.yaml --list-tags deploy_steps_playbook.yaml次に、
ansible-playbook-command.shスクリプトで--tags、--skip-tags、--start-at-taskのいずれかを使用して、タグ付けした設定を適用します。$ ./ansible-playbook-command.sh --tags overcloudオーバークラウドに対して
config-downloadPlaybook を実行すると、それぞれのホストの SSH フィンガープリントに関するメッセージが表示される場合があります。これらのメッセージを回避するには、ansible-playbook-command.shスクリプトの実行時に、--ssh-common-args="-o StrictHostKeyChecking=no"を追加します。$ ./ansible-playbook-command.sh --tags overcloud --ssh-common-args="-o StrictHostKeyChecking=no"