diff --git a/changelogs/fragments/adhoc-command-async-output.yaml b/changelogs/fragments/adhoc-command-async-output.yaml new file mode 100644 index 00000000000..80da9fcd2b1 --- /dev/null +++ b/changelogs/fragments/adhoc-command-async-output.yaml @@ -0,0 +1,3 @@ +bugfixes: +- async - Fix async callback plugins to allow async output to be displayed + when running command/shell (https://github.com/ansible/ansible/issues/15988) diff --git a/lib/ansible/plugins/callback/minimal.py b/lib/ansible/plugins/callback/minimal.py index 111814f0c95..8d3aef5b725 100644 --- a/lib/ansible/plugins/callback/minimal.py +++ b/lib/ansible/plugins/callback/minimal.py @@ -62,7 +62,7 @@ class CallbackModule(CallbackBase): color = C.COLOR_OK state = 'SUCCESS' - if result._task.action in C.MODULE_NO_JSON: + if result._task.action in C.MODULE_NO_JSON and 'ansible_job_id' not in result._result: self._display.display(self._command_generic_msg(result._host.get_name(), result._result, state), color=color) else: self._display.display("%s | %s => %s" % (result._host.get_name(), state, self._dump_results(result._result, indent=4)), color=color) diff --git a/lib/ansible/plugins/callback/oneline.py b/lib/ansible/plugins/callback/oneline.py index b89f8b6ed59..20b5be7f71c 100644 --- a/lib/ansible/plugins/callback/oneline.py +++ b/lib/ansible/plugins/callback/oneline.py @@ -64,7 +64,7 @@ class CallbackModule(CallbackBase): color = C.COLOR_OK state = 'SUCCESS' - if result._task.action in C.MODULE_NO_JSON: + if result._task.action in C.MODULE_NO_JSON and 'ansible_job_id' not in result._result: self._display.display(self._command_generic_msg(result._host.get_name(), result._result, state), color=color) else: self._display.display("%s | %s => %s" % (result._host.get_name(), state, self._dump_results(result._result, indent=0).replace('\n', '')),