Pourquoi ansible notify ne fonctionne-t-il pas?

12

J'apprends ansible et j'ai écrit un livre de jeu simple, mais je ne comprends pas ou ce que je fais mal ce gestionnaire ne fonctionne pas! Aidez-moi, s'il vous plaît.

Mon playbook:

- 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

Il a sauté notifier:

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
la source

Réponses:

22

Les gestionnaires ne seront renvoyés que pour les tâches qui signalent un changedétat. Dans la sortie de votre jeu, vous pouvez voir l'état est ok, ce qui signifie dans ce cas qu'aucun nouveau paquet n'a été installé ou mis à jour (depuis état = dernier)

Cela fonctionnerait donc si aucun des packages n'avait déjà été installé.

Cependant, au lieu de l'état started, j'utiliserais l'état restarted, car vous effectuez toujours une mise à niveau vers les derniers packages de votre tâche (state = latest) Si un package est mis à jour, vous devez également redémarrer le service.

udondan
la source