X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fintegration%2Finclude-raw-integration-deploy-controller-run-test.sh;h=e47c2848cd7c88c6e58e7fba72dab414dd4ea435;hb=b786d1bba1856d0f75b6e3f7df63a89ae0b7d342;hp=ebc61d29940ab9386588c2c9f0fb7840f9ba5ed1;hpb=2ca3b6da8746c3ec02afedc87e90e520d1d14e36;p=releng%2Fbuilder.git diff --git a/jjb/integration/include-raw-integration-deploy-controller-run-test.sh b/jjb/integration/include-raw-integration-deploy-controller-run-test.sh index ebc61d299..e47c2848c 100644 --- a/jjb/integration/include-raw-integration-deploy-controller-run-test.sh +++ b/jjb/integration/include-raw-integration-deploy-controller-run-test.sh @@ -9,9 +9,14 @@ CONTROLLERMEM="2048m" if [ ${CONTROLLERSCOPE} == 'all' ]; then ACTUALFEATURES="odl-integration-compatible-with-all,${CONTROLLERFEATURES}" CONTROLLERMEM="3072m" + COOLDOWN_PERIOD="180" else ACTUALFEATURES="${CONTROLLERFEATURES}" + COOLDOWN_PERIOD="60" fi +# Some versions of jenkins job builder result in feature list containing spaces +# and ending in newline. Remove all that. +ACTUALFEATURES=`echo "${ACTUALFEATURES}" | tr -d '\n \r'` if [ -f ${WORKSPACE}/test/csit/scriptplans/${TESTPLAN} ]; then echo "scriptplan exists!!!" @@ -56,6 +61,24 @@ cat \${MEMCONF} echo "Listing all open ports on controller system..." netstat -natu +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 +echo "JAVA_HOME is \${JAVA_HOME}" +# Did you know that in HERE documents, single quote is an ordinary character, but backticks are still executing? +JAVA_RESOLVED=\`readlink -e "\${JAVA_HOME}/bin/java"\` +echo "Java binary pointed at by JAVA_HOME: \${JAVA_RESOLVED}" +echo "JDK default version ..." +java -version + echo "Starting controller..." /tmp/${BUNDLEFOLDER}/bin/start @@ -69,8 +92,10 @@ while true; do break elif (( "\$COUNT" > "600" )); then echo Timeout Controller DOWN - echo "Dumping Karaf log..." - head --bytes=1M "/tmp/${BUNDLEFOLDER}/data/log/karaf.log" + echo "Dumping first 500K bytes of karaf log..." + head --bytes=500K "/tmp/${BUNDLEFOLDER}/data/log/karaf.log" + echo "Dumping last 500K bytes of karaf log..." + tail --bytes=500K "/tmp/${BUNDLEFOLDER}/data/log/karaf.log" echo "Listing all open ports on controller system" netstat -natu exit 1 @@ -81,11 +106,8 @@ while true; do fi done -echo "Cool down for 1 min :)..." -sleep 60 - -echo "Checking OSGi bundles..." -sshpass -p karaf /tmp/${BUNDLEFOLDER}/bin/client -u karaf 'bundle:list' +echo "Cool down for ${COOLDOWN_PERIOD} seconds :)..." +sleep ${COOLDOWN_PERIOD} echo "Listing all open ports on controller system..." netstat -natu @@ -94,8 +116,10 @@ function exit_on_log_file_message { echo "looking for \"\$1\" in log file" if grep --quiet "\$1" /tmp/${BUNDLEFOLDER}/data/log/karaf.log; then echo ABORTING: found "\$1" - echo "Dumping Karaf log..." - head --bytes=1M "/tmp/${BUNDLEFOLDER}/data/log/karaf.log" + echo "Dumping first 500K bytes of karaf log..." + head --bytes=500K "/tmp/${BUNDLEFOLDER}/data/log/karaf.log" + echo "Dumping last 500K bytes of karaf log..." + tail --bytes=500K "/tmp/${BUNDLEFOLDER}/data/log/karaf.log" exit 1 fi } @@ -116,7 +140,7 @@ SUITES=$( egrep -v '(^[[:space:]]*#|^[[:space:]]*$)' testplan.txt | tr '\012' ' echo "Starting Robot test suites ${SUITES} ..." pybot -N ${TESTPLAN} -c critical -e exclude -v BUNDLEFOLDER:${BUNDLEFOLDER} -v WORKSPACE:/tmp \ --v NEXUSURL_PREFIX:${NEXUSURL_PREFIX} \ +-v BUNDLE_URL:${ACTUALBUNDLEURL} -v NEXUSURL_PREFIX:${NEXUSURL_PREFIX} \ -v CONTROLLER:${ODL_SYSTEM_IP} -v ODL_SYSTEM_IP:${ODL_SYSTEM_IP} -v CONTROLLER_USER:${USER} -v ODL_SYSTEM_USER:${USER} \ -v TOOLS_SYSTEM_IP:${TOOLS_SYSTEM_IP} -v TOOLS_SYSTEM_2_IP:${TOOLS_SYSTEM_2_IP} -v TOOLS_SYSTEM_3_IP:${TOOLS_SYSTEM_3_IP} \ -v TOOLS_SYSTEM_4_IP:${TOOLS_SYSTEM_4_IP} -v TOOLS_SYSTEM_5_IP:${TOOLS_SYSTEM_5_IP} -v TOOLS_SYSTEM_6_IP:${TOOLS_SYSTEM_6_IP} \ @@ -127,7 +151,7 @@ pybot -N ${TESTPLAN} -c critical -e exclude -v BUNDLEFOLDER:${BUNDLEFOLDER} -v W echo "Killing ODL and fetching Karaf log..." set +e # We do not want to create red dot just because something went wrong while fetching logs. -ssh "${ODL_SYSTEM_IP}" head --bytes=1M "/tmp/${BUNDLEFOLDER}/data/log/karaf.log" > "karaf.log" +ssh "${ODL_SYSTEM_IP}" tail --bytes=1M "/tmp/${BUNDLEFOLDER}/data/log/karaf.log" > "karaf.log" ssh "${ODL_SYSTEM_IP}" bash -c 'ps axf | grep karaf | grep -v grep | awk '"'"'{print "kill -9 " $1}'"'"' | sh' sleep 5 ssh "${ODL_SYSTEM_IP}" xz -9ekvv "/tmp/${BUNDLEFOLDER}/data/log/karaf.log"