From 933bc45cf2f54ac179616ccf638828fb08390cd0 Mon Sep 17 00:00:00 2001 From: Alex Tsitsimpis Date: Thu, 8 Feb 2018 23:01:32 +0200 Subject: [PATCH] callback: Get handlers with json callback plugin (#35842) Implement the `v2_playbook_on_handler_task_start()' method in the json callback plugin to correctly include handlers in the results. This fixes a bug where the last task in the results returned by json callback would be wrong if an unconditional handler was triggered, since the result of that handler would overwrite the result of the last task. Signed-off-by: Alex Tsitsimpis --- lib/ansible/plugins/callback/json.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/ansible/plugins/callback/json.py b/lib/ansible/plugins/callback/json.py index 3a55a69e1c..3f19f33589 100644 --- a/lib/ansible/plugins/callback/json.py +++ b/lib/ansible/plugins/callback/json.py @@ -55,6 +55,9 @@ class CallbackModule(CallbackBase): def v2_playbook_on_task_start(self, task, is_conditional): self.results[-1]['tasks'].append(self._new_task(task)) + def v2_playbook_on_handler_task_start(self, task): + self.results[-1]['tasks'].append(self._new_task(task)) + def v2_runner_on_ok(self, result, **kwargs): host = result._host self.results[-1]['tasks'][-1]['hosts'][host.name] = result._result