e892f21984cec0672f8450491697cd1727cad40b
[releng/builder.git] / jjb / integration / include-raw-integration-deploy-controller-offline.sh
1 CONTROLLERMEM="3072m"
2 ACTUALFEATURES="odl-integration-all"
3
4 echo "Kill any controller running"
5 ps axf | grep karaf | grep -v grep | awk '{print "kill -9 " $1}' | sh
6
7 echo "Clean workspace"
8 rm -rf *
9
10 echo "Downloading the distribution..."
11 wget --no-verbose  ${ACTUALBUNDLEURL}
12
13 echo "Extracting the new controller..."
14 unzip -q ${BUNDLE}
15
16 echo "Configuring the startup features..."
17 FEATURESCONF=${WORKSPACE}/${BUNDLEFOLDER}/etc/org.apache.karaf.features.cfg
18 sed -ie "s%mvn:org.opendaylight.integration/features-integration-index/${BUNDLEVERSION}/xml/features%mvn:org.opendaylight.integration/features-integration-index/${BUNDLEVERSION}/xml/features,mvn:org.opendaylight.integration/features-integration-test/${BUNDLEVERSION}/xml/features%g" ${FEATURESCONF}
19 cat ${FEATURESCONF}
20
21 echo "Configuring the log..."
22 LOGCONF=${WORKSPACE}/${BUNDLEFOLDER}/etc/org.ops4j.pax.logging.cfg
23 sed -ie 's/log4j.appender.out.maxBackupIndex=10/log4j.appender.out.maxBackupIndex=1/g' ${LOGCONF}
24 # FIXME: Make log size limit configurable from build parameter.
25 sed -ie 's/log4j.appender.out.maxFileSize=1MB/log4j.appender.out.maxFileSize=100GB/g' ${LOGCONF}
26 cat ${LOGCONF}
27
28 echo "Configure the repos..."
29 REPOCONF=${WORKSPACE}/${BUNDLEFOLDER}/etc/org.ops4j.pax.url.mvn.cfg
30 sed -ie '/http/d' ${REPOCONF}
31 sed -ie '$s/...$//' ${REPOCONF}
32 cat ${REPOCONF}
33
34 echo "Configure max memory..."
35 MEMCONF=${WORKSPACE}/${BUNDLEFOLDER}/bin/setenv
36 sed -ie "s/2048m/${CONTROLLERMEM}/g" ${MEMCONF}
37 cat ${MEMCONF}
38
39 if [ ${JDKVERSION} == 'openjdk8' ]; then
40     echo "Setting the JRE Version to 8"
41     # dynamic_verify does not allow sudo, JAVA_HOME should be enough for karaf start.
42     # sudo /usr/sbin/alternatives --set java /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.60-2.b27.el7_1.x86_64/jre/bin/java
43     export JAVA_HOME=/usr/lib/jvm/java-1.8.0
44 elif [ ${JDKVERSION} == 'openjdk7' ]; then
45     echo "Setting the JRE Version to 7"
46     # dynamic_verify does not allow sudo, JAVA_HOME should be enough for karaf start.
47     # sudo /usr/sbin/alternatives --set java /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.85-2.6.1.2.el7_1.x86_64/jre/bin/java
48     export JAVA_HOME=/usr/lib/jvm/java-1.7.0
49 fi
50 readlink -e "${JAVA_HOME}/bin/java"
51 echo "Default JDK Version, JAVA_HOME should override"
52 java -version
53
54 echo "Starting controller..."
55 ${WORKSPACE}/${BUNDLEFOLDER}/bin/start
56
57 echo "sleeping for 10 seconds..."
58 sleep 10
59
60 echo "Installing all features..."
61 sshpass -p karaf ${WORKSPACE}/${BUNDLEFOLDER}/bin/client -u karaf "feature:install ${ACTUALFEATURES}" || echo $? > ${WORKSPACE}/error.txt
62
63 echo "dumping first 500K bytes of karaf log..."
64 head --bytes=500K "${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf.log" > "karaf.log"
65 echo "dumping last 500K bytes of karaf log..."
66 tail --bytes=500K "${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf.log" > "karaf.log"
67 # TODO: Do we want different name for karaf.log chunk to signal it may be not complete?
68 echo "killing karaf process..."
69 ps axf | grep karaf | grep -v grep | awk '{print "kill -9 " $1}' | sh
70 sleep 5
71 xz -9ekvv "${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf.log"
72 mv "${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf.log.xz" .
73
74 echo "Exit with error"
75 if [ -f ${WORKSPACE}/error.txt ]; then
76     echo "Failed to deploy offline"
77     exit 1
78 fi
79
80 # vim: ts=4 sw=4 sts=4 et ft=sh :
81