diff --git a/changelogs/fragments/12113-unixy-delegated-host.yml b/changelogs/fragments/12113-unixy-delegated-host.yml new file mode 100644 index 0000000000..dae29b6b2e --- /dev/null +++ b/changelogs/fragments/12113-unixy-delegated-host.yml @@ -0,0 +1,2 @@ +bugfixes: + - "unixy callback - handle missing ``ansible_host`` in delegated vars when a task is delegated to a host without it set, such as ``localhost`` (https://github.com/ansible-collections/community.general/issues/12112, https://github.com/ansible-collections/community.general/pull/12113)." diff --git a/plugins/callback/unixy.py b/plugins/callback/unixy.py index f264eb3e0a..2c3f9a9392 100644 --- a/plugins/callback/unixy.py +++ b/plugins/callback/unixy.py @@ -74,7 +74,7 @@ class CallbackModule(CallbackModule_default): return task_result if self.delegated_vars: - task_delegate_host = self.delegated_vars["ansible_host"] + task_delegate_host = self.delegated_vars.get("ansible_host") or result._task.delegate_to or "" task_result = f"{task_host} -> {task_delegate_host} {msg}" if result._result.get("msg") and result._result.get("msg") != "All items completed":