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