2017-04-05 99 views
0

我有一個配置/etc/network/interfaces.d/ethX的角色。它具有通過通知調用的處理程序「重新啓動界面」。Ansible的處理程序依賴關係

但是有幾個程序在接口上偵聽,如果我在該接口的配置中改變了任何東西,應該重新啓動。

通常我可以發送notify來重新啓動配置應用程序的角色的處理程序,但這裏有一個問題:配置接口的角色是一個相當通用的角色,可以從不同的應用程序角色的不同應用程序中調用。我無法將notify硬編碼爲這些角色的處理程序,但是,我想要重新啓動該接口應用程序中的所有「依賴」。

Ansless是否具有某種'訂閱'功能的通知?我知道廚師可以,Ansible也可以這樣做嗎?其他方式我認爲是某種來自接口配置角色的「軟件通知」,如果沒有這種處理程序,則不會失敗。

任何想法?

回答

3

是的,Ansible從版本2.2開始有a listener feature

處理程序的名稱空間很常見,所以它足以確保包含特定處理程序的角色被分配(除非您在其中一個角色中使用了flush_handlers,在這種情況下,您需要確保包含您希望處理的處理程序的角色運行,在實際沖洗操作之前分配)。

+0

他們出現時我沒有注意到。這是描述問題的精確而準確的解決方案。謝謝! –