【发布时间】:2020-08-20 14:22:46
【问题描述】:
在第一个节点 sdb 大小为 1GB 第二个节点 sdb 大小为 600M 只是我无法检查磁盘的大小。执行以下剧本时出现错误(显示大小为 0 值)。
---
- hosts: all
become: yes
tasks:
- debug:
msg: "{{ ansible_devices.sdb.size }} is less than 800"
when: ansible_devices.sdb.size|int < 800
$ ansible-playbook lvm-new.yml
ansible-playbook lvm-new.yml
PLAY [all] ***********************************************************************************************************************************************************************
TASK [Gathering Facts] ***********************************************************************************************************************************************************
ok: [servera]
ok: [serverb]
TASK [debug] *********************************************************************************************************************************************************************
ok: [serverb] => {
"msg": "600.00 MB is less than 800"
}
ok: [servera] => {
"msg": "1.00 GB is less than 800"
}
PLAY RECAP ***********************************************************************************************************************************************************************
servera : ok=2 changed=0 unreachable=0 failed=0
serverb : ok=2 changed=0 unreachable=0 failed=0
你能帮忙解决这个任务吗?
【问题讨论】:
-
出现错误 ...您应该 edit your question 与我们其他人分享
-
已编辑,问候
-
首先,您的代码与输出不匹配,因此请发布您正在运行的实际代码。其次,您正在读取变量
ansible_devices,该变量未在您显示的代码中设置,而您将parted结果存储在sdb_info中,所以我对您没有获得值并不感到惊讶. -
现在我又编辑了。谢谢提醒。这里我无法将大小值转换为整数来检查它是否小于 800
标签: python-2.7 ansible