¿Por qué ansible notificar no funciona?

12

Estoy aprendiendo ansible y escribí un libro de jugadas simple, pero no entiendo o qué estoy haciendo mal, ¡ese controlador no funciona! Por favor, ayúdame.

Mi libro de jugadas:

- hosts: HA
  gather_facts: False
  tasks:
    - name: Installs pacemaker
      yum: pkg=pacemaker,pcs,resource-agents state=latest
      notify:
         - pcsd start

  handlers:
    - name: pcsd start
      systemd: name=pcsd state=started

Se saltó la notificación:

PLAY [HA] **********************************************************************

TASK [Installs pacemaker] ******************************************************
ok: [test-ha2]
ok: [test-ha1]

PLAY RECAP *********************************************************************
test-ha1                   : ok=1    changed=0    unreachable=0    failed=0
test-ha2                   : ok=1    changed=0    unreachable=0    failed=0
amkgi
fuente

Respuestas:

22

Los manejadores solo serán despedidos para tareas que reporten un changedestado. En el resultado de su juego, puede ver el estado ok, lo que en este caso significa que no se han instalado o actualizado nuevos paquetes (ya que estado = último)

Por lo tanto, funcionaría si alguno de los paquetes no se hubiera instalado ya.

Sin embargo, en lugar de estado started, usaría estado restarted, ya que siempre está actualizando a los últimos paquetes en su tarea (estado = más reciente) Si se actualiza un paquete, también debe reiniciar el servicio.

udondan
fuente