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 で、設定 > ホストグループ に移動します。
- ホストグループを作成するか、既存のホストグループを編集します。
- ホストグループウィンドウで パラメーター タブをクリックします。
- パラメーターの追加 をクリックします。
新規パラメーターごとに、以下の情報を入力します。
表4.3 ホストパラメーター 名前 値 説明 ansible_tower_provisioning
true
プロビジョニングコールバックを有効にします。
ansible_tower_fqdn
controller.example.com
Ansible Automation Controller の完全修飾ドメイン名 (FQDN)。
https
は Satellite によって追加されるため、追加しないでください。ansible_job_template_id
template_ID
テンプレートの URL で確認できるプロビジョニングテンプレートの ID (
/templates/job_template/5
)。ansible_host_config_key
config_KEY
ジョブテンプレートが Ansible Automation Controller で生成するホスト設定キー。
- Submit をクリックします。
- ホストグループを使用してホストを作成します。
新規ホストで、以下のコマンドを入力して、
ansible-callback
サービスを開始します。systemctl start ansible-callback
# systemctl start ansible-callback
Copy to Clipboard Copied! 新規ホストで、以下のコマンドを入力して、
ansible-callback
サービスのステータスを出力します。systemctl status ansible-callback
# systemctl status ansible-callback
Copy to Clipboard Copied! プロビジョニングコールバックが正しく設定されていると、以下の出力が返ります。
SAT_host systemd[1]: Started Provisioning callback to Ansible Automation Controller...
SAT_host systemd[1]: Started Provisioning callback to Ansible Automation Controller...
Copy to Clipboard Copied!
手動でのプロビジョニングコールバック
プロビジョニングコールバック 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/
# 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 の実行がトリガーされます。