You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ao...@apache.org on 2018/03/28 10:10:43 UTC
[ambari] 03/03: AMBARI-23376. Create topic handler for small agent
actions. Like restart_agent, clean_caches etc. (aonishuk)
This is an automated email from the ASF dual-hosted git repository.
aonishuk pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git
commit e5c11fa0d65ef570bf8d619bab7209efb34b2430
Author: Andrew Onishuk <ao...@hortonworks.com>
AuthorDate: Wed Mar 28 10:47:00 2018 +0300
AMBARI-23376. Create topic handler for small agent actions. Like restart_agent, clean_caches etc. (aonishuk)
---
ambari-agent/src/main/python/ambari_agent/AmbariAgent.py | 3 ++-
ambari-agent/src/main/python/ambari_agent/ExitHelper.py | 7 ++++---
ambari-agent/src/main/python/ambari_agent/Utils.py | 3 +--
ambari-agent/src/main/python/ambari_agent/main.py | 4 +---
4 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/ambari-agent/src/main/python/ambari_agent/AmbariAgent.py b/ambari-agent/src/main/python/ambari_agent/AmbariAgent.py
index ef38491..6f5a14e 100644
--- a/ambari-agent/src/main/python/ambari_agent/AmbariAgent.py
+++ b/ambari-agent/src/main/python/ambari_agent/AmbariAgent.py
@@ -22,7 +22,8 @@ import os
import sys
from ambari_commons import subprocess32
import signal
-from Controller import AGENT_AUTO_RESTART_EXIT_CODE
+
+AGENT_AUTO_RESTART_EXIT_CODE = 77
if os.environ.has_key("PYTHON_BIN"):
AGENT_SCRIPT = os.path.join(os.environ["PYTHON_BIN"],"site-packages/ambari_agent/main.py")
diff --git a/ambari-agent/src/main/python/ambari_agent/ExitHelper.py b/ambari-agent/src/main/python/ambari_agent/ExitHelper.py
index 66e29e6..e61ccc4 100644
--- a/ambari-agent/src/main/python/ambari_agent/ExitHelper.py
+++ b/ambari-agent/src/main/python/ambari_agent/ExitHelper.py
@@ -48,6 +48,7 @@ class ExitHelper(object):
def __init__(self):
self.exit_functions = []
self.exit_functions_executed = False
+ self.exitcode = 0
atexit.register(self.execute_cleanup)
def execute_cleanup(self):
@@ -65,10 +66,10 @@ class ExitHelper(object):
def register(self, func, *args, **kwargs):
self.exit_functions.append((func, args, kwargs))
- def exit(self, code):
+ def exit(self):
self.execute_cleanup()
- logger.info("Cleanup finished, exiting with code:" + str(code))
- os._exit(code)
+ logger.info("Cleanup finished, exiting with code:" + str(self.exitcode))
+ os._exit(self.exitcode)
if __name__ == '__main__':
diff --git a/ambari-agent/src/main/python/ambari_agent/Utils.py b/ambari-agent/src/main/python/ambari_agent/Utils.py
index d4162c4..774e957 100644
--- a/ambari-agent/src/main/python/ambari_agent/Utils.py
+++ b/ambari-agent/src/main/python/ambari_agent/Utils.py
@@ -155,8 +155,7 @@ class Utils(object):
@staticmethod
def restartAgent(stop_event, graceful_stop_timeout=30):
- from ambari_agent import main
- main.EXIT_CODE_ON_STOP = AGENT_AUTO_RESTART_EXIT_CODE
+ ExitHelper().exitcode = AGENT_AUTO_RESTART_EXIT_CODE
stop_event.set()
t = threading.Timer( graceful_stop_timeout, ExitHelper().exit, [AGENT_AUTO_RESTART_EXIT_CODE])
diff --git a/ambari-agent/src/main/python/ambari_agent/main.py b/ambari-agent/src/main/python/ambari_agent/main.py
index bfe335f..6280a4c 100644
--- a/ambari-agent/src/main/python/ambari_agent/main.py
+++ b/ambari-agent/src/main/python/ambari_agent/main.py
@@ -142,8 +142,6 @@ SYSLOG_FORMATTER = logging.Formatter(SYSLOG_FORMAT_STRING)
_file_logging_handlers ={}
-EXIT_CODE_ON_STOP = 0
-
def setup_logging(logger, filename, logging_level):
logger.propagate = False
formatter = logging.Formatter(formatstr)
@@ -518,7 +516,7 @@ def main(initializer_module, heartbeat_stop_callback=None):
# Clean up if not Windows OS
#
if connected or stopped:
- ExitHelper().exit(EXIT_CODE_ON_STOP)
+ ExitHelper().exit()
logger.info("finished")
break
pass # for server_hostname in server_hostnames
--
To stop receiving notification emails like this one, please contact
aonishuk@apache.org.