5.2. ホストのプロビジョニングコールバックの設定
Satellite でホストを作成するときに、Ansible Automation Platform を使用して Playbook を実行し、新しく作成したホストを設定できます。これは、Ansible Automation Platform では プロビジョニングコールバック と呼ばれます。
プロビジョニングコールバック関数は、プロビジョニングプロセスの一部として、Ansible Automation Platform から Playbook の実行をトリガーします。Playbook は、プロビジョニングプロセスの後にホストを設定します。
プロビジョニングコールバックの詳細は、Red Hat Ansible Automation Platform ドキュメント の プロビジョニングコールバック を参照してください。
Satellite Server の Kickstart Default テンプレートおよび Kickstart Default Finish テンプレートには、以下の 3 つのスニペットが含まれます。
-
ansible_provisioning_callback -
ansible_tower_callback_script -
ansible_tower_callback_service
ホストまたはホストグループにパラメーターを追加して、新規作成されたホストでの Ansible Playbook の実行にスニペットが使用可能な認証情報を指定できます。
前提条件
プロビジョニングコールバックを設定する前に、Satellite を Ansible Automation Platform の動的インベントリーとして追加する必要があります。詳細は、5章Red Hat Satellite と Ansible Automation Platform の統合 を参照してください。
Ansible Automation Platform Web UI で、次のタスクを完了する必要があります。
- 新規ホスト向けに、マシンの認証情報を作成します。Satellite で作成したホストに割り当てる予定の認証情報に、同じパスワードを入力するようにしてください。詳細は、Red Hat Ansible Automation Platform ドキュメント の ユーザー認証情報の管理 を参照してください。
- プロジェクトを作成します。詳細は、Red Hat Ansible Automation Platform ドキュメント の プロジェクト を参照してください。
- ジョブテンプレートをプロジェクトに追加します。ジョブテンプレートで、プロビジョニングコールバックを有効にし、ホストの設定キーを生成して、ジョブテンプレートの template_ID をメモする必要があります。詳細は、Red Hat Ansible Automation Platform ドキュメント の ジョブテンプレート を参照してください。
手順
- Satellite Web UI で、設定 > ホストグループ に移動します。
- ホストグループを作成するか、既存のホストグループを編集します。
- ホストグループウィンドウで パラメーター タブをクリックします。
- パラメーターの追加 をクリックします。
新規パラメーターごとに、以下の情報を入力します。
Expand 表5.3 ホストパラメーター 名前 値 説明 ansible_tower_provisioningtrue
プロビジョニングコールバックを有効にします。
ansible_tower_api_url必要な API パスを含む、Ansible Automation Platform の URL を定義します。Ansible Automation Platform の古いバージョンの場合は、
/api/controller/v2ではなく/api/v2を使用します。不明な場合は、インスタンスの API エンドポイントをチェックして正しいパスを確認してください。ansible_job_template_idtemplate_ID
テンプレートの URL で確認できるプロビジョニングテンプレートの ID (
/templates/job_template/5)。ansible_host_config_keyconfig_KEY
ジョブテンプレートが Ansible Automation Platform で生成するホスト設定キー。
- Submit をクリックします。
- ホストグループを使用してホストを作成します。
新しいホストで、
ansible-callbackサービスを開始します。# systemctl start ansible-callback新しいホストで、
ansible-callbackサービスのステータスを確認します。# systemctl status ansible-callbackプロビジョニングコールバックが正しく設定されていると、以下の出力が返ります。
satellite.example.com systemd[1]: Started Provisioning callback to Ansible Automation Platform...
手動でのプロビジョニングコールバック
プロビジョニングコールバック URL とホストからのホスト設定キーを使用して、Ansible Automation Platform を呼び出すことができます。
$ curl \ --data curl \ --data host_config_key=My_Host_Config_Key \ --insecure \ --show-error \ --silent \ https://aap.example.com/api/v2/job_templates/8/callback/プロビジョニングコールバック URL の入力時には、
httpsを使用するようにしてください。
これにより、ホストに対して、テンプレートで指定した Playbook の実行がトリガーされます。