2016-04-29 2 views
0

Я обыскивал анзибль документации, а также несколько книг, Google и исходный код, но для жизни меня я не могу найти ответ на этот простой вопрос:Как анзибль обратных вызовов настроены

Как один изменить элементы конфигурации, которые влияют на beahavior of ansible callbacks?

-E.g: появляется обратный вызов почты, просматривающий код, чтобы иметь возможность настроить отправку почты на настраиваемый адрес электронной почты через настраиваемый SMTP-узел. Как/где/когда они должны быть указаны?

ТИА

Edit:

ответ

0

Ну, хорошо, если обратный вызов почты (и базовый класс для обратных вызовов) - это что-то, что может произойти, похоже, нет стандартного механизма конфигурации для обратных вызовов. Mail получает SMTPHOST из переменной среды, если она есть, и к: кажется, что она была прибита к корню.

+0

Вы когда-нибудь это понимаете? Это отстой, мы сталкиваемся с той же проблемой. – luckytaxi

+0

@luckytaxi: нет, я отказался от обратных вызовов. Они выглядят довольно наполовину испеченными, не достаточно гибкими для общего использования. По крайней мере, так я их понимаю. –

0

Прежде всего, необходимо установить каталог обратных вызовов плагинов, а затем и белый список его (я предполагаю, что вы используете анзибль 2.0+) внутри ansible.cfg:

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

Надеюсь, это поможет вам.

+1

Да, я добрался так далеко, Что пропало, tho 'is; assune Я не хочу, чтобы почтовые ящики были root (но [email protected]), как мне сказать обратный вызов? Код говорит, что я не могу. –

0

К сожалению, вам действительно нужно посмотреть на код, чтобы получить полную документацию. Похоже, в настоящее время единственный способ настроить его - установить SMTPHOST environment variable. Слабину плагин позволяет настраивать либо через переменные окружения или путем добавления параметров в [callback_slack] section of ansible.cfg

1

Вы можете изменить адрес электронной почты на свой собственный в mail.py файле

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

Вы можете изменить корень свой собственный адрес электронной почты, и каждый вывод хоста будет отправлен в виде электронной почты.

Также убедитесь, что у вас есть белый список плагинов в файле ansible.cfg.