Ansible 命令返回更改而不是成功

Ansible 命令返回更改而不是成功

我正在学习ansible,遇到了不清楚的情况。运行以下模块命令,结果是“已更改”。

ansible agent.example.com -i inventory -m copy -a 'content="Node Managed by Ansible\n" dest=/etc/motd'

为什么我没有得到成功的回复。我已经确认 motd 文件确实被修改了。

这是任务的输出。

agent.example.com | CHANGED => {
    "changed": true, 
    "checksum": "3eb89f442d0bec80f2c59d6d66d621cc4ced7272", 
    "dest": "/etc/motd", 
    "gid": 0, 
    "group": "root", 
    "md5sum": "2e92a9663d317113e1c4bafb2610f3d5", 
    "mode": "0644", 
    "owner": "root", 
    "secontext": "system_u:object_r:etc_t:s0", 
    "size": 24, 
    "src": "/home/admin/.ansible/tmp/ansible-tmp-1543639577.88-189984200437408/source", 
    "state": "file", 
    "uid": 0
}

答案1

在 Ansible 中,状态为“CHANGED”的戏剧成功的回应。如果不成功,就会报告该剧“失败”。

changed_when: false在 Ansible playbook 中,您可以通过添加到 play 来抑制“已更改”状态。如果播放成功,状态将为“OK”。

相关内容