From 151551b04f4afde96ca047d406c0da654a424e82 Mon Sep 17 00:00:00 2001 From: Abhijeet Kasurde Date: Sun, 12 Jul 2020 03:56:58 +0530 Subject: [PATCH] selective: mark task failed correctly (#629) Added additional condition to detect failed task in selective callback plugin when ran with loop or with_items. Fixes: ansible/ansible#63767 Signed-off-by: Abhijeet Kasurde --- changelogs/fragments/63767_selective.yml | 2 ++ plugins/callback/selective.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 changelogs/fragments/63767_selective.yml diff --git a/changelogs/fragments/63767_selective.yml b/changelogs/fragments/63767_selective.yml new file mode 100644 index 0000000000..ce5d7fba7e --- /dev/null +++ b/changelogs/fragments/63767_selective.yml @@ -0,0 +1,2 @@ +bugfixes: +- selective - mark task failed correctly (https://github.com/ansible/ansible/issues/63767). diff --git a/plugins/callback/selective.py b/plugins/callback/selective.py index 3c37495e31..0220573b8b 100644 --- a/plugins/callback/selective.py +++ b/plugins/callback/selective.py @@ -201,7 +201,7 @@ class CallbackModule(CallbackBase): ) if 'results' in result._result: for r in result._result['results']: - failed = 'failed' in r + failed = 'failed' in r and r['failed'] stderr = [r.get('exception', None), r.get('module_stderr', None)] stderr = "\n".join([e for e in stderr if e]).strip()