2017-08-11 44 views
0

我有Ansible play可以更改服務的配置文件並重新啓動配置更改的服務。我通過通知處理程序來做到這一點。 由於某些原因程序沒有改變也得到處理程序重新啓動。使用with_items時未通知的處理程序會得到通知

運行遊戲時,只有方案一有變化:

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 

任務更改配置:Program2中的

- name: Configure programs 
    template: 
    src: templates/{{ item }}.conf.j2 
    dest: '{{ install_path }}/{{ item }}/{{ item }}.conf' 
    notify: 'Restart {{ item }}' 
    with_items: '{{ list_of_programs }}' 

爲什麼重啓得到通知沒有任何改變?我正在使用ansible 2.0.0.2

回答

0

這是它如何適用於當前的安全版本。

全部通知的處理程序將執行,如果任何的項目已更改狀態。

看到這個issue和upvote它,如果你認爲這是不受歡迎的行爲。

+0

在我的情況下,所有的處理程序都沒有得到執行,只有其中一些。 (在我的示例中,Program3沒有得到執行。) –

+0

您可以檢查/調試鏈接問題中提供的代碼片段,以解決問題。我只是說,這是可以預期的,可以運行綁定到循環任務的多個處理程序。 –

相關問題