如何解决Ansible'assert'模块和'“ changed”:false'
以下基本剧本使用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 举报,一经查实,本站将立刻删除。