Linux &引用;什么时候;Ansible playbook上的条件不';使用运算符时无法按预期工作

Linux &引用;什么时候;Ansible playbook上的条件不';使用运算符时无法按预期工作,linux,unix,ansible,devops,Linux,Unix,Ansible,Devops,在playbook下面,在Ansible中使用带运算符的条件语句。当我运行剧本时,它从不考虑/验证条件,而是考虑最后一个SHIGO事实值“SuGrand”。 --- -主持人:沙盒 用户:机器人 变成:是的 收集事实:是的 任务: -调试:msg=“{ansible\u memtotal\u mb}” -名称:小于16G的最小值 设定事实: 上海购物中心:3670016 时间:ansible_memtotal_mb|int 16384和ansible_memtotal_mb|int{ “msg”

在playbook下面,在Ansible中使用带运算符的条件语句。当我运行剧本时,它从不考虑/验证条件,而是考虑最后一个SHIGO事实值“SuGrand”。

---
-主持人:沙盒
用户:机器人
变成:是的
收集事实:是的
任务:
-调试:msg=“{ansible\u memtotal\u mb}”
-名称:小于16G的最小值
设定事实:
上海购物中心:3670016
时间:ansible_memtotal_mb|int 16384和ansible_memtotal_mb|int{
“msg”:7872
}
任务[内存小于16G时的最小值]**************************************
ok:[uslv-sapp-lnx11]
任务[内存的最小值在16G和32G之间]*****************************
ok:[uslv-sapp-lnx11]
任务[调试]*******************************************************************
确定:[uslv-sapp-lnx11]=>{
“shmall”:7340032
}
重演*********************************************************************
uslv-sapp-lnx11:正常=5更改=0无法访问=0失败=0

修复缩进<代码>当不是
集合事实
操作的参数,而是任务的参数时:

- name: SHMALL value for MEM less than 16G
  set_fact:
    shmall: 3670016
  when: ansible_memtotal_mb|int <= 16384

- name: SHMALL value for MEM is between 16G and 32G
  set_fact:
    shmall: 7340032
  when: ansible_memtotal_mb|int > 16384 and ansible_memtotal_mb|int <= 32768
-名称:小于16G的最小值
设定事实:
上海购物中心:3670016

当:ansible_memtotal_mb|int 16384和ansible_memtotal_mb|int修复缩进<代码>当
不是
集合事实
操作的参数,而是任务的参数时:

- name: SHMALL value for MEM less than 16G
  set_fact:
    shmall: 3670016
  when: ansible_memtotal_mb|int <= 16384

- name: SHMALL value for MEM is between 16G and 32G
  set_fact:
    shmall: 7340032
  when: ansible_memtotal_mb|int > 16384 and ansible_memtotal_mb|int <= 32768
-名称:小于16G的最小值
设定事实:
上海购物中心:3670016
时间:ansible_memtotal_mb|int 16384和ansible_memtotal_mb|int