Ansible-Doppelschleifen werden nacheinander ausgeführt, basierend auf der When-Bedingung

Ansible-Doppelschleifen werden nacheinander ausgeführt, basierend auf der When-Bedingung

In Ansible werden Variablen dynamisch aus dem Registerausgang abgerufen. Die erste Schleife sammelt die Werte aus dem registrierten Ausgabeergebnis und sobald die When-Bedingung erfüllt ist, sollte die nächste Schleife die Ausführung starten. So verwenden Sie zwei Schleifen in einer When-Bedingung in Ansible

- name: stop the http service
 command: sh http.sh stop {{item}}
 args:
   chdir: /opt/http/
 loop: “{{http.stdout_lines}}”
 when: “item.stdout != 0"
 loop: “{{wordcount.results}}”

das ist der Code, aber ich kann nicht zwei Schleifen kontinuierlich verwenden, wenn eine Schleife abgeschlossen ist, sollte die nächste Schleife ausgeführt werden

Antwort1

Tut mir leid, aber es wird nicht so funktionieren, wie Sie es möchten. Sie können nur loopeinmal pro Aufgabe definieren; die zweite Definition wird ignoriert. Möglicherweise müssen Sie dies in mehrere Aufgaben aufteilen. Ich kann jedoch keine Lösung vorschlagen, da aus Ihrem Beispiel nicht ganz klar hervorgeht, was Sie erreichen möchten. Mehr Kontext könnte hilfreich sein.

verwandte Informationen