2017-04-05 147 views
0

我有一个配置/etc/network/interfaces.d/ethX的角色。它具有通过通知调用的处理程序“重新启动界面”。Ansible的处理程序依赖关系

但是有几个程序在接口上侦听,如果我在该接口的配置中改变了任何东西,应该重新启动。

通常我可以发送notify来重新启动配置应用程序的角色的处理程序,但这里有一个问题:配置接口的角色是一个相当通用的角色,可以从不同的应用程序角色的不同应用程序中调用。我无法将notify硬编码为这些角色的处理程序,但是,我想要重新启动该接口应用程序中的所有“依赖”。

Ansless是否具有某种'订阅'功能的通知?我知道厨师可以,Ansible也可以这样做吗?其他方式我认为是某种来自接口配置角色的“软件通知”,如果没有这种处理程序,则不会失败。

任何想法?

回答

3

是的,Ansible从版本2.2开始有a listener feature

处理程序的名称空间很常见,所以它足以确保包含特定处理程序的角色被分配(除非您在其中一个角色中使用了flush_handlers,在这种情况下,您需要确保包含您希望处理的处理程序的角色运行,在实际冲洗操作之前分配)。

+0

他们出现时我没有注意到。这是描述问题的精确而准确的解决方案。谢谢! –