Ansible Tower - Mail callback plugin - Not sending emails correctly

529 views
Skip to first unread message

Chase Farrant

unread,
Apr 4, 2016, 4:07:19 PM4/4/16
to Ansible Project
Hello all,

I am probably missing something here. I'm trying to get this mail plugin working - https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/callback/mail.py

If I edit the script by adding mail() to the end, I receive a basic email immediately with no information when I run a job template (I believe this is expected).

The problem is I never receive a summary email when the job is complete. My assumption is this is supposed to wait around until the job is completed, then send an email. As expected, I never receive an email at all if I remove the mail() command I appended to the mail.py script.

Does anyone have any insight in getting this to work? 

Matt Martz

unread,
Apr 4, 2016, 4:14:57 PM4/4/16
to ansible...@googlegroups.com
What you want to do is add a `def v2_playbook_on_stats(self, stats):` method, and put your summary emailing in there.

--
You received this message because you are subscribed to the Google Groups "Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-proje...@googlegroups.com.
To post to this group, send email to ansible...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/e1958ef7-65ab-400d-a273-4c47e953d183%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Matt Martz
@sivel
sivel.net

Chase Farrant

unread,
Apr 4, 2016, 4:34:33 PM4/4/16
to Ansible Project
Wow that helped a bunch and clears up a bunch of questions I didn't even know I had. Thanks!

Chase Farrant

unread,
Apr 4, 2016, 6:17:05 PM4/4/16
to Ansible Project
Hmmm, it appears to still not be working.

I added that function with the mail() call I was using beforehand. No dice. If I move that call to the bottom of the script, it sends the email. It behaves as if none of the Callback functions are working. This also applies to the hipchat.py plugin I've been trying.

I also I tried creating both a 'v2_playbook_on_stats' and 'playbook_on_stats' which didn't change anything.

Timothy Appnel

unread,
Apr 4, 2016, 6:24:25 PM4/4/16
to Ansible Project
Are you running v2?  (Guessing so by @sivel's suggestion.) Did you whitelist your callback in your config? 

Timothy Appnel
Principal Architect
Ansible by Red Hat

GitHub: tima

Twitter: @appnelgroup


--
You received this message because you are subscribed to the Google Groups "Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-proje...@googlegroups.com.
To post to this group, send email to ansible...@googlegroups.com.

Chase Farrant

unread,
Apr 4, 2016, 6:42:21 PM4/4/16
to Ansible Project
That fixed it! I had:
bin_ansible_callbacks = true

I also needed to add:
callback_whitelist = mail

Also, not 100% sure on this - It appears hipchat.py needs to be updated to v2. https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/callback/hipchat.py
I tried whitelisting it as well, but received the following error message:

 
ERROR! Unexpected Exception: 'CallbackModule' object has no attribute 'display' the full traceback was: Traceback (most recent call last): File "/usr/bin/ansible-playbook", line 86, in <module> sys.exit(cli.run()) File "/usr/lib/pymodules/python2.7/ansible/cli/playbook.py", line 150, in run results = pbex.run() File "/usr/lib/pymodules/python2.7/ansible/executor/playbook_executor.py", line 79, in run self._tqm.load_callbacks() File "/usr/lib/pymodules/python2.7/ansible/executor/task_queue_manager.py", line 173, in load_callbacks self._callback_plugins.append(callback_plugin()) File "/usr/lib/pymodules/python2.7/ansible/plugins/callback/hipchat.py", line 70, in __init__ self.display.warning('HipChat token could not be loaded. The HipChat ' AttributeError: 'CallbackModule' object has no attribute 'display'

I remember someone else ran into this with another plugin and it needed to be updated to v2 functions.

Matt Martz

unread,
Apr 4, 2016, 7:01:37 PM4/4/16
to ansible...@googlegroups.com
As far as hipchat, you are correct.  It was not fully updated for 2.0 and is not compatible at this time.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/1665150d-294c-4842-b153-9af9a7054ebf%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Brian Coca

unread,
Apr 4, 2016, 10:40:58 PM4/4/16
to ansible...@googlegroups.com
You should really not need to whitelist it unless it is shipped with ansible, only those modules have `CALLBACK_NEEDS_WHITELIST = True`​, any custom modules should not have that setting unless you explicitly want to force people to whitelist them for them to work.


----------
Brian Coca
Reply all
Reply to author
Forward
0 new messages