#!/bin/bash
+#
+#============LICENSE_START==================================================
+# ONAP Policy Engine
+#===========================================================================
+# Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+#===========================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#============LICENSE_END==================================================
+#
+
if [[ $# -ne 2 ]]; then
echo "Usage: wait-for-port hostname port" >&2
exit 1
fi
-host=$1
-port=$2
+export host=$1
+export port=$2
echo "Waiting for $host port $port open"
-until telnet $host $port </dev/null 2>/dev/null | grep -q '^Connected'; do
- sleep 1
-done
+timeout 120 bash -c 'until nc -vz "$host" "$port"; do echo -n "."; sleep 1; done'
+rc=$?
-echo "$host port $port is open"
+if [[ $rc != 0 ]]; then
+ echo "$host port $port cannot be reached"
+ exit $rc
+fi
+echo "$host port $port is open"
exit 0