Преглед изворни кода

AMBARI-14643. Ambari agent dir is not recreated if /var/run/<ambari_dir> is deleted on non-root agent (aonishuk)

Andrew Onishuk пре 9 година
родитељ
комит
b7af5219b2

+ 4 - 2
ambari-agent/conf/unix/ambari-agent

@@ -41,7 +41,8 @@ export PYTHONPATH=/usr/lib/python2.6/site-packages:$PYTHONPATH
 
 AMBARI_AGENT=ambari-agent
 PYTHON_WRAP=/var/lib/ambari-agent/ambari-python-wrap
-PIDFILE=/var/run/ambari-agent/$AMBARI_AGENT.pid
+PIDDIR=/var/run/ambari-agent
+PIDFILE=$PIDDIR/$AMBARI_AGENT.pid
 OUTFILE=/var/log/ambari-agent/ambari-agent.out
 LOGFILE=/var/log/ambari-agent/ambari-agent.log
 AGENT_SCRIPT=/usr/lib/python2.6/site-packages/ambari_agent/main.py
@@ -72,7 +73,8 @@ change_files_permissions() {
     if [ ! -z "$keysdir" ]; then
         ambari-sudo.sh chown -R $current_user "$keysdir"
     fi
-	ambari-sudo.sh chown -R $current_user "/var/run/ambari-agent/"
+	ambari-sudo.sh mkdir -p "$PIDDIR"
+	ambari-sudo.sh chown -R $current_user "$PIDDIR"
 	ambari-sudo.sh chown -R $current_user "/var/log/ambari-agent/"
 	ambari-sudo.sh chown -R $current_user "/var/lib/ambari-agent/data/"
 	ambari-sudo.sh chown -R $current_user "/var/lib/ambari-agent/cache/"

+ 0 - 6
ambari-agent/src/main/python/ambari_agent/main.py

@@ -158,12 +158,6 @@ def perform_prestart_checks(expected_hostname):
 
 
 def daemonize():
-  # Daemonize current instance of Ambari Agent
-  # Currently daemonization is done via /usr/sbin/ambari-agent script (nohup)
-  # and agent only dumps self pid to file
-  if not os.path.exists(ProcessHelper.piddir):
-    os.makedirs(ProcessHelper.piddir, 0755)
-
   pid = str(os.getpid())
   file(ProcessHelper.pidfile, 'w').write(pid)