Wie Sie verhindern, dass 'verändert' flag 'registrieren'-ing-eine variable?
Ich habe eine register
Aufgabe zum testen der installation eines Paketes:
tasks:
- name: test for nginx
command: dpkg -s nginx-common
register: nginx_installed
Jedem Lauf wird es berichtet, dass die "ändern":
TASK: [test for nginx] ********************************************************
changed: [vm1]
Ich nicht betrachten dies als eine änderung... es war zuletzt installiert laufen und ist noch installiert, diese laufen. Ja, keine biggy, nur eine dieser unordentlichen OCD Typ Fragen.
So mache ich es falsch? Gibt es eine Möglichkeit zur Nutzung register
ohne es immer als eine Veränderung?
Den [verbose] die Ausgabe ist ungeordnet, aber die einzige Möglichkeit, die ich gefunden habe, um die richtigen return-code.
TASK: [test for nginx] ********************************************************
changed: [vm1] => {"changed": true, "cmd": ["dpkg", "-s", "nginx-common"], "delta": "0:00:00.010231", "end": "2014-05-30 12:16:40.604405", "rc": 0, "start": "2014-05-30 12:16:40.594174", "stderr": "", "stdout": "Package: nginx-common\nStatus: install ok
...
\nHomepage: http://nginx.net"}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist beschrieben in der offiziellen Dokumentation hier.
Es ist die
command
Modul verursacht den Zustand, nicht dieregister
parameter.Können Sie festlegen,
changed_when:
zu etwas, das nur wahr, wenn sich etwas geändert hat (auch mit Blick auffailed_when
). Wenn Sie Ihre Aufgabe nicht etwas ändern, möchten Sie vielleicht zu setzencheck_mode
als gut. (Vor allem, wenn andere Schritte hängen vom Wert)Gibt es: