Ansible的处理程序依赖项

Ansible的处理程序依赖项,ansible,ansible-role,ansible-handlers,Ansible,Ansible Role,Ansible Handlers,我有一个配置/etc/network/interfaces.d/ethX的角色。它具有通过通知调用的处理程序“重启接口” 但在该接口上侦听的程序很少,如果我更改了该接口的配置,则应该重新启动这些程序 通常我可以发送notify来重新启动配置应用程序的角色的处理程序,但这里的catch:role-to-configure接口是一个相当通用的接口,可以从不同的剧本和不同应用程序的角色中调用。我不能硬编码通知那些角色的处理程序,但是,尽管如此,我还是想重新启动所有依赖于该接口的应用程序 Ansible

我有一个配置
/etc/network/interfaces.d/ethX
的角色。它具有通过通知调用的处理程序“重启接口”

但在该接口上侦听的程序很少,如果我更改了该接口的配置,则应该重新启动这些程序

通常我可以发送
notify
来重新启动配置应用程序的角色的处理程序,但这里的catch:role-to-configure接口是一个相当通用的接口,可以从不同的剧本和不同应用程序的角色中调用。我不能硬编码
通知那些角色的处理程序,但是,尽管如此,我还是想重新启动所有依赖于该接口的应用程序

Ansible是否具有某种通知的“订阅”功能?我知道厨师会这样做,所以也许安西伯也能这样做?我认为的另一种方式是来自接口配置角色的某种“软通知”,如果没有这样的处理程序,它不会失败

有什么想法吗?

是的,Ansible从2.2版开始就有了

处理程序的名称空间很常见,因此足以确保分配包含特定处理程序的角色(除非在其中一个角色中使用
flush\u Handlers
,在这种情况下,您需要确保在实际flush操作之前分配包含要运行的处理程序的角色)。

是,Ansible从2.2版开始就有了


处理程序的名称空间很常见,因此足以确保分配包含特定处理程序的角色(除非在其中一个角色中使用
flush\u Handlers
,在这种情况下,您需要确保在实际flush操作之前分配包含要运行的处理程序的角色)。

我没有注意到它们何时出现。这是对所描述问题的精确和精确的解决方案。非常感谢。我没有注意到他们什么时候出现。这是对所描述问题的精确和精确的解决方案。非常感谢。