Si hallas algún problema con tu código o proyecto, recuerda probar siempre en un entorno de testing antes añadir el código al proyecto final.
Solución:
Deberías usar tags:
como se documenta en https://docs.ansible.com/ansible/latest/user_guide/playbooks_tags.html
Si tiene un libro de jugadas grande, puede ser útil poder ejecutar una parte específica de la configuración sin ejecutar todo el libro de jugadas.
Tanto las jugadas como las tareas admiten “etiquetas:” attribute por esta razón.
Ejemplo:
tasks:
- yum: name= item state=installed
with_items:
- httpd
- memcached
tags:
- packages
- template: src=templates/src.j2 dest=/etc/foo.conf
tags:
- configuration
Si solo quisiera ejecutar la parte de “configuración” y “paquetes” de un libro de jugadas muy largo, podría hacer esto:
ansible-playbook example.yml --tags "configuration,packages"
Por otro lado, si desea ejecutar un libro de jugadas sin ciertas tareas, puede hacer esto:
ansible-playbook example.yml --skip-tags "notification"
También puede aplicar etiquetas a roles:
roles:
- role: webserver, port: 5000, tags: [ 'web', 'foo' ]
Y también puede etiquetar declaraciones de inclusión básicas:
- include: foo.yml tags=web,foo
Ambos tienen la función de etiquetar cada tarea individual dentro de la declaración de inclusión.
Hay una manera, aunque no muy elegante:
ansible-playbook roles/hadoop_primary/tasks/hadoop_master.yml --step --start-at-task='start hadoop jobtracker services'
- Recibirá un aviso:
Perform task: start hadoop jobtracker services (y/n/c)
- Responder
y
- Recibirá un mensaje siguiente, presione
Ctrl-C
FWIW con Ansible 2.2 se puede usar include_role:
libro de jugadas test.yml
:
- name: test
hosts:
- 127.0.0.1
connection: local
tasks:
- include_role:
name: test
tasks_from: other
entonces en roles/test/tasks/other.yml
:
- name: say something else
shell: echo "I'm the other guy"
E invoque el libro de jugadas con: ansible-playbook test.yml
Llegar:
TASK [test : say something else] *************
changed: [127.0.0.1]
Recuerda algo, que tienes la capacidad de glosar tu experiencia si te ayudó.