有条件的时候

时间:2019-03-22 03:03:12

标签: ansible

我是Ansible的新手,并且我正在编写脚本以在磁盘空间超出限制时安装软件包。我在评估条件

时遇到这样的错误>>错误
---
- hosts: dev
  become: true
  become_user: root
  tasks:
   - name: Install zsh if enough space
      yum:
       name: zsh
       state: latest
       with_items: "{{ ansible_mounts}}"
      when: item.mount == "/" and item.size_available > 10737400

我以字节为单位给出大小。 (有没有办法以MB为单位给出大小?)

谢谢。

1 个答案:

答案 0 :(得分:1)

Ansible使用YAML格式,您需要使用正确的缩进。 在YAML中,缩进在大多数编程语言中作为右括号或分号很重要。

with_items不是yum模块的定义,它是Ansible的指令,因此它应与when和模块调用(例如{{ 1}})。下面的两个示例都可以工作:

yum

---
- hosts: dev
  become: true
  become_user: root
  tasks:
   - name: Install zsh if enough space
     yum:
       name: zsh
       state: latest
     with_items: "{{ ansible_mounts }}"
     when: item.mount == "/" and item.size_available > 10737400