SLIDER-1213 docker manager cannot detect failures of running docker containers
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 @@
logger = logging.getLogger()
class DockerManager():
+ LIVE_STATUS = "STARTED"
+ DEAD_STATUS = "INSTALLED"
+
stored_status_command = ''
stored_command = ''
container_id = ''
@@ -189,6 +192,10 @@
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):
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 @@
logger = logging.getLogger()
class YarnDockerManager(Script):
+ LIVE_STATUS = "STARTED"
+ DEAD_STATUS = "INSTALLED"
stored_status_command = ''
stored_command = ''
container_id = ''
@@ -194,6 +196,10 @@
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}