Por que ansible notificar não está funcionando?

4

Estou aprendendo ansible e escrevi uma cartilha simples, mas eu não entendo ou o que estou fazendo errado que o manipulador não está funcionando! Por favor, me ajude.

Meu manual:

- 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

Ele pulou notificar:

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
    
por amkgi 26.08.2016 / 12:09

1 resposta

14

Os manipuladores só serão acionados para tarefas que relatem um estado changed . Na saída do seu jogo você pode ver que o status é ok , que neste caso significa que nenhum novo pacote foi instalado ou atualizado (desde o estado = mais recente)

Por isso, funcionaria se algum dos pacotes já não estivesse instalado.

Embora, em vez do estado started , eu use o estado restarted , pois você está sempre atualizando para os pacotes mais recentes em sua tarefa (state = latest) Se um pacote for atualizado, você também deverá reiniciar o serviço.

    
por 26.08.2016 / 12:29