From 36924466e994537ccf7325042cf8b8d175c09326 Mon Sep 17 00:00:00 2001 From: Tobias Henkel Date: Thu, 8 Feb 2018 14:40:51 +0100 Subject: [PATCH] Handle debug tasks more robust in zuul_stream We currently rely on detecting debug tasks by checking if there is only a single variable other than variables starting with '_ansible'. This doesn't work anymore with ansible 2.4. Detecting them by the action should work better and more reliably. Further also strip the 'changed' variable in this case as this has no meaning for a debug task. Change-Id: I562329ce68c279965afc32ba5fda6615423de43a --- zuul/ansible/callback/zuul_stream.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/zuul/ansible/callback/zuul_stream.py b/zuul/ansible/callback/zuul_stream.py index df28a57a9f..15b491cf1d 100644 --- a/zuul/ansible/callback/zuul_stream.py +++ b/zuul/ansible/callback/zuul_stream.py @@ -367,12 +367,13 @@ class CallbackModule(default.CallbackModule): self._log_message( result, status='MODULE FAILURE', msg=result_dict['module_stderr']) - elif (len([key for key in result_dict.keys() - if not key.startswith('_ansible')]) == 1): + elif result._task.action == 'debug': # this is a debug statement, handle it special for key in [k for k in result_dict.keys() if k.startswith('_ansible')]: del result_dict[key] + if 'changed' in result_dict.keys(): + del result_dict['changed'] keyname = next(iter(result_dict.keys())) # If it has msg, that means it was like: #