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