You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ga...@apache.org on 2016/11/11 06:52:34 UTC
incubator-ranger git commit: RANGER-1192 : Ranger PID file not being
read if a custom location is provided
Repository: incubator-ranger
Updated Branches:
refs/heads/master bf343a0dd -> d61ef2a04
RANGER-1192 : Ranger PID file not being read if a custom location is provided
Signed-off-by: Gautam Borad <ga...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/d61ef2a0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/d61ef2a0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/d61ef2a0
Branch: refs/heads/master
Commit: d61ef2a0438fd69a9595ddd192bf1b9a01c121d1
Parents: bf343a0
Author: Mehul Parikh <me...@freestoneinfotech.com>
Authored: Tue Oct 25 15:59:16 2016 +0530
Committer: Gautam Borad <ga...@apache.org>
Committed: Fri Nov 11 12:12:50 2016 +0530
----------------------------------------------------------------------
.../scripts/ranger-admin-services.sh | 14 ++++++++++--
kms/scripts/install.properties | 2 ++
kms/scripts/ranger-kms | 14 ++++++++++--
kms/scripts/setup.sh | 12 ++++++++++
security-admin/scripts/install.properties | 3 +++
security-admin/scripts/setup.sh | 14 +++++++++++-
tagsync/scripts/install.properties | 3 +++
tagsync/scripts/ranger-tagsync-services.sh | 20 +++++++++++------
tagsync/scripts/setup.py | 22 ++++++++++++++-----
unixauthservice/scripts/install.properties | 3 +++
.../scripts/ranger-usersync-services.sh | 23 +++++++++++---------
unixauthservice/scripts/setup.py | 22 ++++++++++++++-----
12 files changed, 119 insertions(+), 33 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/d61ef2a0/embeddedwebserver/scripts/ranger-admin-services.sh
----------------------------------------------------------------------
diff --git a/embeddedwebserver/scripts/ranger-admin-services.sh b/embeddedwebserver/scripts/ranger-admin-services.sh
index f672236..515e010 100755
--- a/embeddedwebserver/scripts/ranger-admin-services.sh
+++ b/embeddedwebserver/scripts/ranger-admin-services.sh
@@ -29,7 +29,6 @@ XAPOLICYMGR_DIR=`(cd $realScriptDir/..; pwd)`
XAPOLICYMGR_EWS_DIR=${XAPOLICYMGR_DIR}/ews
RANGER_JAAS_LIB_DIR="${XAPOLICYMGR_EWS_DIR}/ranger_jaas"
RANGER_JAAS_CONF_DIR="${XAPOLICYMGR_EWS_DIR}/webapp/WEB-INF/classes/conf/ranger_jaas"
-pidf=/var/run/ranger/rangeradmin.pid
JAVA_OPTS=" ${JAVA_OPTS} -XX:MaxPermSize=256m -Xmx1024m -Xms1024m "
if [ -f ${XAPOLICYMGR_DIR}/ews/webapp/WEB-INF/classes/conf/java_home.sh ]; then
@@ -52,6 +51,17 @@ then
RANGER_ADMIN_LOG_DIR=${XAPOLICYMGR_EWS_DIR}/logs
fi
+if [ -z "${RANGER_PID_DIR_PATH}" ]
+then
+ RANGER_PID_DIR_PATH=/var/run/ranger
+fi
+pidf=${RANGER_PID_DIR_PATH}/rangeradmin.pid
+
+if [ -z "${RANGER_USER}" ]
+then
+ RANGER_USER=ranger
+fi
+
start() {
SLEEP_TIME_AFTER_START=5
nohup java -Dproc_rangeradmin ${JAVA_OPTS} -Dlogdir=${RANGER_ADMIN_LOG_DIR} -Dcatalina.base=${XAPOLICYMGR_EWS_DIR} -cp "${XAPOLICYMGR_EWS_DIR}/webapp/WEB-INF/classes/conf:${XAPOLICYMGR_EWS_DIR}/lib/*:${RANGER_JAAS_LIB_DIR}/*:${RANGER_JAAS_CONF_DIR}:${JAVA_HOME}/lib/*:${RANGER_HADOOP_CONF_DIR}/*:$CLASSPATH" org.apache.ranger.server.tomcat.EmbeddedServer > ${RANGER_ADMIN_LOG_DIR}/catalina.out 2>&1 &
@@ -61,7 +71,7 @@ start() {
if ps -p $VALUE_OF_PID > /dev/null
then
echo $VALUE_OF_PID > ${pidf}
- chown ranger ${pidf}
+ chown ${RANGER_USER} ${pidf}
chmod 660 ${pidf}
pid=`cat $pidf`
echo "Apache Ranger Admin Service with pid ${pid} has started."
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/d61ef2a0/kms/scripts/install.properties
----------------------------------------------------------------------
diff --git a/kms/scripts/install.properties b/kms/scripts/install.properties
index 0516269..d07dc2c 100755
--- a/kms/scripts/install.properties
+++ b/kms/scripts/install.properties
@@ -203,6 +203,8 @@ SSL_TRUSTSTORE_PASSWORD=changeit
# Custom log directory path
RANGER_KMS_LOG_DIR=$PWD
+#PID file path
+RANGER_KMS_PID_DIR_PATH=/var/run/ranger_kms
# ################# DO NOT MODIFY ANY VARIABLES BELOW #########################
#
# --- These deployment variables are not to be modified unless you understand the full impact of the changes
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/d61ef2a0/kms/scripts/ranger-kms
----------------------------------------------------------------------
diff --git a/kms/scripts/ranger-kms b/kms/scripts/ranger-kms
index d2937aa..80181d7 100755
--- a/kms/scripts/ranger-kms
+++ b/kms/scripts/ranger-kms
@@ -53,6 +53,16 @@ then
RANGER_KMS_LOG_DIR=${RANGER_KMS_EWS_DIR}/logs
fi
+if [ -z "${RANGER_KMS_PID_DIR_PATH}" ]
+then
+ RANGER_KMS_PID_DIR_PATH=/var/run/ranger_kms
+fi
+pidf=${RANGER_KMS_PID_DIR_PATH}/rangerkms.pid
+
+if [ -z "${KMS_USER}" ]
+then
+ KMS_USER=kms
+fi
PROC_NAME=proc_rangerkms
export PROC_NAME
@@ -75,7 +85,7 @@ then
fi
KMS_CONF_DIR=${RANGER_KMS_EWS_DIR}/webapp/WEB-INF/classes/conf
-pidf="/var/run/ranger_kms/rangerkms.pid"
+
JAVA_OPTS="${JAVA_OPTS} -Dcatalina.base=${RANGER_KMS_EWS_DIR} -Dkms.config.dir=${KMS_CONF_DIR} -Dkms.log.dir=${TOMCAT_LOG_DIR} -cp ${RANGER_KMS_EWS_CONF_DIR}:${RANGER_KMS_EWS_LIB_DIR}/*:${RANGER_KMS_EWS_DIR}/webapp/lib/*:${JAVA_HOME}/lib/*:${RANGER_HADOOP_CONF_DIR}/*:$CLASSPATH "
createRangerKMSPid () {
SLEEP_TIME_AFTER_START=5
@@ -86,7 +96,7 @@ createRangerKMSPid () {
if ps -p $VALUE_OF_PID > /dev/null
then
echo $VALUE_OF_PID > ${pidf}
- chown ranger ${pidf}
+ chown ${KMS_USER} ${pidf}
chmod 660 ${pidf}
pid=`cat $pidf`
echo "Apache Ranger KMS Service with pid ${pid} has started."
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/d61ef2a0/kms/scripts/setup.sh
----------------------------------------------------------------------
diff --git a/kms/scripts/setup.sh b/kms/scripts/setup.sh
index 4f2e320..568350b 100755
--- a/kms/scripts/setup.sh
+++ b/kms/scripts/setup.sh
@@ -88,6 +88,7 @@ sqlanywhere_core_file=$(get_prop 'sqlanywhere_core_file' $PROPFILE)
cred_keystore_filename=$(eval echo "$(get_prop 'cred_keystore_filename' $PROPFILE)")
KMS_BLACKLIST_DECRYPT_EEK=$(get_prop 'KMS_BLACKLIST_DECRYPT_EEK' $PROPFILE)
RANGER_KMS_LOG_DIR=$(eval echo "$(get_prop 'RANGER_KMS_LOG_DIR' $PROPFILE)")
+RANGER_KMS_PID_DIR_PATH=$(eval echo "$(get_prop 'RANGER_KMS_PID_DIR_PATH' $PROPFILE)")
HSM_TYPE=$(get_prop 'HSM_TYPE' $PROPFILE)
HSM_ENABLED=$(get_prop 'HSM_ENABLED' $PROPFILE)
HSM_PARTITION_NAME=$(get_prop 'HSM_PARTITION_NAME' $PROPFILE)
@@ -765,6 +766,17 @@ setup_install_files(){
echo "export RANGER_KMS_LOG_DIR=${RANGER_KMS_LOG_DIR}" > ${WEBAPP_ROOT}/WEB-INF/classes/conf/ranger-kms-env-logdir.sh
chmod a+rx ${WEBAPP_ROOT}/WEB-INF/classes/conf/ranger-kms-env-logdir.sh
+ if [ ! -d ${RANGER_KMS_PID_DIR_PATH} ]; then
+ log "[I] Creating KMS PID folder: ${RANGER_KMS_PID_DIR_PATH}"
+ mkdir -p ${RANGER_KMS_PID_DIR_PATH}
+ fi
+ if [ -d ${RANGER_KMS_PID_DIR_PATH} ]; then
+ chown -R ${unix_user} ${RANGER_KMS_PID_DIR_PATH}
+ fi
+ echo "export RANGER_KMS_PID_DIR_PATH=${RANGER_KMS_PID_DIR_PATH}" > ${WEBAPP_ROOT}/WEB-INF/classes/conf/ranger-kms-env-piddir.sh
+ echo "export KMS_USER=${unix_user}" >> ${WEBAPP_ROOT}/WEB-INF/classes/conf/ranger-kms-env-piddir.sh
+ chmod a+rx ${WEBAPP_ROOT}/WEB-INF/classes/conf/ranger-kms-env-piddir.sh
+
log "[I] Setting up installation files and directory DONE";
if [ ! -f ${INSTALL_DIR}/rpm ]; then
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/d61ef2a0/security-admin/scripts/install.properties
----------------------------------------------------------------------
diff --git a/security-admin/scripts/install.properties b/security-admin/scripts/install.properties
index 46a0091..693129f 100644
--- a/security-admin/scripts/install.properties
+++ b/security-admin/scripts/install.properties
@@ -187,6 +187,9 @@ sso_publickey=
# Custom log directory path
RANGER_ADMIN_LOG_DIR=$PWD
+# PID file path
+RANGER_PID_DIR_PATH=/var/run/ranger
+
# ################# DO NOT MODIFY ANY VARIABLES BELOW #########################
#
# --- These deployment variables are not to be modified unless you understand the full impact of the changes
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/d61ef2a0/security-admin/scripts/setup.sh
----------------------------------------------------------------------
diff --git a/security-admin/scripts/setup.sh b/security-admin/scripts/setup.sh
index 059fc21..2ec26f7 100755
--- a/security-admin/scripts/setup.sh
+++ b/security-admin/scripts/setup.sh
@@ -20,9 +20,9 @@
# This script will install policymanager webapplication under tomcat and also, initialize the database with ranger users/tables.
PROPFILE=$PWD/install.properties
-propertyValue=''
pidFolderName='/var/run/ranger'
mkdir -p ${pidFolderName}
+propertyValue=''
if [ ! $? = "0" ];then
log "$PROPFILE file not found....!!";
exit 1;
@@ -116,6 +116,7 @@ sso_enabled=$(get_prop 'sso_enabled' $PROPFILE)
sso_providerurl=$(get_prop 'sso_providerurl' $PROPFILE)
sso_publickey=$(get_prop 'sso_publickey' $PROPFILE)
RANGER_ADMIN_LOG_DIR=$(eval echo "$(get_prop 'RANGER_ADMIN_LOG_DIR' $PROPFILE)")
+RANGER_PID_DIR_PATH=$(eval echo "$(get_prop 'RANGER_PID_DIR_PATH' $PROPFILE)")
spnego_principal=$(get_prop 'spnego_principal' $PROPFILE)
spnego_keytab=$(get_prop 'spnego_keytab' $PROPFILE)
@@ -1132,6 +1133,17 @@ setup_install_files(){
echo "export RANGER_ADMIN_LOG_DIR=${RANGER_ADMIN_LOG_DIR}" > ${WEBAPP_ROOT}/WEB-INF/classes/conf/ranger-admin-env-logdir.sh
chmod a+rx ${WEBAPP_ROOT}/WEB-INF/classes/conf/ranger-admin-env-logdir.sh
+ if [ ! -d ${RANGER_PID_DIR_PATH} ]; then
+ log "[I]Creating Ranger PID folder: ${RANGER_PID_DIR_PATH}"
+ mkdir -p ${RANGER_PID_DIR_PATH}
+ fi
+ if [ -d ${RANGER_PID_DIR_PATH} ]; then
+ chown -R ${unix_user} ${RANGER_PID_DIR_PATH}
+ fi
+ echo "export RANGER_PID_DIR_PATH=${RANGER_PID_DIR_PATH}" > ${WEBAPP_ROOT}/WEB-INF/classes/conf/ranger-admin-env-piddir.sh
+ echo "export RANGER_USER=${unix_user}" >> ${WEBAPP_ROOT}/WEB-INF/classes/conf/ranger-admin-env-piddir.sh
+ chmod a+rx ${WEBAPP_ROOT}/WEB-INF/classes/conf/ranger-admin-env-piddir.sh
+
log "[I] Setting up installation files and directory DONE";
if [ ! -f ${INSTALL_DIR}/rpm ]; then
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/d61ef2a0/tagsync/scripts/install.properties
----------------------------------------------------------------------
diff --git a/tagsync/scripts/install.properties b/tagsync/scripts/install.properties
index 2b40a17..a2c410a 100644
--- a/tagsync/scripts/install.properties
+++ b/tagsync/scripts/install.properties
@@ -95,6 +95,9 @@ unix_group=ranger
# Logs are stored in logdir
logdir = log
+#PID file path
+TAGSYNC_PID_DIR_PATH=/var/run/ranger
+
#Set to run in kerberos environment
is_secure = false
tagsync_principal=
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/d61ef2a0/tagsync/scripts/ranger-tagsync-services.sh
----------------------------------------------------------------------
diff --git a/tagsync/scripts/ranger-tagsync-services.sh b/tagsync/scripts/ranger-tagsync-services.sh
index e81a6b2..7f86e2f 100755
--- a/tagsync/scripts/ranger-tagsync-services.sh
+++ b/tagsync/scripts/ranger-tagsync-services.sh
@@ -27,13 +27,19 @@ realScriptDir=`dirname $realScriptPath`
cd $realScriptDir
cdir=`pwd`
-pidd=/var/run/ranger
-
-if [ -d $pidd ]; then
- mkdir -p $pidd
+for custom_env_script in `find ${cdir}/conf/ -name "ranger-tagsync-env*"`; do
+ if [ -f $custom_env_script ]; then
+ . $custom_env_script
+ fi
+done
+
+if [ -z "${TAGSYNC_PID_DIR_PATH}" ]; then
+ pidf=/var/run/ranger
+fi
+pidf=${TAGSYNC_PID_DIR_PATH}/tagsync.pid
+if [ -z "${UNIX_TAGSYNC_USER}" ]; then
+ UNIX_TAGSYNC_USER=ranger
fi
-
-pidf=${pidd}/tagsync.pid
if [ "${action}" == "START" ]; then
@@ -82,7 +88,7 @@ if [ "${action}" == "START" ]; then
if ps -p $VALUE_OF_PID > /dev/null
then
echo $VALUE_OF_PID > ${pidf}
- chown ranger ${pidf}
+ chown ${UNIX_TAGSYNC_USER} ${pidf}
chmod 660 ${pidf}
pid=`cat $pidf`
echo "Apache Ranger Tagsync Service with pid ${pid} has started."
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/d61ef2a0/tagsync/scripts/setup.py
----------------------------------------------------------------------
diff --git a/tagsync/scripts/setup.py b/tagsync/scripts/setup.py
index ea47de7..e6150a7 100755
--- a/tagsync/scripts/setup.py
+++ b/tagsync/scripts/setup.py
@@ -34,7 +34,6 @@ if (not 'JAVA_HOME' in os.environ):
debugLevel = 1
generateXML = 0
installPropDirName = '.'
-pidFolderName = '/var/run/ranger'
logFolderName = '/var/log/ranger'
initdDirName = '/etc/init.d'
@@ -92,6 +91,8 @@ TAG_SOURCE_FILE_ENABLED = 'ranger.tagsync.source.file'
hadoopConfFileName = 'core-site.xml'
ENV_HADOOP_CONF_FILE = "ranger-tagsync-env-hadoopconfdir.sh"
+ENV_PID_FILE = 'ranger-tagsync-env-piddir.sh'
+
globalDict = {}
configure_security = False
@@ -339,6 +340,11 @@ def main():
hadoop_conf = globalDict['hadoop_conf']
+ pid_dir_path = globalDict['TAGSYNC_PID_DIR_PATH']
+ unix_user = globalDict['unix_user']
+
+ if pid_dir_path == "":
+ pid_dir_path = "/var/run/ranger"
dirList = [ rangerBaseDirName, tagsyncBaseDirFullName, confFolderName ]
for dir in dirList:
@@ -390,12 +396,12 @@ def main():
else:
os.makedirs(logFolderName,logFolderPermMode)
- if (not os.path.isdir(pidFolderName)):
- os.makedirs(pidFolderName,logFolderPermMode)
-
if (not os.path.isdir(tagsyncLogFolderName)):
os.makedirs(tagsyncLogFolderName,logFolderPermMode)
+ if (not os.path.isdir(pid_dir_path)):
+ os.makedirs(pid_dir_path,logFolderPermMode)
+
if (unixUserProp in mergeProps):
ownerName = mergeProps[unixUserProp]
else:
@@ -420,7 +426,6 @@ def main():
os.chown(logFolderName,ownerId,groupId)
os.chown(tagsyncLogFolderName,ownerId,groupId)
- os.chown(pidFolderName,ownerId,groupId)
os.chown(rangerBaseDirName,ownerId,groupId)
initializeInitD()
@@ -470,8 +475,15 @@ def main():
os.chmod(fn, 0755)
write_env_files("RANGER_TAGSYNC_HADOOP_CONF_DIR", hadoop_conf, ENV_HADOOP_CONF_FILE)
+ write_env_files("TAGSYNC_PID_DIR_PATH", pid_dir_path, ENV_PID_FILE);
os.chown(os.path.join(confBaseDirName, ENV_HADOOP_CONF_FILE),ownerId,groupId)
os.chmod(os.path.join(confBaseDirName, ENV_HADOOP_CONF_FILE),0755)
+ os.chown(os.path.join(confBaseDirName, ENV_PID_FILE),ownerId,groupId)
+ os.chmod(os.path.join(confBaseDirName, ENV_PID_FILE),0755)
+
+ f = open(os.path.join(confBaseDirName, ENV_PID_FILE), "a+")
+ f.write("\nexport {0}={1}".format("UNIX_TAGSYNC_USER",unix_user))
+ f.close()
hadoop_conf_full_path = os.path.join(hadoop_conf, hadoopConfFileName)
tagsync_conf_full_path = os.path.join(tagsyncBaseDirFullName,confBaseDirName,hadoopConfFileName)
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/d61ef2a0/unixauthservice/scripts/install.properties
----------------------------------------------------------------------
diff --git a/unixauthservice/scripts/install.properties b/unixauthservice/scripts/install.properties
index 76d3b2e..e784dda 100644
--- a/unixauthservice/scripts/install.properties
+++ b/unixauthservice/scripts/install.properties
@@ -116,6 +116,9 @@ SYNC_LDAP_GROUPNAME_CASE_CONVERSION=lower
logdir=logs
#/var/log/ranger/usersync
+# PID DIR PATH
+USERSYNC_PID_DIR_PATH=/var/run/ranger
+
# do we want to do ldapsearch to find groups instead of relying on user entry attributes
# valid values: true, false
# any value other than true would be treated as false
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/d61ef2a0/unixauthservice/scripts/ranger-usersync-services.sh
----------------------------------------------------------------------
diff --git a/unixauthservice/scripts/ranger-usersync-services.sh b/unixauthservice/scripts/ranger-usersync-services.sh
index 4f57fdc..e5a676d 100644
--- a/unixauthservice/scripts/ranger-usersync-services.sh
+++ b/unixauthservice/scripts/ranger-usersync-services.sh
@@ -27,8 +27,18 @@ realScriptDir=`dirname $realScriptPath`
cd $realScriptDir
cdir=`pwd`
-pidf=/var/run/ranger/usersync.pid
-
+for custom_env_script in `find ${cdir}/conf/ -name "ranger-usersync-env*"`; do
+ if [ -f $custom_env_script ]; then
+ . $custom_env_script
+ fi
+done
+if [ -z "${USERSYNC_PID_DIR_PATH}" ]; then
+ pidf=/var/run/ranger
+fi
+pidf=${USERSYNC_PID_DIR_PATH}/usersync.pid
+if [ -z "${UNIX_USERSYNC_USER}" ]; then
+ UNIX_USERSYNC_USER=ranger
+fi
if [ "${action}" == "START" ]; then
@@ -37,12 +47,6 @@ if [ "${action}" == "START" ]; then
. ${cdir}/conf/java_home.sh
fi
- for custom_env_script in `find ${cdir}/conf/ -name "ranger-usersync-env*"`; do
- if [ -f $custom_env_script ]; then
- . $custom_env_script
- fi
- done
-
if [ "$JAVA_HOME" != "" ]; then
export PATH=$JAVA_HOME/bin:$PATH
fi
@@ -72,7 +76,7 @@ if [ "${action}" == "START" ]; then
if ps -p $VALUE_OF_PID > /dev/null
then
echo $VALUE_OF_PID > ${pidf}
- chown ranger ${pidf}
+ chown ${UNIX_USERSYNC_USER} ${pidf}
chmod 660 ${pidf}
pid=`cat $pidf`
echo "Apache Ranger Usersync Service with pid ${pid} has started."
@@ -85,7 +89,6 @@ elif [ "${action}" == "STOP" ]; then
WAIT_TIME_FOR_SHUTDOWN=2
NR_ITER_FOR_SHUTDOWN_CHECK=15
if [ -f $pidf ]; then
- pidf=/var/run/ranger/usersync.pid
pid=`cat $pidf` > /dev/null 2>&1
kill -9 $pid > /dev/null 2>&1
sleep 1 #Give kill -9 sometime to "kill"
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/d61ef2a0/unixauthservice/scripts/setup.py
----------------------------------------------------------------------
diff --git a/unixauthservice/scripts/setup.py b/unixauthservice/scripts/setup.py
index eb7e8f8..673a48f 100755
--- a/unixauthservice/scripts/setup.py
+++ b/unixauthservice/scripts/setup.py
@@ -35,7 +35,6 @@ if (not 'JAVA_HOME' in os.environ):
debugLevel = 1
generateXML = 0
installPropDirName = '.'
-pidFolderName = '/var/run/ranger'
#logFolderName = '/var/log/ranger'
initdDirName = '/etc/init.d'
@@ -89,7 +88,7 @@ credUpdateClassName = 'org.apache.ranger.credentialapi.buildks'
ENV_LOGDIR_FILE = 'ranger-usersync-env-logdir.sh'
hadoopConfFileName = 'core-site.xml'
ENV_HADOOP_CONF_FILE = "ranger-usersync-env-hadoopconfdir.sh"
-
+ENV_PID_FILE = 'ranger-usersync-env-piddir.sh'
RANGER_USERSYNC_HOME = os.getenv("RANGER_USERSYNC_HOME")
if RANGER_USERSYNC_HOME is None:
@@ -323,6 +322,11 @@ def main():
populate_global_dict()
logFolderName = globalDict['logdir']
hadoop_conf = globalDict['hadoop_conf']
+ pid_dir_path = globalDict['USERSYNC_PID_DIR_PATH']
+ unix_user = globalDict['unix_user']
+
+ if pid_dir_path == "":
+ pid_dir_path = "/var/run/ranger"
if logFolderName.lower() == "$pwd" or logFolderName == "" :
logFolderName = os.path.join(os.getcwd(),"logs")
@@ -395,12 +399,12 @@ def main():
else:
os.makedirs(logFolderName,logFolderPermMode)
- if (not os.path.isdir(pidFolderName)):
- os.makedirs(pidFolderName,logFolderPermMode)
-
if (not os.path.isdir(ugsyncLogFolderName)):
os.makedirs(ugsyncLogFolderName,logFolderPermMode)
+ if (not os.path.isdir(pid_dir_path)):
+ os.makedirs(pid_dir_path,logFolderPermMode)
+
if (unixUserProp in mergeProps):
ownerName = mergeProps[unixUserProp]
else:
@@ -425,7 +429,6 @@ def main():
os.chown(logFolderName,ownerId,groupId)
os.chown(ugsyncLogFolderName,ownerId,groupId)
- os.chown(pidFolderName,ownerId,groupId)
os.chown(rangerBaseDirName,ownerId,groupId)
os.chown(usersyncBaseDirFullName,ownerId,groupId)
@@ -498,10 +501,17 @@ def main():
write_env_files("logdir", logFolderName, ENV_LOGDIR_FILE);
write_env_files("RANGER_USERSYNC_HADOOP_CONF_DIR", hadoop_conf, ENV_HADOOP_CONF_FILE);
+ write_env_files("USERSYNC_PID_DIR_PATH", pid_dir_path, ENV_PID_FILE);
os.chown(os.path.join(confBaseDirName, ENV_LOGDIR_FILE),ownerId,groupId)
os.chmod(os.path.join(confBaseDirName, ENV_LOGDIR_FILE),0755)
os.chown(os.path.join(confBaseDirName, ENV_HADOOP_CONF_FILE),ownerId,groupId)
os.chmod(os.path.join(confBaseDirName, ENV_HADOOP_CONF_FILE),0755)
+ os.chown(os.path.join(confBaseDirName, ENV_PID_FILE),ownerId,groupId)
+ os.chmod(os.path.join(confBaseDirName, ENV_PID_FILE),0755)
+
+ f = open(os.path.join(confBaseDirName, ENV_PID_FILE), "a+")
+ f.write("\nexport {0}={1}".format("UNIX_USERSYNC_USER",unix_user))
+ f.close()
hadoop_conf_full_path = os.path.join(hadoop_conf, hadoopConfFileName)
usersync_conf_full_path = os.path.join(usersyncBaseDirFullName,confBaseDirName,hadoopConfFileName)