4.2. ホストへのプロビジョニングコールバックの設定
Satellite でホストを作成すると、Ansible Tower を使用して Playbook を実行して新たに作成したホストを設定できます。これは、Ansible Tower では、プロビジョニングコールバック と呼ばれます。
プロビジョニングコールバック機能を使用して、プロビジョニングプロセスの一部として、Ansible Tower から Playbook の実行をトリガーします。Playbook は、キックスタートのデプロイメント後にホストを設定します。
プロビジョニングコールバックの詳細はAnsible Tower ユーザーガイドの プロビジョニングコールバック を参照してください。
Satellite Server の Kickstart Default
テンプレートおよび Kickstart Default Finish
テンプレートには、以下の 3 つのスニペットが含まれます。
-
ansible_provisioning_callback
-
ansible_tower_callback_script
-
ansible_tower_callback_service
ホストまたはホストグループにパラメーターを追加して、新規作成されたホストでの Ansible Playbook の実行にスニペットが使用可能な認証情報を指定できます。
前提条件
プロビジョニングコールバックを設定する前に、Satellite を動的インベントリーとして Ansible Tower に追加する必要がある。詳細は、Red Hat Satellite と Ansible Tower の統合 を参照してください。
Ansible Tower Web UI で、以下のタスクを実行する必要があります。
- 新規ホスト向けに、マシンの認証情報を作成します。Satellite で作成したホストに割り当てる予定の認証情報に、同じパスワードを入力するようにしてください。詳細は、Ansible Tower ユーザーガイドの 新規認証情報の追加 を参照してください。
- プロジェクトを作成します。詳細は、Ansible Tower ユーザーガイドの プロジェクト を参照してください。
- ジョブテンプレートをプロジェクトに追加します。詳細情報は、Ansible Tower ユーザーガイドの ジョブテンプレート を参照してください。
- ジョブテンプレートで、プロビジョニングコールバックを有効にし、ホストの設定キーを生成して、ジョブテンプレートの template_ID をメモする必要があります。ジョブテンプレートの詳細は、Ansible Tower User Guide の Job Templates を参照してください。
手順
- Red Hat Satellite Web UI で、設定 > ホストグループ に移動します。
- ホストグループを作成するか、既存のホストグループを編集します。
- ホストグループウィンドウで パラメーター タブをクリックします。
- パラメーターの追加 をクリックします。
新規パラメーターごとに、以下の情報を入力します。
表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 のジョブテンプレートが作成したホスト設定キー。
- Submit をクリックします。
- ホストグループを使用してホストを作成します。
新規ホストで、以下のコマンドを入力して、
ansible-callback
サービスを開始します。# systemctl start ansible-callback
新規ホストで、以下のコマンドを入力して、
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 の実行がトリガーされます。