From b7b684b9c51f418d134f0314c58f30355b36907e Mon Sep 17 00:00:00 2001 From: Felix Fontein Date: Tue, 4 Aug 2026 21:26:51 +0200 Subject: [PATCH] Stop relying on deprecated field when parsing image pulling errors. (#1302) --- changelogs/fragments/1302-docker-image.yml | 4 ++++ plugins/module_utils/_common_api.py | 2 +- plugins/modules/docker_image.py | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 changelogs/fragments/1302-docker-image.yml diff --git a/changelogs/fragments/1302-docker-image.yml b/changelogs/fragments/1302-docker-image.yml new file mode 100644 index 00000000..b5aff023 --- /dev/null +++ b/changelogs/fragments/1302-docker-image.yml @@ -0,0 +1,4 @@ +bugfixes: + - "docker_image, docker_image_pull, docker_container - also handle errors if only ``errorDetail`` is set, but not ``error``. + The ``error`` field has been `deprecated in Moby apparently a very long time ago `__ + (https://github.com/ansible-collections/community.docker/pull/1302)." diff --git a/plugins/module_utils/_common_api.py b/plugins/module_utils/_common_api.py index 077ad757..48f0cc99 100644 --- a/plugins/module_utils/_common_api.py +++ b/plugins/module_utils/_common_api.py @@ -564,7 +564,7 @@ class AnsibleDockerClientBase(Client): self._raise_for_status(response) for line in self._stream_helper(response, decode=True): self.log(line, pretty_print=True) - if line.get("error"): + if line.get("error") or line.get("errorDetail"): if line.get("errorDetail"): error_detail = line.get("errorDetail") self.fail( diff --git a/plugins/modules/docker_image.py b/plugins/modules/docker_image.py index 827c6f99..b1797423 100644 --- a/plugins/modules/docker_image.py +++ b/plugins/modules/docker_image.py @@ -995,7 +995,7 @@ class ImageManager(DockerBaseClass): self.log(line, pretty_print=True) self._extract_output_line(line, build_output) - if line.get("error"): + if line.get("error") or line.get("errorDetail"): if line.get("errorDetail"): error_detail = line.get("errorDetail") self.fail(