summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Coca <brian.coca+git@gmail.com>2015-12-02 20:36:21 -0800
committerBrian Coca <brian.coca+git@gmail.com>2016-02-18 02:09:07 -0800
commit6012646d8c5301b3b5fa63d58e5269af08275449 (patch)
treedd8a79c5cdc3cebfdf2db4d480e532b3142a12d9
parent0a4642fcc2824da7c8430e7b80af7321936ed3ea (diff)
downloadansible-6012646d8c5301b3b5fa63d58e5269af08275449.tar.gz
added playbook and options info to callbacks
will display on certain verbosity levels, both playbook/file info and non empty options with which it's running. avoid errors when not using CLI classes
-rw-r--r--lib/ansible/plugins/callback/__init__.py10
-rw-r--r--lib/ansible/plugins/callback/default.py13
2 files changed, 23 insertions, 0 deletions
diff --git a/lib/ansible/plugins/callback/__init__.py b/lib/ansible/plugins/callback/__init__.py
index 58904420af..ce0361700c 100644
--- a/lib/ansible/plugins/callback/__init__.py
+++ b/lib/ansible/plugins/callback/__init__.py
@@ -39,6 +39,11 @@ except ImportError:
__all__ = ["CallbackBase"]
+try:
+ from __main__ import cli
+except ImportError:
+ # using API w/o cli
+ cli = False
class CallbackBase:
@@ -54,6 +59,11 @@ class CallbackBase:
else:
self._display = global_display
+ if cli:
+ self._options = cli.options
+ else:
+ self._options = None
+
if self._display.verbosity >= 4:
name = getattr(self, 'CALLBACK_NAME', 'unnamed')
ctype = getattr(self, 'CALLBACK_TYPE', 'old')
diff --git a/lib/ansible/plugins/callback/default.py b/lib/ansible/plugins/callback/default.py
index df32112cb3..9d6c9d8c5b 100644
--- a/lib/ansible/plugins/callback/default.py
+++ b/lib/ansible/plugins/callback/default.py
@@ -230,3 +230,16 @@ class CallbackModule(CallbackBase):
self._display.display("", screen_only=True)
+ def v2_playbook_on_start(self, playbook):
+ if self._display.verbosity > 1:
+ from os.path import basename
+ self._display.banner("PLAYBOOK: %s" % basename(playbook._file_name))
+
+ if self._display.verbosity > 3:
+ if self._options is not None:
+ for option in dir(self._options):
+ if option.startswith('_') or option in ['read_file', 'ensure_value', 'read_module']:
+ continue
+ val = getattr(self._options,option)
+ if val:
+ self._display.vvvv('%s: %s' % (option,val))