开发者社区> 问答> 正文

当条件不佳时

我已经编写了以下剧本,并且工作正常,但是当我对角色做同样的事情时,故障模块的状况就会混乱。不管定义的值是什么,当我在失败模块中何时给出>时,都会跳过而在<时给出失败,则是失败。请不要介意语法和“-”,它在这里很混乱。

- 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

展开
收起
祖安文状元 2020-01-05 18:09:18 306 0
1 条回答
写回答
取消 提交回答
  • 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将执行任务

    没问题,您的代码可以正常工作,没有奇怪的行为^^

    2020-01-05 18:09:30
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载