Menu Close
16.4. Ansible Playbook を使用した IdM ホストグループのネスト化
本セクションでは、Ansible Playbook を使用して、Identity Management (IdM) ホストグループにネスト化されたホストグループが存在することを確認する方法を説明します。
前提条件
- IdM 管理者パスワードが分かっている。
- Ansible コントローラーに ansible-freeipa パッケージがインストールされている。
- Ansible Playbook ファイルから参照するホストグループが IdM に存在します。詳細は「Ensuring the presence of IdM host groups using Ansible Playbook」を参照してください。
手順
inventory.file
などのインベントリーファイル を作成し、ターゲットに設定する IdM サーバーの一覧と共にipaserver
を定義します。[ipaserver] server.idm.example.com
必要なホストグループ情報を使用して Ansible Playbook ファイルを作成します。ネストされたホストグループ A が、Ansible Playbook のホストグループ B に存在することを確認するには、
name
変数を使用してホストグループ B の名前- ipahostgroup
変数のいずれかを指定します。hostgroup
変数でネスト化されたホストグループ A の名前を指定します。この手順を単純化するには、/usr/share/doc/ansible-freeipa/playbooks/hostgroup/ensure-hosts-and-hostgroups-are-present-in-hostgroup.yml
ファイルのサンプルをコピーして変更することができます。--- - name: Playbook to handle hostgroups hosts: ipaserver become: true tasks: # Ensure hosts and hostgroups are present in existing databases hostgroup - ipahostgroup: ipaadmin_password: MySecret123 name: databases hostgroup: - mysql-server - oracle-server action: member
この Ansible Playbook は、データベース ホストグループに myqsl-server および oracle-server ホストグループが存在することを確認します。
action: member
行は、Playbook が実行されると、データベース グループ自体を IdM に追加しようとはしません。Playbook を実行します。
$ ansible-playbook -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory/ensure-hosts-or-hostgroups-are-present-in-hostgroup.yml
検証手順
admin として
ipaserver
にログインします。$ ssh admin@server.idm.example.com Password: [admin@server /]$
admin の Kerberos チケットを要求します。
$ kinit admin Password for admin@IDM.EXAMPLE.COM:
ネスト化されたホストグループが存在するホストグループに関する情報を表示します。
$ ipa hostgroup-show databases Host-group: databases Member hosts: db.idm.example.com Member host-groups: mysql-server, oracle-server
mysql-server および oracle-server ホストグループは、databases ホストグループに存在します。