diff options
author | Taka Cho <takamune.cho@att.com> | 2021-01-11 16:48:33 -0500 |
---|---|---|
committer | Taka Cho <takamune.cho@att.com> | 2021-01-14 14:33:09 +0000 |
commit | 6d188afbef71b620063d5d4c1687a30c8f54ee8e (patch) | |
tree | c4ef82e5b59b2f1fa5fbfb7cc18e81ed2d60c83e /csit/wait_for_port.sh | |
parent | 1fe9893bee8c0f53dd3d6fbc9dc26dfa8b37f4c9 (diff) |
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 <takamune.cho@att.com>
Diffstat (limited to 'csit/wait_for_port.sh')
-rwxr-xr-x | csit/wait_for_port.sh | 56 |
1 files changed, 56 insertions, 0 deletions
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 |