X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fintegration%2Finclude-raw-integration-deploy-controller-offline.sh;h=e892f21984cec0672f8450491697cd1727cad40b;hb=5a6ea423022e8d3e663097d510513dde2a56b7e9;hp=860256f458215f22cb25c54dd86c7750dc69e5fe;hpb=52db98a7612367d538316c760d9141f9160d0aea;p=releng%2Fbuilder.git diff --git a/jjb/integration/include-raw-integration-deploy-controller-offline.sh b/jjb/integration/include-raw-integration-deploy-controller-offline.sh index 860256f45..e892f2198 100644 --- a/jjb/integration/include-raw-integration-deploy-controller-offline.sh +++ b/jjb/integration/include-raw-integration-deploy-controller-offline.sh @@ -1,31 +1,11 @@ -NEXUSURL_PREFIX=${ODLNEXUSPROXY:-https://nexus.opendaylight.org} CONTROLLERMEM="3072m" -ACTUALFEATURES="odl-integration-compatible-with-all" - -if [ ${BUNDLEURL} == 'last' ]; then - NEXUSPATH="${NEXUSURL_PREFIX}/content/repositories/opendaylight.snapshot/org/opendaylight/integration/distribution-karaf" - # Extract the BUNDLEVERSION from the pom.xml - BUNDLEVERSION=`xpath pom.xml '/project/version/text()' 2> /dev/null` - echo "Bundle version is ${BUNDLEVERSION}" - # Acquire the timestamp information from maven-metadata.xml - wget ${NEXUSPATH}/${BUNDLEVERSION}/maven-metadata.xml - TIMESTAMP=`xpath maven-metadata.xml "//snapshotVersion[extension='zip'][1]/value/text()" 2>/dev/null` - echo "Nexus timestamp is ${TIMESTAMP}" - BUNDLEFOLDER="distribution-karaf-${BUNDLEVERSION}" - BUNDLE="distribution-karaf-${TIMESTAMP}.zip" - ACTUALBUNDLEURL="${NEXUSPATH}/${BUNDLEVERSION}/${BUNDLE}" -else - ACTUALBUNDLEURL="${BUNDLEURL}" - BUNDLE="${BUNDLEURL##*/}" - BUNDLEVERSION="$(basename $(dirname $BUNDLEURL))" - BUNDLEFOLDER="distribution-karaf-${BUNDLEVERSION}" -fi +ACTUALFEATURES="odl-integration-all" + +echo "Kill any controller running" +ps axf | grep karaf | grep -v grep | awk '{print "kill -9 " $1}' | sh -echo "Distribution bundle URL is ${ACTUALBUNDLEURL}" -echo "Distribution bundle is ${BUNDLE}" -echo "Distribution bundle version is ${BUNDLEVERSION}" -echo "Distribution folder is ${BUNDLEFOLDER}" -echo "Nexus prefix is ${NEXUSURL_PREFIX}" +echo "Clean workspace" +rm -rf * echo "Downloading the distribution..." wget --no-verbose ${ACTUALBUNDLEURL} @@ -40,7 +20,9 @@ cat ${FEATURESCONF} echo "Configuring the log..." LOGCONF=${WORKSPACE}/${BUNDLEFOLDER}/etc/org.ops4j.pax.logging.cfg -sed -ie 's/log4j.appender.out.maxFileSize=1MB/log4j.appender.out.maxFileSize=20MB/g' ${LOGCONF} +sed -ie 's/log4j.appender.out.maxBackupIndex=10/log4j.appender.out.maxBackupIndex=1/g' ${LOGCONF} +# FIXME: Make log size limit configurable from build parameter. +sed -ie 's/log4j.appender.out.maxFileSize=1MB/log4j.appender.out.maxFileSize=100GB/g' ${LOGCONF} cat ${LOGCONF} echo "Configure the repos..." @@ -51,23 +33,46 @@ cat ${REPOCONF} echo "Configure max memory..." MEMCONF=${WORKSPACE}/${BUNDLEFOLDER}/bin/setenv -sed -ie 's/JAVA_MAX_MEM="2048m"/JAVA_MAX_MEM="${CONTROLLERMEM}"/g' ${MEMCONF} +sed -ie "s/2048m/${CONTROLLERMEM}/g" ${MEMCONF} cat ${MEMCONF} +if [ ${JDKVERSION} == 'openjdk8' ]; then + echo "Setting the JRE Version to 8" + # dynamic_verify does not allow sudo, JAVA_HOME should be enough for karaf start. + # 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 + export JAVA_HOME=/usr/lib/jvm/java-1.8.0 +elif [ ${JDKVERSION} == 'openjdk7' ]; then + echo "Setting the JRE Version to 7" + # dynamic_verify does not allow sudo, JAVA_HOME should be enough for karaf start. + # 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 + export JAVA_HOME=/usr/lib/jvm/java-1.7.0 +fi +readlink -e "${JAVA_HOME}/bin/java" +echo "Default JDK Version, JAVA_HOME should override" +java -version + echo "Starting controller..." ${WORKSPACE}/${BUNDLEFOLDER}/bin/start echo "sleeping for 10 seconds..." sleep 10 -echo "Check OSGi bundles..." +echo "Installing all features..." sshpass -p karaf ${WORKSPACE}/${BUNDLEFOLDER}/bin/client -u karaf "feature:install ${ACTUALFEATURES}" || echo $? > ${WORKSPACE}/error.txt -echo "Fetching Karaf log" -cp ${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf.log . +echo "dumping first 500K bytes of karaf log..." +head --bytes=500K "${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf.log" > "karaf.log" +echo "dumping last 500K bytes of karaf log..." +tail --bytes=500K "${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf.log" > "karaf.log" +# TODO: Do we want different name for karaf.log chunk to signal it may be not complete? +echo "killing karaf process..." +ps axf | grep karaf | grep -v grep | awk '{print "kill -9 " $1}' | sh +sleep 5 +xz -9ekvv "${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf.log" +mv "${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf.log.xz" . echo "Exit with error" -if [ `cat error.txt` -ne 0 ]; then +if [ -f ${WORKSPACE}/error.txt ]; then echo "Failed to deploy offline" exit 1 fi