如何配置 ansible 回调

How ansible callbacks are configured

我已经搜索了 ansible 文档以及几本书,google 和源代码,但我无法找到这个简单问题的答案:

如何更改影响ansible回调行为的配置项?

-例如:邮件回调出现,看代码,可以配置为通过可配置的SMTP主机发送邮件到可配置的邮箱地址。 How/where/when 应该指定这些吗?

TIA

编辑:

首先您需要设置回调插件目录,然后将其列入白名单(我假设您使用的是 Ansible 2.0+)在 ansible.cfg:

[defaults]
callback_plugins = ./plugins/callback_plugins
callback_whitelist = name_of_your_plugin_here

希望对您有所帮助。

好吧,如果邮件回调(以及回调的基础 class)可以作为参考,那么似乎没有标准的回调配置机制。邮件从环境变量中获取 SMTPHOST(如果存在),并且:似乎被固定到 root。

不幸的是,您现在确实需要查看代码才能获得完整的文档。看起来目前配置它的唯一方法是设置 SMTPHOST environment variable. The slack plugin allows configuration via either environment variables or by adding settings to the [callback_slack] section of ansible.cfg

您可以在 mail.py 文件中将电子邮件地址更改为您自己的电子邮件地址

    if sender is None:
        sender='<root>'
    if to is None:
        to='<root>'

您可以将根更改为您自己的电子邮件地址,每个主机输出将作为电子邮件发送。

另外请确保您已将 ansible.cfg 文件中的插件列入白名单。