Los bucles dobles ansibles se ejecutan uno por uno según la condición de cuándo.

Los bucles dobles ansibles se ejecutan uno por uno según la condición de cuándo.

En ansible, las variables se obtienen dinámicamente de la salida del registro, el primer bucle recopilará los valores del resultado de salida registrado y una vez que cumpla la condición when, el siguiente bucle debería comenzar la ejecución. cómo usar dos bucles en uno cuando la condición está en 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}}”

Este es el código, pero no puedo usar dos bucles continuos. Si se completa un bucle, debería ejecutar el siguiente bucle.

Respuesta1

Lo sentimos, pero no funcionará como usted desea. Sólo puedes definir loopuna vez por tarea; la segunda definición será ignorada. Es posible que deba dividir esto en varias tareas; sin embargo, no puedo proponer una solución porque en su ejemplo no queda del todo claro lo que está tratando de lograr. Más contexto podría ayudar.

información relacionada