From b28459e6f5f5053d7ed0282aa061d994a95feb40 Mon Sep 17 00:00:00 2001 From: Ash Wilson Date: Mon, 30 Mar 2015 15:52:17 -0400 Subject: [PATCH] Wait for process exit on detached=no. --- cloud/docker/docker.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/cloud/docker/docker.py b/cloud/docker/docker.py index 7eea7888059..2f5cb8690d9 100644 --- a/cloud/docker/docker.py +++ b/cloud/docker/docker.py @@ -174,7 +174,8 @@ options: default: null detach: description: - - Enable detached mode to leave the container running in background. + - Enable detached mode to leave the container running in background. If + disabled, fail unless the process exits cleanly. default: true state: description: @@ -1258,6 +1259,13 @@ class DockerManager(object): self.client.start(i['Id'], **params) self.increment_counter('started') + if not self.module.params.get('detach'): + status = self.client.wait(i['Id']) + if status != 0: + output = self.client.logs(i['Id'], stdout=True, stderr=True, + stream=False, timestamps=False) + self.module.fail_json(status=status, msg=output) + def stop_containers(self, containers): for i in containers: self.client.stop(i['Id'])