我有Ansible游戏,它会更改服务的配置文件并重新启动配置已更改的服务。我通过通知处理程序来做到这一点。 由于某种原因,没有更改的程序也会被处理程序重新启动。
仅当程序1发生变化时运行游戏:
TASK [programs : Configure programs] **********************************************
changed: [127.0.0.1] => (item=program1)
ok: [127.0.0.1] => (item=program2)
ok: [127.0.0.1] => (item=program3)
RUNNING HANDLER [programs : Restart program1] ****************************************
changed: [127.0.0.1]
RUNNING HANDLER [programs : Restart program2] **************************************
changed: [127.0.0.1]
角色的处理程序文件:
- name: Restart program1
service:
name: program1
state: restarted
- name: Restart program2
service:
name: program2
state: restarted
- name: Restart program3
service:
name: program3
state: restarted
更改配置的任务:
- name: Configure programs
template:
src: templates/{{ item }}.conf.j2
dest: '{{ install_path }}/{{ item }}/{{ item }}.conf'
notify: 'Restart {{ item }}'
with_items: '{{ list_of_programs }}'
为什么重新启动Program2会得到通知而不做任何更改?
我正在使用ansible 2.0.0.2
。