当 /var 分区存在时,我正在尝试写入任务。我使用了断言变量
- name: Apply patch if /var exist and > 300MB
yum:
name: '*'
state: latest
loop: "{{ ansible_mounts }}"
when: item.mount == "/var" and item.size_available > 300000000
如果 /var 不存在,它应该会失败或跳过。这没有发生。如果 /var 不存在,请建议如何跳过
这是我为使其工作所做的工作:
注释部分实际上向您显示了您正在处理的数据类型。在这种情况下,它是一个列表。
为了展平我使用
"{{ ansible_facts['mounts'] | flatten(levels=1) }}"
的列表,因为列表最初看起来像这样:我已经在我的
/data*
挂载点上测试了剧本,因为我现在没有/var
可用的服务器 - 但它按预期工作。一些参考资料: