繁体   English   中英

Ansible 在使用 include 时会中断循环

[英]Ansible breaks the loop when using include

我试图在一个循环中运行多个任务,但是每当我在循环内遇到错误时,ansible 就会退出它。 我希望能够运行循环,直到每个项目的列表结束。 如果某个项目出现问题,则循环仅针对该项目停止,而不是 rest。

我的库存结构是 json,但看起来像这样:

webhost1:
  items: 
      [item1, item2]

我的 ansible 剧本这样做:

  - include: multiple_tasks_to_be_run_for_each_item.yml
    with_items: items

预期结果类似于运行:

  - shell: /bin/false
    with_items:
       - "1"
       - "2"
       - "3"

即使它在第一个项目上失败,它也会继续运行。

请尝试在 Ansible 角色中使用 loop、loop_control 和 loop_var,如果有帮助,请告诉我。

sample.yml
-----------
    - include_tasks: "repeat.yml"
      loop: "{{ list_of_values }}"
      loop_control:
        loop_var: var1


repeat.yml ( You can use the var1 inside the repeat.yml)
-----------

---
- name: Repeat Tasks
  block:
    - name : task 1
      .........

    - name : task 2
      .........

显然这是预期的行为。 来自github 问题的回答在这里。

这是按预期工作的。 使用blockrescue来控制故障。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM