github.com/abayer/test-infra@v0.0.5/mungegithub/build-cop/util.sh (about) 1 #!/bin/bash 2 3 # Copyright 2016 The Kubernetes Authors. 4 # 5 # Licensed under the Apache License, Version 2.0 (the "License"); 6 # you may not use this file except in compliance with the License. 7 # You may obtain a copy of the License at 8 # 9 # http://www.apache.org/licenses/LICENSE-2.0 10 # 11 # Unless required by applicable law or agreed to in writing, software 12 # distributed under the License is distributed on an "AS IS" BASIS, 13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 # See the License for the specific language governing permissions and 15 # limitations under the License. 16 17 set -o errexit 18 set -o nounset 19 set -o pipefail 20 21 function port-forward { 22 PORT=${PORT:-9999} 23 PODNAME=$(kubectl get endpoints kubernetes-sq-status -o template --template='{{index . "subsets" 0 "addresses" 0 "targetRef" "name"}}') 24 echo "Admin interface will serve on port ${PORT}. Press ctrl-c to stop serving." 25 kubectl port-forward "${PODNAME}" "${PORT}:9999" 26 } 27 28 function wait-for-port { 29 PORT=${PORT:-9999} 30 for (( i=0; i < 20; i++ )); do 31 sleep .25 32 if curl -s2 "localhost:${PORT}/" 2>&1 > /dev/null; then 33 echo "Admin port opened" 34 return 0 35 fi 36 done 37 echo "Admin port never became responsive." 38 return 1 39 }