sigs.k8s.io/cluster-api-provider-azure@v1.14.3/templates/test/ci/prow-ci-version/patches/kubeadm-bootstrap.yaml (about)

     1  - op: add
     2    path: /spec/template/spec/files/-
     3    value:
     4      content: |
     5        #!/bin/bash
     6  
     7        set -o nounset
     8        set -o pipefail
     9        set -o errexit
    10        [[ $(id -u) != 0 ]] && SUDO="sudo" || SUDO=""
    11  
    12        # This test installs release packages or binaries that are a result of the CI and release builds.
    13        # It runs '... --version' commands to verify that the binaries are correctly installed
    14        # and finally uninstalls the packages.
    15        # For the release packages it tests all versions in the support skew.
    16        LINE_SEPARATOR="*************************************************"
    17        echo "$$LINE_SEPARATOR"
    18        CI_VERSION=${CI_VERSION}
    19        if [[ "$${CI_VERSION}" != "" ]]; then
    20          CI_DIR=/tmp/k8s-ci
    21          mkdir -p $$CI_DIR
    22          declare -a PACKAGES_TO_TEST=("kubectl" "kubelet" "kubeadm")
    23          declare -a CONTAINERS_TO_TEST=("kube-apiserver" "kube-controller-manager" "kube-proxy" "kube-scheduler")
    24          CONTAINER_EXT="tar"
    25          echo "* testing CI version $$CI_VERSION"
    26          # Check for semver
    27          if [[ "$${CI_VERSION}" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
    28            VERSION_WITHOUT_PREFIX="${CI_VERSION#v}"
    29            DEBIAN_FRONTEND=noninteractive apt-get install -y apt-transport-https curl
    30            curl -fsSL https://pkgs.k8s.io/core:/stable:/${KUBERNETES_VERSION}/deb/Release.key | gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
    31            echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/${KUBERNETES_VERSION}/deb/ /" | tee /etc/apt/sources.list.d/kubernetes.list
    32            apt-get update
    33            # replace . with \.
    34            VERSION_REGEX="${VERSION_WITHOUT_PREFIX//./\\.}"
    35            PACKAGE_VERSION="$(apt-cache madison kubelet|grep $${VERSION_REGEX}- | head -n1 | cut -d '|' -f 2 | tr -d '[:space:]')"
    36            for CI_PACKAGE in "$${PACKAGES_TO_TEST[@]}"; do
    37              echo "* installing package: $$CI_PACKAGE $${PACKAGE_VERSION}"
    38              DEBIAN_FRONTEND=noninteractive apt-get install -y $$CI_PACKAGE=$$PACKAGE_VERSION
    39            done
    40          else
    41            CI_URL="https://storage.googleapis.com/k8s-release-dev/ci/$${CI_VERSION}/bin/linux/amd64"
    42            for CI_PACKAGE in "$${PACKAGES_TO_TEST[@]}"; do
    43              echo "* downloading binary: $$CI_URL/$$CI_PACKAGE"
    44              wget --inet4-only "$$CI_URL/$$CI_PACKAGE" -nv -O "$$CI_DIR/$$CI_PACKAGE"
    45              chmod +x "$$CI_DIR/$$CI_PACKAGE"
    46              mv "$$CI_DIR/$$CI_PACKAGE" "/usr/bin/$$CI_PACKAGE"
    47            done
    48            IMAGE_REGISTRY_PREFIX=registry.k8s.io
    49            for CI_CONTAINER in "$${CONTAINERS_TO_TEST[@]}"; do
    50              echo "* downloading package: $$CI_URL/$$CI_CONTAINER.$$CONTAINER_EXT"
    51              wget --inet4-only "$$CI_URL/$$CI_CONTAINER.$$CONTAINER_EXT" -nv -O "$$CI_DIR/$$CI_CONTAINER.$$CONTAINER_EXT"
    52              $${SUDO} ctr -n k8s.io images import "$$CI_DIR/$$CI_CONTAINER.$$CONTAINER_EXT" || echo "* ignoring expected 'ctr images import' result"
    53              $${SUDO} ctr -n k8s.io images tag $$IMAGE_REGISTRY_PREFIX/$$CI_CONTAINER-amd64:"$${CI_VERSION//+/_}" $$IMAGE_REGISTRY_PREFIX/$$CI_CONTAINER:"$${CI_VERSION//+/_}"
    54              $${SUDO} ctr -n k8s.io images tag $$IMAGE_REGISTRY_PREFIX/$$CI_CONTAINER-amd64:"$${CI_VERSION//+/_}" gcr.io/k8s-staging-ci-images/$$CI_CONTAINER:"$${CI_VERSION//+/_}"
    55            done
    56          fi
    57          systemctl restart kubelet
    58        fi
    59        echo "* checking binary versions"
    60        echo "ctr version: " $(ctr version)
    61        echo "kubeadm version: " $(kubeadm version -o=short)
    62        echo "kubectl version: " $(kubectl version --client=true)
    63        echo "kubelet version: " $(kubelet --version)
    64        echo "$$LINE_SEPARATOR"
    65      path: /tmp/kubeadm-bootstrap.sh
    66      owner: "root:root"
    67      permissions: "0744"
    68  - op: add
    69    path: /spec/template/spec/preKubeadmCommands/-
    70    value:
    71      bash -c /tmp/kubeadm-bootstrap.sh
    72  - op: add
    73    path: /spec/template/spec/verbosity
    74    value:
    75      5