X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fintegration%2Finclude-raw-integration-deploy-controller-run-test.sh;h=9cc405ddb75b3dfeab0a8d4a73a42005289221c8;hb=287c386dc0ac3c717c6a4d1da4135afe00c549e9;hp=ff0d118fbed29c1b1a63baf39d23935284079dbd;hpb=d2536439579299085edf4149646f049286671ad8;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 ff0d118fb..9cc405ddb 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!!!" @@ -26,6 +31,19 @@ fi cat > ${WORKSPACE}/controller-script.sh < "600" )); then echo Timeout Controller DOWN - echo "Dumping Karaf log..." - cat /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 @@ -79,21 +104,20 @@ 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" +echo "Listing all open ports on controller system..." netstat -natu 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..." - cat /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 } @@ -114,15 +138,23 @@ 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} \ -v TOOLS_SYSTEM_USER:${USER} \ --v MININET:${TOOLS_SYSTEM_IP} -v MININET1:${TOOLS_SYSTEM_2_IP} -v MININET2:${TOOLS_SYSTEM_3_IP} -v MININET_USER:${USER} \ --v USER_HOME:${HOME} ${TESTOPTIONS} ${SUITES} || true - -echo "Fetching Karaf log" -scp ${ODL_SYSTEM_IP}:/tmp/${BUNDLEFOLDER}/data/log/karaf.log . +-v MININET:${TOOLS_SYSTEM_IP} -v MININET1:${TOOLS_SYSTEM_2_IP} -v MININET2:${TOOLS_SYSTEM_3_IP} \ +-v MININET3:${TOOLS_SYSTEM_4_IP} -v MININET4:${TOOLS_SYSTEM_5_IP} -v MININET5:${TOOLS_SYSTEM_6_IP} \ +-v MININET_USER:${USER} -v USER_HOME:${HOME} ${TESTOPTIONS} ${SUITES} || true + +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}" 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" +scp "${ODL_SYSTEM_IP}:/tmp/${BUNDLEFOLDER}/data/log/karaf.log.xz" . +true # perhaps Jenkins is testing last exit code # vim: ts=4 sw=4 sts=4 et ft=sh :