Repository: ambari Updated Branches: refs/heads/trunk 4fde93a2a -> a133f7c98
AMBARI-15288. Ability to customize Ambari Agent LOG + PID dirs (aonishuk) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/a133f7c9 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a133f7c9 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a133f7c9 Branch: refs/heads/trunk Commit: a133f7c9822c392362374f68bb774933db1d4375 Parents: 4fde93a Author: Andrew Onishuk <aonis...@hortonworks.com> Authored: Thu Mar 3 19:13:23 2016 +0200 Committer: Andrew Onishuk <aonis...@hortonworks.com> Committed: Thu Mar 3 19:13:23 2016 +0200 ---------------------------------------------------------------------- ambari-agent/conf/unix/ambari-agent | 29 ++++++++++++-------- ambari-agent/conf/unix/ambari-agent.ini | 2 ++ .../main/python/ambari_agent/AmbariConfig.py | 8 +++--- .../test/python/ambari_agent/TestAmbariAgent.py | 2 +- 4 files changed, 24 insertions(+), 17 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/a133f7c9/ambari-agent/conf/unix/ambari-agent ---------------------------------------------------------------------- diff --git a/ambari-agent/conf/unix/ambari-agent b/ambari-agent/conf/unix/ambari-agent index f5ce304..0d1bc23 100755 --- a/ambari-agent/conf/unix/ambari-agent +++ b/ambari-agent/conf/unix/ambari-agent @@ -33,18 +33,27 @@ case "$1" in ;; esac +get_agent_property() { + property_name="$1" + value=$(awk -F "=" "/$property_name/ {print \$2}" /etc/ambari-agent/conf/ambari-agent.ini) + echo $value +} + export PATH=/usr/sbin:/sbin:/usr/lib/ambari-server/*:$PATH export AMBARI_CONF_DIR=/etc/ambari-server/conf:$PATH # Because Ambari rpm unpacks modules here on all systems export PYTHONPATH=/usr/lib/python2.6/site-packages:$PYTHONPATH +export AMBARI_PID_DIR=`get_agent_property piddir` +export AMBARI_AGENT_LOG_DIR=`get_agent_property logdir` +KEYSDIR=`get_agent_property keysdir` + AMBARI_AGENT=ambari-agent PYTHON_WRAP=/usr/bin/ambari-python-wrap -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 +PIDFILE=$AMBARI_PID_DIR/$AMBARI_AGENT.pid +OUTFILE=$AMBARI_AGENT_LOG_DIR/ambari-agent.out +LOGFILE=$AMBARI_AGENT_LOG_DIR/ambari-agent.log AGENT_SCRIPT=/usr/lib/python2.6/site-packages/ambari_agent/main.py AGENT_TMP_DIR=/var/lib/ambari-agent/tmp AMBARI_AGENT_PY_SCRIPT=/usr/lib/python2.6/site-packages/ambari_agent/AmbariAgent.py @@ -64,18 +73,14 @@ fi # set reliable cwd for this and child processes. cd $AGENT_TMP_DIR -keysdir=$(awk -F "=" '/keysdir/ {print $2}' /etc/ambari-agent/conf/ambari-agent.ini) -# trim spaces -keysdir=${keysdir// } -keysdir=${keysdir%% } - change_files_permissions() { if [ ! -z "$keysdir" ]; then ambari-sudo.sh chown -R $current_user "$keysdir" fi - 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 mkdir -p "$AMBARI_PID_DIR" + ambari-sudo.sh chown -R $current_user "$AMBARI_PID_DIR" + ambari-sudo.sh mkdir -p "$AMBARI_AGENT_LOG_DIR" + ambari-sudo.sh chown -R $current_user "$AMBARI_AGENT_LOG_DIR" ambari-sudo.sh chown -R $current_user "/var/lib/ambari-agent/data/" ambari-sudo.sh chown -R $current_user "/var/lib/ambari-agent/cache/" ambari-sudo.sh chown $current_user "/usr/lib/ambari-agent/" http://git-wip-us.apache.org/repos/asf/ambari/blob/a133f7c9/ambari-agent/conf/unix/ambari-agent.ini ---------------------------------------------------------------------- diff --git a/ambari-agent/conf/unix/ambari-agent.ini b/ambari-agent/conf/unix/ambari-agent.ini index b46bfe5..05e898a 100644 --- a/ambari-agent/conf/unix/ambari-agent.ini +++ b/ambari-agent/conf/unix/ambari-agent.ini @@ -18,6 +18,8 @@ url_port=8440 secured_url_port=8441 [agent] +logdir=/var/log/ambari-agent +piddir=/var/run/ambari-agent prefix=/var/lib/ambari-agent/data ;loglevel=(DEBUG/INFO) loglevel=INFO http://git-wip-us.apache.org/repos/asf/ambari/blob/a133f7c9/ambari-agent/src/main/python/ambari_agent/AmbariConfig.py ---------------------------------------------------------------------- diff --git a/ambari-agent/src/main/python/ambari_agent/AmbariConfig.py b/ambari-agent/src/main/python/ambari_agent/AmbariConfig.py index b1d4419..01e8daa 100644 --- a/ambari-agent/src/main/python/ambari_agent/AmbariConfig.py +++ b/ambari-agent/src/main/python/ambari_agent/AmbariConfig.py @@ -204,15 +204,15 @@ class AmbariConfig: @staticmethod def getAlertsLogFile(): - if 'AMBARI_ALERTS_AGENT_LOG_DIR' in os.environ: - return os.path.join(os.environ['AMBARI_ALERTS_AGENT_LOG_DIR'], "ambari-agent.log") + if 'AMBARI_AGENT_LOG_DIR' in os.environ: + return os.path.join(os.environ['AMBARI_AGENT_LOG_DIR'], "ambari-agent.log") else: return os.path.join(os.sep, "var", "log", "ambari-agent", "ambari-alerts.log") @staticmethod def getOutFile(): - if 'AMBARI_AGENT_OUT_DIR' in os.environ: - return os.path.join(os.environ['AMBARI_AGENT_OUT_DIR'], "ambari-agent.out") + if 'AMBARI_AGENT_LOG_DIR' in os.environ: + return os.path.join(os.environ['AMBARI_AGENT_LOG_DIR'], "ambari-agent.out") else: return os.path.join(os.sep, "var", "log", "ambari-agent", "ambari-agent.out") http://git-wip-us.apache.org/repos/asf/ambari/blob/a133f7c9/ambari-agent/src/test/python/ambari_agent/TestAmbariAgent.py ---------------------------------------------------------------------- diff --git a/ambari-agent/src/test/python/ambari_agent/TestAmbariAgent.py b/ambari-agent/src/test/python/ambari_agent/TestAmbariAgent.py index a354572..1be487c 100644 --- a/ambari-agent/src/test/python/ambari_agent/TestAmbariAgent.py +++ b/ambari-agent/src/test/python/ambari_agent/TestAmbariAgent.py @@ -92,6 +92,6 @@ class TestAmbariAgent(unittest.TestCase): # out_folder = '/myoutlocation/out' out_file = 'ambari-agent.out' - with patch.dict('os.environ', {'AMBARI_AGENT_OUT_DIR': out_folder}): + with patch.dict('os.environ', {'AMBARI_AGENT_LOG_DIR': out_folder}): self.assertEqual(os.path.join(out_folder, out_file), AmbariConfig.AmbariConfig.getOutFile()) pass