Ansible Aufgaben sollten idempotent sein . Z.B. wenn die Aufgabe nicht alles ändern, sollte es zurückgeben ok
statt changed
. Die meisten integrierten Module und Aufgaben sind bereits vorhanden, aber für Aufgaben wie command
und shell
müssen Sie ein wenig helfen.
Für eine Aufgabe, die rein prüft und nichts ändert, sollten Sie Folgendes hinzufügen:
changed_when: False always_run: yes
Letzteres ermöglicht die Ausführung der Task auch im Prüfmodus .
Der Vollständigkeit halber werden solche Aufgaben in der Regel mit einer anderen kombiniert, die die eigentliche Änderung vornimmt, z.
- command: check command that returns true when no change needed register: result changed_when: False always_run: yes - command: modify command when: result.rc != 0