Ansible 组合循环直到可转换

Ansible 组合循环直到可转换,ansible,Ansible,我想检查一下这是否是使用循环的正确方法。我需要做的是,对于每个循环,需要达到一个条件。如果达到该条件,请再次循环 下面是我的代码 - shell: "{{ item.script_location }}/{{ item.script_name }}" loop: "{{ script_list }}" loop_control: pause: 10 when: item.isExecuteScript | bool == true a

我想检查一下这是否是使用循环的正确方法。我需要做的是,对于每个循环,需要达到一个条件。如果达到该条件,请再次循环

下面是我的代码

- shell: "{{ item.script_location }}/{{ item.script_name }}"
  loop: "{{ script_list }}"
  loop_control:
    pause: 10
  when:  item.isExecuteScript | bool == true and inventory_hostname in groups['all'][5:]
  register: verify_status
  until: verify_status.stdout == "executed"
  retries: 1030  delay: 5
瓦拉斯·伊梅尔

script_list
  - { isExecuteScript: "true", script_name: "varify_stat_application.sh", script_location: "/home/application" }
  - { isExecuteScript: "true", script_name: "varify_stat_server.sh", script_location: "/home/server" )
问:“这是使用
循环
直到
的正确方法吗?”


A:不,不是。不适用于
循环
。打破一个循环是不可能的。
循环
将一直运行,直到它完成所有项目,
直到
使任务重复运行,直到满足条件为止。如果要有条件地省略循环中的项,请在
时使用

如果是这种情况,最好的方法是什么,因为我需要使用循环来循环变量列表中的项。但同时,每个循环都需要先成功,然后再转到第二个循环。如果您有任何提示,请共享并删除不相关的内容(isExecuteScript,inventory_hostname…)。您好,我将进行更改。我测试了我的代码,它正在工作。为什么会这样。正如右循环所述,直到。但我测试了一下它是否有效。有什么想法请分享