Fixing remote install; now starting as upstart daemon.
diff --git a/tools/build/onos-package b/tools/build/onos-package
index d35a48b..a35308e 100755
--- a/tools/build/onos-package
+++ b/tools/build/onos-package
@@ -26,7 +26,7 @@
# Stage the ONOS admin scripts and patch in Karaf service wrapper extras
cp -r $ONOS_ROOT/tools/package/bin .
-cp -r $ONOS_ROOT/tools/package/wrapper/* $KARAF_DIST
+cp -r $ONOS_ROOT/tools/package/debian $ONOS_STAGE/debian
cp -r $ONOS_ROOT/tools/package/etc/* $KARAF_DIST/etc
# Stage the ONOS bundles
@@ -40,7 +40,7 @@
$ONOS_STAGE/$KARAF_DIST/etc/org.apache.karaf.features.cfg
# Patch the Apache Karaf distribution file to load ONOS features
-perl -pi.old -e 's|^(featuresBoot=.*)|\1,wrapper,cellar|' \
+perl -pi.old -e 's|^(featuresBoot=.*)|\1,cellar|' \
$ONOS_STAGE/$KARAF_DIST/etc/org.apache.karaf.features.cfg
# ONOS Patching ----------------------------------------------------------------
@@ -49,15 +49,10 @@
perl -pi.old -e "s|^(featuresRepositories=.*)|\1,mvn:org.onlab.onos/onos-features/$ONOS_VERSION/xml/features|" \
$ONOS_STAGE/$KARAF_DIST/etc/org.apache.karaf.features.cfg
-# Patch the Apache Karaf distribution file to load ONOS features
-#perl -pi.old -e 's|^(featuresBoot=.*)|\1,onos-api,onos-core,onos-cli,onos-rest,onos-gui,onos-openflow,onos-app-tvue,onos-app-fwd|' \
-# $ONOS_STAGE/$KARAF_DIST/etc/org.apache.karaf.features.cfg
-
# Patch the Apache Karaf distribution with ONOS branding bundle
cp $M2_REPO/org/onlab/onos/onos-branding/$ONOS_VERSION/onos-branding-*.jar \
$ONOS_STAGE/$KARAF_DIST/lib
-
# Now package up the ONOS tar file
cd $ONOS_STAGE_ROOT
COPYFILE_DISABLE=1 tar zcf $ONOS_TAR $ONOS_BITS
diff --git a/tools/package/bin/onos b/tools/package/bin/onos
index a59ada2..2c37588 100755
--- a/tools/package/bin/onos
+++ b/tools/package/bin/onos
@@ -3,7 +3,7 @@
# ONOS command-line client
#-------------------------------------------------------------------------------
-export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
+export JAVA_HOME=${JAVA_HOME:-/usr/lib/jvm/java-7-openjdk-amd64/}
cd $(dirname $0)/../apache-karaf-*/bin
./client -h localhost "$@"
diff --git a/tools/package/bin/onos-ctl b/tools/package/bin/onos-ctl
index e5ffe87..a5de5bd 100755
--- a/tools/package/bin/onos-ctl
+++ b/tools/package/bin/onos-ctl
@@ -3,8 +3,8 @@
# Starts ONOS Apache Karaf container
#-------------------------------------------------------------------------------
-export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
+export JAVA_HOME=${JAVA_HOME:-/usr/lib/jvm/java-7-openjdk-amd64/}
-cd $(dirname $0)/../apache-karaf-*/bin
-./karaf "$@"
+cd /opt/onos
+/opt/onos/apache-karaf-3.0.1/bin/karaf "$@"
diff --git a/tools/package/debian/onos.conf b/tools/package/debian/onos.conf
new file mode 100644
index 0000000..d398bda
--- /dev/null
+++ b/tools/package/debian/onos.conf
@@ -0,0 +1,21 @@
+description "Open Networking Operating System"
+author "ON.Lab"
+
+start on (net-device-up
+ and local-filesystems
+ and runlevel [2345])
+stop on runlevel [016]
+
+console output
+kill timeout 60
+respawn
+
+env LANG=en_US.UTF-8
+env JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
+
+script
+ [ -f /opt/onos/options ] && . /opt/onos/options
+ start-stop-daemon --signal INT --start --chuid sdn \
+ --exec /opt/onos/bin/onos-ctl -- $ONOS_OPTS \
+ >/opt/onos/var/stdout.log 2>/opt/onos/var/stderr.log
+end script
diff --git a/tools/package/wrapper/bin/onos-service b/tools/package/wrapper/bin/onos-service
deleted file mode 100755
index 27da7a3..0000000
--- a/tools/package/wrapper/bin/onos-service
+++ /dev/null
@@ -1,557 +0,0 @@
-#! /bin/sh
-
-# ------------------------------------------------------------------------
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# ------------------------------------------------------------------------
-
-# If require, set the JAVA_HOME to launch the wrapper
-#
-#JAVA_HOME=
-#
-
-# Application
-APP_NAME="onos"
-APP_LONG_NAME="onos"
-
-# Wrapper
-WRAPPER_CMD="/opt/onos/apache-karaf-3.0.1/bin/${APP_NAME}-wrapper"
-WRAPPER_CONF="/opt/onos/apache-karaf-3.0.1/etc/${APP_NAME}-wrapper.conf"
-
-# Priority at which to run the wrapper. See "man nice" for valid priorities.
-# nice is only used if a priority is specified.
-PRIORITY=
-
-# Location of the data folder.
-DATADIR="/opt/onos/apache-karaf-3.0.1/data"
-
-# Location of the pid file.
-PIDDIR="/opt/onos/apache-karaf-3.0.1/data"
-
-# If uncommented, causes the Wrapper to be shutdown using an anchor file.
-# When launched with the 'start' command, it will also ignore all INT and
-# TERM signals.
-#IGNORE_SIGNALS=true
-
-# If specified, the Wrapper will be run as the specified user.
-# IMPORTANT - Make sure that the user has the required privileges to write
-# the PID file and wrapper.log files. Failure to be able to write the log
-# file will cause the Wrapper to exit without any way to write out an error
-# message.
-# NOTE - This will set the user which is used to run the Wrapper as well as
-# the JVM and is not useful in situations where a privileged resource or
-# port needs to be allocated prior to the user being changed.
-#RUN_AS_USER=
-
-# The following two lines are used by the chkconfig command. Change as is
-# appropriate for your application. They should remain commented.
-# chkconfig: 2345 20 80
-# description: onos
-
-# Do not modify anything beyond this point
-#-----------------------------------------------------------------------------
-
-# Get the fully qualified path to the script
-case $0 in
- /*)
- SCRIPT="$0"
- ;;
- *)
- PWD=`pwd`
- SCRIPT="$PWD/$0"
- ;;
-esac
-
-# Resolve the true real path without any sym links.
-CHANGED=true
-while [ "X$CHANGED" != "X" ]
-do
- # Change spaces to ":" so the tokens can be parsed.
- SCRIPT=`echo $SCRIPT | sed -e 's; ;:;g'`
- # Get the real path to this script, resolving any symbolic links
- TOKENS=`echo $SCRIPT | sed -e 's;/; ;g'`
- REALPATH=
- for C in $TOKENS; do
- REALPATH="$REALPATH/$C"
- while [ -h "$REALPATH" ] ; do
- LS="`ls -ld "$REALPATH"`"
- LINK="`expr "$LS" : '.*-> \(.*\)$'`"
- if expr "$LINK" : '/.*' > /dev/null; then
- REALPATH="$LINK"
- else
- REALPATH="`dirname "$REALPATH"`""/$LINK"
- fi
- done
- done
- # Change ":" chars back to spaces.
- REALPATH=`echo $REALPATH | sed -e 's;:; ;g'`
-
- if [ "$REALPATH" = "$SCRIPT" ]
- then
- CHANGED=""
- else
- SCRIPT="$REALPATH"
- fi
-done
-
-# Change the current directory to the location of the script
-cd "`dirname "$REALPATH"`"
-REALDIR=`pwd`
-
-# If the PIDDIR is relative, set its value relative to the full REALPATH to avoid problems if
-# the working directory is later changed.
-FIRST_CHAR=`echo $PIDDIR | cut -c1,1`
-if [ "$FIRST_CHAR" != "/" ]
-then
- PIDDIR=$REALDIR/$PIDDIR
-fi
-# Same test for WRAPPER_CMD
-FIRST_CHAR=`echo $WRAPPER_CMD | cut -c1,1`
-if [ "$FIRST_CHAR" != "/" ]
-then
- WRAPPER_CMD=$REALDIR/$WRAPPER_CMD
-fi
-# Same test for WRAPPER_CONF
-FIRST_CHAR=`echo $WRAPPER_CONF | cut -c1,1`
-if [ "$FIRST_CHAR" != "/" ]
-then
- WRAPPER_CONF=$REALDIR/$WRAPPER_CONF
-fi
-
-# Process ID
-ANCHORFILE="$PIDDIR/$APP_NAME.anchor"
-PIDFILE="$PIDDIR/$APP_NAME.pid"
-LOCKDIR="/var/lock/subsys"
-LOCKFILE="$LOCKDIR/$APP_NAME"
-pid=""
-
-# Resolve the location of the 'ps' command
-PSEXE="/usr/bin/ps"
-if [ ! -x $PSEXE ]
-then
- PSEXE="/bin/ps"
- if [ ! -x $PSEXE ]
- then
- echo "Unable to locate 'ps'."
- echo "Please report this message along with the location of the command on your system."
- exit 1
- fi
-fi
-
-# Resolve the os
-DIST_OS=`uname -s | tr [:upper:] [:lower:] | tr -d [:blank:]`
-case "$DIST_OS" in
- 'sunos')
- DIST_OS="solaris"
- ;;
- 'hp-ux' | 'hp-ux64')
- DIST_OS="hpux"
- ;;
- 'darwin')
- DIST_OS="macosx"
- ;;
- 'unix_sv')
- DIST_OS="unixware"
- ;;
-esac
-
-# Resolve the architecture
-DIST_ARCH=`uname -p | tr [:upper:] [:lower:] | tr -d [:blank:]`
-if [ "$DIST_ARCH" = "unknown" ]
-then
- DIST_ARCH=`uname -m | tr [:upper:] [:lower:] | tr -d [:blank:]`
-fi
-case "$DIST_ARCH" in
- 'amd64' | 'ia32' | 'ia64' | 'i386' | 'i486' | 'i586' | 'i686' | 'x86_64')
- DIST_ARCH="x86"
- ;;
- 'ip27')
- DIST_ARCH="mips"
- ;;
- 'power' | 'powerpc' | 'power_pc' | 'ppc64')
- DIST_ARCH="ppc"
- ;;
- 'pa_risc' | 'pa-risc')
- DIST_ARCH="parisc"
- ;;
- 'sun4u' | 'sparcv9')
- DIST_ARCH="sparc"
- ;;
- '9000/800')
- DIST_ARCH="parisc"
- ;;
-esac
-
-# Decide on the wrapper binary to use.
-# If a 32-bit wrapper binary exists then it will work on 32 or 64 bit
-# platforms, if the 64-bit binary exists then the distribution most
-# likely wants to use long names. Otherwise, look for the default.
-# For macosx, we also want to look for universal binaries.
-WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-32"
-if [ -x $WRAPPER_TEST_CMD ]
-then
- WRAPPER_CMD="$WRAPPER_TEST_CMD"
-else
- if [ "$DIST_OS" = "macosx" ]
- then
- WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-universal-32"
- if [ -x $WRAPPER_TEST_CMD ]
- then
- WRAPPER_CMD="$WRAPPER_TEST_CMD"
- else
- WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-64"
- if [ -x $WRAPPER_TEST_CMD ]
- then
- WRAPPER_CMD="$WRAPPER_TEST_CMD"
- else
- WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-universal-64"
- if [ -x $WRAPPER_TEST_CMD ]
- then
- WRAPPER_CMD="$WRAPPER_TEST_CMD"
- else
- if [ ! -x $WRAPPER_CMD ]
- then
- echo "Unable to locate any of the following binaries:"
- echo " $WRAPPER_CMD-$DIST_OS-$DIST_ARCH-32"
- echo " $WRAPPER_CMD-$DIST_OS-universal-32"
- echo " $WRAPPER_CMD-$DIST_OS-$DIST_ARCH-64"
- echo " $WRAPPER_CMD-$DIST_OS-universal-64"
- echo " $WRAPPER_CMD"
- exit 1
- fi
- fi
- fi
- fi
- else
- WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-64"
- if [ -x $WRAPPER_TEST_CMD ]
- then
- WRAPPER_CMD="$WRAPPER_TEST_CMD"
- else
- if [ ! -x $WRAPPER_CMD ]
- then
- echo "Unable to locate any of the following binaries:"
- echo " $WRAPPER_CMD-$DIST_OS-$DIST_ARCH-32"
- echo " $WRAPPER_CMD-$DIST_OS-$DIST_ARCH-64"
- echo " $WRAPPER_CMD"
- exit 1
- fi
- fi
- fi
-fi
-
-# Build the nice clause
-if [ "X$PRIORITY" = "X" ]
-then
- CMDNICE=""
-else
- CMDNICE="nice -$PRIORITY"
-fi
-
-# Build the anchor file clause.
-if [ "X$IGNORE_SIGNALS" = "X" ]
-then
- ANCHORPROP=
- IGNOREPROP=
-else
- ANCHORPROP=wrapper.anchorfile=$ANCHORFILE
- IGNOREPROP=wrapper.ignore_signals=TRUE
-fi
-
-# Build the lock file clause. Only create a lock file if the lock directory exists on this platform.
-if [ -d $LOCKDIR ]
-then
- LOCKPROP=wrapper.lockfile=$LOCKFILE
-else
- LOCKPROP=
-fi
-
-checkUser() {
- # Check the configured user. If necessary rerun this script as the desired user.
- if [ "X$RUN_AS_USER" != "X" ]
- then
- # Resolve the location of the 'id' command
- IDEXE="/usr/xpg4/bin/id"
- if [ ! -x $IDEXE ]
- then
- IDEXE="/usr/bin/id"
- if [ ! -x $IDEXE ]
- then
- echo "Unable to locate 'id'."
- echo "Please report this message along with the location of the command on your system."
- exit 1
- fi
- fi
-
- if [ "`$IDEXE -u -n`" = "$RUN_AS_USER" ]
- then
- # Already running as the configured user. Avoid password prompts by not calling su.
- RUN_AS_USER=""
- fi
- fi
- if [ "X$RUN_AS_USER" != "X" ]
- then
- # If LOCKPROP and $RUN_AS_USER are defined then the new user will most likely not be
- # able to create the lock file. The Wrapper will be able to update this file once it
- # is created but will not be able to delete it on shutdown. If $2 is defined then
- # the lock file should be created for the current command
- if [ "X$LOCKPROP" != "X" ]
- then
- if [ "X$2" != "X" ]
- then
- # Resolve the primary group
- RUN_AS_GROUP=`groups $RUN_AS_USER | awk '{print $3}' | tail -1`
- if [ "X$RUN_AS_GROUP" = "X" ]
- then
- RUN_AS_GROUP=$RUN_AS_USER
- fi
- touch $LOCKFILE
- chown $RUN_AS_USER:$RUN_AS_GROUP $LOCKFILE
- fi
- fi
-
- # Still want to change users, recurse. This means that the user will only be
- # prompted for a password once.
- su -m $RUN_AS_USER -s /bin/sh -c "$REALPATH $1"
- RETVAL=$?
-
- # Now that we are the original user again, we may need to clean up the lock file.
- if [ "X$LOCKPROP" != "X" ]
- then
- getpid
- if [ "X$pid" = "X" ]
- then
- # Wrapper is not running so make sure the lock file is deleted.
- if [ -f $LOCKFILE ]
- then
- rm $LOCKFILE
- fi
- fi
- fi
-
- exit $RETVAL
- fi
-}
-
-getpid() {
- if [ -f $PIDFILE ]
- then
- if [ -r $PIDFILE ]
- then
- pid=`cat $PIDFILE`
- if [ "X$pid" != "X" ]
- then
- # It is possible that 'a' process with the pid exists but that it is not the
- # correct process. This can happen in a number of cases, but the most
- # common is during system startup after an unclean shutdown.
- # The ps statement below looks for the specific wrapper command running as
- # the pid. If it is not found then the pid file is considered to be stale.
- if [ "$DIST_OS" = "solaris" ]
- then
- pidtest=`$PSEXE -p $pid -o comm | grep $WRAPPER_CMD | tail -1`
- else
- pidtest=`$PSEXE -p $pid -o command | grep $WRAPPER_CMD | tail -1`
- fi
- if [ "X$pidtest" = "X" ]
- then
- # This is a stale pid file.
- rm -f $PIDFILE
- echo "Removed stale pid file: $PIDFILE"
- pid=""
- fi
- fi
- else
- echo "Cannot read $PIDFILE."
- exit 1
- fi
- fi
-}
-
-testpid() {
- pid=`$PSEXE -p $pid | grep $pid | grep -v grep | awk '{print $1}' | tail -1`
- if [ "X$pid" = "X" ]
- then
- # Process is gone so remove the pid file.
- rm -f $PIDFILE
- pid=""
- fi
-}
-
-console() {
- echo "Running $APP_LONG_NAME..."
- getpid
- if [ "X$pid" = "X" ]
- then
- COMMAND_LINE="$CMDNICE $WRAPPER_CMD $WRAPPER_CONF wrapper.syslog.ident=$APP_NAME wrapper.pidfile=$PIDFILE $ANCHORPROP $LOCKPROP"
- exec $COMMAND_LINE
- else
- echo "$APP_LONG_NAME is already running."
- exit 1
- fi
-}
-
-start() {
- echo "Starting $APP_LONG_NAME..."
- getpid
- if [ "X$pid" = "X" ]
- then
- if [ ! -d $DATADIR ]; then
- mkdir $DATADIR
- fi
- if [ ! -d $DATADIR/log ]; then
- mkdir $DATADIR/log
- fi
- COMMAND_LINE="$CMDNICE $WRAPPER_CMD $WRAPPER_CONF wrapper.syslog.ident=$APP_NAME wrapper.pidfile=$PIDFILE wrapper.daemonize=TRUE $ANCHORPROP $IGNOREPROP $LOCKPROP"
- exec $COMMAND_LINE
- else
- echo "$APP_LONG_NAME is already running."
- exit 1
- fi
-}
-
-stopit() {
- echo "Stopping $APP_LONG_NAME..."
- getpid
- if [ "X$pid" = "X" ]
- then
- echo "$APP_LONG_NAME was not running."
- else
- if [ "X$IGNORE_SIGNALS" = "X" ]
- then
- # Running so try to stop it.
- kill $pid
- if [ $? -ne 0 ]
- then
- # An explanation for the failure should have been given
- echo "Unable to stop $APP_LONG_NAME."
- exit 1
- fi
- else
- rm -f $ANCHORFILE
- if [ -f $ANCHORFILE ]
- then
- # An explanation for the failure should have been given
- echo "Unable to stop $APP_LONG_NAME."
- exit 1
- fi
- fi
-
- # We can not predict how long it will take for the wrapper to
- # actually stop as it depends on settings in wrapper.conf.
- # Loop until it does.
- savepid=$pid
- CNT=0
- TOTCNT=0
- while [ "X$pid" != "X" ]
- do
- # Show a waiting message every 5 seconds.
- if [ "$CNT" -lt "5" ]
- then
- CNT=`expr $CNT + 1`
- else
- echo "Waiting for $APP_LONG_NAME to exit..."
- CNT=0
- fi
- TOTCNT=`expr $TOTCNT + 1`
-
- sleep 1
-
- testpid
- done
-
- pid=$savepid
- testpid
- if [ "X$pid" != "X" ]
- then
- echo "Failed to stop $APP_LONG_NAME."
- exit 1
- else
- echo "Stopped $APP_LONG_NAME."
- fi
- fi
-}
-
-status() {
- getpid
- if [ "X$pid" = "X" ]
- then
- echo "$APP_LONG_NAME is not running."
- exit 1
- else
- echo "$APP_LONG_NAME is running ($pid)."
- exit 0
- fi
-}
-
-dump() {
- echo "Dumping $APP_LONG_NAME..."
- getpid
- if [ "X$pid" = "X" ]
- then
- echo "$APP_LONG_NAME was not running."
-
- else
- kill -3 $pid
-
- if [ $? -ne 0 ]
- then
- echo "Failed to dump $APP_LONG_NAME."
- exit 1
- else
- echo "Dumped $APP_LONG_NAME."
- fi
- fi
-}
-
-case "$1" in
-
- 'console')
- checkUser $1 touchlock
- console
- ;;
-
- 'start')
- checkUser $1 touchlock
- start
- ;;
-
- 'stop')
- checkUser $1
- stopit
- ;;
-
- 'restart')
- checkUser $1 touchlock
- stopit
- start
- ;;
-
- 'status')
- checkUser $1
- status
- ;;
-
- 'dump')
- checkUser $1
- dump
- ;;
-
- *)
- echo "Usage: $0 { console | start | stop | restart | status | dump }"
- exit 1
- ;;
-esac
-
-exit 0
diff --git a/tools/package/wrapper/bin/onos-wrapper b/tools/package/wrapper/bin/onos-wrapper
deleted file mode 100755
index 3128b95..0000000
--- a/tools/package/wrapper/bin/onos-wrapper
+++ /dev/null
Binary files differ
diff --git a/tools/package/wrapper/etc/onos-wrapper.conf b/tools/package/wrapper/etc/onos-wrapper.conf
deleted file mode 100644
index 6c6777b..0000000
--- a/tools/package/wrapper/etc/onos-wrapper.conf
+++ /dev/null
@@ -1,135 +0,0 @@
-# ------------------------------------------------------------------------
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# ------------------------------------------------------------------------
-
-#********************************************************************
-# Wrapper Properties
-#********************************************************************
-set.default.JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
-set.default.KARAF_HOME=/opt/onos/apache-karaf-3.0.1
-set.default.KARAF_BASE=/opt/onos/apache-karaf-3.0.1
-set.default.KARAF_DATA=/opt/onos/apache-karaf-3.0.1/data
-set.default.KARAF_ETC=/opt/onos/apache-karaf-3.0.1/etc
-
-# Java Application
-wrapper.working.dir=%KARAF_BASE%
-wrapper.java.command=%JAVA_HOME%/bin/java
-wrapper.java.mainclass=org.apache.karaf.wrapper.internal.Main
-wrapper.java.classpath.1=%KARAF_HOME%/lib/karaf-wrapper.jar
-wrapper.java.classpath.2=%KARAF_HOME%/lib/karaf.jar
-wrapper.java.classpath.3=%KARAF_HOME%/lib/karaf-jmx-boot.jar
-wrapper.java.classpath.4=%KARAF_HOME%/lib/karaf-jaas-boot.jar
-wrapper.java.classpath.5=%KARAF_HOME%/lib/karaf-wrapper-main.jar
-wrapper.java.classpath.6=%KARAF_HOME%/lib/karaf-org.osgi.core.jar
-wrapper.java.library.path.1=%KARAF_HOME%/lib/
-
-# Application Parameters. Add parameters as needed starting from 1
-#wrapper.app.parameter.1=
-
-# JVM Parameters
-# note that n is the parameter number starting from 1.
-wrapper.java.additional.1=-Dkaraf.home=%KARAF_HOME%
-wrapper.java.additional.2=-Dkaraf.base=%KARAF_BASE%
-wrapper.java.additional.3=-Dkaraf.data=%KARAF_DATA%
-wrapper.java.additional.4=-Dkaraf.etc=%KARAF_ETC%
-wrapper.java.additional.5=-Dcom.sun.management.jmxremote
-wrapper.java.additional.6=-Djavax.management.builder.initial=org.apache.karaf.management.boot.KarafMBeanServerBuilder
-wrapper.java.additional.7=-Dkaraf.startLocalConsole=false
-wrapper.java.additional.8=-Dkaraf.startRemoteShell=true
-wrapper.java.additional.9=-Djava.endorsed.dirs=%JAVA_HOME%/jre/lib/endorsed:%JAVA_HOME%/lib/endorsed:%KARAF_HOME%/lib/endorsed
-wrapper.java.additional.10=-Djava.ext.dirs=%JAVA_HOME%/jre/lib/ext:%JAVA_HOME%/lib/ext:%KARAF_HOME%/lib/ext
-
-# Uncomment to enable jmx
-#wrapper.java.additional.n=-Dcom.sun.management.jmxremote.port=1616
-#wrapper.java.additional.n=-Dcom.sun.management.jmxremote.authenticate=false
-#wrapper.java.additional.n=-Dcom.sun.management.jmxremote.ssl=false
-
-# Uncomment to enable YourKit profiling
-#wrapper.java.additional.n=-Xrunyjpagent
-
-# Uncomment to enable remote debugging
-#wrapper.java.additional.n=-Xdebug -Xnoagent -Djava.compiler=NONE
-#wrapper.java.additional.n=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
-
-# Initial Java Heap Size (in MB)
-#wrapper.java.initmemory=3
-
-# Maximum Java Heap Size (in MB)
-wrapper.java.maxmemory=512
-
-
-#********************************************************************
-# Wrapper Logging Properties
-#********************************************************************
-# Format of output for the console. (See docs for formats)
-wrapper.console.format=PM
-
-# Log Level for console output. (See docs for log levels)
-wrapper.console.loglevel=INFO
-
-# Log file to use for wrapper output logging.
-wrapper.logfile=%KARAF_DATA%/log/wrapper.log
-
-# Format of output for the log file. (See docs for formats)
-wrapper.logfile.format=LPTM
-
-# Log Level for log file output. (See docs for log levels)
-wrapper.logfile.loglevel=INFO
-
-# Maximum size that the log file will be allowed to grow to before
-# the log is rolled. Size is specified in bytes. The default value
-# of 0, disables log rolling. May abbreviate with the 'k' (kb) or
-# 'm' (mb) suffix. For example: 10m = 10 megabytes.
-wrapper.logfile.maxsize=10m
-
-# Maximum number of rolled log files which will be allowed before old
-# files are deleted. The default value of 0 implies no limit.
-wrapper.logfile.maxfiles=5
-
-# Log Level for sys/event log output. (See docs for log levels)
-wrapper.syslog.loglevel=NONE
-
-#********************************************************************
-# Wrapper Windows Properties
-#********************************************************************
-# Title to use when running as a console
-wrapper.console.title=onos
-
-#********************************************************************
-# Wrapper Windows NT/2000/XP Service Properties
-#********************************************************************
-# WARNING - Do not modify any of these properties when an application
-# using this configuration file has been installed as a service.
-# Please uninstall the service before modifying this section. The
-# service can then be reinstalled.
-
-# Name of the service
-wrapper.ntservice.name=onos
-
-# Display name of the service
-wrapper.ntservice.displayname=onos
-
-# Description of the service
-wrapper.ntservice.description=ONOS
-
-# Service dependencies. Add dependencies as needed starting from 1
-wrapper.ntservice.dependency.1=
-
-# Mode in which the service is installed. AUTO_START or DEMAND_START
-wrapper.ntservice.starttype=AUTO_START
-
-# Allow the service to interact with the desktop.
-wrapper.ntservice.interactive=false
diff --git a/tools/package/wrapper/lib/karaf-wrapper.jar b/tools/package/wrapper/lib/karaf-wrapper.jar
deleted file mode 100644
index 4db355b..0000000
--- a/tools/package/wrapper/lib/karaf-wrapper.jar
+++ /dev/null
Binary files differ
diff --git a/tools/package/wrapper/lib/libwrapper.so b/tools/package/wrapper/lib/libwrapper.so
deleted file mode 100644
index 24197bf..0000000
--- a/tools/package/wrapper/lib/libwrapper.so
+++ /dev/null
Binary files differ
diff --git a/tools/test/bin/onos-config b/tools/test/bin/onos-config
index 8730b4a..11e7349 100755
--- a/tools/test/bin/onos-config
+++ b/tools/test/bin/onos-config
@@ -12,9 +12,6 @@
onos=$ONOS_INSTALL_DIR/bin/onos
ssh $remote "
- echo 'Starting...'
- nohup $ONOS_INSTALL_DIR/bin/onos-ctl server </dev/null | 1>/opt/onos/svc.log 2>&1 &
-
# Wait until we reach the run-level 100
echo 'Waiting for cluster bootstrap...'
running=""
@@ -22,29 +19,13 @@
$onos bundle:list 2>>$LOG | grep -q 'START LEVEL 100' && running=1 || sleep 2
done
- # Now create group onos and join it, while quitting the default one
- if ! $onos cluster:group-list 2>>$LOG | cut -d \\ -f3 | grep -q onos; then
- echo 'Creating ONOS group...'
- installRole=primary
- $onos cluster:group-create onos 1>>$LOG 2>&1
- fi
-
- echo 'Configuring group membership...'
- node=\$($onos cluster:node-list 2>>$LOG | grep '^x' | cut -d \\ -f3)
- $onos cluster:group-join onos \$node 1>>$LOG 2>&1
- $onos cluster:group-quit default \$node 1>>$LOG 2>&1
-
- if [ X\$installRole = Xprimary ]; then
- echo 'Installing ONOS bundles...'
- $onos cluster:feature-install onos onos-api 1>>$LOG 2>&1
- $onos cluster:feature-install onos onos-core 1>>$LOG 2>&1
- $onos cluster:feature-install onos onos-openflow 1>>$LOG 2>&1
- $onos cluster:feature-install onos onos-cli 1>>$LOG 2>&1
- # $onos cluster:feature-install onos onos-gui 1>>$LOG 2>&1
- # $onos cluster:feature-install onos onos-rest 1>>$LOG 2>&1
- $onos cluster:feature-install onos onos-app-tvue 1>>$LOG 2>&1
- $onos cluster:feature-install onos onos-app-fwd 1>>$LOG 2>&1
- fi
-
- echo 'Started...'
+ echo 'Installing ONOS bundles...'
+ $onos cluster:feature-install default onos-api 1>>$LOG 2>&1
+ $onos cluster:feature-install default onos-core 1>>$LOG 2>&1
+ $onos cluster:feature-install default onos-openflow 1>>$LOG 2>&1
+ $onos cluster:feature-install default onos-cli 1>>$LOG 2>&1
+ # $onos cluster:feature-install default onos-gui 1>>$LOG 2>&1
+ # $onos cluster:feature-install default onos-rest 1>>$LOG 2>&1
+ $onos cluster:feature-install default onos-app-tvue 1>>$LOG 2>&1
+ $onos cluster:feature-install default onos-app-fwd 1>>$LOG 2>&1
"
diff --git a/tools/test/bin/onos-install b/tools/test/bin/onos-install
index 3956541..6454ee0 100755
--- a/tools/test/bin/onos-install
+++ b/tools/test/bin/onos-install
@@ -20,6 +20,13 @@
sudo mkdir -p $ONOS_INSTALL_DIR && sudo chown sdn:sdn $ONOS_INSTALL_DIR
tar zxmf /tmp/$ONOS_BITS.tar.gz -C $ONOS_INSTALL_DIR --strip-components=1
- # Make a link to the log file directory.
+ # Make a link to the log file directory and make a home for auxiliaries
ln -s $ONOS_INSTALL_DIR/$KARAF_DIST/data/log /opt/onos/log
+ mkdir $ONOS_INSTALL_DIR/var
+
+ # Install the upstart configuration file.
+ sudo cp $ONOS_INSTALL_DIR/debian/onos.conf /etc/init/onos.conf
+
+ # Ignite the ONOS service.
+ sudo service onos start
"
diff --git a/tools/test/bin/onos-uninstall b/tools/test/bin/onos-uninstall
index a535c0a..bfc3b48 100755
--- a/tools/test/bin/onos-uninstall
+++ b/tools/test/bin/onos-uninstall
@@ -9,6 +9,7 @@
remote=$ONOS_USER@${1:-$OCI}
ssh $remote "
+ sudo service onos stop 1>/dev/null 2>/dev/null
[ -f $ONOS_INSTALL_DIR/bin/onos ] && \
$ONOS_INSTALL_DIR/bin/onos halt 2>/dev/null
sudo rm -fr $ONOS_INSTALL_DIR