X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fintegration%2Fdistribution%2Fdistribution-deploy-verify.sh;h=ba28c7f6474f5b0803d028a30156257aed4f27b2;hb=ef25358cb0e98c6f45f5eab3c4aaa3f3b4a380dc;hp=c81ac6db6734fd7472c28236fe801a4ead40a633;hpb=bd47fbd3e4d8688d5e789ee814a78d6979bc9a46;p=releng%2Fbuilder.git diff --git a/jjb/integration/distribution/distribution-deploy-verify.sh b/jjb/integration/distribution/distribution-deploy-verify.sh index c81ac6db6..ba28c7f64 100644 --- a/jjb/integration/distribution/distribution-deploy-verify.sh +++ b/jjb/integration/distribution/distribution-deploy-verify.sh @@ -61,34 +61,51 @@ mkdir -p ${WORKSPACE}/${BUNDLEFOLDER}/data/log echo "Starting controller..." ${WORKSPACE}/${BUNDLEFOLDER}/bin/start -echo "Waiting for controller to come up..." -COUNT=0 -while true; do - RESP="$(curl --user admin:admin -sL -w "%{http_code} %{url_effective}\\n" http://localhost:8181/restconf/modules -o /dev/null || true)" - echo "${RESP}" - if [[ "${RESP}" == *"200"* ]]; then - echo Controller is UP - break - elif (( "${COUNT}" > 600 )); then - echo Timeout Controller DOWN - echo "Dumping Karaf log..." - cat "${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf.log" - echo "Listing all open ports on controller system" - netstat -pnatu - exit 1 - else - COUNT=$(( ${COUNT} + 1 )) - sleep 1 - if [[ $(($COUNT % 5)) == 0 ]]; then - echo already waited ${COUNT} seconds... - fi - fi -done +function dump_log_and_exit { + 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 +} -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 "Waiting up to 5 minutes for controller to come up, checking every 5 seconds..." +if [ "${DISTROSTREAM}" == "carbon" ] || [ "${DISTROSTREAM}" == "nitrogen" ]; then + # Only oxygen and above have the infrautils.ready feature, so using REST API to determine if the controller is ready. + COUNT="0" + while true; do + COUNT=$(( ${COUNT} + 5 )) + sleep 5 + echo "already waited ${COUNT} seconds..." + RESP="$(curl --user admin:admin -sL -w "%{http_code} %{url_effective}\\n" http://localhost:8181/restconf/modules -o /dev/null || true)" + echo ${RESP} + if [[ ${RESP} == *"200"* ]]; then + echo "Controller is UP" + break + elif (( "${COUNT}" > "300" )); then + echo "Timeout Controller DOWN" + dump_log_and_exit + fi + done +else + COUNT="0" + while true; do + COUNT=$(( ${COUNT} + 5 )) + sleep 5 + echo "already waited ${COUNT} seconds..." + if grep --quiet 'org.opendaylight.infrautils.ready-impl.*System ready' "${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf.log"; then + echo "Controller is UP" + break + elif (( "${COUNT}" > "300" )); then + echo "Timeout Controller DOWN" + dump_log_and_exit + fi + done +fi -echo "Checking OSGi bundles..." +# echo "Checking OSGi bundles..." # sshpass seems to fail with new karaf version # sshpass -p karaf ${WORKSPACE}/${BUNDLEFOLDER}/bin/client -u karaf 'bundle:list' @@ -99,25 +116,13 @@ function exit_on_log_file_message { 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 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 + dump_log_and_exit 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 + dump_log_and_exit fi }