Fix #3945 docker_container detach not waiting on container to execute.
This commit is contained in:
parent
46d6bead71
commit
0884a942bf
1 changed files with 9 additions and 2 deletions
|
@ -1645,8 +1645,8 @@ class ContainerManager(DockerBaseClass):
|
||||||
self.container_stop(container.Id)
|
self.container_stop(container.Id)
|
||||||
self.container_remove(container.Id)
|
self.container_remove(container.Id)
|
||||||
|
|
||||||
def fail(self, msg):
|
def fail(self, msg, **kwargs):
|
||||||
self.client.module.fail_json(msg=msg)
|
self.client.module.fail_json(msg=msg, **kwargs)
|
||||||
|
|
||||||
def _get_container(self, container):
|
def _get_container(self, container):
|
||||||
'''
|
'''
|
||||||
|
@ -1774,6 +1774,13 @@ class ContainerManager(DockerBaseClass):
|
||||||
self.client.start(container=container_id)
|
self.client.start(container=container_id)
|
||||||
except Exception as exc:
|
except Exception as exc:
|
||||||
self.fail("Error starting container %s: %s" % (container_id, str(exc)))
|
self.fail("Error starting container %s: %s" % (container_id, str(exc)))
|
||||||
|
|
||||||
|
if not self.parameters.detach:
|
||||||
|
status = self.client.wait(container_id)
|
||||||
|
if status != 0:
|
||||||
|
output = self.client.logs(container_id, stdout=True, stderr=True, stream=False, timestamps=False)
|
||||||
|
self.fail(output, status=status)
|
||||||
|
|
||||||
return self._get_container(container_id)
|
return self._get_container(container_id)
|
||||||
|
|
||||||
def container_remove(self, container_id, link=False, force=False):
|
def container_remove(self, container_id, link=False, force=False):
|
||||||
|
|
Loading…
Reference in a new issue