Tengo un libro de jugadas de Ansible para algunos servicios de inicio que son muy similares con algunos ajustes. En el libro de jugadas de nivel superior, incluyo el rol dos veces, como
roles: - {role: "my-service", service: webserver} - {role: "my-service", service: scheduler} el rol de mi servicio tiene tareas, que escriben secuencias de comandos de inicio y controladores, que (re)inician el servicio. tasks/main.yml se ve así:
- name: setup init scripts template: src=../../service-common/templates/my-service.conf dest=/etc/init/my-{{ service }}.conf notify: - restart my service y handlers/main.yml tiene este contenido:
- name: restart my services service: name=my-{{ service }} state=restarted Pero después de que se ejecuta el libro de jugadas, solo nos queda el servicio del webserver ejecutándose, y el programador se stop/waiting . ¿Cómo puedo hacer que el controlador los vea como dos notificaciones separadas para ser manejadas?
La documentación de Ansible establece:
Los controladores son listas de tareas, que no difieren mucho de las tareas normales, a las que se hace referencia mediante un nombre único global.
Por lo tanto, no utiliza ningún parámetro, variable, etc. al determinar cuándo/cómo invocar un controlador. Solo se utiliza el nombre.