4.7 ジョブ自動実行の設定手順
ジョブ自動実行の設定手順では、自動化機能を伴う処理について、YAMLファイルの登録とAWX設定の一連の流れを説明します。
本説明に用いるワークフロー定義例では、カタログ画面から起動すると、バックグラウンドでWebブラウザーにメッセージを出力するPlaybookを実行し、ワークフローを完了します。
以下の順序で作業を行います。
# | 項目 |
---|---|
(1) | ワークフローの追加 |
(2) | サービスカタログの更新 |
(3) | ジョブテンプレートの作成 |
(4) | カタログの起動 |
ワークフローの詳細については「ワークフローの設計」、「Workflow」、サービスカタログの詳細については、「データモデルの設計」、「Catalog」、ジョブテンプレートの詳細については「ジョブテンプレートの登録」を参照してください。
(1)ワークフローの追加
以下のワークフローを追加します。
本説明に用いるYAMLファイルには依存関係があります。全てのYAMLファイルを同時にGitLabに登録する場合は、依存関係を意識する必要はありませんが、1つずつYAMLファイルを登録する場合、Script、UI、Workflowの順番で登録してください。ここでの「登録」は、GUIでの操作ではcommit、CUIでの操作ではpushを指します。Playbookは順番を問いません。
フォルダ・ファイル名 | 概要 | |||
---|---|---|---|---|
dummy | - | |||
script | Script定義: 申請画面を初期表示した時にメッセージダイアログを表示します。 |
|||
dummy_script | ||||
manifest.yaml | ||||
output_message.js | ||||
ui | GUI定義: UIの定義とScriptの定義(include)をします。 |
|||
dummy_ui | ||||
manifest.yaml | ||||
workflow | Workflow定義: ワークフローの各ステップを定義します。 ワークフローからジョブテンプレートを実行するために、Task modelのactionでOps I提供部品の「awx.run_job_template」を、inputでジョブテンプレート名(本例では「dummy_template」)を定義しています。 |
|||
launch_job_wf | ||||
manifest.yaml | ||||
playbook | Playbook | |||
test.yaml |
YAMLファイルの詳細については、「Script」、「UI」、「Workflow」を、YAMLファイルが正しく登録できたことを確認する場合は、「YAMLファイルの登録状況確認方法 」を参照してください。
GitLabにYAMLファイルを追加すると、GitLabは次のようになり、Ops Iへワークフローが登録された状態になります。
(2)サービスカタログの更新
登録されたワークフローをサービスカタログ画面から確認するために、サービスカタログのYAMLファイルに以下を追記してください。
追記箇所 | 追記内容 |
---|---|
includes: |
- kind: workflow name: launch_job_wf |
categories: |
- name: dummy label: AWX sub: - name: launch_job label: ジョブ実行 items: - workflow: launch_job_wf label: AWXジョブ実行 description: AWXジョブ実行するWFです。 |
正しく登録されると以下のようにカタログが表示されます。
(図)サービスカタログのYAMLファイル変更後のサービスカタログ画面
(3)ジョブテンプレートの作成
ジョブテンプレートはジョブを実行するための認証情報、プロジェクト、インベントリ―などを組み合わせた定義のセットになります。プロジェクトに設定されているリポジトリからPlaybook用のYAMLファイルを指定することにより、Playbookと連携することができます。
本作業は、Playbook用のYAMLファイル(test.yaml)を、手順「(1)ワークフローの追加」で登録した後に実施することを想定しています。
- メニューエリアから自動化アプリケーションを選択しAWXを開く
2. プロジェクトを同期する
3. 新規ジョブテンプレートを作成する
ワークフローのYAMLファイルにこの名前を定義することで、このジョブテンプレートがひもづけられ実行される。
(4)カタログを起動する
サービスカタログから手順「(2)サービスカタログの更新」で追加したカタログを起動し申請開始ボタンを押下する。
本手順では、JavaScriptで指定したメッセージが表示され、Playbook実行が正常に動作したことを確認することができる。
申請開始ボタンを押下するとワークフローが実行され、本手順ではワークフロー「AWXジョブ実行」が起動します。
ジョブのステータスは、Ops Iのワークフロー画面や、AWXのコンテンツエリアからジョブを選択することで確認することができます。Ops Iワークフロー画面の詳細は「ワークフロー」、AWXのジョブ確認画面は「ジョブの実行結果の確認」を参照してください。