5.9. 手動による Ansible ベースの登録の実行
デプロイしたオーバークラウドで、手動による Ansible ベースの登録を実施することができます。そのためには、director の動的インベントリースクリプトを使用して、ホストグループとしてノードロールを定義します。続いて ansible-playbook
を使用して定義したノードロールに対して Playbook を実行します。以下の例で、Playbook を使用してコントローラーノードを手動で登録する方法を説明します。
手順
ノードを登録するための
redhat_subscription
モジュールを使用して、Playbook を作成します。たとえば、以下の Playbook はコントローラーノードに適用されます。--- - name: Register Controller nodes hosts: Controller become: yes vars: repos: - rhel-8-for-x86_64-baseos-eus-rpms - rhel-8-for-x86_64-appstream-eus-rpms - rhel-8-for-x86_64-highavailability-eus-rpms - ansible-2.8-for-rhel-8-x86_64-rpms - advanced-virt-for-rhel-8-x86_64-rpms - openstack-16-for-rhel-8-x86_64-rpms - rhceph-4-mon-for-rhel-8-x86_64-rpms - fast-datapath-for-rhel-8-x86_64-rpms tasks: - name: Register system redhat_subscription: username: myusername password: p@55w0rd! org_id: 1234567 pool_ids: 1a85f9223e3d5e43013e3d6e8ff506fd - name: Disable all repos command: "subscription-manager repos --disable *" - name: Enable Controller node repos command: "subscription-manager repos --enable {{ item }}" with_items: "{{ repos }}"
このプレイには 3 つのタスクが含まれます。
- アクティベーションキーを使用してノードを登録する。
- 自動的に有効化されるリポジトリーをすべて無効にする。
-
コントローラーノードに関連するリポジトリーだけを有効にする。リポジトリーは
repos
変数でリストされます。
オーバークラウドのデプロイ後には、以下のコマンドを実行して、Ansible がオーバークラウドに対して Playbook (
ansible-osp-registration.yml
) を実行することができます。$ ansible-playbook -i /usr/bin/tripleo-ansible-inventory ansible-osp-registration.yml
このコマンドにより、以下の処理が行われます。
- 動的インベントリースクリプトを実行し、ホストとそのグループの一覧を取得する。
-
Playbook の
hosts
パラメーターで定義されているグループ (この場合はコントローラーグループ) 内のノードに、その Playbook のタスクを適用する。