【问题标题】:Handler dependencies for AnsibleAnsible 的处理程序依赖项
【发布时间】:2017-04-05 07:56:12
【问题描述】:

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

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

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

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

有什么想法吗?

【问题讨论】:

    标签: ansible ansible-role ansible-handlers


    【解决方案1】:

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

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

    【讨论】:

    • 我没有注意到它们何时出现。这是对所描述问题的精确和准确的解决方案。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 2018-06-19
    • 2010-11-28
    • 1970-01-01
    相关资源
    最近更新 更多