Ansible Automation Platform 2.5 の ワークフロー・ジョブテンプレート作成

### はじめに

Ansible Automation Platform 2.5 のワークフロー・ジョブテンプレートの作成を確認しました。

---

### 環境

・HW: IBM Power10 S1022
　仮想マシン：
　　OS: RHEL 9.4 ppc64le (PU Desired 0.5, VP Max 1, Memory 32GB)
・Ansible Automation Platform 2.5.9 (1 ノード構成)


---

### ワークフロー・ジョブテンプレートの作成


ワークフロー・ジョブテンプレートの作成を実施します。
マニュアルにも記載がありますので下記をご参照ください。

https://docs.redhat.com/ja/documentation/red_hat_ansible_automation_platform/2.5/html/using_automation_execution/controller-workflow-job-templates#controller-create-workflow-template


テンプレート画面に移動します。

![スクリーンショット 2025-05-18 14.13.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/19eaec3b-a11c-40ba-a2f7-b7ba70cc08e1.png)

<br>

ワークフロー・ジョブテンプレートの作成

![スクリーンショット 2025-05-18 14.14.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/a09dad8c-a626-426f-8816-785ef51daf0e.png)

ワークフロー・ジョブテンプレートの作成でシンプルなテンプレートを作成します。
最小限で、名前、組織、インベントリーを設定しています。

![スクリーンショット 2025-05-18 14.17.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/e5a5593a-8564-4264-ae9b-e2d3551076b6.png)

作成を押すと、以下の画面に遷移します。

![スクリーンショット 2025-05-18 14.18.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/8ed7c98d-4772-4f4e-9b21-cd9350812541.png)


Add Step 

![スクリーンショット 2025-05-18 14.19.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/cc337cc2-4094-41ae-aff0-454e68d9cb26.png)

ノードタイプは以下の選択肢です。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/30dae353-2b02-4a54-ae06-6b1c67309b25.png" width=55%>

選択項目はマニュアルに表で解説がありますのでご参考ください。

https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/using_automation_execution/controller-workflow-job-templates#controller-build-workflow


<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/452f1c35-4092-4034-89b1-46b0bc2f2bee.png" width=55%>

(ご参考) Converge の日本語訳

```
「Any」はデフォルトの動作であり、指定されたとおりにいずれかのノードが完了すると、次の収束ノードがトリガーされます。親ノードのうち1つでも実行条件を満たすと、「Any」子ノードが実行されます。「Any」ノードでは、すべてのノードが完了する必要がありますが、期待される結果で完了するノードは1つだけで構いません。

「All」を選択すると、すべてのノードが指定されたとおりに完了してから収束し、次のノードがトリガーされます。「All」ノードの目的は、すべての親ノードが期待される結果を満たしてから子ノードを実行することです。ワークフローは、すべての親ノードが期待どおりに動作しているかを確認し、それが満たされない場合は子ノードを実行しません。
```

"Next" を押すと、最終レビューが出力されます。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/d1c00987-07c0-4209-bf9b-736758b72ab8.png" width=55%>

"Finish" を押して作成を完了します。

Workflow Visualizer が表示されます。

![スクリーンショット 2025-05-18 14.36.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/f769d8c8-1d46-40d9-aae8-d380df8a9fc2.png)

---

### Step の追加

![スクリーンショット 2025-05-18 14.36.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/affa5f4c-5ea8-4efe-91a6-674f08ca377d.png)

最初と同じステップ追加の画面が出てきました。

事前に定義していた hello world を実行するテンプレートを設定します。
ステータスは "Run on success" で前のステップが成功したら実行するという定義を設定します。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/92f9a4bb-b741-476d-b4ed-83183116b614.png" width=55%>


ビジュアライザーでステップが追加されました。
ここで注意が必要で、左上の Save を押さないと設定が保存されません

![スクリーンショット 2025-05-18 14.43.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/2e3b1578-c924-42dd-8c34-7146921cd013.png)

Save を押すと通知が出ます。

![スクリーンショット 2025-05-18 14.44.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/5aefea10-a4ea-4140-89a6-84d643354a41.png)

---

### 作成したワークフロー・テンプレートの実行

![スクリーンショット 2025-05-18 14.50.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/712e64ec-4046-46b0-924e-eb71e9513fc6.png)


![スクリーンショット 2025-05-18 14.50.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/295c1011-8c0e-496a-bc20-4f3147235fcc.png)


![スクリーンショット 2025-05-18 14.52.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/e3d95c29-440c-4c06-81d6-e6330001000d.png)

![スクリーンショット 2025-05-18 14.53.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/6248ebc6-755e-41d7-bb9a-0e1f24a6a976.png)


---

### ログの確認

ジョブの画面で実行ジョブのステータスが確認できます。

![スクリーンショット 2025-05-18 14.54.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/d59bd86d-4842-4267-ab87-47afb27b91c2.png)

ここのジョブで実行ログを確認することができます。

![スクリーンショット 2025-05-18 14.53.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517421/323b72ee-6eda-4d12-a908-e1bf9d67d977.png)


---

### おわりに

Git リポジトリの同期、対象 Ansible playbook の一連の実行をワークフローで容易に設定できました。

ノードタイプには「承認 (Approval)」や、別のワークフロー・ジョブテンプレートを実行する機能なども含まれており、柔軟な構成が可能です。

(ジョブ設計は必要ですが) 柔軟性が高く、直感的に設定できる点は便利です。

<br>

以上です。