Linux

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

  • October 28, 2019

我正在學習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”。

引用自:https://unix.stackexchange.com/questions/485296