diff options
author | Rich Megginson <rmeggins@redhat.com> | 2016-08-05 08:26:37 -0600 |
---|---|---|
committer | Rich Megginson <rmeggins@redhat.com> | 2016-08-08 11:55:52 -0600 |
commit | f602a47aeaaae4dc99c96884ee6090f50d0542a4 (patch) | |
tree | ff5f93544146e14bda4250bec27bee5eb3aa21a8 | |
parent | 91405ce840e19d56d7c6f653b07e640af23c34aa (diff) | |
download | openshift-f602a47aeaaae4dc99c96884ee6090f50d0542a4.tar.gz openshift-f602a47aeaaae4dc99c96884ee6090f50d0542a4.tar.bz2 openshift-f602a47aeaaae4dc99c96884ee6090f50d0542a4.tar.xz openshift-f602a47aeaaae4dc99c96884ee6090f50d0542a4.zip |
make the improved log formatter work with ansible 2.1
Ansible 2.1 changed the base class used for log formatting. Using
the old one with ansible 2.1 caused a "too much recursion" problem.
The fix is to call _dump_results in the new CallbackBase base class
when using ansible 2.1 or later.
-rw-r--r-- | callback_plugins/default.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/callback_plugins/default.py b/callback_plugins/default.py index 31e3d7d4c..bc0b207bb 100644 --- a/callback_plugins/default.py +++ b/callback_plugins/default.py @@ -27,6 +27,12 @@ DEFAULT_MODULE = imp.load_source( DEFAULT_PATH ) +try: + from ansible.plugins.callback import CallbackBase + BASECLASS = CallbackBase +except ImportError: # < ansible 2.1 + BASECLASS = DEFAULT_MODULE.CallbackModule + class CallbackModule(DEFAULT_MODULE.CallbackModule): # pylint: disable=too-few-public-methods,no-init ''' @@ -48,7 +54,7 @@ class CallbackModule(DEFAULT_MODULE.CallbackModule): # pylint: disable=too-few- if key in result: save[key] = result.pop(key) - output = DEFAULT_MODULE.CallbackModule._dump_results(self, result) + output = BASECLASS._dump_results(self, result) # pylint: disable=protected-access for key in ['stdout', 'stderr', 'msg']: if key in save and save[key]: |