diff --git a/changelogs/fragments/527-container-wait.yml b/changelogs/fragments/527-container-wait.yml new file mode 100644 index 00000000..0edfbf4e --- /dev/null +++ b/changelogs/fragments/527-container-wait.yml @@ -0,0 +1,2 @@ +bugfixes: + - "docker_container - when ``detach=false``, wait indefinitely and not at most one minute. This was the behavior with Docker SDK for Python, and was accidentally changed in 3.0.0 (https://github.com/ansible-collections/community.docker/issues/526, https://github.com/ansible-collections/community.docker/pull/527)." diff --git a/plugins/module_utils/module_container/base.py b/plugins/module_utils/module_container/base.py index 4c02d6c8..21c29226 100644 --- a/plugins/module_utils/module_container/base.py +++ b/plugins/module_utils/module_container/base.py @@ -281,7 +281,7 @@ class EngineDriver(object): pass @abc.abstractmethod - def wait_for_container(self, client, container_id): + def wait_for_container(self, client, container_id, timeout=None): pass @abc.abstractmethod diff --git a/plugins/module_utils/module_container/docker_api.py b/plugins/module_utils/module_container/docker_api.py index 490aecd1..d2cc553e 100644 --- a/plugins/module_utils/module_container/docker_api.py +++ b/plugins/module_utils/module_container/docker_api.py @@ -269,8 +269,8 @@ class DockerAPIEngineDriver(EngineDriver): def start_container(self, client, container_id): client.post_json('/containers/{0}/start', container_id) - def wait_for_container(self, client, container_id): - return client.post_json_to_json('/containers/{0}/wait', container_id)['StatusCode'] + def wait_for_container(self, client, container_id, timeout=None): + return client.post_json_to_json('/containers/{0}/wait', container_id, timeout=timeout)['StatusCode'] def get_container_output(self, client, container_id): config = client.get_json('/containers/{0}/json', container_id)