Mat*_*hew 0 ansible ansible-playbook
我必须使用Ansible检查Linux机器上的不同硬件和配置元素,而且我不确定如何做到(RAM,磁盘空间,DNS,CPU ...),我知道我几乎可以找到我只想了解这些不可思议的事实,但我不知道如何使用它。
例如,我必须检查RAM量是否至少为4GB,如果不是,则发出警报,因此我尝试了很多事情,并且...无济于事。
这是我尝试过的一个例子。
- hosts: client
remote_user: user
tasks:
- debug: var=ansible_memory_mb
- debug: msg="total RAM is {{ ansible_memory_mb.real.total }}"
- fail: msg="not enough RAM"t
- when: {{ ansible_memory_mb.real.total }} < 4096
Run Code Online (Sandbox Code Playgroud)
你能告诉我它是如何工作的吗?也许有更好的方法来使用Ansible做我想做的事情?
谢谢您的回答。
您发布的代码段有些错误。
您的缩进不正确。 tasks
需要与缩进级别相同hosts
。
该when
条件需要是的一部分fail
任务块,而不是一个单独的列表项目。
通常,您不需要{{ ... }}
在when
条件中使用,整个表达式将被视为Jinja模板。
尝试这个:
- hosts: client
remote_user: user
tasks:
- debug: var=ansible_memory_mb
- debug: msg="total RAM is {{ ansible_memory_mb.real.total }}"
- fail: msg="not enough RAM"
when: ansible_memory_mb.real.total < 4096
Run Code Online (Sandbox Code Playgroud)
您也可以使用该assert
模块检查条件或条件列表。
- assert:
that:
- ansible_memory_mb.real.total >= 4096
- some other condition
- ...
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8226 次 |
最近记录: |