13.6. 手動での config-download の実行
/var/lib/mistral/overcloud 内の作業ディレクトリーには、ansible-playbook と直接対話するために必要な Playbook とスクリプトが含まれています。以下の手順では、これらのファイルとの対話方法について説明します。
手順
Ansible Playbook のディレクトリーに移動します。
cd /var/lib/mistral/overcloud/
$ cd /var/lib/mistral/overcloud/Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook-command.shコマンドを実行して、デプロイメントを再現します。./ansible-playbook-command.sh
$ ./ansible-playbook-command.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow このスクリプトには追加の Ansible 引数を渡すことができ、それらの引数は、そのまま
ansible-playbookコマンドに渡されます。つまり、チェックモード (--check)、ホストの限定 (--limit)、変数のオーバーライド (-e) など、他の Ansible 機能を使用することができます。以下に例を示します。./ansible-playbook-command.sh --limit Controller
$ ./ansible-playbook-command.sh --limit ControllerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 作業ディレクトリーには、オーバークラウドの設定を実行する
deploy_steps_playbook.yamlという名前の Playbook が含まれています。この Playbook を表示するには、以下のコマンドを実行します。less deploy_steps_playbook.yaml
$ less deploy_steps_playbook.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Playbook は、作業ディレクトリーに含まれているさまざまなタスクファイルを使用します。タスクファイルには、OpenStack Platform の全ロールに共通するものと、特定の OpenStack Platform ロールおよびサーバー固有のものがあります。
作業ディレクトリーには、オーバークラウドの
roles_dataファイルで定義する各ロールに対応するサブディレクトリーも含まれます。以下に例を示します。ls Controller/
$ ls Controller/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 各 OpenStack Platform ロールにディレクトリーには、そのロール種別の個々のサーバー用のサブディレクトリーも含まれます。これらのディレクトリーには、コンポーザブルロールのホスト名の形式を使用します。
ls Controller/overcloud-controller-0
$ ls Controller/overcloud-controller-0Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible のタスクはタグ付けされます。タグの全一覧を確認するには、
ansible-playbookで CLI の引数--list-tagsを使用します。ansible-playbook -i tripleo-ansible-inventory.yaml --list-tags deploy_steps_playbook.yaml
$ ansible-playbook -i tripleo-ansible-inventory.yaml --list-tags deploy_steps_playbook.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次に、
ansible-playbook-command.shスクリプトで--tags、--skip-tags、--start-at-taskのいずれかを使用して、タグ付けした設定を適用します。./ansible-playbook-command.sh --tags overcloud
$ ./ansible-playbook-command.sh --tags overcloudCopy to Clipboard Copied! Toggle word wrap Toggle overflow config-downloadを使用して Ceph を設定する際に、Ansible はconfig-download external_deploy_steps_tasksPlaybook 内からceph-ansibleを実行します。config-downloadを手動で実行する場合、2 回目の Ansible の実行ではssh_args引数は継承されません。この実行に Ansible 環境変数を渡すには、heat 環境ファイルを使用します。以下に例を示します。parameter_defaults: CephAnsibleEnvironmentVariables: ANSIBLE_HOST_KEY_CHECKING: 'False' ANSIBLE_PRIVATE_KEY_FILE: '/home/stack/.ssh/id_rsa'parameter_defaults: CephAnsibleEnvironmentVariables: ANSIBLE_HOST_KEY_CHECKING: 'False' ANSIBLE_PRIVATE_KEY_FILE: '/home/stack/.ssh/id_rsa'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
--tags、--skip-tags、--start-at-task などの ansible-playbook CLI 引数を使用する場合には、デプロイメントの設定は、間違った順序で実行したり適用したりしないでください。これらの CLI 引数は、以前に失敗したタスクを再度実行する場合や、初回のデプロイメントを繰り返す場合に便利な方法です。ただし、デプロイメントの一貫性を保証するには、deploy_steps_playbook.yaml の全タスクを順番どおりに実行する必要があります。