나는 ansible을 배우고 있는데 불분명한 상황에 직면했습니다. 다음 모듈 명령을 실행하면 결과는 "Changed"입니다.
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 플레이북에서는 플레이에 추가하여 "변경된" 상태를 억제할 수 있습니다. 재생이 성공하면 상태는 "OK"가 됩니다.