如何在with_items的循环中使用check ansible task result?

时间:2018-05-30 12:47:46

标签: ansible

想象一下这个Ansible代码,只有当命令返回的值不是0或1时才应该将任务设置为失败。

- shell: some-command
  register: result
  failed_when: result.rc not in [0, 1] or 'err' in result.stdout_lines

如何看待使用with_items循环的变体?正如您可能知道的那样,结果结构将包含一个results字典,用于存储每个项目的结果。

可悲的是,我们希望通过查看所有内容来决定失败的状态。

- shell: "{{ item }}"
  register: result
  failed_when: ????
  with_items:
  - ls
  - df

1 个答案:

答案 0 :(得分:2)

这不是问题。使用与第一个示例中相同的条件:

- shell: "{{ item }}"
  register: result
  failed_when: result.rc not in [0, 1] or 'err' in result.stdout_lines
  with_items:
  - ls
  - df
  

正如您可能知道的那样,这些结果结构将包含一个results字典,用于存储每个项目的结果。

此结构在执行后创建,并且可以从后续任务访问,而不是从循环内部访问。