9.9. 動的インベントリースクリプトの実行
director を使用すると、Ansible ベースの自動化を OpenStack Platform 環境で実行することができます。director は、tripleo-ansible-inventory
コマンドを使用して、環境内にノードの動的インベントリーを生成します。
手順
ノードの動的インベントリーを表示するには、
stackrc
を読み込んだ後にtripleo-ansible-inventory
コマンドを実行します。$ source ~/stackrc (undercloud) $ tripleo-ansible-inventory --list
--list
オプションを指定すると、全ホストの詳細が表示されます。これにより、動的インベントリーが JSON 形式で出力されます。{"overcloud": {"children": ["Controller", "Compute"], "vars": {"ansible_ssh_user": "heat-admin"}}, "Controller": ["192.168.24.2"], "undercloud": {"hosts": ["localhost"], "vars": {"overcloud_horizon_url": "http://192.168.24.4:80/dashboard", "overcloud_admin_password": "abcdefghijklm12345678", "ansible_connection": "local"}}, "Compute": ["192.168.24.3"]}
お使いの環境で Ansible のプレイブックを実行するには、
ansible
コマンドを実行し、-i
オプションを使用して動的インベントリーツールの完全パスを追加します。以下に例を示します。(undercloud) $ ansible [HOSTS] -i /bin/tripleo-ansible-inventory [OTHER OPTIONS]
[HOSTS]
は使用するホストの種別に置き換えます。以下に例を示します。-
全コントローラーノードの場合には
Controller
-
全コンピュートノードの場合には
Compute
-
コントローラー
およびコンピュート
など、オーバークラウドの全子ノードの場合にはovercloud
-
アンダークラウドの場合には
undercloud
-
全ノードの場合には
"*"
-
全コントローラーノードの場合には
[OTHER OPTIONS]
は追加の Ansible オプションに置き換えてください。役立つオプションには以下が含まれます。-
--ssh-extra-args='-o StrictHostKeyChecking=no'
は、ホストキーのチェックを省略します。 -
-u [USER]
は、Ansible の自動化を実行する SSH ユーザーを変更します。オーバークラウドのデフォルトの SSH ユーザーは、動的インベントリーのansible_ssh_user
パラメーターで自動的に定義されます。-u
オプションは、このパラメーターより優先されます。 -
-m [MODULE]
は、特定の Ansible モジュールを使用します。デフォルトはcommand
で Linux コマンドを実行します。 -
-a [MODULE_ARGS]
は選択したモジュールの引数を定義します。
-
オーバークラウドの Ansible 自動化は、標準のオーバークラウドスタックとは異なります。つまり、この後に openstack overcloud deploy
コマンドを実行すると、オーバークラウドノード上の OpenStack Platform サービスに対する Ansible ベースの設定を上書きする可能性があります。