Ansible Tower(AWX)のワークフローテンプレート内にあるジョブテンプレート間で変数の受け渡しをしたい時があると思います。
ここでは、そのやり方についてメモっておきます。
環境
Ansible Towerのワークフローテンプレートを使用するにはライセンスが必要なので、ここではAWXを使って動作確認をしてみます。
項目 | バージョン |
---|---|
RHEL | 7.4 |
AWX | 1.0.6.28 |
変数の受け渡し方法
ワークフローテンプレートで実行した時にジョブテンプレート間で変数の受け渡しをするには set_stats を使用します。
動作確認
ここはで以下二つのPlaybook(ジョブテンプレート)を作成してワークフローテンプレートに登録します。
Playbook
task01.yml
1 2 3 4 5 6 7 8 9 |
--- - name: set var task. hosts: all gather_facts: no tasks: - set_stats: data: msg: "Test Message" |
task02.yml
1 2 3 4 5 6 7 |
--- - name: set var task. hosts: all gather_facts: no tasks: - debug: msg="{{ msg }}" |
説明
task01でset_statsを使ってmsgという変数に値を入れてtask02のdebugで表示します。
実行
作成したワークフローテンプレートを実行します。
task01で定義した変数がtask02に渡されていることが確認できました 🙂