Ansible 剧本失败条件

Ansible 剧本失败条件,ansible,Ansible,我有一个playbook,用于检查集群中可用的磁盘使用情况: ..... #Test - set_fact: diskFree=0 - set_fact: diskFree="{{(100.0 * (item.size_available / item.size_total)) | round(2, 'common')}}" when: - skipDevice not in item.device - sizeThre

我有一个playbook,用于检查集群中可用的磁盘使用情况:

.....
#Test
    - set_fact: diskFree=0
    - set_fact:
        diskFree="{{(100.0 * (item.size_available / item.size_total)) | round(2, 'common')}}"
      when:
        - skipDevice not in item.device
        - sizeThreshold is undefined or (sizeThreshold is defined and ((100.0 * (item.size_available / item.size_total)) | round(2, 'common')) < sizeThreshold|float)
      loop: "{{ ansible_mounts }}"
    #Test Display
    - debug:
        msg: "{{ ansible_hostname }}: {{ diskFree }}"
      when: diskFree != 0
。。。。。
#试验
-set_事实:diskFree=0
-设定事实:
diskFree=“{(100.0*(item.size_可用/item.size_总计))|四舍五入(2,'common')}”
什么时候:
-skipDevice不在item.device中
-sizeThreshold未定义或(sizeThreshold已定义且((100.0*(item.size_可用/item.size_总计))|四舍五入(2,“通用”))
问题是,我希望playbook在磁盘使用率低于20%时失败,但我不知道该怎么做,而且我不能在这里使用
failed\u


提前感谢。

因此,请添加一个
fail
任务:

- fail:
    msg: "Free disk space below 20% ({{ diskFree }}%)."
  when: diskFree|float < 20.0
-失败:
msg:“可用磁盘空间低于20%({{diskFree}}%)。”
时间:diskFree | float<20.0

“代码>代码>请将目前的输出显示为该游戏书。代码>请将目前的输出显示为该游戏书。代码>请将目前的输出显示为该游戏书。代码>请将目前的输出显示为该游戏书。代码>请将目前的输出显示为该游戏书。<代码>代码>任务>任务>任务[调试]************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************=>{“msg”:“host2:67.37}确定:[host3]=>{“msg”:“host3:59.18”
我已经这样做了,但是我得到了这个错误:
条件检查“diskFree<20”失败。错误是:({%if diskFree<20%}True{%else%}False{%endif%})上发生了意外的模板类型错误:'对。需要使用
| float
进行施放。回答中已修复。现在可以像sharm一样工作,感谢“float”提示。