6.10. ジョブテンプレートの起動
Automation Controller の利点は、ボタンを押すだけで Ansible Playbook をデプロイできることです。コマンドラインで常に Ansible Playbook に渡すすべてのパラメーターを保存するようにテンプレートを設定できます。テンプレートは、Playbook に加えて、インベントリー、認証情報、追加の変数、およびコマンドラインで指定できるすべてのオプションと設定を渡します。
デプロイメントが簡単になると、毎回同じ方法で Playbook を実行し、責任を委任できるため、一貫性が高まります。
手順
次のいずれかの方法を使用して、ジョブテンプレートを起動します。
-
ナビゲーションパネルから、
を選択し、ジョブテンプレートカード上の Launch template をクリックします。
- 起動するジョブテンプレートのジョブテンプレートの Details タブで、 をクリックします。
-
ナビゲーションパネルから、
ジョブを実行するには追加情報が必要になる場合があります。起動時に次のデータをリクエストできます。
- 設定された認証情報
- すべてのパラメーターに対して Prompt on Launch オプションが選択されています
- Ask に設定されたパスワードまたはパスフレーズ
- Survey (ジョブテンプレート用に設定されている場合)
- 追加変数 (ジョブテンプレートで必要な場合)
ジョブにユーザー指定の値がある場合、再起動時にそれらの値が考慮されます。ユーザーが値を指定しなかった場合、ジョブはジョブテンプレートのデフォルト値を使用します。ジョブはそのままでは再起動されません。ユーザープロンプトがジョブテンプレートに再適用されて再起動されます。
1 つのタブで値を指定してから、前のタブに戻り、次のタブに進むと、残りのタブで値を再度指定する必要があります。プロンプトが表示される順序でタブに入力してください。
Automation Controller を起動すると、Web ブラウザーが Jobs タブの下にあるこのジョブの Job Status ページに自動的にリダイレクトされます。
リストビューから最新のジョブを再起動して、指定したインベントリー内のすべてのホストまたは失敗したホストのみで再実行できます。詳細は、Automation Controller のジョブ セクションを参照してください。
スライスジョブの実行中、ワークフローとジョブスライス、およびそれらの詳細を個別に表示するためのリンクがジョブリストに表示されます。
API に新しく追加されたエンドポイント /api/v2/bulk/job_launch
を使用して、ジョブを一括で起動できます。このエンドポイントは JSON を受け入れ、起動する統合ジョブテンプレート (ジョブテンプレートやプロジェクト更新など) のリストを指定できます。ユーザーには、すべてのジョブを起動するための適切なパーミッションが割り当てられている必要があります。すべてのジョブが起動されなかった場合は、操作が完了できなかった理由を示すエラーが返されます。OPTIONS
リクエストを使用して、関連するスキーマを返します。詳細は、「自動化実行 API の概要」の「リファレンス」セクションの 自動化実行 API の概要 を参照してください。
6.10.1. ジョブテンプレートの変数
Automation Controller は、ジョブテンプレートと Survey で設定された追加の変数とともに、次の変数をジョブ環境に自動的に追加します。
-
awx_*
変数はシステムによって定義されており、オーバーライドすることはできません。 -
awx_job_template_name
などのジョブコンテキストに関する変数は、extra_vars
に設定されている場合は影響を受けません。
-
awx_job_id
: このジョブ実行のジョブ ID。 awx_job_launch_type
: ジョブがどのように開始されたかを示す説明。- manual: ジョブはユーザーによって手動で開始されました。
- relaunch: ジョブは再起動によって開始されました。
- callback: ジョブはホストコールバックによって開始されました。
- scheduled: ジョブはスケジュールから開始されました。
- dependency: ジョブは別のジョブの依存関係として開始されました。
- workflow: ジョブはワークフロージョブから開始されました。
- sync: ジョブはプロジェクト同期から開始されました。
- scm: ジョブはインベントリー SCM 同期として作成されました。
-
awx_job_template_id
: このジョブ実行が使用するジョブテンプレート ID。 -
awx_job_template_name
: このジョブが使用するジョブテンプレート名。 -
awx_execution_node
: このジョブを開始した実行ノード名。 -
awx_project_revision
: この特定のジョブが使用するソースツリーのリビジョン識別子 (ジョブのフィールドの scm_revision と同じです)。 -
awx_project_scm_branch
: ジョブテンプレートが使用するプロジェクトに設定されたデフォルトのプロジェクト SCM ブランチ -
awx_job_scm_branch
: SCM ブランチがジョブによって上書きされた場合、ここに値が表示されます。 -
awx_user_email
: このジョブを開始したコントローラーユーザーのユーザーメールアドレス。これはコールバックまたはスケジュールされたジョブでは使用できません。 -
awx_user_first_name
: このジョブを開始した Automation Controller ユーザーの名。これはコールバックまたはスケジュールされたジョブでは使用できません。 -
awx_user_id
: このジョブを開始した Automation Controller ユーザーのユーザー ID。これはコールバックまたはスケジュールされたジョブでは使用できません。 -
awx_user_last_name
: このジョブを開始した Automation Controller ユーザーの姓。これはコールバックまたはスケジュールされたジョブでは使用できません。 -
awx_user_name
: このジョブを開始した Automation Controller ユーザーのユーザー名。これはコールバックまたはスケジュールされたジョブでは使用できません。 -
awx_schedule_id
: このジョブを開始したスケジュールの ID (該当する場合)。 -
awx_schedule_name
: このジョブを開始したスケジュールの名前 (該当する場合)。 -
awx_workflow_job_id
: このジョブを開始したワークフロージョブの ID (該当する場合)。 -
awx_workflow_job_name
: このジョブを開始したワークフロージョブの名前 (該当する場合)。これはワークフロージョブテンプレートと同じであることに注意してください。 -
awx_inventory_id
: このジョブが使用するインベントリーの ID (該当する場合)。 -
awx_inventory_name
: このジョブが使用するインベントリーの名前 (該当する場合)。
互換性のために、すべての変数に "awx" という接頭辞が付いています (例: awx_job_id
)。