微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Ansible'assert'模块和'“ changed”:false'

如何解决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"
}
  1. 由于changed行是false,所以无论assert是成功还是失败,这行是什么意思?我猜这是因为Ansible任务必须具有changed状态和assert任务,因为它们只检查事物并且不做任何更改,因此将false作为认选项。我说的对吗?
  2. 在我的团队中,检查幂等性的例程是对Ansible执行日志中的changed行进行计数。但是"changed": false任务的这些assert输出是误报。有没有办法使它们静音(即防止assert输出changed行)?否则,解决方法将是计算"changed": true,行,而不仅仅是changed

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。