我已经编写了以下剧本,并且工作正常,但是当我对角色做同样的事情时,故障模块的状况就会混乱。不管定义的值是什么,当我在失败模块中何时给出>时,都会跳过而在<时给出失败,则是失败。请不要介意语法和“-”,它在这里很混乱。
- hosts: localhost
vars:
vmcpu_list:
- vmcpu: 2
- vmcpu: 1
- vmcpu: 1
vcpu_value: 0
tasks:
- set_fact:
vcpu_value: "{{ vcpu_value }} + vmcpu_list[{{item}}].vmcpu"
with_sequence: start=0 end="{{ vmcpu_list | length -1 }}"
- debug:
var: "{{ vcpu_value }}"
- fail:
msg: " provided vcpu are more"
when: vcpu_value|int > 5
注意:对不起,我上面给出了vcpu_value | int> 5,但是应该是vcpu_value | int> 3
fail:
msg: " provided vcpu are more"
when: vcpu_value|int > 5
您已设置vcpu_value:0条件评估vcpu_value <5它与您的条件不匹配==> ansible将跳过任务
- fail:
msg: " provided vcpu are more"
when: vcpu_value|int < 5
您已设置vcpu_value:0条件评估vcpu_value <5 OK ==> ansible将执行任务
没问题,您的代码可以正常工作,没有奇怪的行为^^
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。