Wie kann Ansible das Ergebnis eines Playbooks in einer Variablen "registrieren"?

9

Wie kann ein Ansible Playbook register in einer Variablen das Ergebnis von einschließlich ein anderes Playbook?

Würde beispielsweise Folgendes das Ergebnis der Ausführung von tasks/foo.yml in result_of_foo ?

registrieren? %Vor%

Wie sonst kann Ansible das Ergebnis einer Tasksequenz aufzeichnen?

    
Derek Mahar 13.11.2015, 20:16
quelle

2 Antworten

7

Die kurze Antwort ist, dass dies nicht möglich ist.

Die Register -Anweisung wird verwendet, um die Ausgabe einer einzelnen Aufgabe in einer Variablen zu speichern. Der genaue Inhalt der registrierten Variablen kann je nach Art der Aufgabe sehr unterschiedlich sein (z. B. enthält eine shell -Task die Ausgabe von stdout & amp; stderr aus dem Befehl, den Sie in der registrierten Variablen ausführen, während die Aufgabe stat Details bereitstellt der Datei, die an die Aufgabe übergeben wird).

Wenn Sie eine Include-Datei mit einer beliebigen Anzahl von Tasks haben, kann Ansible nicht wissen, was in Ihrem Beispiel gespeichert werden soll.

Jede einzelne Aufgabe innerhalb Ihrer Include-Datei kann Variablen registrieren, und Sie können diese Variablen an anderer Stelle referenzieren, so dass es wirklich nicht nötig ist, etwas so zu tun.

    
Bruce P 13.11.2015, 21:46
quelle
3

Ich konnte dies tun, indem ich einen Variablennamen als Variable übergebe, die in der Aufgabe verwendet werden soll. Ich habe meine main.yaml und cgw.yaml Dateien darunter eingefügt.

main.yaml:

%Vor%

cgw.yaml:

%Vor%     
mcaulifn 23.05.2017 18:43
quelle

Tags und Links