我有一个任务:
- name: uploads docker configuration file
template:
src: 'docker.systemd.j2'
dest: '/etc/systemd/system/docker.service'
notify:
- daemon reload
- restart docker
Run Code Online (Sandbox Code Playgroud)
在Ansible playbook的文档中,有一句话:
通知处理程序始终按写入的顺序运行.
因此,预计会在重启docker之前运行守护进程重装,但在日志中,我有:
TASK [swarm/docker : uploads docker configuration file] ************************ … NOTIFIED HANDLER daemon reload NOTIFIED HANDLER restart docker … RUNNING HANDLER [swarm/docker : restart docker] ******************************** … RUNNING HANDLER [swarm/docker : daemon reload] ********************************* …
日志中没有"NOTIFIED HANDLER".谁能解释一下,我做错了什么?:(
我刚刚发现我可以让处理程序调用其他处理程序。
示例任务:
- name: Configure Apache
copy: src=apache-azkaban.conf dest=/etc/apache2/sites-enabled/azkaban.conf
notify:
- a2enmod proxy
- a2enmod proxy_http
Run Code Online (Sandbox Code Playgroud)
在我的handlers/main.yml:
- name: a2enmod proxy
shell: a2enmod proxy
notify:
- restart apache2
- name: a2enmod proxy_http
shell: a2enmod proxy_http
notify:
- restart apache2
- name: restart apache2
service: name=apache2 state=restarted
Run Code Online (Sandbox Code Playgroud)