実現したいこと
test.yml内にてloop処理を設定してtest_loop.ymlをincludeしています。
test_loop.ymlで条件にマッチした場合にloop処理だけを停止して、Task 1とTask 2の後続タスクを実行したいです。
test_loop.yml内で条件にマッチした場合にloop処理だけを停止して、後続のTask 1とTask 2を実行する方法はありますでしょうか?
宜しくお願い致します。
該当のソースコード
main.yml
1- name: Loop 2 ansible.builtin.include_tasks: test.yml 3- name: Task 1 4 ansible.builtin.include_tasks: taks1.yml 5- name: Task 2 6 ansible.builtin.include_tasks: task2.yml
test.yml
1 ansible.builtin.include_tasks: test_loop.yml 2 loop: [1, 2, 3]
test_loop.yml
1--- 2- name: Chefk status of hoge 3 ansible.builtin.systemd: 4 name: "hoge.service" 5- name: Start hoge when not running 6 ansible.builtin.service: 7 name: hoge 8 state: started 9 register: start_result 10 retries: 3 11 delay: 10 12 until: start_result is succeeded
試したこと
下記のようにend_playを設定するとloop処理だけではなく、後続のTask 1とTask 2のタスクは実行されず停止してしまいます。
test_loop.yml
1--- 2- name: Chefk status of hoge 3 ansible.builtin.systemd: 4 name: "hoge.service" 5 register: chk_hoge 6- name: Start hoge when not running 7 ansible.builtin.service: 8 name: hoge 9 state: started 10 register: start_result 11 retries: 3 12 delay: 10 13 until: start_result is succeeded 14- name: End play 15 ansible.builtin.meta: end_play 16 when: chk_hoge.status.SubState == "running"

回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2023/05/16 10:03 編集
2023/05/16 11:03
2023/05/16 11:53 編集
2023/05/16 14:30
2023/05/17 01:14 編集
2023/05/17 00:48 編集
2023/05/17 15:51
2023/05/18 00:58 編集
2023/05/18 00:47