Linux 当条件处于可解状态时
我已经写了下面的剧本,它工作得很好,但当我在角色上做同样的事情时,当失败模块的条件混乱时。不管定义了什么值,当我在when、fail模块中给出>时,它跳过;当给出<时,它失败。 请不要介意语法和“-”,这里很混乱Linux 当条件处于可解状态时,linux,automation,ansible,Linux,Automation,Ansible,我已经写了下面的剧本,它工作得很好,但当我在角色上做同样的事情时,当失败模块的条件混乱时。不管定义了什么值,当我在when、fail模块中给出>时,它跳过;当给出5,但它应该是vcpu_值| int>3 - fail: msg: " provided vcpu are more" when: vcpu_value|int > 5 您已设置vcpu_值:0 条件评估vcpu_值ansible将跳过该任务 - fail:
- 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_值| int>5,但它应该是vcpu_值| int>3
- fail:
msg: " provided vcpu are more"
when: vcpu_value|int > 5
您已设置vcpu_值:0
条件评估vcpu_值<5它与您的条件不匹配==>ansible将跳过该任务
- fail:
msg: " provided vcpu are more"
when: vcpu_value|int < 5
-失败:
msg:“提供更多vcpu”
时间:vcpu_值| int<5
您已设置vcpu_值:0
条件评估vcpu_值<5正常==>ansible将获得执行任务的权限
没有问题您的代码工作正常没有奇怪的行为^ ^感谢您的回复。但我已将任务中的vcpu_值增加到4。那么,它会采取改变的价值还是会考虑VARS中提到的价值??vcpu_值| int>3而不是vcpu_值| int>5。