Назад | Перейти на главную страницу

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

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

Моя книга:

- 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

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

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

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