tom

Fixing remote install; now starting as upstart daemon.

...@@ -26,7 +26,7 @@ mkdir bin ...@@ -26,7 +26,7 @@ mkdir bin
26 26
27 # Stage the ONOS admin scripts and patch in Karaf service wrapper extras 27 # Stage the ONOS admin scripts and patch in Karaf service wrapper extras
28 cp -r $ONOS_ROOT/tools/package/bin . 28 cp -r $ONOS_ROOT/tools/package/bin .
29 -cp -r $ONOS_ROOT/tools/package/wrapper/* $KARAF_DIST 29 +cp -r $ONOS_ROOT/tools/package/debian $ONOS_STAGE/debian
30 cp -r $ONOS_ROOT/tools/package/etc/* $KARAF_DIST/etc 30 cp -r $ONOS_ROOT/tools/package/etc/* $KARAF_DIST/etc
31 31
32 # Stage the ONOS bundles 32 # Stage the ONOS bundles
...@@ -40,7 +40,7 @@ perl -pi.old -e "s|^(featuresRepositories=.*)|\1,mvn:org.apache.karaf.cellar/apa ...@@ -40,7 +40,7 @@ perl -pi.old -e "s|^(featuresRepositories=.*)|\1,mvn:org.apache.karaf.cellar/apa
40 $ONOS_STAGE/$KARAF_DIST/etc/org.apache.karaf.features.cfg 40 $ONOS_STAGE/$KARAF_DIST/etc/org.apache.karaf.features.cfg
41 41
42 # Patch the Apache Karaf distribution file to load ONOS features 42 # Patch the Apache Karaf distribution file to load ONOS features
43 -perl -pi.old -e 's|^(featuresBoot=.*)|\1,wrapper,cellar|' \ 43 +perl -pi.old -e 's|^(featuresBoot=.*)|\1,cellar|' \
44 $ONOS_STAGE/$KARAF_DIST/etc/org.apache.karaf.features.cfg 44 $ONOS_STAGE/$KARAF_DIST/etc/org.apache.karaf.features.cfg
45 45
46 # ONOS Patching ---------------------------------------------------------------- 46 # ONOS Patching ----------------------------------------------------------------
...@@ -49,15 +49,10 @@ perl -pi.old -e 's|^(featuresBoot=.*)|\1,wrapper,cellar|' \ ...@@ -49,15 +49,10 @@ perl -pi.old -e 's|^(featuresBoot=.*)|\1,wrapper,cellar|' \
49 perl -pi.old -e "s|^(featuresRepositories=.*)|\1,mvn:org.onlab.onos/onos-features/$ONOS_VERSION/xml/features|" \ 49 perl -pi.old -e "s|^(featuresRepositories=.*)|\1,mvn:org.onlab.onos/onos-features/$ONOS_VERSION/xml/features|" \
50 $ONOS_STAGE/$KARAF_DIST/etc/org.apache.karaf.features.cfg 50 $ONOS_STAGE/$KARAF_DIST/etc/org.apache.karaf.features.cfg
51 51
52 -# Patch the Apache Karaf distribution file to load ONOS features
53 -#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|' \
54 -# $ONOS_STAGE/$KARAF_DIST/etc/org.apache.karaf.features.cfg
55 -
56 # Patch the Apache Karaf distribution with ONOS branding bundle 52 # Patch the Apache Karaf distribution with ONOS branding bundle
57 cp $M2_REPO/org/onlab/onos/onos-branding/$ONOS_VERSION/onos-branding-*.jar \ 53 cp $M2_REPO/org/onlab/onos/onos-branding/$ONOS_VERSION/onos-branding-*.jar \
58 $ONOS_STAGE/$KARAF_DIST/lib 54 $ONOS_STAGE/$KARAF_DIST/lib
59 55
60 -
61 # Now package up the ONOS tar file 56 # Now package up the ONOS tar file
62 cd $ONOS_STAGE_ROOT 57 cd $ONOS_STAGE_ROOT
63 COPYFILE_DISABLE=1 tar zcf $ONOS_TAR $ONOS_BITS 58 COPYFILE_DISABLE=1 tar zcf $ONOS_TAR $ONOS_BITS
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
3 # ONOS command-line client 3 # ONOS command-line client
4 #------------------------------------------------------------------------------- 4 #-------------------------------------------------------------------------------
5 5
6 -export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/ 6 +export JAVA_HOME=${JAVA_HOME:-/usr/lib/jvm/java-7-openjdk-amd64/}
7 7
8 cd $(dirname $0)/../apache-karaf-*/bin 8 cd $(dirname $0)/../apache-karaf-*/bin
9 ./client -h localhost "$@" 9 ./client -h localhost "$@"
......
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
3 # Starts ONOS Apache Karaf container 3 # Starts ONOS Apache Karaf container
4 #------------------------------------------------------------------------------- 4 #-------------------------------------------------------------------------------
5 5
6 -export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/ 6 +export JAVA_HOME=${JAVA_HOME:-/usr/lib/jvm/java-7-openjdk-amd64/}
7 7
8 -cd $(dirname $0)/../apache-karaf-*/bin 8 +cd /opt/onos
9 -./karaf "$@" 9 +/opt/onos/apache-karaf-3.0.1/bin/karaf "$@"
10 10
......
1 +description "Open Networking Operating System"
2 +author "ON.Lab"
3 +
4 +start on (net-device-up
5 + and local-filesystems
6 + and runlevel [2345])
7 +stop on runlevel [016]
8 +
9 +console output
10 +kill timeout 60
11 +respawn
12 +
13 +env LANG=en_US.UTF-8
14 +env JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
15 +
16 +script
17 + [ -f /opt/onos/options ] && . /opt/onos/options
18 + start-stop-daemon --signal INT --start --chuid sdn \
19 + --exec /opt/onos/bin/onos-ctl -- $ONOS_OPTS \
20 + >/opt/onos/var/stdout.log 2>/opt/onos/var/stderr.log
21 +end script
This diff is collapsed. Click to expand it.
No preview for this file type
1 -# ------------------------------------------------------------------------
2 -# Licensed to the Apache Software Foundation (ASF) under one or more
3 -# contributor license agreements. See the NOTICE file distributed with
4 -# this work for additional information regarding copyright ownership.
5 -# The ASF licenses this file to You under the Apache License, Version 2.0
6 -# (the "License"); you may not use this file except in compliance with
7 -# the License. You may obtain a copy of the License at
8 -#
9 -# http://www.apache.org/licenses/LICENSE-2.0
10 -#
11 -# Unless required by applicable law or agreed to in writing, software
12 -# distributed under the License is distributed on an "AS IS" BASIS,
13 -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 -# See the License for the specific language governing permissions and
15 -# limitations under the License.
16 -# ------------------------------------------------------------------------
17 -
18 -#********************************************************************
19 -# Wrapper Properties
20 -#********************************************************************
21 -set.default.JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
22 -set.default.KARAF_HOME=/opt/onos/apache-karaf-3.0.1
23 -set.default.KARAF_BASE=/opt/onos/apache-karaf-3.0.1
24 -set.default.KARAF_DATA=/opt/onos/apache-karaf-3.0.1/data
25 -set.default.KARAF_ETC=/opt/onos/apache-karaf-3.0.1/etc
26 -
27 -# Java Application
28 -wrapper.working.dir=%KARAF_BASE%
29 -wrapper.java.command=%JAVA_HOME%/bin/java
30 -wrapper.java.mainclass=org.apache.karaf.wrapper.internal.Main
31 -wrapper.java.classpath.1=%KARAF_HOME%/lib/karaf-wrapper.jar
32 -wrapper.java.classpath.2=%KARAF_HOME%/lib/karaf.jar
33 -wrapper.java.classpath.3=%KARAF_HOME%/lib/karaf-jmx-boot.jar
34 -wrapper.java.classpath.4=%KARAF_HOME%/lib/karaf-jaas-boot.jar
35 -wrapper.java.classpath.5=%KARAF_HOME%/lib/karaf-wrapper-main.jar
36 -wrapper.java.classpath.6=%KARAF_HOME%/lib/karaf-org.osgi.core.jar
37 -wrapper.java.library.path.1=%KARAF_HOME%/lib/
38 -
39 -# Application Parameters. Add parameters as needed starting from 1
40 -#wrapper.app.parameter.1=
41 -
42 -# JVM Parameters
43 -# note that n is the parameter number starting from 1.
44 -wrapper.java.additional.1=-Dkaraf.home=%KARAF_HOME%
45 -wrapper.java.additional.2=-Dkaraf.base=%KARAF_BASE%
46 -wrapper.java.additional.3=-Dkaraf.data=%KARAF_DATA%
47 -wrapper.java.additional.4=-Dkaraf.etc=%KARAF_ETC%
48 -wrapper.java.additional.5=-Dcom.sun.management.jmxremote
49 -wrapper.java.additional.6=-Djavax.management.builder.initial=org.apache.karaf.management.boot.KarafMBeanServerBuilder
50 -wrapper.java.additional.7=-Dkaraf.startLocalConsole=false
51 -wrapper.java.additional.8=-Dkaraf.startRemoteShell=true
52 -wrapper.java.additional.9=-Djava.endorsed.dirs=%JAVA_HOME%/jre/lib/endorsed:%JAVA_HOME%/lib/endorsed:%KARAF_HOME%/lib/endorsed
53 -wrapper.java.additional.10=-Djava.ext.dirs=%JAVA_HOME%/jre/lib/ext:%JAVA_HOME%/lib/ext:%KARAF_HOME%/lib/ext
54 -
55 -# Uncomment to enable jmx
56 -#wrapper.java.additional.n=-Dcom.sun.management.jmxremote.port=1616
57 -#wrapper.java.additional.n=-Dcom.sun.management.jmxremote.authenticate=false
58 -#wrapper.java.additional.n=-Dcom.sun.management.jmxremote.ssl=false
59 -
60 -# Uncomment to enable YourKit profiling
61 -#wrapper.java.additional.n=-Xrunyjpagent
62 -
63 -# Uncomment to enable remote debugging
64 -#wrapper.java.additional.n=-Xdebug -Xnoagent -Djava.compiler=NONE
65 -#wrapper.java.additional.n=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
66 -
67 -# Initial Java Heap Size (in MB)
68 -#wrapper.java.initmemory=3
69 -
70 -# Maximum Java Heap Size (in MB)
71 -wrapper.java.maxmemory=512
72 -
73 -
74 -#********************************************************************
75 -# Wrapper Logging Properties
76 -#********************************************************************
77 -# Format of output for the console. (See docs for formats)
78 -wrapper.console.format=PM
79 -
80 -# Log Level for console output. (See docs for log levels)
81 -wrapper.console.loglevel=INFO
82 -
83 -# Log file to use for wrapper output logging.
84 -wrapper.logfile=%KARAF_DATA%/log/wrapper.log
85 -
86 -# Format of output for the log file. (See docs for formats)
87 -wrapper.logfile.format=LPTM
88 -
89 -# Log Level for log file output. (See docs for log levels)
90 -wrapper.logfile.loglevel=INFO
91 -
92 -# Maximum size that the log file will be allowed to grow to before
93 -# the log is rolled. Size is specified in bytes. The default value
94 -# of 0, disables log rolling. May abbreviate with the 'k' (kb) or
95 -# 'm' (mb) suffix. For example: 10m = 10 megabytes.
96 -wrapper.logfile.maxsize=10m
97 -
98 -# Maximum number of rolled log files which will be allowed before old
99 -# files are deleted. The default value of 0 implies no limit.
100 -wrapper.logfile.maxfiles=5
101 -
102 -# Log Level for sys/event log output. (See docs for log levels)
103 -wrapper.syslog.loglevel=NONE
104 -
105 -#********************************************************************
106 -# Wrapper Windows Properties
107 -#********************************************************************
108 -# Title to use when running as a console
109 -wrapper.console.title=onos
110 -
111 -#********************************************************************
112 -# Wrapper Windows NT/2000/XP Service Properties
113 -#********************************************************************
114 -# WARNING - Do not modify any of these properties when an application
115 -# using this configuration file has been installed as a service.
116 -# Please uninstall the service before modifying this section. The
117 -# service can then be reinstalled.
118 -
119 -# Name of the service
120 -wrapper.ntservice.name=onos
121 -
122 -# Display name of the service
123 -wrapper.ntservice.displayname=onos
124 -
125 -# Description of the service
126 -wrapper.ntservice.description=ONOS
127 -
128 -# Service dependencies. Add dependencies as needed starting from 1
129 -wrapper.ntservice.dependency.1=
130 -
131 -# Mode in which the service is installed. AUTO_START or DEMAND_START
132 -wrapper.ntservice.starttype=AUTO_START
133 -
134 -# Allow the service to interact with the desktop.
135 -wrapper.ntservice.interactive=false
...@@ -12,9 +12,6 @@ LOG=$ONOS_INSTALL_DIR/config.log ...@@ -12,9 +12,6 @@ LOG=$ONOS_INSTALL_DIR/config.log
12 onos=$ONOS_INSTALL_DIR/bin/onos 12 onos=$ONOS_INSTALL_DIR/bin/onos
13 13
14 ssh $remote " 14 ssh $remote "
15 - echo 'Starting...'
16 - nohup $ONOS_INSTALL_DIR/bin/onos-ctl server </dev/null | 1>/opt/onos/svc.log 2>&1 &
17 -
18 # Wait until we reach the run-level 100 15 # Wait until we reach the run-level 100
19 echo 'Waiting for cluster bootstrap...' 16 echo 'Waiting for cluster bootstrap...'
20 running="" 17 running=""
...@@ -22,29 +19,13 @@ ssh $remote " ...@@ -22,29 +19,13 @@ ssh $remote "
22 $onos bundle:list 2>>$LOG | grep -q 'START LEVEL 100' && running=1 || sleep 2 19 $onos bundle:list 2>>$LOG | grep -q 'START LEVEL 100' && running=1 || sleep 2
23 done 20 done
24 21
25 - # Now create group onos and join it, while quitting the default one
26 - if ! $onos cluster:group-list 2>>$LOG | cut -d \\ -f3 | grep -q onos; then
27 - echo 'Creating ONOS group...'
28 - installRole=primary
29 - $onos cluster:group-create onos 1>>$LOG 2>&1
30 - fi
31 -
32 - echo 'Configuring group membership...'
33 - node=\$($onos cluster:node-list 2>>$LOG | grep '^x' | cut -d \\ -f3)
34 - $onos cluster:group-join onos \$node 1>>$LOG 2>&1
35 - $onos cluster:group-quit default \$node 1>>$LOG 2>&1
36 -
37 - if [ X\$installRole = Xprimary ]; then
38 echo 'Installing ONOS bundles...' 22 echo 'Installing ONOS bundles...'
39 - $onos cluster:feature-install onos onos-api 1>>$LOG 2>&1 23 + $onos cluster:feature-install default onos-api 1>>$LOG 2>&1
40 - $onos cluster:feature-install onos onos-core 1>>$LOG 2>&1 24 + $onos cluster:feature-install default onos-core 1>>$LOG 2>&1
41 - $onos cluster:feature-install onos onos-openflow 1>>$LOG 2>&1 25 + $onos cluster:feature-install default onos-openflow 1>>$LOG 2>&1
42 - $onos cluster:feature-install onos onos-cli 1>>$LOG 2>&1 26 + $onos cluster:feature-install default onos-cli 1>>$LOG 2>&1
43 - # $onos cluster:feature-install onos onos-gui 1>>$LOG 2>&1 27 + # $onos cluster:feature-install default onos-gui 1>>$LOG 2>&1
44 - # $onos cluster:feature-install onos onos-rest 1>>$LOG 2>&1 28 + # $onos cluster:feature-install default onos-rest 1>>$LOG 2>&1
45 - $onos cluster:feature-install onos onos-app-tvue 1>>$LOG 2>&1 29 + $onos cluster:feature-install default onos-app-tvue 1>>$LOG 2>&1
46 - $onos cluster:feature-install onos onos-app-fwd 1>>$LOG 2>&1 30 + $onos cluster:feature-install default onos-app-fwd 1>>$LOG 2>&1
47 - fi
48 -
49 - echo 'Started...'
50 " 31 "
......
...@@ -20,6 +20,13 @@ ssh $remote " ...@@ -20,6 +20,13 @@ ssh $remote "
20 sudo mkdir -p $ONOS_INSTALL_DIR && sudo chown sdn:sdn $ONOS_INSTALL_DIR 20 sudo mkdir -p $ONOS_INSTALL_DIR && sudo chown sdn:sdn $ONOS_INSTALL_DIR
21 tar zxmf /tmp/$ONOS_BITS.tar.gz -C $ONOS_INSTALL_DIR --strip-components=1 21 tar zxmf /tmp/$ONOS_BITS.tar.gz -C $ONOS_INSTALL_DIR --strip-components=1
22 22
23 - # Make a link to the log file directory. 23 + # Make a link to the log file directory and make a home for auxiliaries
24 ln -s $ONOS_INSTALL_DIR/$KARAF_DIST/data/log /opt/onos/log 24 ln -s $ONOS_INSTALL_DIR/$KARAF_DIST/data/log /opt/onos/log
25 + mkdir $ONOS_INSTALL_DIR/var
26 +
27 + # Install the upstart configuration file.
28 + sudo cp $ONOS_INSTALL_DIR/debian/onos.conf /etc/init/onos.conf
29 +
30 + # Ignite the ONOS service.
31 + sudo service onos start
25 " 32 "
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
9 remote=$ONOS_USER@${1:-$OCI} 9 remote=$ONOS_USER@${1:-$OCI}
10 10
11 ssh $remote " 11 ssh $remote "
12 + sudo service onos stop 1>/dev/null 2>/dev/null
12 [ -f $ONOS_INSTALL_DIR/bin/onos ] && \ 13 [ -f $ONOS_INSTALL_DIR/bin/onos ] && \
13 $ONOS_INSTALL_DIR/bin/onos halt 2>/dev/null 14 $ONOS_INSTALL_DIR/bin/onos halt 2>/dev/null
14 sudo rm -fr $ONOS_INSTALL_DIR 15 sudo rm -fr $ONOS_INSTALL_DIR
......