5.8. 手動による Ansible ベースの登録の実行
デプロイしたオーバークラウドで、手動による Ansible ベースの登録を実施することができます。そのためには、director の動的インベントリースクリプトを使用して、ホストグループとしてノードロールを定義します。続いて ansible-playbook
を使用して定義したノードロールに対して Playbook を実行します。以下の例で、Playbook を使用してコントローラーノードを手動で登録する方法を説明します。
手順
ノードを登録するための
redhat_subscription
モジュールを使用して、Playbook を作成します。たとえば、以下の Playbook はコントローラーノードに適用されます。--- - name: Register Controller nodes hosts: Controller become: yes vars: repos: - rhel-7-server-rpms - rhel-7-server-extras-rpms - rhel-7-server-rh-common-rpms - rhel-ha-for-rhel-7-server-rpms - rhel-7-server-openstack-13-rpms - rhel-7-server-rhceph-3-mon-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 のタスクを適用する。