From 6d188afbef71b620063d5d4c1687a30c8f54ee8e Mon Sep 17 00:00:00 2001 From: Taka Cho Date: Mon, 11 Jan 2021 16:48:33 -0500 Subject: move csit/scripts, docker-compose to docker repo part of moving csit to project level scripts shares with all applications repo reside in docker repo. all docker-compose relate volume files reside in docker repo. align with new JJB template Issue-ID: POLICY-2895 Change-Id: I8fd97c6932e41779b01c1c941564763415c83f16 Signed-off-by: Taka Cho --- csit/wait_for_port.sh | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100755 csit/wait_for_port.sh (limited to 'csit/wait_for_port.sh') diff --git a/csit/wait_for_port.sh b/csit/wait_for_port.sh new file mode 100755 index 00000000..aec5f222 --- /dev/null +++ b/csit/wait_for_port.sh @@ -0,0 +1,56 @@ +#!/bin/sh +# ============LICENSE_START==================================================== +# Copyright (C) 2021 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. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END====================================================== + +tmout=120 +cmd= +while getopts c:t: opt; do + case "$opt" in + c) cmd="$OPTARG" ;; + t) tmout="$OPTARG" ;; + esac +done +nargs=$(expr $OPTIND - 1) +shift $nargs + +even_args=$(expr $# % 2) +if [ $# -lt 2 -o $even_args -ne 0 ]; then + echo "args: [-t timeout] [-c command] hostname1 port1 hostname2 port2 ..." >&2 + exit 1 +fi + +while [ $# -ge 2 ]; do + export host=$1 + export port=$2 + shift + shift + + echo "Waiting for $host port $port..." + timeout $tmout sh -c 'until nc -vz "$host" "$port"; do echo -n "."; + sleep 1; done' + rc=$? + + if [ $rc != 0 ]; then + echo "$host port $port cannot be reached" + exit $rc + fi +done + +$cmd + +exit 0 -- cgit 1.2.3-korg