Linux
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 }
在 Ansible 中,狀態為 ‘CHANGED’ 的 play是一個成功的響應。如果它不成功,它會報告該劇“失敗”。
在 Ansible 劇本中,您可以通過添加
changed_when: false
到劇本來抑制“已更改”狀態。如果播放成功,則狀態將為“OK”。