From fa289a022c8b5702decf5ca89e9df3aef66b1b2c Mon Sep 17 00:00:00 2001 From: Brian Coca Date: Mon, 16 Oct 2017 21:44:17 -0400 Subject: [PATCH] correctly deal with changed (#31812) (cherry picked from commit 21cdddce744c56b0a1f844297b3e04b4467b8d64) --- CHANGELOG.md | 2 ++ lib/ansible/executor/task_result.py | 2 +- lib/ansible/plugins/callback/__init__.py | 5 ++++- lib/ansible/plugins/callback/default.py | 2 ++ 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ff247201cc..fabd95b8c0c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -118,6 +118,8 @@ Ansible Changes By Release (https://github.com/ansible/ansible/pull/31092) * Fix win_find failing on files it can't access, change behaviour to be more like the find module (https://github.com/ansible/ansible/issues/31898) +* Amended tracking of 'changed' + https://github.com/ansible/ansible/pull/31812 diff --git a/lib/ansible/executor/task_result.py b/lib/ansible/executor/task_result.py index 8cea14380d2..232a45d94f4 100644 --- a/lib/ansible/executor/task_result.py +++ b/lib/ansible/executor/task_result.py @@ -24,7 +24,7 @@ from copy import deepcopy from ansible.parsing.dataloader import DataLoader from ansible.vars.manager import strip_internal_keys -_IGNORE = ('changed', 'failed', 'skipped') +_IGNORE = ('failed', 'skipped') class TaskResult: diff --git a/lib/ansible/plugins/callback/__init__.py b/lib/ansible/plugins/callback/__init__.py index 76bafd59326..0376253a238 100644 --- a/lib/ansible/plugins/callback/__init__.py +++ b/lib/ansible/plugins/callback/__init__.py @@ -218,7 +218,10 @@ class CallbackBase(AnsiblePlugin): def _clean_results(self, result, task_name): ''' removes data from results for display ''' - pass + if task_name in ['debug']: + for remove_key in ('invocation'): + if remove_key in result: + del result[remove_key] def set_play_context(self, play_context): pass diff --git a/lib/ansible/plugins/callback/default.py b/lib/ansible/plugins/callback/default.py index 03c5f495b5b..2cd5cb6e857 100644 --- a/lib/ansible/plugins/callback/default.py +++ b/lib/ansible/plugins/callback/default.py @@ -95,6 +95,8 @@ class CallbackModule(CallbackBase): else: if (self._display.verbosity > 0 or '_ansible_verbose_always' in result._result) and '_ansible_verbose_override' not in result._result: + if result._task.action == 'debug' and 'changed' in result._result: + del result._result['changed'] msg += " => %s" % (self._dump_results(result._result),) self._display.display(msg, color=color)