13.6. 手動での config-download の実行
/var/lib/mistral/overcloud
内の作業ディレクトリーには、ansible-playbook
と直接対話するために必要な Playbook とスクリプトが含まれています。以下の手順では、これらのファイルとの対話方法について説明します。
手順
Ansible Playbook のディレクトリーに移動します。
$ cd /var/lib/mistral/overcloud/
ansible-playbook-command.sh
コマンドを実行して、デプロイメントを再現します。$ ./ansible-playbook-command.sh
このスクリプトには追加の Ansible 引数を渡すことができ、それらの引数は、そのまま
ansible-playbook
コマンドに渡されます。つまり、チェックモード (--check
)、ホストの限定 (--limit
)、変数のオーバーライド (-e
) など、他の Ansible 機能を使用することができます。以下に例を示します。$ ./ansible-playbook-command.sh --limit Controller
作業ディレクトリーには、オーバークラウドの設定を実行する
deploy_steps_playbook.yaml
という名前の Playbook が含まれています。この Playbook を表示するには、以下のコマンドを実行します。$ less deploy_steps_playbook.yaml
Playbook は、作業ディレクトリーに含まれているさまざまなタスクファイルを使用します。タスクファイルには、OpenStack Platform の全ロールに共通するものと、特定の OpenStack Platform ロールおよびサーバー固有のものがあります。
作業ディレクトリーには、オーバークラウドの
roles_data
ファイルで定義する各ロールに対応するサブディレクトリーも含まれます。以下に例を示します。$ ls Controller/
各 OpenStack Platform ロールにディレクトリーには、そのロール種別の個々のサーバー用のサブディレクトリーも含まれます。これらのディレクトリーには、コンポーザブルロールのホスト名の形式を使用します。
$ ls Controller/overcloud-controller-0
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-download
を使用して Ceph を設定する際に、Ansible はconfig-download external_deploy_steps_tasks
Playbook 内から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'
--tags
、--skip-tags
、--start-at-task
などの ansible-playbook CLI 引数を使用する場合には、デプロイメントの設定は、間違った順序で実行したり適用したりしないでください。これらの CLI 引数は、以前に失敗したタスクを再度実行する場合や、初回のデプロイメントを繰り返す場合に便利な方法です。ただし、デプロイメントの一貫性を保証するには、deploy_steps_playbook.yaml
の全タスクを順番どおりに実行する必要があります。