Rework the way Java version is set in CSIT jobs
[releng/builder.git] / jjb / integration / include-raw-integration-deploy-controller-verify.sh
index d4b27374072c0d617255afa07dd50824e9fa5731..863ba3ae8439671eb5d97e157e512192b69a21b1 100644 (file)
@@ -32,6 +32,24 @@ cat ${MEMCONF}
 echo "Listing all open ports on controller system"
 netstat -natu
 
+echo "redirected karaf console output to karaf_console.log"
+export KARAF_REDIRECT=${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf_console.log
+
+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
 
@@ -57,6 +75,9 @@ while true; do
     fi
 done
 
+echo "loading many features at once.  Need to allow time for problems to show up in logs.  cool down for 5 min ..."
+sleep 300
+
 echo "Checking OSGi bundles..."
 sshpass -p karaf ${WORKSPACE}/${BUNDLEFOLDER}/bin/client -u karaf 'bundle:list'
 
@@ -64,11 +85,27 @@ echo "Listing all open ports on controller system"
 netstat -natu
 
 function exit_on_log_file_message {
-    echo "looking for \"$1\" in log file"
+    echo "looking for \"$1\" in karaf.log file"
     if grep --quiet "$1" ${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf.log; then
         echo ABORTING: found "$1"
-        echo "Dumping Karaf log..."
-        cat ${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf.log
+        echo "Dumping first 500K bytes of karaf log..."
+        head --bytes=500K  ${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf.log
+        echo "Dumping last 500K bytes of karaf log..."
+        tail --bytes=500K  ${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf.log
+        cp ${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf.log .
+        cp ${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf_console.log .
+        exit 1
+    fi
+
+    echo "looking for \"$1\" in karaf_console.log file"
+    if grep --quiet "$1" ${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf_console.log; then
+        echo ABORTING: found "$1"
+        echo "Dumping first 500K bytes of karaf log..."
+        head --bytes=500K  ${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf_console.log
+        echo "Dumping last 500K bytes of karaf log..."
+        tail --bytes=500K  ${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf_console.log
+        cp ${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf.log .
+        cp ${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf_console.log .
         exit 1
     fi
 }
@@ -76,11 +113,23 @@ function exit_on_log_file_message {
 exit_on_log_file_message 'BindException: Address already in use'
 exit_on_log_file_message 'server is unhealthy'
 
-echo "Fetching Karaf log"
+echo "Fetching Karaf logs"
 cp ${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf.log .
+cp ${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf_console.log .
 
 echo "Kill controller"
 ps axf | grep karaf | grep -v grep | awk '{print "kill -9 " $1}' | sh
 
-# vim: ts=4 sw=4 sts=4 et ft=sh :
+echo "Detecting misplaced config files"
+pushd "${WORKSPACE}/${BUNDLEFOLDER}"
+XMLS_FOUND=`echo *.xml`
+popd
+if [ "$XMLS_FOUND" != "*.xml" ]; then
+    echo "Bug 4628 confirmed."
+    ## TODO: Uncomment the following when ODL is fixed, to guard against regression.
+    # exit 1
+else
+    echo "Bug 4628 not detected."
+fi
 
+# vim: ts=4 sw=4 sts=4 et ft=sh :