如何在由_项组成的循环中使用check ansible任务结果?
想象一下,这个Ansible代码只在命令返回一个不同于0或1的值时才将任务设置为失败如何在由_项组成的循环中使用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
- 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成员,但在任务运行后,这不再存在。