Linux 当条件处于可解状态时

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:

我已经写了下面的剧本,它工作得很好,但当我在角色上做同样的事情时,当失败模块的条件混乱时。不管定义了什么值,当我在when、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。