4.2. ホストへのプロビジョニングコールバックの設定

Satellite でホストを作成すると、Ansible Tower を使用して Playbook を実行して新たに作成したホストを設定できます。これは、Ansible Tower では、プロビジョニングコールバック と呼ばれます。

プロビジョニングコールバック機能を使用して、プロビジョニングプロセスの一部として、Ansible Tower から Playbook の実行をトリガーします。Playbook は、キックスタートのデプロイメント後にホストを設定します。

プロビジョニングコールバックの詳細はAnsible Tower ユーザーガイドプロビジョニングコールバック を参照してください。

Satellite Server の Kickstart Default テンプレートおよび Kickstart Default Finish テンプレートには、以下の 3 つのスニペットが含まれます。

  1. ansible_provisioning_callback
  2. ansible_tower_callback_script
  3. ansible_tower_callback_service

ホストまたはホストグループにパラメーターを追加して、新規作成されたホストでの Ansible Playbook の実行にスニペットが使用可能な認証情報を指定できます。

前提条件

プロビジョニングコールバックを設定する前に、Satellite を動的インベントリーとして Ansible Tower に追加する必要がある。詳細は、Red Hat Satellite と Ansible Tower の統合 を参照してください。

Ansible Tower Web UI で、以下のタスクを実行する必要があります。

  1. 新規ホスト向けに、マシンの認証情報を作成します。Satellite で作成したホストに割り当てる予定の認証情報に、同じパスワードを入力するようにしてください。詳細は、Ansible Tower ユーザーガイド新規認証情報の追加 を参照してください。
  2. プロジェクトを作成します。詳細は、Ansible Tower ユーザーガイドプロジェクト を参照してください。
  3. ジョブテンプレートをプロジェクトに追加します。詳細情報は、Ansible Tower ユーザーガイドジョブテンプレート を参照してください。
  4. ジョブテンプレートで、プロビジョニングコールバックを有効にし、ホストの設定キーを生成して、ジョブテンプレートの template_ID をメモする必要があります。ジョブテンプレートの詳細は、Ansible Tower User GuideJob Templates を参照してください。

手順

  1. Red Hat Satellite Web UI で、設定 > ホストグループ に移動します。
  2. ホストグループを作成するか、既存のホストグループを編集します。
  3. ホストグループウィンドウで パラメーター タブをクリックします。
  4. パラメーターの追加 をクリックします。
  5. 新規パラメーターごとに、以下の情報を入力します。

    表4.3 ホストパラメーター

    名前説明

    ansible_tower_provisioning

    true

    プロビジョニングコールバックを有効にします。

    ansible_tower_fqdn

    tower.example.com

    Ansible Tower の完全修飾ドメイン名 (FQDN)。https は Ansible Tower が追加するので、追加する必要はありません。

    ansible_job_template_id

    template_ID

    テンプレートの URL で確認できるプロビジョニングテンプレートの ID (/templates/job_template/5)。

    ansible_host_config_key

    config_KEY

    Ansible Tower のジョブテンプレートが作成したホスト設定キー。

  6. Submit をクリックします。
  7. ホストグループを使用してホストを作成します。
  8. 新規ホストで、以下のコマンドを入力して、ansible-callback サービスを開始します。

    # systemctl start ansible-callback
  9. 新規ホストで、以下のコマンドを入力して、ansible-callback サービスのステータスを出力します。

    # systemctl status ansible-callback

    プロビジョニングコールバックが正しく設定されていると、以下の出力が返ります。

    SAT_host systemd[1]: Started Provisioning callback to Ansible Tower...

手動でのプロビジョニングコールバック

プロビジョニングコールバック URL およびホストからのホスト設定キーを使用して Ansible Tower を呼び出します。以下に例を示します。

# curl -k -s --data curl --insecure --data host_config_key=my_config_key \
 https://tower.example.com/api/v2/job_templates/8/callback/

プロビジョニングコールバック URL の入力時には、https を使用するようにしてください。

これにより、ホストに対して、テンプレートで指定した Playbook の実行がトリガーされます。