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  }