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()