12.4. 動的インベントリースクリプトの実行
director を使用すると、Ansible ベースの自動化をご自分の Red Hat OpenStack Platform (RHOSP) 環境で実行することができます。director は、tripleo-ansible-inventory コマンドを使用して、環境内にノードの動的インベントリーを生成します。
手順
ノードの動的インベントリーを表示するには、
stackrcを読み込んだ後にtripleo-ansible-inventoryコマンドを実行します。source ~/stackrc (undercloud) $ tripleo-ansible-inventory --list
$ source ~/stackrc (undercloud) $ tripleo-ansible-inventory --listCopy to Clipboard Copied! Toggle word wrap Toggle overflow --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"]}{"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"]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow お使いの環境で Ansible のプレイブックを実行するには、
ansibleコマンドを実行し、-iオプションを使用して動的インベントリーツールの完全パスを追加します。以下に例を示します。(undercloud) $ ansible [HOSTS] -i /bin/tripleo-ansible-inventory [OTHER OPTIONS]
(undercloud) $ ansible [HOSTS] -i /bin/tripleo-ansible-inventory [OTHER OPTIONS]Copy to Clipboard Copied! Toggle word wrap Toggle overflow [HOSTS]を使用するホストの種別に置き換えてください。-
全コントローラーノードの場合には
controller -
全コンピュートノードの場合には
compute -
オーバークラウドの全子ノードの場合には
overcloud(たとえば、コントローラーノードおよびコンピュートノードの場合) -
アンダークラウドの場合には
undercloud -
全ノードの場合には
"*"
-
全コントローラーノードの場合には
[OTHER OPTIONS]を追加の Ansible オプションに置き換えてください。-
ホストキーの確認を省略するには、
--ssh-extra-args='-o StrictHostKeyChecking=no'オプションを使用します。 -
Ansible の自動化を実行する SSH ユーザーを変更するには、
-u [USER]オプションを使用します。オーバークラウドのデフォルトの SSH ユーザーは、動的インベントリーのansible_ssh_userパラメーターで自動的に定義されます。-uオプションは、このパラメーターより優先されます。 -
特定の Ansible モジュールを使用するには、
-m [MODULE]オプションを使用します。デフォルトはcommandで Linux コマンドを実行します。 -
選択したモジュールの引数を定義するには、
-a [MODULE_ARGS]オプションを使用します。
-
ホストキーの確認を省略するには、
オーバークラウドのカスタム Ansible 自動化は、標準のオーバークラウドスタックの一部ではありません。この後に openstack overcloud deploy コマンドを実行すると、オーバークラウドノード上の OpenStack Platform サービスに対する Ansible ベースの設定を上書きする可能性があります。