问题描述
以下基本剧本使用assert
模块:
---
# ANSIBLE_LOCALHOST_WARNING=false ansible-playbook test.yml
- hosts: 127.0.0.1
connection: local
gather_facts: no
tasks:
- assert:
that:
- 1 == 1
- assert:
that:
- 1 == 2
...
并输出:
TASK [assert] ********************
ok: [localhost] => {
"changed": false,"msg": "All assertions passed"
}
TASK [assert] ********************
fatal: [localhost]: FAILED! => {
"assertion": "1 == 2","changed": false,"evaluated_to": false,"msg": "Assertion failed"
}
- 由于
changed
行是false
,所以无论assert
是成功还是失败,这行是什么意思?我猜这是因为Ansible任务必须具有changed
状态和assert
任务,因为它们只检查事物并且不做任何更改,因此将false
作为默认选项。我说的对吗? - 在我的团队中,检查幂等性的例程是对Ansible执行日志中的
changed
行进行计数。但是"changed": false
任务的这些assert
输出是误报。有没有办法使它们静音(即防止assert
输出changed
行)?否则,解决方法将是计算"changed": true,
行,而不仅仅是changed
。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)