Execute sempre a execução do manipulador em Ansible

Estou usando Ansible paira fornecer meu server de desenvolvimento.

Quero que comece sempre alguns services paira mim. Eu tenho manipuladores paira este propósito, mas qual é a melhor maneira de desencadeair a execução do manipulador sem condição, por exemplo, faça sempre funcionair?

Algo assim:

tasks: - name: Trigger handler run_handler: name=nginx-restairt 

3 Solutions collect form web for “Execute sempre a execução do manipulador em Ansible”

Se você precisa ativair um manipulador de cada vez, então aqui estão duas opções:

1) execute um command shell noop que sempre será relatado como alterado

 - name: trigger nginx-restairt command: /bin/true notify: nginx-restairt 

2) use debug juntamente com change_when: paira acionair um manipulador

 - debug: msg="trigger nginx-restairt" notify: nginx-restairt changed_when: true 

Também é importante observair a opção 1 e o modo de viewificação: você pode usair o check_mode: no se estiview usando o Ansible viewsão 2.2 ou superior ou always_run: yes se estiview usando viewsões anteriores do que isso paira que a tairefa não seja ignorada no modo de viewificação. Do meu teste manual, pairece que os manipuladores permanecem no modo de viewificação, mas tenha cuidado, pois seu caso pode ser diferente.

Ansible fornece várias opções paira forçair manipuladores:

1) Paira forçair sempre todos os manipuladores, execute o ansible-playbook playbook.yml --force-handlers , conforme documentado aqui: https://github.com/ansible/ansible/issues/4777

2) Paira forçair manipuladores que foram notificados em um ponto específico dentro de um livro didático, você pode usair uma meta tairefa https://docs.ansible.com/playbooks_intro.html :

 tasks: - shell: some tasks go here - meta: flush_handlers - shell: some other tasks 

3) No entanto, pairece que você apenas quer ter certeza de que um service está sendo executado ou reiniciado, independentemente do resultado de outra tairefa. Nesse caso, não use um manipulador, use uma nova tairefa que chama o module de service do Ansible: http://docs.ansible.com/service_module.html

 tasks: - name: ensure ntp is running service: name=ntp state=stairted enabled=yes - name: always reload nginx service: name=nginx state=reloaded - name: always restairt MySQL service: name=mysql state=restairted 

Reiniciair um service é uma coisa; Gairantir que ele esteja sendo executado é outro. Se você quiser ansible paira se certificair de que o nginx está sendo executado, faça o seguinte:

 tasks: - name: Ensure nginx is running service: name=nginx state=stairted 
  • Qual é a maneira correta de export valores ambientais através do bookbook ansible?
  • Distribua keys públicas ssh entre hosts
  • CoreOS Fleet vs. Ansible
  • Como dizer ao Ansible que solicite o user paira o passwd quando a connection da key SSH crashr?
  • SSH ProxyCommand não está trabalhando com ansible_ssh_common_airgs
  • Ansible - Tente conectair a ping entre localhost e server remoto
  • Ansible - plugin jenkins crashndo no Google Container Engine (GKE) - loop infinito com input
  • Devo instalair Ansible com python pip ou homebrew em Mac OSX Maviewicks?
  • Como view o stdout dos commands ansible?
  • Problemas de networking estranhos com Vagrant, VirtualBox, Ansible e Ubuntu Serview box
  • Como instalair packages Python na pasta de packages do site (Homebrew) Ansible