github.com/verrazzano/verrazzano@v1.7.1/ci/scripts/setup_kind_for_jenkins.sh (about)

     1  #!/usr/bin/env bash
     2  #
     3  # Copyright (c) 2021, Oracle and/or its affiliates.
     4  # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
     5  #
     6  
     7  JENKINS_RUNNER_CONTAINER_LABEL=${JENKINS_RUNNER_CONTAINER_LABEL:-jenkins-runner}
     8  KIND_CLUSTER_NAME=${KIND_CLUSTER_NAME:-verrazzano}
     9  KUBECONFIG=${KUBECONFIG:-${HOME}/.kube/config}
    10  
    11  set -o pipefail
    12  
    13  set -xv
    14  
    15  kind_container_name=${KIND_CLUSTER_NAME}-control-plane
    16  kind_container_ip=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${kind_container_name})
    17  if [ $? -ne 0 ]; then
    18      echo "Kind container ${KIND_CONTAINER_NAME} not running"
    19      exit 1
    20  fi
    21  
    22  kind_kubeconfig_cluster_name="kind-${KIND_CLUSTER_NAME}"
    23  kubectl --kubeconfig ${KUBECONFIG} config set-cluster ${kind_kubeconfig_cluster_name} --server "https://${kind_container_ip}:6443"
    24  if [ $? -ne 0 ] ; then
    25      echo "Unable to set server address for cluster ${kind_kubeconfig_cluster_name} in KUBECONFIG (${KUBECONFIG})"
    26      exit 1
    27  fi
    28  
    29  for jenkins_runner_container in $(docker ps  -q -f "label=${JENKINS_RUNNER_CONTAINER_LABEL}") ; do
    30      if ! docker inspect ${jenkins_runner_container} | jq -e .[].NetworkSettings.Networks.kind ; then
    31          docker network connect kind ${jenkins_runner_container}
    32          if [ $? -ne 0 ] ; then
    33              echo "Unable to connect container ${jenkins_runner_container} to docker network 'kind'"
    34              exit 1
    35          fi
    36      fi
    37  done
    38  
    39  exit 0