-cat > ${WORKSPACE}/verify-cluster-is-up.sh <<EOF
-
-CONTROLLERID="member-\$1"
-ODL_SYSTEM_IP_PATH=\$2
-
-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 )"
- echo \$RESP
- SHARD="\$( curl --user admin:admin -sL -w "%{http_code} %{url_effective}\\n" http://localhost:8181/jolokia/read/org.opendaylight.controller:Category=Shards,name=\$CONTROLLERID-shard-inventory-config,type=DistributedConfigDatastore)"
- echo \$SHARD
- if ([[ \$RESP == *"200"* ]] && [[ \$SHARD == *'"status":200'* ]]); then
- echo Controller is UP
- break
- elif (( "\$COUNT" > "600" )); then
- echo Timeout Controller DOWN
- 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 -pnatu
- exit 1
- else
- COUNT=\$(( \${COUNT} + 5 ))
- sleep 5
- echo waiting \$COUNT secs...
- fi
-done
-
-echo "Listing all open ports on controller system.."
-netstat -pnatu
-
-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 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
-}
-
-exit_on_log_file_message 'BindException: Address already in use'
-exit_on_log_file_message 'server is unhealthy'