when tutorial run playbook how files español define arquitectura ansible ansible-playbook

tutorial - arquitectura ansible



¿Cómo puedo ejecutar solo las tareas de ansible con varias etiquetas? (4)

Creo que la sintaxis correcta es:

- name: debug baz debug: msg=baz tags: foo, bar

Imagina este libro de jugabilidad ansible:

- name: debug foo debug: msg=foo tags: - foo - name: debug bar debug: msg=bar tags: - bar - name: debug baz debug: msg=baz tags: - foo - bar

¿Cómo puedo ejecutar solo la tarea de debug baz ? Quiero decir que solo ejecute tareas etiquetadas con foo AND bar . ¿Es eso posible?

Intenté esto, pero ejecutará las 3 tareas:

ansible-playbook foo.yml -t foo,bar


Intente when directiva:

- name: debug foo debug: msg=foo tags: - foo - name: debug bar debug: msg=bar tags: - bar - name: debug baz debug: msg=baz when: - ''"foo" in ansible_run_tags'' - ''"bar" in ansible_run_tags''


Las etiquetas ansibles usan "o" no "y" como una comparación. Su solución para crear otra etiqueta es la adecuada.


Si lo usas de esta manera:

- name: debug baz debug: msg=baz tags: - foo - bar

Hiciste una operación OR. Entonces, si usas el comando:

ansible-playbook -i inventory test.yml --tags foo

o

ansible-playbook -i inventory test.yml --tags bar

Ejecutará esta tarea.

Si utiliza:

- name: debug baz debug: msg=baz tags: - foo, bar

Hiciste una operación AND. Así que solo el comando:

ansible-playbook -i inventory test.yml --tags foo, bar

Ejecutará esta tarea.