callbacks with --check

40 views
Skip to first unread message

Mike Biancaniello

unread,
Jan 19, 2016, 1:03:01 PM1/19/16
to Ansible Project
I am trying to put together a logging module to log changes, but I do not want to log anything when run in check-mode (because no changes were made, so this would be confusing to anyone reading the logs).

Is there any way to do this? I can't find any place where play_context (or anything else that might have that info) is passed to a callback_plugin.

Matt Martz

unread,
Jan 19, 2016, 2:11:43 PM1/19/16
to ansible...@googlegroups.com
There is an approach that Brian Coca and I have been working on which would be to do the following:

from __main__ import cli

and then in __init__ of your callback:

if cli.options.check:
    self.disabled = True

Eventually, the plan is to make `cli.options` available to all callbacks natively via `self._options`. See https://github.com/ansible/ansible/pull/13412/files

On Tue, Jan 19, 2016 at 12:03 PM, Mike Biancaniello <chep...@gmail.com> wrote:
I am trying to put together a logging module to log changes, but I do not want to log anything when run in check-mode (because no changes were made, so this would be confusing to anyone reading the logs).

Is there any way to do this? I can't find any place where play_context (or anything else that might have that info) is passed to a callback_plugin.

--
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/a6004be9-3249-4d82-8957-ef4655580627%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Matt Martz
@sivel
sivel.net

Mike Biancaniello

unread,
Jan 19, 2016, 4:55:23 PM1/19/16
to Ansible Project
worked great, thanks!

Is there a way to do this in 1.94?
For now, I added to my callback:

from ansible import __version__ as ANSIBLE_VERSION
if not ANSIBLE_VERSION.startswith('2'):
   
from ansible.callbacks import display
    display
("Logging not supported in Ansible <2.0",'red')
   
from ansible.callback_plugins.noop import CallbackModule



Matt Martz

unread,
Jan 19, 2016, 5:21:16 PM1/19/16
to ansible...@googlegroups.com
I think you can check `self.playbook.check` in a callback for 1.x.  I'm not sure how soon you can access `self.playbook`.  It may not be accessible until `playbook_on_start`.  I'll leave that for you to determine ;)

--
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.

For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages