From c02e6277eae7cf9461a0578ba37d3aa40e6a85f2 Mon Sep 17 00:00:00 2001 From: Sam Hague Date: Fri, 25 Oct 2013 14:00:10 -0400 Subject: [PATCH] Add env vars to set the controller working directory. The run.sh makes an assumption that the current working directory is writeable and owned by the user running the command. These assumptions don't hold when running the controller as a service such as when it was installed via an RPM package. Added two env variables to specify the run directory and the output directory: ODL_BASEDIR: working directory ODL_DATADIR: output directory By default the run.sh will continue to use the current working directory and will only use the env vars if they are set. Change-Id: I85dda38353f632e84409d91ac4dfc4a44c2d457e Signed-off-by: Sam Hague --- .../opendaylight/src/main/resources/run.sh | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/opendaylight/distribution/opendaylight/src/main/resources/run.sh b/opendaylight/distribution/opendaylight/src/main/resources/run.sh index e4c20da350..b34e8f773f 100755 --- a/opendaylight/distribution/opendaylight/src/main/resources/run.sh +++ b/opendaylight/distribution/opendaylight/src/main/resources/run.sh @@ -46,7 +46,17 @@ fi [[ ! -x ${JAVA_HOME}/bin/java ]] && echo "Cannot find an executable \ JVM at path ${JAVA_HOME}/bin/java check your JAVA_HOME" && exit -1; -basedir=`dirname ${fullpath}` +if [ -z ${ODL_BASEDIR} ]; then + basedir=`dirname ${fullpath}` +else + basedir=${ODL_BASEDIR} +fi + +if [ -z ${ODL_DATADIR} ]; then + datadir=`dirname ${fullpath}` +else + datadir=${ODL_DATADIR} +fi function usage { echo "Usage: $0 [-jmx] [-jmxport ] [-debug] [-debugsuspend] [-debugport ] [-start []] [-stop] [-status] [-console] [-help] []" @@ -192,9 +202,9 @@ if [ "${startdaemon}" -eq 1 ]; then exit -1 fi $JAVA_HOME/bin/java ${extraJVMOpts} \ - -Djava.io.tmpdir=${basedir}/work/tmp \ + -Djava.io.tmpdir=${datadir}/work/tmp \ -Dosgi.install.area=${basedir} \ - -Dosgi.configuration.area=${basedir}/configuration \ + -Dosgi.configuration.area=${datadir}/configuration \ -Dosgi.frameworkClassPath=${FWCLASSPATH} \ -Dosgi.framework=file:${basedir}/lib/org.eclipse.osgi-3.8.1.v20120830-144521.jar \ -classpath ${CLASSPATH} \ @@ -209,9 +219,9 @@ elif [ "${consolestart}" -eq 1 ]; then exit -1 fi $JAVA_HOME/bin/java ${extraJVMOpts} \ - -Djava.io.tmpdir=${basedir}/work/tmp \ + -Djava.io.tmpdir=${datadir}/work/tmp \ -Dosgi.install.area=${basedir} \ - -Dosgi.configuration.area=${basedir}/configuration \ + -Dosgi.configuration.area=${datadir}/configuration \ -Dosgi.frameworkClassPath=${FWCLASSPATH} \ -Dosgi.framework=file:${basedir}/lib/org.eclipse.osgi-3.8.1.v20120830-144521.jar \ -classpath ${CLASSPATH} \ -- 2.36.6