Repository: incubator-slider Updated Branches: refs/heads/develop 150a31cfd -> de06b3e95
SLIDER-1213 docker manager cannot detect failures of running docker containers Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/de06b3e9 Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/de06b3e9 Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/de06b3e9 Branch: refs/heads/develop Commit: de06b3e95aadf80c6244316c953c01b7ff22a4d8 Parents: 150a31c Author: Gour Saha <gourks...@apache.org> Authored: Thu Mar 9 10:35:38 2017 -0800 Committer: Gour Saha <gourks...@apache.org> Committed: Thu Mar 9 10:35:38 2017 -0800 ---------------------------------------------------------------------- slider-agent/src/main/python/agent/DockerManager.py | 7 +++++++ slider-agent/src/main/python/agent/YarnDockerManager.py | 6 ++++++ 2 files changed, 13 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/de06b3e9/slider-agent/src/main/python/agent/DockerManager.py ---------------------------------------------------------------------- diff --git a/slider-agent/src/main/python/agent/DockerManager.py b/slider-agent/src/main/python/agent/DockerManager.py index 48085fe..cfff1e4 100644 --- a/slider-agent/src/main/python/agent/DockerManager.py +++ b/slider-agent/src/main/python/agent/DockerManager.py @@ -27,6 +27,9 @@ import Constants logger = logging.getLogger() class DockerManager(): + LIVE_STATUS = "STARTED" + DEAD_STATUS = "INSTALLED" + stored_status_command = '' stored_command = '' container_id = '' @@ -189,6 +192,10 @@ class DockerManager(): logger.info("stored status command to run: " + str(self.stored_status_command)) returncode, out, err = self.execute_command_on_linux(self.stored_status_command) logger.info("status of the app in docker container: " + str(returncode) + ";" + str(out) + ";" + str(err)) + if returncode == 0: + returncode = DockerManager.LIVE_STATUS + else: + returncode = DockerManager.DEAD_STATUS return {Constants.EXIT_CODE:returncode, 'stdout':out, 'stderr':err} def getConfig(self, command): http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/de06b3e9/slider-agent/src/main/python/agent/YarnDockerManager.py ---------------------------------------------------------------------- diff --git a/slider-agent/src/main/python/agent/YarnDockerManager.py b/slider-agent/src/main/python/agent/YarnDockerManager.py index 4a4d6de..d5f7d63 100644 --- a/slider-agent/src/main/python/agent/YarnDockerManager.py +++ b/slider-agent/src/main/python/agent/YarnDockerManager.py @@ -30,6 +30,8 @@ from resource_management import * logger = logging.getLogger() class YarnDockerManager(Script): + LIVE_STATUS = "STARTED" + DEAD_STATUS = "INSTALLED" stored_status_command = '' stored_command = '' container_id = '' @@ -194,6 +196,10 @@ class YarnDockerManager(Script): logger.info("stored status command to run: " + self.stored_status_command) returncode, out, err = self.execute_command_on_linux(self.stored_status_command, True) logger.info("status of the app in docker container: " + str(returncode) + ";" + str(out) + ";" + str(err)) + if returncode == 0: + returncode = YarnDockerManager.LIVE_STATUS + else: + returncode = YarnDockerManager.DEAD_STATUS return {Constants.EXIT_CODE:returncode, 'stdout':out, 'stderr':err}