Menu Close
Settings Close

Language and Page Formatting Options

18.7. Ansible Playbook を使用して IdM ホストグループに、ネスト化されたホストグループを存在させないようにする方法

本セクションでは、Ansible Playbook を使用して、Identity Management (IdM) の外部ホストグループに、ネスト化されたホストグループを存在させないようにする方法を説明します。

前提条件

手順

  1. inventory.file などのインベントリーファイル を作成し、そのファイルで、ターゲットに設定する IdM サーバーの一覧と合わせて ipaserver を定義します。

    [ipaserver]
    server.idm.example.com
  2. 必要なホストグループ情報を使用して Ansible Playbook ファイルを作成します。- ipahostgroup 変数の name 変数を使用して、外部ホストグループの名前を指定します。hostgroup 変数でネスト化されたホストグループの名前を指定します。この手順は、/usr/share/doc/ansible-freeipa/playbooks/hostgroup/ensure-hosts-and-hostgroups-are-absent-in-hostgroup.yml ファイルのサンプルをコピーして変更し、簡素化できます。

    ---
    - name: Playbook to handle hostgroups
      hosts: ipaserver
      become: true
    
      tasks:
      # Ensure hosts and hostgroups are absent in existing databases hostgroup
      - ipahostgroup:
          ipaadmin_password: MySecret123
          name: databases
          hostgroup:
          - mysql-server
          - oracle-server
          action: member
          state: absent

    この Playbook は、mysql-server および oracle-server ホストグループが databases ホストグループにないことを確認します。action: member 行は、Playbook の実行時に、databases グループ自体の IdM からの削除は試行されないようにします。

  3. Playbook を実行します。

    $ ansible-playbook -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory/ensure-hosts-or-hostgroups-are-absent-in-hostgroup.yml

検証手順

  1. admin として ipaserver にログインします。

    $ ssh admin@server.idm.example.com
    Password:
    [admin@server /]$
  2. admin の Kerberos チケットを要求します。

    $ kinit admin
    Password for admin@IDM.EXAMPLE.COM:
  3. ネスト化されたホストグループを存在させないホストグループに関する情報を表示します。

    $ ipa hostgroup-show databases
      Host-group: databases

この出力では、mysql-server および oracle-server のネスト化されたホストグループが、外部 databases のホストグループにないことを確認します。