ansible双循环根据when条件逐个执行

ansible双循环根据when条件逐个执行

在 ansible 中,变量是从寄存器输出动态获取的,第一个循环将从已注册的输出结果中收集值,一旦它满足 when 条件,下一个循环就应该开始执行。如何在 ansible 中的一个 when 条件中使用两个循环

- name: stop the http service
 command: sh http.sh stop {{item}}
 args:
   chdir: /opt/http/
 loop: “{{http.stdout_lines}}”
 when: “item.stdout != 0"
 loop: “{{wordcount.results}}”

这是代码,但我无法连续使用两个循环,如果一个循环完成,它应该运行下一个循环

答案1

抱歉,但它不会按照您希望的方式工作。您只能为loop每个任务定义一次;第二个定义将被忽略。您可能需要将其分解为多个任务,但是,我无法提出解决方案,因为从您的示例中无法完全清楚您要完成的任务。更多上下文可能会有所帮助。

相关内容