Почему ansible notify не работает?

12

Я изучаю ANSI и написал простую книгу, но я не понимаю, или что я делаю не так, что обработчик не работает! Пожалуйста, помогите мне.

Моя пьеса

- 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

Он пропустил уведомить:

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
источник

Ответы:

22

Обработчики будут запускаться только для задач, которые сообщают о changedсостоянии. В выходных данных вашей игры вы можете увидеть статус ok, который в данном случае означает, что новые пакеты не были установлены или обновлены (так как состояние = последний)

Так что это сработало бы, если бы ни один из пакетов не был уже установлен.

Хотя вместо состояния startedя бы использовал состояние restarted, поскольку в вашей задаче вы всегда обновляетесь до последних пакетов (состояние = последний). Если пакет обновляется, вам также следует перезапустить службу.

udondan
источник