Thomas Vachuska

Tweaked packaging and related assets in preparation for Karaf 3.0.2

...@@ -5,8 +5,9 @@ export ONOS_ROOT=${ONOS_ROOT:-~/onos-next} ...@@ -5,8 +5,9 @@ export ONOS_ROOT=${ONOS_ROOT:-~/onos-next}
5 5
6 # M2 repository and Karaf gold bits 6 # M2 repository and Karaf gold bits
7 export M2_REPO=${M2_REPO:-~/.m2/repository} 7 export M2_REPO=${M2_REPO:-~/.m2/repository}
8 -export KARAF_ZIP=${KARAF_ZIP:-~/Downloads/apache-karaf-3.0.1.zip} 8 +export KARAF_VERSION=${KARAF_VERSION:-3.0.1}
9 -export KARAF_TAR=${KARAF_TAR:-~/Downloads/apache-karaf-3.0.1.tar.gz} 9 +export KARAF_ZIP=${KARAF_ZIP:-~/Downloads/apache-karaf-$KARAF_VERSION.zip}
10 +export KARAF_TAR=${KARAF_TAR:-~/Downloads/apache-karaf-$KARAF_VERSION.tar.gz}
10 export KARAF_DIST=$(basename $KARAF_ZIP .zip) 11 export KARAF_DIST=$(basename $KARAF_ZIP .zip)
11 12
12 # Add ONOS-specific directories to the exectable PATH 13 # Add ONOS-specific directories to the exectable PATH
......
...@@ -13,13 +13,23 @@ rm -fr $ONOS_STAGE # Remove this when package script is completed ...@@ -13,13 +13,23 @@ rm -fr $ONOS_STAGE # Remove this when package script is completed
13 13
14 # Make sure we have the original apache karaf bits first 14 # Make sure we have the original apache karaf bits first
15 [ ! -d $M2_REPO ] && echo "M2 repository $M2_REPO not found" && exit 1 15 [ ! -d $M2_REPO ] && echo "M2 repository $M2_REPO not found" && exit 1
16 -[ ! -f $KARAF_ZIP -a ! -f $KARAF_TAR ] && echo "Apache Karaf bits $KARAF_ZIP or $KARAF_TAR not found" && exit 1
17 [ -d $ONOS_STAGE ] && echo "ONOS stage $ONOS_STAGE already exists" && exit 1 16 [ -d $ONOS_STAGE ] && echo "ONOS stage $ONOS_STAGE already exists" && exit 1
18 17
19 # Create the stage directory and warp into it 18 # Create the stage directory and warp into it
20 mkdir -p $ONOS_STAGE 19 mkdir -p $ONOS_STAGE
21 cd $ONOS_STAGE 20 cd $ONOS_STAGE
22 21
22 +# Check if Apache Karaf bits are available and if not, fetch them.
23 +if [ ! -f $KARAF_ZIP -a ! -f $KARAF_TAR ]; then
24 + echo "Downloading $KARAF_TAR..."
25 + karafURL=$(curl -s http://www.apache.org/dyn/closer.cgi/karaf/$KARAF_VERSION/apache-karaf-$KARAF_VERSION.tar.gz |
26 + grep "<a href=\".*apache-karaf-$KARAF_VERSION.tar.gz\"" |
27 + head -n 1 | sed 's/.*<a href="//g;s/".*//g')
28 + curl -s $karafURL > $KARAF_TAR
29 +fi
30 +[ ! -f $KARAF_ZIP -a ! -f $KARAF_TAR ] && \
31 + echo "Apache Karaf bits $KARAF_ZIP or $KARAF_TAR not found" && exit 1
32 +
23 # Unroll the Apache Karaf bits, prune them and make ONOS top-level directories. 33 # Unroll the Apache Karaf bits, prune them and make ONOS top-level directories.
24 [ -f $KARAF_ZIP ] && unzip -q $KARAF_ZIP && rm -rf $KARAF_DIST/demos 34 [ -f $KARAF_ZIP ] && unzip -q $KARAF_ZIP && rm -rf $KARAF_DIST/demos
25 [ -f $KARAF_TAR ] && tar zxf $KARAF_TAR && rm -rf $KARAF_DIST/demos 35 [ -f $KARAF_TAR ] && tar zxf $KARAF_TAR && rm -rf $KARAF_DIST/demos
...@@ -28,7 +38,13 @@ mkdir bin ...@@ -28,7 +38,13 @@ mkdir bin
28 # Stage the ONOS admin scripts and patch in Karaf service wrapper extras 38 # Stage the ONOS admin scripts and patch in Karaf service wrapper extras
29 cp -r $ONOS_ROOT/tools/package/bin . 39 cp -r $ONOS_ROOT/tools/package/bin .
30 cp -r $ONOS_ROOT/tools/package/debian $ONOS_STAGE/debian 40 cp -r $ONOS_ROOT/tools/package/debian $ONOS_STAGE/debian
31 -cp -r $ONOS_ROOT/tools/package/etc/* $KARAF_DIST/etc 41 +cp -r $ONOS_ROOT/tools/package/etc/* $ONOS_STAGE/$KARAF_DIST/etc
42 +
43 +# Patch-in proper Karaf version into the startup script.
44 +sed "s/\$KARAF_VERSION/$KARAF_VERSION/g" \
45 + $ONOS_ROOT/tools/package/bin/onos-service > bin/onos-service
46 +sed "s/\$KARAF_VERSION/$KARAF_VERSION/g" \
47 + $ONOS_ROOT/tools/package/bin/onos > bin/onos
32 48
33 # Stage the ONOS bundles 49 # Stage the ONOS bundles
34 mkdir -p $KARAF_DIST/system/org/onlab 50 mkdir -p $KARAF_DIST/system/org/onlab
...@@ -36,16 +52,6 @@ cp -r $M2_REPO/org/onlab $KARAF_DIST/system/org/ ...@@ -36,16 +52,6 @@ cp -r $M2_REPO/org/onlab $KARAF_DIST/system/org/
36 52
37 export ONOS_FEATURES="${ONOS_FEATURES:-webconsole,onos-api,onos-core,onos-cli,onos-rest,onos-gui,onos-openflow,onos-app-fwd,onos-app-foo}" 53 export ONOS_FEATURES="${ONOS_FEATURES:-webconsole,onos-api,onos-core,onos-cli,onos-rest,onos-gui,onos-openflow,onos-app-fwd,onos-app-foo}"
38 54
39 -# Cellar Patching --------------------------------------------------------------
40 -
41 -# Patch the Apache Karaf distribution file to add Cellar features repository
42 -#perl -pi.old -e "s|^(featuresRepositories=.*)|\1,mvn:org.apache.karaf.cellar/apache-karaf-cellar/3.0.0/xml/features|" \
43 -# $ONOS_STAGE/$KARAF_DIST/etc/org.apache.karaf.features.cfg
44 -
45 -# Patch the Apache Karaf distribution file to load ONOS features
46 -#perl -pi.old -e 's|^(featuresBoot=.*)|\1,cellar|' \
47 -# $ONOS_STAGE/$KARAF_DIST/etc/org.apache.karaf.features.cfg
48 -
49 # ONOS Patching ---------------------------------------------------------------- 55 # ONOS Patching ----------------------------------------------------------------
50 56
51 # Patch the Apache Karaf distribution file to add ONOS features repository 57 # Patch the Apache Karaf distribution file to add ONOS features repository
......
...@@ -9,6 +9,8 @@ ...@@ -9,6 +9,8 @@
9 nodes=$(env | sort | egrep "OC[0-9]+" | cut -d= -f2) 9 nodes=$(env | sort | egrep "OC[0-9]+" | cut -d= -f2)
10 10
11 onos-package 11 onos-package
12 +onos-verify-cell || exit 1
13 +
12 for node in $nodes; do onos-install -f $node 1>/dev/null & done 14 for node in $nodes; do onos-install -f $node 1>/dev/null & done
13 15
14 # Wait for shutdown before waiting for restart 16 # Wait for shutdown before waiting for restart
......
...@@ -5,5 +5,5 @@ ...@@ -5,5 +5,5 @@
5 5
6 export JAVA_HOME=${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-$KARAF_VERSION/bin
9 ./client -h localhost "$@" 9 ./client -h localhost "$@"
......
...@@ -7,4 +7,4 @@ export JAVA_HOME=${JAVA_HOME:-/usr/lib/jvm/java-7-openjdk-amd64/} ...@@ -7,4 +7,4 @@ export JAVA_HOME=${JAVA_HOME:-/usr/lib/jvm/java-7-openjdk-amd64/}
7 export JAVA_OPTS="-Xms256M -Xmx2048M" 7 export JAVA_OPTS="-Xms256M -Xmx2048M"
8 8
9 cd /opt/onos 9 cd /opt/onos
10 -/opt/onos/apache-karaf-3.0.1/bin/karaf "$@" 10 +/opt/onos/apache-karaf-$KARAF_VERSION/bin/karaf "$@"
......