如何在由_项组成的循环中使用check ansible任务结果?

如何在由_项组成的循环中使用check ansible任务结果?,ansible,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字典,其中存储每个项目的结果 不幸的是,我们想通过查看所有的数据来决定失败的状态 - s

想象一下,这个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

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

- shell: "{{ item }}"
  register: result
  failed_when: result.rc not in [0, 1] or 'err' in result.stdout_lines
  with_items:
  - ls
  - df
您可能知道,对于这些结果,结构将包含一个
results
字典,其中存储每个项目的结果


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

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

- shell: "{{ item }}"
  register: result
  failed_when: result.rc not in [0, 1] or 'err' in result.stdout_lines
  with_items:
  - ls
  - df
您可能知道,对于这些结果,结构将包含一个
results
字典,其中存储每个项目的结果


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

@techrag这是否意味着失败时可访问的
结果
变量或忽略错误的变量与最后重新存储的变量不同?这显然有点令人困惑,因为这意味着result在failed_when中有rc member,但在任务运行后不再存在。@techrag这是否意味着failed_when或ignore_errors可访问的
result
变量与最终重新存储的变量不同?这显然有点让人困惑,因为这意味着结果在失败的_中包含rc成员,但在任务运行后,这不再存在。