example - ansible roles
¿Cómo forzar que el controlador se ejecute antes de ejecutar una tarea en Ansible? (1)
Tengo un libro de jugadas que debería configurarse en una IP específica, y que se conecte a esta aplicación para configurar cosas dentro.
Tengo un problema: necesito reiniciar la aplicación después de haber cambiado algo en la configuración de la aplicación, y si no reinicio la aplicación, la conexión falló (no hay conexión porque la aplicación no sabe nada sobre la nueva configuración con la nueva dirección IP I '' Estoy tratando de acceder).
Mi libro de jugadas actual:
tasks:
- name: Configure app
template: src=app.conf.j2 dest=/etc/app.conf
notify: restart app
- name: Change data in app
configure_app: host={{new_ip}} data={{data}}
handlers:
- name: restart app
service: name=app state=restarted
Necesito forzar el controlador para que se ejecute si configure_app
cambió antes de ejecutar ''Cambiar datos en la aplicación''.
Si desea forzar que el controlador se ejecute entre las dos tareas en lugar de al final de la partida, debe poner esto entre las dos tareas:
- meta: flush_handlers
Ejemplo tomado de la documentation ansible:
tasks:
- shell: some tasks go here
- meta: flush_handlers
- shell: some other tasks
Tenga en cuenta que esto hará que todos los controladores pendientes se ejecuten en ese punto, no solo ese específico.