私は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 PlayBookでは、プレイに加えて「変更された」状態を抑制できます。再生が成功すると、ステータスは「OK」になります。