0

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

但是,在该接口上侦听的程序很少,如果我更改了该接口的配置中的任何内容,则应该重新启动。

通常我可以发送notify到配置应用程序的角色的重新启动处理程序,但这里有一个问题:配置接口的角色是一个相当通用的角色,可以从不同的剧本和不同的应用程序角色一起调用。我无法notify对这些角色的处理程序进行硬编码,但是,尽管如此,我想重新启动所有“依赖”该接口应用程序。

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

有任何想法吗?

4

1 回答 1

3

是的,Ansible从 2.2 版开始就有监听器功能。

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

于 2017-04-05T08:16:07.133 回答