[英]When condition in ansible
我已經編寫了以下劇本並且它運行良好但是當我對角色做同樣的事情時,當失敗模塊的條件混亂時。 不管定義的值如何,當我在失敗模塊中給出 > 時,它正在跳過,而當給出 < 時,它失敗了。 請不要介意語法和“-”,它在這里搞砸了。
- 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 將執行任務
沒有問題,您的代碼工作正常,沒有奇怪的行為 ^^
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.