ホーム > Ansible Tower・AWX リファレンス
ワークフローテンプレートの設定と実際にどのように実行されるかをまとめてみました。
ワークフローテンプレートの設定項目について
まず、ワークフローテンプレートの設定項目、主にワークフロービジュアライザーで設定出来る項目について説明します。
ワークフローに組み込めるテンプレート
ワークフローには、通常の「ジョブテンプレート」と「ワークフローテンプレート」の2つを組み込むことが可能です。
ワークフローテンプレートを組み込むことで、ワークフローテンプレートからワークフローテンプレートを実行することなどが可能になっています。
実行結果は、いずれも「正常終了」か「異常終了」のどちらかになります。
実行タイミング
ワークフローには、複数のテンプレートを組み込むことが可能で、1つ前のテンプレートの実行結果により、後のテンプレートを実行するか、実行しないかを制御することが可能で、以下の3パターンを使用できます。
・常時:前のテンプレートの実行結果が正常終了、異常終了のどちらの場合でも処理を実行します。 ・成功時:前のテンプレートの実行結果が正常終了の場合のみ、処理を実行します。 ・障害発生時:前のテンプレートの実行結果が異常終了の場合のみ、処理を実行します。
下の画像がワークフロービジュアライザーの画面で、
線の色は、青が常時、緑が成功時、赤が障害発生時となっています。
収束(コンバージェンス)
1つ前のテンプレートの実行結果が全て成功、または一部成功のどちらの場合に、後のテンプレートを実行するかを設定できます。
・任意:1つ前のテンプレートの1つが正常終了の場合に、処理を実行します。 ・すべて:1つ前のテンプレートの全てが正常終了した場合のみ、処理を実行します。
ワークフローテンプレートの組み合わせと挙動について
ここでは、様々な組み合わせと実行時にどのように動作するか、また、最終的な実行結果はどうなるかを記載しています。
必ず正常終了となるテンプレートと必ず異常終了となるテンプレートを使用してテストします。
パターン1
設定
ジョブ実行時に、「正常終了」と「異常終了」の2つのテンプレートが実行され、いずれも「成功時」のみ後続処理を行うようにしています。
また、最後のテンプレートの収束条件は「任意」に設定しています。
動作
「B_異常終了」は異常終了となっており、後続処理の実行条件は「成功時」となっていますが、収束条件が「任意」なので、一番右の「A_正常終了」は実行されています。
結果
以下のように、ワークフローテンプレート自体は失敗として終了します。
ステータス(ワークフローテンプレートの実行結果):失敗
説明:エラーの処理パスが見つかりません。ワークフローを失敗としてマークしました
おわりに
ワークフローテンプレートはGUIでジョブの組み合わせを変更できますが、実行時にどのように実行されるかイメージが湧きにくい場合もあるかもしれません。
そのような場合は、こちらを参考にして、最適な組み合わせを見つけてもらえれば幸いです。
まだパターンが少ないので順次追加していきたいと思います。
コメント