From 26a022f9077242a8c3186afd751f68242136ec57 Mon Sep 17 00:00:00 2001 From: xinhl Date: Mon, 20 Jan 2025 15:18:56 +0800 Subject: [PATCH] testdata --- .../AKSUbuntu1604+Containerd/CustomData | 4 ++-- .../AKSUbuntu1604+Containerd/line40.sh | 24 +++++++++++++++++-- .../AKSUbuntu1604+Containerd/line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../testdata/AKSUbuntu1604+Docker/CustomData | 4 ++-- .../testdata/AKSUbuntu1604+Docker/line40.sh | 24 +++++++++++++++++-- .../testdata/AKSUbuntu1604+Docker/line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../AKSUbuntu1604+GPUDedicatedVHD/CustomData | 4 ++-- .../AKSUbuntu1604+GPUDedicatedVHD/line40.sh | 24 +++++++++++++++++-- .../AKSUbuntu1604+GPUDedicatedVHD/line9.sh | 20 ++++++++++++++++ .../testdata/AKSUbuntu1604+K8S115/CustomData | 4 ++-- .../testdata/AKSUbuntu1604+K8S115/line40.sh | 24 +++++++++++++++++-- .../testdata/AKSUbuntu1604+K8S115/line9.sh | 20 ++++++++++++++++ .../testdata/AKSUbuntu1604+K8S117/CustomData | 4 ++-- .../testdata/AKSUbuntu1604+K8S117/line40.sh | 24 +++++++++++++++++-- .../testdata/AKSUbuntu1604+K8S117/line9.sh | 20 ++++++++++++++++ .../testdata/AKSUbuntu1604+K8S118/CustomData | 4 ++-- .../testdata/AKSUbuntu1604+K8S118/line40.sh | 24 +++++++++++++++++-- .../testdata/AKSUbuntu1604+K8S118/line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../AKSUbuntu1604+KubeletConfigFile/line40.sh | 24 +++++++++++++++++-- .../AKSUbuntu1604+KubeletConfigFile/line9.sh | 20 ++++++++++++++++ .../AKSUbuntu1604+OSKubeletDisk/CustomData | 4 ++-- .../AKSUbuntu1604+OSKubeletDisk/line40.sh | 24 +++++++++++++++++-- .../AKSUbuntu1604+OSKubeletDisk/line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../AKSUbuntu1604+TempDiskExplicit/CustomData | 4 ++-- .../AKSUbuntu1604+TempDiskExplicit/line40.sh | 24 +++++++++++++++++-- .../AKSUbuntu1604+TempDiskExplicit/line9.sh | 20 ++++++++++++++++ .../AKSUbuntu1604+TempDiskToggle/CustomData | 4 ++-- .../AKSUbuntu1604+TempDiskToggle/line40.sh | 24 +++++++++++++++++-- .../AKSUbuntu1604+TempDiskToggle/line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../AKSUbuntu1804+ArtifactStreaming/line40.sh | 24 +++++++++++++++++-- .../AKSUbuntu1804+ArtifactStreaming/line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../AKSUbuntu1804+Containerd+Certsd/line40.sh | 24 +++++++++++++++++-- .../AKSUbuntu1804+Containerd+Certsd/line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../AKSUbuntu1804+Containerd+Kubenet/line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../AKSUbuntu1804+Containerd+MIG/CustomData | 4 ++-- .../AKSUbuntu1804+Containerd+MIG/line40.sh | 24 +++++++++++++++++-- .../AKSUbuntu1804+Containerd+MIG/line9.sh | 20 ++++++++++++++++ .../AKSUbuntu1804+Containerd+MotD/CustomData | 4 ++-- .../AKSUbuntu1804+Containerd+MotD/line40.sh | 24 +++++++++++++++++-- .../AKSUbuntu1804+Containerd+MotD/line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../AKSUbuntu1804+CustomCATrust/CustomData | 4 ++-- .../AKSUbuntu1804+CustomCATrust/line40.sh | 24 +++++++++++++++++-- .../AKSUbuntu1804+CustomCATrust/line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../AKSUbuntu1804+DisableCustomData/line40.sh | 24 +++++++++++++++++-- .../AKSUbuntu1804+DisableCustomData/line9.sh | 20 ++++++++++++++++ .../AKSUbuntu1804+HTTPProxy/CustomData | 4 ++-- .../AKSUbuntu1804+HTTPProxy/line40.sh | 24 +++++++++++++++++-- .../testdata/AKSUbuntu1804+HTTPProxy/line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../testdata/AKSUbuntu1804+NoneCNI/CustomData | 4 ++-- .../testdata/AKSUbuntu1804+NoneCNI/line40.sh | 24 +++++++++++++++++-- .../testdata/AKSUbuntu1804+NoneCNI/line9.sh | 20 ++++++++++++++++ .../AKSUbuntu1804+krustlet/CustomData | 4 ++-- .../testdata/AKSUbuntu1804+krustlet/line40.sh | 24 +++++++++++++++++-- .../testdata/AKSUbuntu1804+krustlet/line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../testdata/AKSUbuntu2204+China/CustomData | 4 ++-- .../testdata/AKSUbuntu2204+China/line40.sh | 24 +++++++++++++++++-- .../testdata/AKSUbuntu2204+China/line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../AKSUbuntu2204+Containerd+MIG/CustomData | 4 ++-- .../AKSUbuntu2204+Containerd+MIG/line40.sh | 24 +++++++++++++++++-- .../AKSUbuntu2204+Containerd+MIG/line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../AKSUbuntu2204+CustomCloud/CustomData | 4 ++-- .../AKSUbuntu2204+CustomCloud/line40.sh | 24 +++++++++++++++++-- .../AKSUbuntu2204+CustomCloud/line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../AKSUbuntu2204+IMDSRestrictionOff/line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../AKSUbuntu2204+OutboundTypeNil/CustomData | 4 ++-- .../AKSUbuntu2204+OutboundTypeNil/line40.sh | 24 +++++++++++++++++-- .../AKSUbuntu2204+OutboundTypeNil/line9.sh | 20 ++++++++++++++++ .../AKSUbuntu2204+OutboundTypeNone/CustomData | 4 ++-- .../AKSUbuntu2204+OutboundTypeNone/line40.sh | 24 +++++++++++++++++-- .../AKSUbuntu2204+OutboundTypeNone/line9.sh | 20 ++++++++++++++++ .../AKSUbuntu2204+SSHStatusOff/CustomData | 4 ++-- .../AKSUbuntu2204+SSHStatusOff/line40.sh | 24 +++++++++++++++++-- .../AKSUbuntu2204+SSHStatusOff/line9.sh | 20 ++++++++++++++++ .../AKSUbuntu2204+SSHStatusOn/CustomData | 4 ++-- .../AKSUbuntu2204+SSHStatusOn/line40.sh | 24 +++++++++++++++++-- .../AKSUbuntu2204+SSHStatusOn/line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../AKSUbuntu2204+SecurityProfile/CustomData | 4 ++-- .../AKSUbuntu2204+SecurityProfile/line40.sh | 24 +++++++++++++++++-- .../AKSUbuntu2204+SecurityProfile/line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../AKSUbuntu2204+cgroupv2/CustomData | 4 ++-- .../testdata/AKSUbuntu2204+cgroupv2/line40.sh | 24 +++++++++++++++++-- .../testdata/AKSUbuntu2204+cgroupv2/line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line40.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../testdata/AzureLinuxV2+Kata/CustomData | 4 ++-- .../testdata/AzureLinuxV2+Kata/line39.sh | 24 +++++++++++++++++-- pkg/agent/testdata/AzureLinuxV2+Kata/line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line39.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line39.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line39.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line39.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ pkg/agent/testdata/CustomizedImage/CustomData | 4 ++-- pkg/agent/testdata/CustomizedImage/line35.sh | 24 +++++++++++++++++-- pkg/agent/testdata/CustomizedImage/line9.sh | 20 ++++++++++++++++ .../testdata/CustomizedImageKata/CustomData | 4 ++-- .../testdata/CustomizedImageKata/line35.sh | 24 +++++++++++++++++-- .../testdata/CustomizedImageKata/line9.sh | 20 ++++++++++++++++ .../testdata/MarinerV2+CustomCloud/CustomData | 4 ++-- .../testdata/MarinerV2+CustomCloud/line39.sh | 24 +++++++++++++++++-- .../testdata/MarinerV2+CustomCloud/line9.sh | 20 ++++++++++++++++ pkg/agent/testdata/MarinerV2+Kata/CustomData | 4 ++-- pkg/agent/testdata/MarinerV2+Kata/line39.sh | 24 +++++++++++++++++-- pkg/agent/testdata/MarinerV2+Kata/line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line39.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line39.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line39.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ .../CustomData | 4 ++-- .../line39.sh | 24 +++++++++++++++++-- .../line9.sh | 20 ++++++++++++++++ pkg/agent/testdata/RawUbuntu/CustomData | 4 ++-- pkg/agent/testdata/RawUbuntu/line40.sh | 24 +++++++++++++++++-- pkg/agent/testdata/RawUbuntu/line9.sh | 20 ++++++++++++++++ .../testdata/RawUbuntuContainerd/CustomData | 4 ++-- .../testdata/RawUbuntuContainerd/line40.sh | 24 +++++++++++++++++-- .../testdata/RawUbuntuContainerd/line9.sh | 20 ++++++++++++++++ 261 files changed, 3828 insertions(+), 348 deletions(-) diff --git a/pkg/agent/testdata/AKSUbuntu1604+Containerd/CustomData b/pkg/agent/testdata/AKSUbuntu1604+Containerd/CustomData index 2470f0f15dd..00a2d7b7ec4 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Containerd/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+Containerd/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+Containerd/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+Containerd/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Containerd/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Containerd/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+Containerd/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+Containerd/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Containerd/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Containerd/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/CustomData b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/CustomData index 7e0eb67cf6f..9216e2fc903 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/+x9/3fbNrLvz1d/xZThxlJqUrbT3dvnrXJXleVEz7akJ8npvS/x6tAkJLGmSBUAZTsK//d3APALSIKSbKfb3nve7jlJIwCDwWDwmcFgAL76rnnr+s1biyxqtU5nOu6OPvY63WmvP51cDVvNYEWb1pcQo6Yd+NRyfYRJ07aNFQ4eHk2C8Nq1ken6vO2gc9Gd7Ns0sO8Q5S37vWln0D/vvZ+e9UYtrYmo3bR9t+kjajoaL/+5148LGVVWeOv6Wu3VZHA2gFXoeUAXLoEgpBDMwA6Wq8BH1CfmryTwgQbBf3AyZ4Nf+peD9tm4QMwJ7n0vsByi1TqjXmdymdaUK2LXpp6ibsZcSHDTC2zLE+x1Bv1Ju9fvjs7UPSdicWSio+t+R1kdh74tV7z4caysdxfeIuwjikix9nDU+9iedKfDduei/b47nnbanQ/dHU2bK+yuLYqMlWXfWXMU0xp13/fGk9F/TUfd4aClBYSwMVvYRUQio9Wuf77uT66no+5ltz3utvS6R26nGHnIIggMDAZp1Abjll53Z+AR4JP/xkgqHL+DpoPWTZ9N8cm718d/B7pAPpAAU9a6UP0rzK37OzhYWtRe1PWjQ2j+s947m172Lrqtuh1gFJDG195Zq26+aTT05iFYDdjACrs+BRqEqxXCdevTyQ1Yn97eNP4O6MGlEB38HWZuozbudq5H3enkcjz9eTCYjCej9nB6cf1z97I7mXb/s9uZDi+v3zNlKCuPWAjUI7dBQAnF1krbn97H7mjcG/Rb2vrIPDaPDMtbLSzzRKtNupfd4WA0OdvSM0UeWgWYOnnN7Z51+5Ne+3I6HA0+9s66I7XKIwf51LW8FQ7WroPwLiLZWlhbuOm5t1wZPCTTMhJiigFUrqWrdr933h1Ppue9y+6wPfmQE+zS8t0ZIpSvd7bwroaDfrc/GaurxwDhUxI3+PjhbHo5eF9Rfb1wDNcn1PI8kzX1EEWco+nZz9P29WQwvR6esYV1ftl+L5NIZLC0fMO5bVohDYxw5Viseed6dDkdXE+G15NWky5XTTvE3nSN8G1AkBmENFk6g/G0377qtjTxb9bxiIFKVhD/oNU6w+tpe9T50NK0moNsz8IIDAt+aY+vxh96V8Pe2bhVb8hF42Gvz1QuKaoRRDvD6za2F/UGbGoAAClVvT5PSxu1qFbDaBms0ZXln922Qxpc86Gde9b83PVQ2h4vwZiBvktejKCNkUV3EqRBaC/2JOghyw9XnRRqzzxGiuSYwzPQq7CaEYnnPiPyi0sXnVSH/jcJ/JReQFr6Jj9zES9wZ/DpExhfQNPzmKjBzY2ANV4vJTIYR9IPTDOIG/gtzQ4xRj7VeCHyCFLWSpmIe4lE/ZnL/+J/ZPZnKKC9pdd//Q00c5ggPWi6Yilp8BV4vU838BUI8pBN66ZvLRG0WvBZy+h+1hpaA75+FTiqd0ejqSTnGNamvf7H9mXvjPMUm6akjOtkLD2XXFmYkR3gNluWl64fPoDGBaXB69dMvJq+6Y2nF+1JO9IYMxrFIaoScLKOWPX8XMVSEks1lsZHIVnC+ihJLmKi2gQk+TuZh1jq/I9Xmf4cEFgn5CyMrUdwCaCHFbIpcoAGsLDWCALfe4TAR4A8tEQ+NQWZ3gxcCguLwDLACOjC8uVah3CP4N71PIjVlo0cPIvQpAa4Pv+N92xKyqlvXhXl/+kfNxEYcwrHZSEiexGA9kt71O/1359K6gSxq1AcZCXPJvQEr64/38FuTo13sI1+gyOmffqmVH50E3H9+Gl80Ru+06oG1+ufD/YZGZs+ly4QBrRc0UcIMGd55mJ5HAREdyaM79zVig1WIh1Pl0XdwI+HyQEK0RD7cCSPu3c+bukHn/0D7gghp6CirbpeFx7SR/jpp580xfjf3ERaQyyt0CeIMpL8X3w8U+J+QS1980pJngmX12Wyr9ezFsZxowGGR+EIbm7YimTTOHV9Bz20+ERI/y415BRXuZ5a+kbNgL7JKEUxM5kkr6xfA3zl+gEeMj/wYwqJdTGper4XBmd2SMFwDDBmxw2tQO5DQM/dhydRIWDMTmJCTEcF7O/iUIMbJqRPe1Vlysu8YmWjHMu5ukotd/215bmOrIyxfp9CcZhZ030hPdZZL5iTKQ2maM1sJmjti7HZGXfNonEdhT51lyj5fUwt37G8wEcZfGqM5cpSkPFZLb4oVycnrRixE8FABXtgQHnY0AJ9k5dXpNUqPYir2GnN+Q/c5ZVmIrEkki7NQNNL7nB5brdSyqu45DYwD8DAYGaFJnLmSNllI9MGzpnC6eC6d/yjefRDmcFdPBzITKxc30eOqR3/ePSDdrCLnVjnct5RtbmKewY/oDALQp9hMSRbikNw0MwKPcptEzPN2LEDh/Eiq7c0kBXTNHk4MWCUx7oLeqYYrd0nUtmGO3nWlNBRrLIVZ1L+noExEsQohrQdZnr98aR9eTmd9K66g+vJHw8zeanl4SUV0ouhpbI/TYUxMbkUWfbol+0ER/3upDvO9Vv+OdIk/0vTN/1u92wszVCkwXfV3nfMwFVw+whFd07Am3LXwV2KX3+Dg3SDotyASPsPrXEAP4GKGkiBJaW+xl0UtjNMHQklDB9UVCW3bY89Y+3f/k04d7IMtvbuBIhwlOJs7OBip82RlKaP6H2A74ZeOHczWyRN7+SXwegiDtIwVAeNh0aqJ5dv0Tr9Xm5+Y476PXiF0Qxh5NsIVrxTYsJVQKj3CLMAw114i3xE4Tak4AXB6tay7+KKzI0OCXLg9lHGcKbDsrWDk/z2vhj9hdfAxp+EszppdGoYB6ey8Me2WNn16JLttXfVOW3lVozhwx6NIoV0bYxSkJzOAjwNsEVaqXHYRZKZijlGKzCCIRysPzvf1z+bn53vG28O+Epy4IA0/7luNtk/F8hyGKvHjWQSZQ+FMZIE8qYh9lr6SX6EeqlKeTg7ZVsmkuNleee4GIwV6LsimqJ+FmcdjgZsvWSYlUW0x93Rx+6ITesTqitn+AntVZOdSVqoZiaHRG2ZQDI1eGKPTX1TiuRHIuRpWDY2FBHb07W+UapgZHiuHz4Y+iaJFkba1lmevP+//Jhoj3Xw6tWbZqTBK7gmCG4tsoDb0GX+GLySd8n40V460zmiU2rhW8vzpjMcLKcYzV1C8eP03qULziscnxzBX3etlrPeqKlv4ZxHevaem0jLh8EGo/Z4Ory+vJyyKThv9y6LG/7YgeWBr1E8hmvs7QcclYqUuqXfCDIKGLFztrdqV1mHjLy6RSa1sDn/ov3R874HdD9tunOo9juvl30mfpcUwDRN2K07tao5+lZzsZOFQvR5W215NyFklHkFkLgFkCxv5AAJbRsRMgs97zHnglc7E7u2J6WWZrWHokF1mTgnsTAYD19me4l5s0XOkQZGZw8bmzPJFZoan/DF5sFeBPc+GCPAQUBP2R/7tVuudy5DVnm7NdN29dWsahjzvgwc+Pe//vVlZBIXdfdoZId1jOwQo8nl+OfkQPlCHLR2H5Bd8OMF/Av3mbtq2oLSFTltNu9+JPHZOTFvveDWtAOMzHvXd4J7YvqINq07YlCPGOm5tWF7LvJpU9889fw6anJ8b1pL528/NFVEZQ9Kr7ukPbr62w8NtqlTHD/8ecaDl1vHU3ZWn5VJUJMGnfoYK4sumE14FsWogulsM/6d2I6rei0HelKcd2fTmeV6IUbwlqH8347AZu6/MRtfghFUEkx/D7FXMKAp23sPVEbzSqR5ltg0iSZDAGMUg8ALqM1ctrjvLbLkx9Ndtr+vjgmzetOZ6yE+/frmOJLqkYW7zNy8zYlclrjtJJzN3IeWvnlbbMmtUzIvrbqmb/5x+kOkNUDe/PFMn0dFiHMjd86cIKAYTDDimCTb2rMa4PpJ5Vx/n/5xw3xXJ8jHlWMt3FRJIJJSqQxG1BC0mfuYZ5X9kpdBpI5Lx074MRRDyk7gI8lDYK4M4wUYLySOy7BhPoXbN3vxWZNPA0F9qmCR5ZgJtd6QNSddZuyfVKhFrDLJwWB+0705iUC2HCIalTBHYrV4y9UiPd9mo04i6WJ+i+3K01utd2Tl+hpoxHPnC6o1cgrxCTQ9F6A+Mn80jxQbaPa/EvHvW3Xt/p5INOOpLcTe+aTxwEYdrS0vDsmdxVSYa5mdq+Z8/4xw6p+VZwj00qzkAuFJ76Cts7FWrhnI6+a9xXBzI+f9pIe2/yOmSWRmKMQ6RHjpEnE0r5DwXsLMZCkHCFWL7Fn4rFSxPEwXIPxfBtKQmv68Jcof+uRGx+Qo09NAM9bH2jZ4V0TbJURk1DksErA8jCznUQ66V7FxKFJe/IDCLUrXnevPS5kUOZfsXxYP/A6ML/C08FxVPDANbHDP94khv1yeroNc4lm3pKkU/2lBUbZF+ARnfEbiWZ9/mdLlqlU5Yeo+y33EEZ/ayyI+mzJrkQb6RpZlVBWykU7jGKKmnPDt9ZcH5pqUyYsdc9XoUxp8H7uPjFJHIT8nYqk9iUDR01gfS0tkKVwtxXi2LaOn+3V77RXWYrOw9+iqvT61mELsVdJgLU7evT5m6IgQ6FK6LrzLctKT2GgXtH/WGeOn5pvG1/on1L3B2HzT0HlmYt22aJ7E69eSql2MrscTtkcohqIa8DqVmGzMv2/V9e8aOTu1j0X8HTYUVdbo7bfYMjxTt+S4zLfRnZykk5yAletfhLfo5a72vp72s903SQjMX7sLb9E3cmwTIezyZuVuc06Y0m+Vk9Jf5LfKmlBisKQCjEljfaL2/9TTrRriHn5ffha+qe+X5VBs461y7BXZOxXVd3hopW7/v5f2DC8tkaJyzr6Jk5YPrZRmLdq+UkpOWQygz/PJtIJTpj3VK9vfhYHSjYhneiVPWF5aFSpWN/nTeCEyLMceSGYOB9jK/As+S4r7ZGz+5Rtkad3uf05G7c6kKyoz4AQFoZzB5EXJzTiOk4Uge4mJmhS3k+4bMM5Ty6LLZE3TlHicXA1b+qbEET9trT5s3Xr4WWKxGXcgztwUvak2KWl5dzQajMrR+x29qBGfbf5he9NCOpqpStpUMShD+/6dCRMTd0JCJ5D3XzuGyLZiZT1rZsdvKhJytma1jiRJbYXjYJOfB6vdq4IbLnyA41MjKuYP8WOQcrSMUQUNIxJ6tKVvOEpKpYxhXZTWQG1Vs4Fpso+T5OylDGaLaXNs6KelJDrB8cd+dzJlZeJ0Y5ys01NDVxWVrsOpKlXeyFFVBleoIUHUhO6DS5lHYVb6FDzFot9LUyr0jYroS9Z1SVBNfSP1yJe2UjSFbAWJTHqelUtadG3qpbP1yp2BfszvIi1X9PEQqHWH+Lly6Up7BBZJ8tphbXkhMmFAFwjfuwTF7Y5ZHbpAorwmu/1nLhYqqyYeFZRHaiZuHMler7hWP5l/mSxXQpu55PNC5ndjmXWF49gcazLVpr6RyXD5liM6RVYliabpFzmBVlx85VyLS5jpRaW66B8MI0GJk5x9jlMr41pJnWZzftDIp9rmCcd51JWrIYWkYjv+DILoLPHRU6AygSTXz3LjZm2oheeIZlCnyP3+i/kmMo8U109j+XIl714NW5pgwFinWpIcnFeG+bTCAUJswRRK1kyJJv1FFScLUn5FWVVzNYVMVxgZtmUvkJNIML0XclohOU15dqg6uBBdXPts78rv/4keXJ8GGYf5VJck1PjlYf0UWTCbVyRYOAzPTsL1fMVYTxX76C0VxRF2sionybMDhVyUvDMnZJS9ApD6cydPyQRRbBlT86Jv8u5TxUJK2GbYBCsLW0tEEeZBh4oRsY0U14y5u0bKCyvZsGQHqHx/lXNZkkElq+mDDrl7Sy/gIgPqre9J7Ebkzdb2UfYUBYOE8oD55i83W01lvYyOtDncVI81khC+Si2fr2md69Go259kqlvPJmiHNSjP5DqzCMI5nLRH77sZ8fgINWGZoOUa4U6wXFmYW/o8L6eGdmQemUdaxBQsRylSh3mEEfEkYwFlJkv9RMznmPOnG7C4210PMKDfQssDGjQSo3JrESQRKTBUtkqFuTIVJqdqbW5TRQ4Dpe7zJzLfQpOr3jbZS3+TG25cfVXhzG9MPoaC1FZuHz9bUATRcNXp985cTBQbBunVpqpET0UdKZ0qV6ognj0ZtZV+qVpmyfKlUS1zA6UtkLyRrriV9vUrfLfXvTTfNeLLTi+4mJZeYPUDkChC9qYNrDAiyKcwiyMc/PZUfHUV+N3VdOEwn+/Y/ME8NmGycAmQRRB6DiCM2QpeI5+Gluc9arD1/DWL6ZW3iE2MZrbvJg4epLmalk2Mpcs6MnmWLnLmiKdoSqNqrjlzWTBUKoudSJ5Naoh6JmU9xEqfP6cVadB78McTnQuKqYgZih2X5d1bjwR+DQmFkCC4X1j8nQfPJRTxa8SFp4aABHCPwAn8Aype+aABkEffFu9w2L77jd9iyeSleoyl31Ne2Y/fK+n3eIiHsYoRUwOwmZ2xboOQigfXbkMK95Yfv1qCEZOB+tWU+4VrLwCj30IXIwJu/JqJ6rkc+B3fy4lxbo+Xcv6QF2eqnr+pfokmVZi9nqCJl7e9sPw5V7344O2/2/svz3mAovS2iOpRmNoe3mCGhRxNeiNxMUcBTXjJoEnxJkTiyOxPSqBcBSn5DCNeN86WMFTcj2rD/IrtJWwPWZhpx5IhGvLFWr8XlmGNMCys1Qr5JliEhEsELiWAkWfFMMAn0PU5UKwRXFoUEQofP5wl1kXg3gJB6FMLH0LgOQiXCun8iwmyW6ZE7/yImm9y4A1Vr0AwaEtsV9xvEia5ZWx9cVer5Ipx4ak4hfpVoGhiJXa5PtnupBSAfXGYUlarXAzyL8xWRmnMovYNdOdZU1SeoXzkZ2ckVRnz2XHNKpGzWYx8Z1eqcvfX5dksXqzayaDKoXiCaqAHii2bXoS36OfYCyocINz9KFuzOFslLgpvUXIeKw6iT+Ril0zj1z3j0rdagW56WDd1XNzS9B+0WqFGfLjKYwHM72jpm0KvIp4rA2u+X4auzGqWp1Kiz+z09jdMmaKpGIq0mlq35NpVihTvi0U4MDFr+ZZZeHB3GLD2FLqcZpwyEWsBs5w0n66HZ5B/KzN5cdN4oyqwqWe8KS+6gqRLU79FuOnyzw6Lys3lGSjdZy7oSylHWArTIYpsWlTrQyjTOASLpEkYwCtxQTIPlach0EA8HGxh6s6YaEXj/BzuFkv21q3hBw7aI7L9/CTWvL6Wx7z3neNnLYXU6GkV5PNDlIPesqbt3kM+bZjyM8ilS1/fYqCqDiqHGv9nstS5oTAotnwyC/CypZGv5puvrw3BR+Khf9XAMMgiuM9qIsdgy4swM7NWMP457dEwCMXuysgcldZbZnPyax+kp52ZnspAUVlmU68sayl0VCuItwJu8oOFG/GQVHUbhl2lNsW9x1ae8qcACnMzs5jzXQ7vLlVaIp1uxP5DfNX2Qgyw7Tvsv4Y4eHjMPLfr8WRwxW//MWveHv1X+dGYchX5qZjE0m0joaoj0xCoGRK2r4pFwLDwFNRNczHSQ7BDQoNl0mDHiKLcq0PT+HB56s6mPP3Yn7eYja+Vs+120VVP07PMXm1P/7B6fk2FO6aB4kf1s1n7DJfrZvE5JZU8s4r8mZBMojunVpW0+IcJZDe3XHHK61pAeiXoqF4tK4CPVok+FY2Lb13Fp/bVk6RVO7ffOO007yidCUcpfRwAVjjgp3Wpu+MS6DD381l+kTDiL8hwVT49VPClTtfKediW4pr8L/9thEn3asj3n+ejwVXaaUvjz64rP5cAJYp/3AKR5RwbLiG9XQOMarlR8I9lnIJ4s51HWOzAd1yeq28vkH0HgQ8FQwKBbyMYDZOIocsDPcgiyMl75wyA6vX4Uod6IMkjlZqp8Wcq4V0Ljv+90eCB1PjBrEL3FZez/2DAKjJZQOxKjzA5XXwa6FRU17aR2wKAFdW1mnQ8Zn3/UGFcK0xr7SVWGZqLYImai8cVwuxHI12G8Jr5XAyN0ntNvaU1z5607Fz2ppPBIE0kyQCnd9V+3xU5JieSJ8RoJTFmdyn23IpGEQiXSd8kPeSuCUg/i4M9irUnmFTWL2PEpthUd6+BpkpFP4FjvkuyKdtV8P3ByrIR26WabhAPiIO3rqDKD8biW1fUXSKHfy4nkchWaaxdC/ggcwnjUti9M2H134v9YJI2nnNNSjITiVPPERtv+UzJiXSr301G8aAqxSSSp6okJYHITik8b/xOYN8h/LuNX5AvjP9s0LnoVqmH2FZhRK35y9f4qDtpv5d/fistfd7HnA1jhoNl1Sh4Gl6BzjdBg61rllpz5XSAXmDleUsqSTJ8Vl+5bBuuPc+hI83zVWfEZ5icB7izcH2r/N6s5Dhe95m+xGer0su+5VFanpeSbtX1+jaJixP65N7MwT+XNjaXro0DEsyoaQdL/gAq/5bURnwdSj+ODhqKhVrsVZYR2a8DQjG0gPB+ZnXtL+T0L0Q7BP34EPSTRgQxB4TilIVc/qCmb2QuYllV5gwzTBAHdTPXd2Bpp9zOAgx8irZlzrNKS1ssUn7hL9f5p3/cfK+Vfoq0qHj7O9ODVuo1JmSjOEXOQPw52rLs2C/WFzahtp8mzL1cg1LW8lAUL2mZP32TG0K0NdRZppfg5F4k5YeH0m8uvRwsM1GloMYllPBWkk5u9eOlcvGX10eMPXjpVjcQ4MA/1XS9EkpTOOISGYSxuoihoYdVgKlcImiFvi22NOLLT4LcKMxSPeXPFSjeLZdyOCo37GWpVWJv2pDzwe/uMn8YZVcGUqjIw412qukn0UF6t2/dTTZIBZ9e/6r82fx0ZPyvm+8rSg31z9P0tVd9I0k2ErfyD9j/P/vSelOqfNVw98HjIuT++Ye/7ZxDIYW8fTCMWYCXFoWDzcYcoVVAXBrgxyg63WzMiTWP/uwSkEYvVirz+6Z24KCW/h8FWNbTMviuxb8RpDrn435jWrOWizCIpVeUavUlGem1W1Wrr3C/cD0EGFmOmJGclXoxWGQ2oAzZOe8t5i4qB/NUa6uSpGRXKuhJ05V7eEEqi2R0NWYlHK28KM3vAbBNBk9DMexyywzk02hMAe2FI1B3LIoah3p9ERDKAKNxCIRamHaUrUXkQrYeoPFAAv/SrLaDMPKdCrLZ5wNHfO+AnAK3qUbGueSdy8F18ukLkT/C3NuOF4RORfD4v5cNEm5s6ngd/OFW4SkM/atwel+eJH7+hyFb4i7/eTBNkQFISl/gS/CK73CKy7fsp+b5lCBMIGfZtsqlycotYK0CVks1yjJSAXaChOoyFYDmULtURYRii0N3cp9RHe34jCpzJpIv/zioHeNuWClJ4VCML3rDJNreuey2+9fDZAsgKvTG048fzti2pnBhQy991Vd8QihJ2v744ezwcKuqx7c1efTn44czcFxCccCz3vlhmqIHRTJYFgpj1fnJWH8wmZ4Prvv5RNHz68vLNJdh1P0/171R96yVnn6mMKEQSbTloFGMIrlCkXuCh08ociCUHkdJYEXJDRPYrnuXVbJXX7zkB5XIgXngOchPgtgYJV9c1nbGRNULUgP17yk5tbTlQ3U5PzuOifKPeqpnvvBxJst3YtUEl+Q17hBmofR9Vox+CzHKMAZq+01DVKsFa4Sx66D4+02dwJ+58ywaIG43SR+k5p/WZ4Am/jTt2dx0mj8eTfkNnKmPmNfNaLASTf7Y8qZALL68b1H46afu4BzevVNUcSxqkSDENjrl1Tmqnmaxs9XKe2SdMt7jjk/j07Tu4JwN8BX7+/8FAAD//5GUOwmlgAAA + H4sIAAAAAAAC/+x9/3fbtpLvz6u/YsqwsZSYlO323u3zrbJVZSXRsy3pSXK6+xJXhyYhiTVFqgAo21H4/vZ3APALSIKSbKe33Xv23nOSRgAGg8HgM4PBAHzxTfPG9Zs3FlnUap3OdNwdfeh1utNefzq5HLaawYo2rc8hRk078Knl+giTpm0bKxzcP5gE4bVrI9P1edtB57w72bdpYN8iylv2e9POoP+292561hu1tCaidtP23aaPqOlovPznXj8uZFRZ4Y3ra7UXk8HZAFah5wFduASCkEIwAztYrgIfUZ+Yv5HABxoE/8HJnA1+6V8M2mfjAjEnuPO9wHKIVuuMep3JRVpTrohdm3qKuhlzIcFNL7AtT7DXGfQn7V6/OzpT95yIxZGJjq76HWV1HPq2XPH8h7Gy3m14g7CPKCLF2sNR70N70p0O253z9rvueNppd953dzRtrrC7tigyVpZ9a81RTGvUfdcbT0b/NR11h4OWFhDCxmxhFxGJjFa7+vmqP7majroX3fa429LrHrmZYuQhiyAwMBikURuMW3rdnYFHgE/+KyOpcPwGmg5aN302xSdvXh7/A+gC+UACTFnrQvUvMLfubuFgaVF7UdePDqH5a713Nr3onXdbdTvAKCCNL72zVt181WjozUOwGrCBFXZ9CjQIVyuE69bHk2uwPn533fgHoHuXQnTwD5i5jdq427kadaeTi/H058FgMp6M2sPp+dXP3YvuZNr9z25nOry4eseUoaw8YiFQj9wEASUUWyttf3ofuqNxb9Bvaesj89g8MixvtbDME6026V50h4PR5GxLzxR5aBVg6uQ1t3vW7U967YvpcDT40DvrjtQqjxzkU9fyVjhYuw7Cu4hka2Ft4abn3nBl8JBMy0iIKQZQuZYu2/3e2+54Mn3bu+gO25P3OcEuLd+dIUL5emcL73I46Hf7k7G6egwQPiVxgw/vz6YXg3cV1dcLx3B9Qi3PM1lTD1HEOZqe/TxtX00G06vhGVtYby/a72QSiQyWlm84N00rpIERrhyLNe9cjS6mg6vJ8GrSatLlqmmH2JuuEb4JCDKDkCZLZzCe9tuX3ZYm/s06HjFQyQriH7RaZ3g1bY8671uaVnOQ7VkYgWHBL+3x5fh973LYOxu36g25aDzs9ZnKJUU1gmhneNXG9qLegE0NACClqtfnaWmjFtVqGC2DNbq0/LObdkiDKz60t541f+t6KG2Pl2DMQN8lL0bQxsiiOwnSILQXexL0kOWHq04KtWceI0VyzOEZ6FVYzYjEc58R+cWli06qQ/+bBH5KLyAtfZOfuYgXuDP4+BGMz6DpeUzU4PpawBqvlxIZjCPpB6YZxA38lmaHGCOfarwQeQQpa6VMxL1Eov7M5X/xPzL7MxTQ3tLrv/0OmjlMkB40XbGUNPgCvN7Ha/gCBHnIpnXTt5YIWi34pGV0P2kNrQFfvggc1buj0VSScwxr017/Q/uid8Z5ik1TUsZ1MpaeSy4tzMgOcJstywvXD+9B44LS4OVLJl5N3/TG0/P2pB1pjBmN4hBVCThZR6x6fq5iKYmlGkvjg5AsYX2UJBcxUW0CkvydzEMsdf7Hi0x/DgisE3IWxtYDuATQ/QrZFDlAA1hYawSB7z1A4CNAHloin5qCTG8GLoWFRWAZYAR0YflyrUO4Q3Dneh7EastGDp5FaFIDXJ//xns2JeXUNy+K8v/403UExpzCcVmIyF4EoP3SHvV7/XenkjpB7CoUB1nJswk9wavrz3ewm1PjHWyj3+GIaZ++KZUfXUdcP34cn/eGb7SqwfX6bwf7jIxNn0sXCANarugDBJizPHOxPA4CojsTxrfuasUGK5GOp8uibuDHw+QAhWiIfTiSx917O27pB5/8A+4IIaegoq26Xhce0gf48ccfNcX4X11HWkMsrdAniDKS/F98PFPifkYtffNCSZ4Jl9dlsq/XsxbGcaMBhkfhCK6v2Ypk0zh1fQfdt/hESP8uNeQUV7meWvpGzYC+yShFMTOZJC+t3wJ86foBHjI/8EMKiXUxqXq+FwZndkjBcAwwZscNrUDufUDfuvePokLAmJ3EhJiOCtjfxaEG10xIH/eqypSXecXKRjmWc3WVWu76a8tzHVkZY/0+heIws6b7Qnqss14wJ1MaTNGa2UzQ2udjszPumkXjOgp96i5R8vuYWr5jeYGPMvjUGMuVpSDjs1p8Ua5OTloxYieCgQr2wIDysKEF+iYvr0irVXoQl7HTmvMfuMsrzURiSSRdmoGml9zh8txupZRXccltYB6AgcHMCk3kzJGyy0amDZwzhdPBde/4B/Po+zKDu3g4kJlYub6PHFM7/uHoe+1gFzuxzuW8o2pzFfcMfkBhFoQ+w2JIthSH4KCZFXqU2yZmmrFjBw7jRVZvaSArpmnycGLAKI91F/RMMVq7j6SyDXfyrCmho1hlK86k/D0BYySIUQxpO8z0+uNJ++JiOulddgdXkz8fZvJSy8NLKqRnQ0tlf5oKY2JyKbLs0S/bCY763Ul3nOu3/HOkSf6Xpm/63e7ZWJqhSINvqr3vmIHL4OYBiu6cgDflroO7FL/9DgfpBkW5AZH2H1rjAH4EFTWQAktKfY27KGxnmDoSShg+qKhKbtsee8bav/2bcO5kGWzt3QkQ4SjF2djBxU6bIylNH9G7AN8OvXDuZrZImt7JL4PReRykYagOGg+NVE8u36J1+r3c/MYc9XvwAqMZwsi3Eax4p8SEy4BQ7wFmAYbb8Ab5iMJNSMELgtWNZd/GFZkbHRLkwM2DjOFMh2VrByf57X0x+gsvgY0/CWd10ujUMA5OZeGPbbGyq9EF22vvqnPayq0Yw4c9GkUK6doYpSA5nQV4GmCLtFLjsIskMxVzjFZgBEM4WH9yXtc/mZ+c141XB3wlOXBAmr+um032zwWyHMbqcSOZRNlDYYwkgbxpiL2WfpIfoV6qUh7OTtmWieR4Wd46LgZjBfquiKaon8VZh6MBWy8ZZmUR7XF39KE7YtP6iOrKGX5Ee9VkZ5IWqpnJIVFbJpBMDR7ZY1PflCL5kQh5GpaNDUXE9nStb5QqGBme64f3hr5JooWRtnWWJ+/+Lz8m2mMdvHjxqhlp8AKuCIIbiyzgJnSZPwYv5F0yfrCXznSO6JRa+MbyvOkMB8spRnOXUPwwvXPpgvMKxydH8Lddq+WsN2rqWzjnkZ695ybS8mGwwag9ng6vLi6mbAretnsXxQ1/7MDywNcoHsMV9vYDjkpFSt3SrwQZBYzYOdtbtausQ0Ze3SKTWticf9b+7HnfA7ofN905VPuD18s+E79LCmCaJuzWnVrVHH2tudjJQiH6vK22vJsQMsq8AkjcAkiWN3KAhLaNCJmFnveQc8GrnYld25NSS7PaQ9Ggukyck1gYjPvPs73EvNki50gDo7OHjc2Z5ApNjU/4YvNgL4I7H4wR4CCgp+yP/dot1zuXIau83Zppu/pqVjWMeV8GDvz73/72PDKJi7p7NLLDOkZ2iNHkYvxzcqB8Lg5au/fILvjxAv6F+8xdNW1B6YqcNpu3P5D47JyYN15wY9oBRuad6zvBHTF9RJvWLTGoR4z03NqwPRf5tKlvHnt+HTU5vjetpfP375sqorIHpddd0h5d/v37BtvUKY4f/jrjwcut4yk7q0/KJKhJg059jJVFF8wmPIliVMF0thn/RmzHVb2WAz0pzruz6cxyvRAj+I6h/N+PwGbuvzEbX4ARVBJMfw+xVzCgKdt7D1RG80qkeZLYNIkmQwBjFIPAM6jNXLa47yyy5MfTXba/r44Js3rTmeshPv365jiS6pGFu8zcvM2JXJa47SSczdz7lr75rtiSW6dkXlp1Td/8dPp9pDVA3vzxTJ8HRYhzI3fOnCCgGEww4pgk29qzGuD6SeVcfx9/uma+qxPk48qxFm6qJBBJqVQGI2oI2sx9zLPKfsnLIFLHpWMn/BiKIWUn8JHkITBXhvECjBcSx2XYMB/D7au9+KzJp4GgPlWwyHLMhFpvyJqTLjP2TyrUIlaZ5GAwv+nenEQgWw4RjUqYI7FafMfVIj3fZqNOIulifovtytNbrXdk5foaaMRz5wuqNXIK8RE0PRegPjJ/MI8UG2j2vxLx1626dndHJJrx1BZi73zSeGCjjtaWF4fkzmIqzLXMzlVzvn9GOPXPyjMEemlWcoHwpHfQ1tlYK9cM5HXzzmK4uZHzftJD23+JaRKZGQqxDhFeukQczSskvJcwM1nKAULVInsSPitVLA/TBQj/p4E0pKY/b4nyhz650TE5yvQ00Iz1sbYN3hXRdgkRGXUOiwQsDyPLeZCD7lVsHIqUFz+gcIPSdef681ImRc4l+6fFA78B4zM8LjxXFQ9MAxvc831kyC+Xp+sgl3jWDWkqxX9aUJRtET7BGZ+ReNbnn6d0uWpVTpi6z3IfccSn9ryIz6bMWqSBvpFlGVWFbKTTOIaoKSd8e/35nrkmZfJix1w1+pQG38fuI6PUUcjPiVhqjyJQ9DTWx9ISWQpXSzGebcvo8X7dXnuFtdgs7D26aq9PLaYQe5U0WIuTNy+PGToiBLqUrgtvspz0JDbaBe3XOmP81HzV+FL/iLrXGJuvGjrPTKzbFs2TePlSUrXz0dV4wvYIxVBUA16mEpON+etWXf+mkbNT+1jEP2BDUWWNvvsaW4Yn6pYcl/k6upOTdJITsHL98/AGPd/V3tfTfrL7JgmB+Wu34Q36So5tIoRd3qzcbc4JU/qtclL6s/xWWRNKDJZUgDFprE/U/p96ulVD3MPvy8/CV/X9shyKbbxVjr0ie6ei+g4PrdTt/3hpT/DSEikq5+yrOGn50Epp1qLtK6XklMUA+jSfTCs4ZdpjvbL9XRgo3Yh4olfyiOWlVaFidZO/jBciw3LsgWTmcICtzL/gs6S4T8bmX75Bltbt/udk1O5MuqIyA05QEMoZTF6U3IzjOFkIspeYqElxO+m+AeM8tSy6TNY0TYnHyeWwpW9KHPHT1urD1q2HnyUWm3EH4sxN0Ztqk5KWd0ejwagcvd/Rixrx2eYftjctpKOZqqRNFYMytO/fmTAxcSckdAJ5/7VjiGwrVtazZnb8piIhZ2tW60iS1FY4Djb5ebDavSq44cIHOD41omL+ED8GKUfLGFXQMCKhR1v6hqOkVMoY1kVpDdRWNRuYJvs4Sc5eymC2mDbHhn5aSqITHH/odydTViZON8bJOj01dFVR6TqcqlLljRxVZXCFGhJETejeu5R5FGalT8FTLPq9NKVC36iIPmddlwTV1DdSj3xpK0VTyFaQyKTnWbmkRdemXjpbL9wZ6Mf8LtJyRR8OgVq3iJ8rl660R2CRJK8d1pYXIhMGdIHwnUtQ3O6Y1aELJMprstt/5mKhsmriUUF5pGbixpHs9Ypr9ZP558lyJbSZSz4vZH43lllXOI7NsSZTbeobmQyXbzmiU2RVkmiafpETaMXFV861uISZXlSqi/7BMBKUOMnZ5zi1Mq6V1Gk25weNfKptnnCcR125GlJIKrbjzyCIzhIfPQUqE0hy/Sw3btaGWniOaAZ1itzvb81XkXmkuH4ay5crefdy2NIEA8Y61ZLk4LwyzKcVDhBiC6ZQsmZKNOkvqjhZkPIryqqaqylkusLIsC17gZxEgum9kNMKyWnKs0PVwYXo4spne1d+/0/04Po0yDjMp7okocbP9+vHyILZvCLBwmF4dhKu5yvGeqrYR2+pKI6wk1U5SZ4dKOSi5J05IaPsFYDUnzt5TCaIYsuYmhd9k3efKhZSwjbDJlhZ2FoiijAPOlSMiG2kuGbM3TVSXljJhiU7QOX7q5zLkgwqWU0fdMjdW3oGFxlQb31PYjcib7a2j7KnKBgklAfMN3+52Woq62V0pM3hpnqskYTwVWr5dE3rXI1G3f4kU916NkE7rEF5JteZRRDO4aQ9etfNiMdHqAnLBC3XCHeC5crC3NLneTk1tCPzyDzSIqZgOUqROswjjIgnGQsoM1nqJ2I+x5w/3YDF3e56gAH9Hloe0KCRGJUbiyCJSIGhslUqzJWpMDlVa3ObKnIYKHWfP5H5Gppc9bbJXvqb3HDj6qsKZ35l8jEUpLZy+/jZgiKIhqtOv3fmYqLYMEivNlUleirqSOlUuVIF8ezJqK30S9UyS5YvjWqZGyhtgeSNdMWttC9f4Ju97qX5rhFfdnrGxbT0AqsfgEQRsjdtYIURQT6FWRzh4Len4qurwO+upguH+XzH5vfmsQmThUuALILQcwBhzFbwGvk0tDzvQYOt569ZTK+8RWxiNLN9N3HwIM3VtGxiLF3WkcmzdJEzRzxFUxpVc82Zy4KhUlnsRPJsUkPUMynrIVb6/DmtSIPegz+e6FxQTEXMUOy4LO/OeiDwW0gohATB3cLi7zx4LqGIXyMuPDUEJIA7BE7gH1DxygcNgDz4tniHw/bdr/wWSyYv1WMs/Z7yyn78Xkm/x0M8jFWMmBqAzeyMdROEVDy4dhNSuLP8+NUSjJgM1K+m3C1cewEY/R66GBFw49dMVM/lwB/4Xk6Mc3u8lPOnvDhT9fxN9Us0qcLs9QRNvLztheXPuerFB2//3d5/ecoDFKW3RVSPwtT28AYzLORo0huJizkKaMJLBk2KNyESR2Z/UgLlKkjJZxjxunG2hKHiflQb5hdsL2F7yMJMO5YM0ZAv1vqdsAxrhGFhrVbIN8EiJFwicCkBjDwrhgE+ga7PgWKN4MKiiFD48P4ssS4C9xYIQp9a+BACz0G4VEjnn02Q3TIleudH1HyVA2+oegWCQVtiu+J+kzDJDWPrs7taJVeMC0/FKdSvAkUTK7HL9cl2J6UA7LPDlLJa5WKQ3zJbGaUxi9pX0J0nTVF5hvKRn52RVGXMZ8c1q0TOZjHynV2pyt1fl2ezeLFqJ4Mqh+IRqoHuKbZseh7eoJ9jL6hwgHD7g2zN4myVuCi8Qcl5rDiIPpGLXTKNX/eMS7/TCnTTw7qp4+KWpn+v1Qo14sNVHgtgfkdL3xR6FfFcGVjz/TJ0ZVazPJUSfWant79hyhRNxVCk1dS6JdeuUqR4XyzCgYlZy7fMwoO7w4C1x9DlNOOUiVgLmOWk+XQ9PIP8W5nJi5vGK1WBTT3jVXnRFSRdmvotwk2Xf3ZYVG4uz0DpPnNBX0o5wlKYDlFk06JaH0KZxiFYJE3CAF6JC5J5qDwNgQbi4WALU3fGRCsa5+dwt1iyt24NP3DQHpHtpyex5vW1POa97xw/aSmkRk+rIJ8fohz0ljVt9x7yccOUn0EuXfr6GgNVdVA51Pg/k6XODYVBseWTWYCXLY18MV99eWkIPhIP/YsGhkEWwV1WEzkGW16EmZm1gvFPaY+GQSh2V0bmqLS+YzYnv/ZBetqZ6akMFJVlNvXKspZCR7WCeCvgJj9YuBYPSVW3YdhValPce2zlKX8KoDA3M4s53+Xw7lKlJdLpRuw/xFdtz8UA277D/muIg/uHzHO7Gk8Gl/z2H7Pm7dF/lR+NKVeRn4pJLN02Eqo6Mg2BmiFh+6pYBAwLT0HdNBcjPQQ7JDRYJg12jCjKvTo0jQ+Xp+5sytOP/XmL2fhaOdtuF131ND3J7NX29A+r59dUuGMaKH5UP5u1z3C5bhafU1LJM6vInwnJJLpzalVJi3+aQHZzyxWnvK4FpFeCjurVsgL4aJXoU9G4+NZVfGpfPUlatXP7ldNO847SmXCU0scBYIUDflqXujsugQ5zP5/kF7H/yfOVssdxqVxXxK9SdXhIHcDRRaluuaPchw4m3csh30y+HQ0u045bGn9DXfntgzLFP0/bq4QWWySxx9k12KiWGxH/CsYpiMfYeejEDnzH5Un49gLZtxD4ULAQEPg2gtEwCQW6PIKDLIKcvNvNkKVej29rqAeVvD6pmRp/fxLetOD43xsNHiGNX8IqdF9x6/pPRqIikwUornT1kmPDx6FJRXVtG7ktyFZRXatJ517W6/sKq1lhM2vPMbfQXARL1Fw8rBBmPxrpkoSXzJmaIx/hKlgonMxXahF/FLK0oyxVVIaui2vCJWBV7RldmiIjW2FsPCVkLOb8l7go77tD7LEtH7pvHSTnYh9/bV6/lpFs/fHI+F/Xrz+Zyd/m6+xAzHx9UDBHhq9SZaW9KF7KWlfolsJmKbpo/T/Q0/FUG6jkXQO+wV1hNHPvFcJ68UqSQFS2KKX7ZBsF3W+/bb5StBWz3xXIgOTHrvNUge3Ii8h5ClUTW40RKuV4/kt9hdDDafnqWsVlELGXYbqc3hfsLa159lRs56I3nQwGaYJWxlnvsv2uK3K3TqQdBqOVnN24SxHLUjSKQGxF9E3SQ+76jfSzODCnWHuEq8r6ZYzYFJvq7jXQVFc8TuCYRx9synbrfN+9smwEtz8Q0w3iAfGlryuo8gPn+DYjdZfI4Z+hSiSyVRpr1wI+yNxFDOk4qzNh9d+JOEtyHSPn8pdkJhISnyI23vKJkhNpjH+YjOJBVYpJJCVWSUrC251SeNr4ncC+RfgPG78gXxj/2aBz3q1SD7HEMaLW/PlrfNSdtN/JP38nLX3ex5wNg6NlxSh4emuBzldBg61rllpz5XSAXmDlaUsqSd59Ul+5LDauPU+hI83zZWfEZ5i8DXBn4fpW+R1nycJc9Zm+xDkL0ovZ5VFanpeSbtX1+jaJi8yX5D7awa9LG5tL18YBCWbUtIMlf1iYf6NtI766ph9HBw3FQi32KsuI7NcBoRhaQHg/s7r2LTn9lmiHoB8fgn7SiCDmgFCcspDLy9X0jcxFLKvKXHyGCeIAfOb6DiztlNtZgIFP0bYbKazS0haLlF+kzXX+8afr11rpp0iLiq8qZHrQSjdtCdkoTj01EH/muSw79ov1mU2o7aeJqM/XoJS1PBTFS1rmT9/khhBtPUIo00twci+S8oNe6bfMng+WmahSUOMSSngrSSe3+vFSufjL6yPGHrx0qxsIcOCfQLtaCaUpHB2LzNxYXcTQ0P0qwFQuEbRC3xYRBfFFNUFuFGYp1PJnQBTfA5ByoyoDYWWpVWJv2pDzwe/Es+0oyq7ipFCRhxvtVNNPooP0zuy6m2wYC9se/Yvy53gXVlFqqH+epq8o6xtJspF47eKA/f+TL603pcpXDXcfPC5C7l9/+NvODxVSyNsHw5gFeGlRONhszBFaBcSlAX6IotPNxpxY8+ivLgFp9GKlMr9vagcOaun/UYBlPS2Db1r821uq83PuN6Y1a7kAn1h6RalWXz6TXpFWtfoCdwvXQ4CR5YgZyVmpZ4NFZgPKkJ3z3mLuonIEQLW2KklKdqWCnjRduQdNpLJIRldjVsLRygcI+P0atsng6V2GXW6ZgXwaDC2gvXAE6o5FUeNQry8CQhlgNA6BUAvTjrK1CBzK1gM0HsfjX3DWdhBGvlNBNvss54jvHZBT4DbVyPiORudicJV8UkbkZTH3tuMFoVNxKPPfywYJNzZ1vA7+dKvwGIb+WTi9L08SP/9iyJa4y38dTFNk1pLSly0TvOI7nOLyLfupeT4lCBPIWbatcmmycgtYq4DVUo2yjFSAnSChukwFoDnULlURJyHFoTu5zxOPdnyemDkTyRe1HNSOcTeslKRwKMbnvWESw+5cdNv9q2GyBRAVeuPph/dnbFtTuAill76WLT7NlVyG+PD+7PBwq6rHt6B59OfD+zNwXEJxwG+T8ENqRQ+KJMssFMaq8xB6fzCZvh1c9fMJ2G+vLi7SHKFR9/9c9Ubds1aaVZDChEIk0ZYDfDGK5CQm97QVn1DkQCg9OpTAipIbJrBd95mrZK++0MwTAJAD88BzkJ8EsTFKvmSu7YyJqhekBurfU3JqacvJKvK9hzgmyj+Wq575wkfPLN+JVRNckte4Q5iF0nePMfo9xCjDGKjtNw1RrRasEcaug+LvonUCf+bOs2iAuDUofegdUbtpM0ATf5r2bG46zR+Opvxm29RHzOtmNFiJJn/EfFMgFj+KYVH48cfu4C28eaOo4ljUIkGIbXTKq3NUPc1iZ6uV98A6ZbzHHZ/Gh9ndwVs2wBfs7/8fAAD//32TM1T9gwAA - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/CustomData b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/CustomData index 7e0eb67cf6f..9216e2fc903 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/CustomData b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/CustomData index 367b20c155b..6430731c7b9 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/CustomData b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/CustomData index 367b20c155b..6430731c7b9 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1604+Docker/CustomData b/pkg/agent/testdata/AKSUbuntu1604+Docker/CustomData index 2470f0f15dd..00a2d7b7ec4 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Docker/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+Docker/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+Docker/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+Docker/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Docker/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Docker/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+Docker/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+Docker/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Docker/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Docker/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/CustomData b/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/CustomData index f68e4cb8259..647dad12bc2 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/CustomData b/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/CustomData index 352f85d64cc..6d2c4ebcf34 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/+R8+3ebxvbv7/ordimt7dZIQnacxDnkFEvY4VqvC8hpruPDwmIkUyNQYHDiY+v+7XfNMMCAkGPHbW7P+borqxKzZz8++zF7ZrB//KF16QWtSye+amiGYZsfTEsbdK2+bVqqYdnHqt5X9oGOdfujSc/Wh7plW/pAG00s5UU6cqz3Nfu9anXf5SMH6ci7Ub9nv1f7+nDyu3qiDS3lZTpgaH1NNbUaglcpgTq2bH1oWmq/nzN9nQ71Rt1TzVgb7bRLw73R+2F/pPaKcbk0fqp9qKHplGiIEoQuH94rDXMYdRhIg9HRBzqtr5sFTh0G1MC0T8YnG0QfcBzWbGOwdUdDS9WHmtFbJ2HAGZNhd32QQXf6yiQEQ314ko/ttYuxNa32GGinkyONhMVwZNnHo8mwp+wxqPTBSc20vWJaX7N4pPb2y14cnNjjCafq3os1U7tWHd3BOp2hEx3XSTejR0OXM+rVGuWZZpj6aGjrwzO1r/eUPQZld6iv270v544eG6Oe3dOOaog660Tj0xNb7fVYwjH0RobKuUQzjJGh7DN40kzlDKETX2Ux1BsboyONPWUajybWEbGSWDdMh15wvlfHum1qxplm8ARyLUFvaNr90eh0MmZknVoy9f9MDG2dOAsO1VLrc+GgzVFUk/BA5gargX7AFDl716v69mA9sNYEv2xzSbQ+yiR3J6Y1Gtimphrdd3ZvNFD1oZna9ooxOBlP1ue/2uMGDZ1EFp8Zr/bXh6v2vXrB0Whnelezx/3JiT4sMTooiPTh8cg2RgO7OzKMydjSesorlg7mye8b5bxur9NwEl7LRZXuqXq/8M5rrn5Pxj3V0oqhLHNMjQT+mU7zyuwa+tiifjI0tVdwktttTggpp5PxiaH2NI6CU2M8MU5YwMvtTp4kpCAYGnGDIrcZ/l3dtFXT1E+GtjEaWfb4vSLL8toYjZ+xZgx0k2iqyDJjO1Zp6eqOxh8okSLLPOfxuP/BHqum+X5k0GQ71k8UWa4kbr6GjFhayHJW0dIythY+svyyRDAaa4ZqEQzT0iDLWfWyjJrB19BIwaJJaVpq99Q+0SxbNQa2NTrVhoqcLaFVkqFmvR8Zp8yWScpYkbMVtUpuTo6GmmWPDe1Y/12RyaKaJ+XRRO9ntUwm62IKynt1bHcNjYRLCka2KvEj+tCcHB/rXV0b0og4tc2x2tUUmaxSlNrS+tp4ZFi9UtlU5KzOFeNZwKfDmSGGpR+rXbJeGZo6IKtkxkeRsxpXQ8SYKTIpbWnjY1ljEuS/f7C7KsHtTDMsRc4KG8sMMqQZlqnIB3lzwtQ2tS4B1eqb9tFoZJmWoY7z5VT7XetmeZ9Hx0Hm4J5uHql9zdbHlnrU10xFJmUtrZnGxLQIh/XgyopbTzfJLNs03ynyyyziDX2gGh/sod619TFXVOWXLPL1oakZlq0PeqZtaKZFQpREnzEhmgytkT1Qhyd9zaY6KfLL/cfOO9b7lmbk81ga9QgQ2oZ5x6TgVeQdPHZeRd5LLngNjfjCNrT/PdENrad0shI1HNGioJ5oJgOmk9Umc6iOzXejvBryTWM7y4yxoZ+RQbJ+klaARGUnK1fkIR+unfZ+ljZ5uz5QzVPGlI11Da2nDS1d7afFtlfbE7ezDCTtTLXV6bQPoNEoWhHaVBFtmPYvoTJGnhNUyepvy0qn/apKwS2+71VzoHTarx9ksqd05PaDFPtKJ6vdGyheKB05Q4X1IVmQ5/2pZpyRRCbZqB/rXeILY2SlBdRST5SOvMdw6mvqcDIuDLH1AXG70pH3Gw1vBjMvcKGF8BQkfLtEMNv1QQqcBQLhFylCPnJiJIC0jLwAg/Qp8TB03rZcdNMKEt+He5hHaAnSJ9hqbr0BfIWCBgDAyFTE7TiMMEgRZd/KuZE5zudr2Fo4eHq1LbZ3ofWvbb1n9/VTTdmehhEK4517vadsN3/Z2RFbu+DswB2kKuAwWS5RtO2cdy7AOd+72HkD6IuHYbW1wyRngfFEDfJwerJguAccgeTClrC100B+jKgmaHoVglARHYQYZmESuEJj5jUak6PJ0JrYI9MeqgNNEdLvQmOgGtRb+QB7UIzQfrI6TB4KDbrA0T1qQVA8Expsd6S0kjhq+eHU8em2+jq5RFPsN9KlPh0lz91weo2iBvqyJGjSVu5MEcS7ovHLED9UVkKJTjMtXkpw47mewwTkbpKb8l5TluRs5vBM7+lqxprGq22+UzOR+QNeWt0ckgiZmmcrSbzbwHiNC2eY9WGsVWwlj74iWhEW06i58KZRGIcz3JyGi5ZzHZN/0nyZFKpU2BZMSU+U9sNpIe0OeoowJVEWwPWruOmFECUBSCQxbzwfzZELkhQtQJIChKWrMMYgSZ89fCUFMSw997C1jMJpS24FcWvpEeJFmJCwvl0i5dIL3N04miqtcIlb82Wy68ZYaS2C9Eu4xF4YxEpE6B6a6UwpYTE7e1DikBvJ4mDNzjTg6gwMEFaYbUvPZR9vIFP7MFM5f8gUOOS1oUAJDdKFd9XuO83u6YbSunGi1tSZXqGWQ+ZF0yvvBsWtBumo1SFp4TjiKAwxoUsnNLQzbWiRXePJCW3CMn5+OG85/04i1BrksaCS703tC0ZBTLRpdpMYhwtzGnlL3EI3KMBxq9GdGH2yAx5PLKWFF8vWNIl8+wZFl2GMmmGCG3T14CnCyInXKQztRDct4wNrhtMNAK1JhL41DYOZN2/eOgsfGo0I4eh2unBtb2bPHM9PIrS9A3e0mpExD8WKKL+Bz46H7dhHaKmInTeAvQUKE6yIe28gvvJmGH7+ufKBspiFEXjgBSBux+gTyCAypjtvwA0pCflh7EDMPgji3W8rgfC6jJBzDff38DGn9mZwDqIHEvqU84MLbinKfmg51r6gaYKRCx8F8bePAplIpMRvSqQRwkkUgJw/zGt69kONB7EAIh+defSjGwbcKrBZ7KoWdTv2fBTg/x7w/yxEebiC2A/D62SZo8QjI3PIEJRC7Pg2j1WEpmHkKuI+nRpjJ8J0XBG3XQcj+PWnOG0oPl95PgIcJagEVCYdpJxrBplEVVTaBBIiZAN40ySKULBBaoHu9jZPCBKn684OSHMEYsm6zcEvWISOc3FpWoRIMXN3n2QZiVfkCg/7mjlws5fzZHkQktSGPJWepGYYfQ3IGE3DwI0FkpJ1GRmEdowdHP8dcpKk5N8nI3O05gjb2IkuHd/PUcJOZD+EVEpOkUoiP0vH1NXiHTd7lQEubICOo63A50Qg4X/PKAmR9hjoOG7fCF/mrIM2CWsfpFls9m9ApJ/DQpm3IHKrPXTe/iyX+BC1zkH8J/ygQBsu6pShqePgEqMSAZeBz/WsPYvChR2huRfj6NYmLaZNWolnepzMmoW+iyKS916UbkEzkISd/8awILDBkmyj+aBgMJAulYEspV0aiHcbW7oVCSOuJXxeGHGM/vQwuvQCJ7r9ahQxsgcCiVEsHXxVDaZMxno8cZMqMVUWWAmrDbFVnlMOLxo20qwiszZoaNBtjphSAJZFwiY3rsVhLeevx2MJyT87JJ8Qll8NzZrwfDhEKxM2RCzdds08v9gH0SePXPvJxDQ+91l8vijFHM/rq4WMJy6H2jkNNDGTBhcXeSmrr2I8q2eWsbwnqV3jcpX+xoscJZiFUdnND3i48OoeJV06N8hlByB0sz/1w8SVvMDDEqGNm5SC0qanpcefiPczPisBREpBvMaQbz+lP8yZbv2ojY63ONgfDoPv0R5SSuSC5IHQIuq1XKFQsMgGLlTeMjgaq0Z8G2O0mGISrbRbf1r3DfHNlBT+bF341n47VwNcBy3CQIqQHzruYyYwvUFkqnyHtj2XTfYrSVyIlqQglJbOnFRyvzTnjzCJAscnk6Qkn/BN6VS4LMbh8j/OX0Tp7+msJ6PqerFz6aP/OGCZ3n9PbNMKQ0x5Gq7PBZMmnJSC9PcB5AZFsRcG9hxnYYZRjEEQt+lV2Ay2foo/BlsgiL8JcA/sku0M7uEKOS5IAcg7AigKCKIsNFaNInq1gMSAGrhmqZivlXmQ2214AXttEFN7DC29iDYt1ZqYivjPRn2pk8tFDt5C5SBelKWUtumH80YBcFkASAEifUgFZta3yTANE9+ld3mXKD1G4g/BSp5g0Hoz+AFqzpVA7hBLOy84Y1CQZor8KPEptQuXtwWLzbrw3uilKUndwZVqb8bp4nsxlpLAwzFI0ozsDSTJKV38CqLcjFF0402RUFG4vBZAZqkokxDfBGa4XPJgrlW+R7FhtIwPsxstblDUDRdLh7vXyK59VUXcTjsRGe5hmmCQXBB+FUhrLe+USI9y0s4m0vNz0uHlvFcsHfInRyuBtemlho+kEnJz9hwD4OemF85b5D+Sh1kKnkEq/MqbX6EYn6VprIjb+rGp5JuOVMZKyFUXKRNp1nlAdfGuzHRVp30ea6uGG34OSDntocvx9dwKj/neenx6kt5Ks+Qm3/M7+07+qKcbWtcaGR+yQru4dr0IpCWIpeG0CU/iKxfEu9LIKq/ka1lHYuig3QZniaU5wpApzFgQ9VZK+pmptvolFRQuSWfqLDE9zsjmMeMeWDXK579vGgD0UpxMUQh+zILStSQJcC6DH7HSuMvrOUhse04slRySuGE0RfShi2bFXQnZ9RBD/HB6HdPHGRxSCL3l9fzwcJTe3B4eKjyX0HcLxKTb6iVR42sLFzVafkOXqPVl6U1aNNn+gQBewYF9JFwbq8Yc4e54okbTqzzCnGh6pYjbSdr2LnYa3B7zjgzu7q5oRjrky8G+QARURqIFeb6+F03zKB1urK2zbHThZqO09nixagwO9vkSS1TZLlTf4YXWy5Q3SGtzNc6LDXZCM4mKQ/g00NhZDj2HkFlmsPO3CM3RF2XrX81fP7bSf4fNX8WtEmzF9BUo/5eAz0/OdYbq0tMGfh3MvAhEWz+cxzYO7fTWu6IuduJrmkfFfUk6kFKTijJ0StdEP+0NdxocIV2YLf4qSfjpGH6ymj/tDdnpH4nbTK+sq2BSAnfzVEr3RxwGdowjL5gr4jb88Yl0PkXjJklONAfCI8bOYglAi2+m0kpYIx0tUeSQbNNdQsoUqCFkNZg+EeRmZ2+dxHLia4IOpGIJljWMNIJkH90gH0DQg1kYLagCjr9OO0Bx7MxRKpQsoj7CyD0E8ZcNfMeeS2nbG8atuvGtuxywQxDzz7s8OIcgct92MzgOQWSfdnPzCQ/2cZez9hDE4stuZtohiOzTbm5BRjn23N1c7eyh5bmrNEe4o2TxjosLegZ6t/56yEq8K0fxqklmNYrCKZDiJsAPCgWoXA/48se1N1ekAbLja29ppy9a2W7kkV6+6LNJZf+SHpGH7q0ibhendiC9A2GAsOM62Dmk990CbaaXUfjlFoRfBBCuMF4etlrywetm58V+k/2/tWCzWl4QYyeYon86S09iuwil0+7IUrsjtWWWc1yqfYup1JDC1qxZEkRiEulqSCIi2GpOw8UywaiJnXnc92IM97Bwltsx8tEUbzfp2nBPtzbbgnntLU+WSY8CphMzfF94A4In7OzsnLcvmjeOnyBotUCYOX6MhHwmBSql3CrdKHA6Cpx/WGdqXyeXyEfYpq1zMLenKMLezJs6GNlRiGl0/9c6joFQ77uoxnfnF6TL5T1Hl8vrWGKsJIanxPCUODylDE9hB+4hdWXZV3dlvXZ3V0I1pdjyN/WRE3DvnPzPSanHu4Uk0xGFq5ui9VXcidQMdC8eOJEXoGgU0Xfl+l6QfKn0BmGctTCsOwljukupvDZLNin393UE/Nuz61TrL9Cut2Tlg3qvugFqoBvHHzvTa2eOeqxTnhj9ih20F7uTD6UVZ4wUgCAmkV/TBwLhCkKE4sTHinhHmjHu5Zt0AUpHG5WDIV7PFP0U7bTW/a9PTLMwwcsEK+I2cXkWcMRn6X0mUS0lKYcV8ycbanBtqjeDWo+CII7M8oFBnLghYDeYAdOKbC3++ES2FSn/Pz7BZyfORmn3UdZzrSHPtmkZwxcgw0H7W5hS6NKVNlmSltBI3+iueHSZulyhR1+lgBXETvlJtj8XxD2BHXLR3zJWBPaeUpm8H35GUdeJuap5F8Z0H48j2Do/pO+nH15skc8+IT68YNn243EYQfpq+S5xiJgLBy8G+VWzvQ9O4IIQya/a+wJ56PhxCC6aeQFyyY6TZH4YkJaFdiq7aa8vZq+1ezGthDjMeKRyTW/h+U7k39Kta6edCep0mu39JozwFYo+ezGqY9RkKDQLE1j2UuHAzXD8z85toUEGHwThZ252kdU1IOw12ykEN3vN9lMQYE7jEaAsvhb81HeV9M62hZl7WTCtWAkWmm5eSfS4SVjkQbFqfhRuyJPsgOajIOzQBSBI/NpSwgfc+ty6l/fqSl4lmN97+CpMcC/EpSjNGNPjYuTCVtz62Gy15lulnfkj7U4ukwAnzYhjXIhdPWw1Z/GG+ZntfKqzOs6I47885UsFpgxIlvRlWP+sQsF+Kyw78jKV7Z1G47mRKaRnGxs8wusruGjmJD7OPfBs2U3xjkG8arJ6Hp91Ho6RFEffwcVxZ6xsb5QvRd+iQqlzKskiqhHNaM9UGhF2dipKLiN044VJ3P+OytbKLCldS8ErTxaDm6z2kpbiroz2+W8XpDZyl2d1wfmrsi2IdzdZDhTs8xcP6mXVg/ZnyqwWyr8kjB9Oq821+uaviZLzi8zD64jfbMT4Ufjm2OZG5ZV5kPjYU6PpVaU2p6Z6C2eOrPAIjRPS2aUVugHw4x+faAuxNhtmUbigQ9MwwA5ZtnXCI26CPoNu+dm5d9FcVDmcdUgnEISYpsNupjK+cvBuetzNnjyGWWM9aiomZR6rU2Rjkftagdsgg0ZFjZznlLLHlrHnqPTMgvXUYjWY9C3dpn9r43FR/a0V6smC8o1gWpI2l4MnoZ0l/mPT/nFqZ7/tU2rANm+ksx6MnQoUpwSd2v6LXSj+zbqvdKvizeCh2gvoixdjtvuYkx3HFYKCvp+XsAixvU+Y77I2kpcFsi4M/ozO74E+i9NCef6yyHETQIqKlZleZ3OjKwEKneDnn/M1KP9zA0QhgV4J1g9V2DU2H7R8i4kM/a/a9n3sYqsVic5Vo+G47ml6zjoMXdR3LlH1krGvHml927QMfXjCndGlL4t4IIg8gQD/+Mc/QBCzv2swHPU0mxKYAryF4s8MdN7+XP8yDDv1hSB0EfhEHyhJSDfyEXLcW7LKxCjAu2R1vvKCOdmrO+76ezvlto1d6LoumVEnAYewrkXcbDaF4jyWnpvVWllNihoi4piax6td8Y5XZFVzG13HraQ9t9WN0CK8Qc9xLwJhTadnePjxULSqYls5GLxyFaLd76RcVeyjlPv/o1umWk1EHPvOvBIMx3315OFY4CjWLCJjj7eFUvNW0AetioxN0PI0u3+JIhUZj1HkO+hR9ueP77T+WDNMbXTc+H8BAAD//yXG4DBLUwAA + H4sIAAAAAAAC/+Rce3ebuLb/359Cw9BJ0gbbOGnapoeeITZJufHrAk6nN81hESPbTDC4INzmpD6f/S4JCcTDadrM9M45N7Nm1UZbe2/99kNbD/zzT61rL2hdO/GioRmGbb43LW3Qtfq2aamGZZ+qel85BKSt2x9NerY+1C3b0gfaaGIpz9OWU72v2e9Uq/s2azlKW96O+j37ndrXh5Pf1DNtaCkv0gZD62uqqdUQvEwJ1LFl60PTUvv9jOmrtKk36p5rRqW10y4090bvhv2R2svb5UL7ufa+hqZToMFKYLqs+aDQzGHUoSANRifvSbe+buY4dShQA9M+G59tEX3EcaiMjcLWHQ0tVR9qRq9KQoEzJsNutZFCd/7SxARDfXiWtR2087aKVgcUtPPJiYbdYjiy7NPRZNhTDihU+uCspttB3q2vWTxSB4dFKw7O7PGEU/XgeWWoXauO7qhKZ+hYxyrpdvSI63KDelmhvNAMUx8NbX14ofb1nnJAoewO9eq4D+XM0GNj1LN72kkNUadKND4/s9VejwYcRW9kqJxJNMMYGcohhSeNVG4gpONL5kO9sTE60ehTqvFoYp3gUeLRDdOm55zt1bFum5pxoRk8gVxL0Buadn80Op+MKVmnlkz9n4mhVYmZc6iWWh8LR22OohyERzLXWHb0I6rIxdte2bZHVceqCH7R5oKo2koldyemNRrYpqYa3bd2bzRQ9aGZju0lZXA2nlT7vzzgGg0dexYfGS8Pq83l8b18ztFoF3pXs8f9yZk+LDA6yon04enINkYDuzsyjMnY0nrKSxoO5tlvW+W8aldpOAmv5DxL91S9n1vnFZe/J+Oeaml5E4scU8OOf6GTuDK7hj62iJ0MTe3lnOR2mxOC0+lkfGaoPY2j4NQYT4wz6vByu5MFCU4IhobNoMhtin9XN23VNPWzoW2MRpY9fqfIslxpI/4z1oyBbmJNFVmmbMcqSV3d0fg9IVJkmec8Hvff22PVNN+NDBJsp/qZIsulwM3mkBENC1lmGS1NYxX3keUXBYLRWDNUC2OYpgZZZtnLMmoaX4FGChYJStNSu+f2mWbZqjGwrdG5NlRkNoWWSYaa9W5knNOxTFLGisxm1DK5OTkZapY9NrRT/TdFxpNqFpQnE73PcpmM58UUlHfq2O4aGnaXFAw2K/Et+tCcnJ7qXV0bEo84t82x2tUUGc9ShNrS+tp4ZFi9QtpUZJbn8nbm8GkzG4hh6adqF89XhqYO8CzJ+Cgyy3E1RJSZIuPUlhY+ljXGTv7be7urYtwuNMNSZJbYaGTgJs2wTEU+yooTqrapdTGoVt+0T0Yjy7QMdZxNp9pvWpfFfeYdR8zAPd08UfuarY8t9aSvmYqM01qaM42JaWEOVediya2nm7iXbZpvFfkF83hDH6jGe3uod219zCVV+QX1fH1oaoZl64OeaRuaaWEXxd5nTLAmQ2tkD9ThWV+ziU6K/OLwof1O9b6lGVk/GkY9DIS2pd8pTngleUcP7VeS94JzXkPDtrAN7b8nuqH1lA5LUcMRSQrqmWZSYDosN5lDdWy+HWXZkC8a2ywyxoZ+gRvx/IlLAeyVHZau8EPeXTvtQxY2Wbk+UM1zypS2dQ2tpw0tXe2nybZXWxO3WQTicqZc6nTaR6DRyEsRUlRhbaj2L0CpDT/HqOLZ35aVTvtlmYKbfN+p5kDptF/dy+RA6cjteykOlQ7L3VsonisdmaFC6xDm5Fl9qhkXOJBxNOqnehfbwhhZaQK11DOlIx9QnPqaOpyM84HY+gCbXenIh42GNwMzL3BBC6IpkNDtCoLZvg+kwFlCIDyVIuhDJ4YCkFaRFyAgfUw8BDpvWi5ct4LE98EXMI/gCkgfwU5z5zVACxg0AABgZCribhxGCEgRYd/KuOE+zqcbsLN00HSxK7b3Qesfu3rP7uvnmrI7DSMYxntf9J6y23y6tye29oGzB+5AqgIKk9UKRrvOZecKOJcHV3uvAfzsIbDZ2aOSmWN8owaZO32zYPAFoAhILtgRdvYa0I8h0QROFyEQSqKDEIFZmASu0Jh5jcbkZDK0JvbItIfqQFOE9LvQGKgGsVbWQB/kLaSeLDfjh0KDTHBkjZoT5M+EBl0dKa0kjlp+OHV8sqy+Sa7hFPmNdKpPW/FzN5zewKgBP68wmqSUu1AE8S4v/Bjix8pGKNBppsVLCdae6zlUQGYmuSkfNGVJZj2HF3pPVxlr4q+2+VZlIrMHvLS6PjgQmJoXG0m828K4woUbmPV+rJXGih99RbQiLKdRc+lNozAOZ6g5DZct5ybG/0vzVZKrUmKbM8U1UVoPp4m0O+gpwhR7WQBuXsZNLwRREgAJB+ba8+EcukCSoiWQpAAiaRHGCEjSJw8tpCAGK889bq2icNqSW0HcWnmYeBkm2K1vV1C59gJ3P46mSitcodZ8ley7MVJayyD9Eq6QFwaxEmG6+3o6U0KY92YPChyyQVI/qIwzdbi6AQYQKXRsK8+lH9eAqX3MVM4eUgWOeW0IUEIDV+FdtftWs3u6obTWTtSaOtMFbDm4XzRdeGsYtxq4olaHuITjiKMwRJgu7dDQLrShhVeNZ2ekCGP8/HDecv6ZRLA1yHxBxd+b2mcEgxhr0+wmMQqX5jTyVqgF1zBAcavRnRh9vAIeTyylhZar1jSJfHsNo+swhs0wQQ0ye/AUYeTEVQpDO9NNy3hPi+F0AUByEqZvTcNg5s2bt87SB41GBFF0O126tjezZ47nJxHc3QN3JJvhNg/Giii/Bp8cD9mxD+FKETuvAfKWMEyQIh68BvHCmyHwyy+lD4TFLIyAB7wAiLsx/AhkIFKme6+BGxIS/EfZAZF9EMS7XzcC5nUdQecGfPkCPmTU3gxcAtEDEvyY8QNX3FTE/kg61j7DaYKgCz4I4q8fBNwRS4lfF0gjiJIoAHL2MMvp7I8MHog5EFnrzCMf3TDgZoHtYje1qNux58MA/eeA/0chysMVxH4Y3iSrDCUeGZlDBqMUIse3eawiOA0jVxEPSdcYOREi7Yq46zoIgmdP4rSg+LTwfAhQlMACUEw6kDKuDDKJqKi0MSRYyBbwpkkUwWCL1Bzd3V2eEEicrnt7QJpDIBZGt935BQvTcSYudIsgTmbu/jeNDPsrdIX7bU0NuN3KWbDcC0k6hiyUvknNMPoakDGchoEbCzgk6yIyCO0YOSj+K8QkDsm/TkRmaM0hspETXTu+n6GEnMi+D6mUnCCVRD4Lx9TU4h3Xe8MAF7ZAx9GW4HMiIKF/zggJlvYQ6Dhu3wkfM9ZRG7u1D6RZbPbXQCSfw1yZN0DkZnvQefOLXOCD1boE4t/BTwpog6s6ZUjoOKjAqEDAReBjLWvPonBpR3DuxSi6tXGJaeNS4pEWx71moe/CCMe9F6VLUAaSsPef6BYYNrDCy2jeKSgMuEqlIEtplQbEu60l3Qa7EVcSPs6NOEZ/uBtde4ET3X7ViyjZPY5EKVYOWpSdicmo+hPXqeRTRYElt9riW8U+RfcibiPNSjJrnYY43XaPKThgUSTYZsaKH9Zy/ro/FpD8o13yG9zyq65Z4573u2ipwxaPJcuumefn6yDy5IFzP+6Y+uch9c/nBZ/jeX01kfHERVe7JI4mMmng6ipLZfVZjGf1yDSW1SS1c1ym0l94kiMEszAqmvkeC+dWPSCkK2cNXboBQhb7Uz9MXMkLPCRh2rhJKAhtult6+hFbn/HZCEAkFNhqFPn2t9SHGdOdn7XR6Q4H+/1u8CPKQ0IJXSB5QGhh9VqukCuYRwPnKm8oHI1NI76NEVxOEfZWUq1/W/UN4vUUJ342L3xvvZ2pAVwHLsNAiqAfOu5DOlC9gUhV+QFleyYbr1eSOBctSUEorZw5zuR+oc/vYRIFjo87SUnW4bvCKTdZjMLVv529sNI/0ljfjKrrxc61D//tgKV6/zWxTTMMHsq34fpYMEnASSlIfx1A1jCKvTCw54i5GYIxAoK4S47CZmDnSfwh2AGC+KsAvgB6yHYBvoAFdFwgBUDeE4CiAEGUhcamkXuvFmAfUAPXLCTzSpoHcrsNnoODNhDT8RhaehBtWqo1MRXx7436VCcXkxx4A0ob8aIspbRNP5w3coCLAoAUQFyHlGCmdZsMpmHiu+Qs7xqm20j8JljBEhRabwZ+AjX7SkDu4JF2nnODgUEaKfKDxKfULri+zVls14W3Ri8NSWIOLlV7M04X34uRlAQeioEkzfDaQJKcwsGvIMrNGEZrbwqFksLFuQCwkYoydvFtYIarFQ9mJfM9iA2lpXzouOFyDaNuuFw53LkGO/ZVFXE3rURk8AVMEwQkFwjPBFxay3sF0pOMtLON9PISV3gZ7w0Nh+zJyUagZXqh4MOhBN2MPccA8H3TA+cd/B+OQxaCFyAVvvDmCxijizSMFXFXPzWVbNGRytgImeoiYSLNOveoLt4VmW7qtM98bdNww08BTqc9eD2+mVvhKV9bj8/P0lNpGtz4e3Zm38ke9XRD61oj4z1LtMsb14uAtAJioTktwpN44QLxrtCyyTJ5JeqwDx2128BZIWkOEWAKUxZYvY2SfqaqbZ6mgsIVrkydFSLbGawfHdw9s0Zx//d1AwByKI67KBg/OoLCsSR2cC6CHzDTuKubOZDo8hyPVHJw4IbRFJKHLpzlZyV41YMH4ofTm5g8ZnBIIeitbubHx6P05Pb4WOG5hL6bIybdlg+JGl+buMig5ddkiqpOS6/TpEnXDxjwEg70I+ba2DTmEHXHEzWaLjIPc6LpQhF3k7TsXe41uDXmHW7c39+QiHTwl6NDAQsotURL/Ly6Fk3jKG1uVOZZ2rp0WSvJPV6sGoOjQz7FYlV2c9X3eKH1MuUt0tpcjvNig+7QTKJ8Ez51NLqXQ/YhZBoZdP8tgnP4Wdn5R/PZh1b6/3HzmbhTgC3vvgHKvzD4fOdMZ1CeetqAnweZFQHW1g/nsY1COz31LqmLnPiGxFF+XpI2pNQ4owydwjHRk4PhXoMjJBOzxR8lCU9OwROr+eRgSHf/sN8yvVhVQaUE7vauhO73OAzsGEVeMFfEXfD7R1z55IWbJDnRHGAeMXKWKwBI8mUqbYQK6WgFIwdHm+5iUqpADSHNweSJIDc7B1USy4lvMDogFYuxrGGkYST7cA19AAQ9mIXRkijg+FXaAYxjZw5ToXgS9SGC7jEQn27hO/ZcQtve0m7Vte/cZYAdAzH7vM+DcwxE7ts+g+MYiPTTfjZ8zIN+3OdGewzE/Ms+G9oxEOmn/WwEjHLsufuZ2uyh5bmbNEa4rWTxjvMLsgd6V70eshHvil68aeJejTxxCji5CeAnhQBUzAd8+uPKmwUugOz4xlvZ6UUr2408XMvndTbO7J/TLfLQvVXE3XzXDkhvgTCAyHEd5ByT826BFNOrKPx8C4SnAhAWCK2OWy356FWz8/ywSf9tLWmvlhfEyAmm8O/OypPoKkLptDuy1O5IbZnGHBdq3zNUMpB8rKxYEkQ8JFzV4ECEYKc5DZerBMEmcuZx34sR+AKWzmo3hj6cot0mmRu+kKXNrmDeeKuzVdIjgOl4GL4vvAaCJ+zt7V22r5prx08gaLWAMHP8GApZTwJUSrlTOFHgdBQ4+9DK1L5JrqEPkU1K52BuT2GEvJk3dRC0oxAR7/6PNRwFod52UY3tLq9wlctbjkyXN7FEWUkUT4niKXF4SgxPYQ98Aakpi7a6K+q1v78RyiFFp7+pD52Au3Py/yekHm4WHEwnBK5uitZXccdSGehePHAiL4DRKCJ35fpekHwu1QZhzEoYWp2EMVmllK7N4kXKly91BPzt2SpV9QJttSQrbtR75QVQA64df+xMb5w57NFKeWL0S+MgtdidfCxtuMFIARDEJPJr6kCAuQIhgnHiI0W8w8UYd/kmnYDS1kZpY4jXM0U/RTvNdf/1kWoWJmiVIEXcxSZnDodtlp5nYtVSkqJbUXvSpgZXpnozUGtRIIgjs7hhECduCJAbzADVCi8tfv+IlxUp/98/gk9OzFpJ9VHUs1KQs2UaY/gcyOCo/T1MCXTpTJuscElopDe6SxZdpSZXyNZXwWEFsVN8wtbngngg0E0u8paxItB7SkXyfvgJRl0n5rLmXRiTdTyKwM7lMbmffny1gz/7mPj4ikbbz6dhBNKr5fvYIGImHHgxkF8224fACVwgRPLL9qGAHzp+HAIXzrwAunjFiSM/DHDJQiqV/bTWF9m1di8mmRCFjEcq1/SWnu9E/i1ZunbaTFCn02wfNsEILWD0yYthHaMmRaGZD4FGLxEOuB6O/8m5zTVg8IEg/MT1zqO6BoSDZjuFYH3QbH8LAtRoPAKExdecn9iuFN5sWcjMS51pQ1Ow0HSzTKLHTcwic4pN84Owxk/YBs0HQdgjE0CQ+LWphHe4at+6y3t1Ka/kzO88tAgT1AtRwUsZY7JdDF2wE7c+NFut+U5hZf7AcSfXSYCSZsQxzsVu7h81N+It/dnY+VCneZwSx396yBcSTBEQFvRFWP+oREHfCmNbXqayu9doPNYzhXRvY4tFeH0FF86cxEeZBR4tuyneUYg3TZrP44vO/T6S4ug7KN/ujJXdrfKl6HtUKFROBVlYNawZqZkKLcLeXknJVQTXXpjE/R+obK3MgtK1FLzyeDJYs9yLS4q7ItqXv17h3MgdntU55zNlVxDv1iwGcvbZxYN6WfWg/ZEyy4nyT3Hj+8Nqe65e/zlecnnFLFxFfL0V4wfhm2GbDSrLzIPER54aTRel3JwO1Vs6c2iFJ3Cc4MouzdANAH7+/SMpISq9wSwKl6RpGgbIwdO2jnnETaDPQLf47NK7ai7LHC46uBIIQkTCYZ+pjBYO2k+3u+mThzBrVL2mNCRmsTpFtia5ryW4LTKIV9TIeUwqe2gae4xKj0xY35qsBpO+pdvktzYe5tXfm6G+WVC2EExT0vZ08E1os8B/aNg/TG32tk+hANu+kGY1GN0VyHcJOrX1Fz1Q/ItVX+lSxZuB+3IvgJ+9GNHVxxyvOBYQ5PT9LIVFkK59wmyVtZW8KJBWYeCPqPzuqbM4LZTHT4scNwFIUT4zk+NsrnUjgFwn8Msv2RyU/dwAVkggR4L1TSV2je0bLd8zRIr+V8f2Y8ZFZyvsnZtGw3Hd83SfdRi6sO9cw/IhY1890fq2aRn68Izbo0svi3hAEHkCAfztb38Dgsh+12A46mk2ITAF8AbkPzPQefNL/WUYuusLgtCFwMf6gIKEdCEfQce9xbNMDAO0j2fnhRfM8Vrdcav3doplGz3QdV3co04CCkFVi7jZbAr5fizZN6sdZTkoaoiwYWoeb/bFO16RTc1pdB23gvbcUjeCy3ANH2NeCISKTo+w8MOhaJXFtjIweOVKRPs/SLmy2Acp93+jG1ON3/zAHpHu5mdXC7jpl9uyJgLsE32oGu/tNCGll4QKlxJqCWtju0RFQjm7sgCSyN8HnzzfB0kMgUd23si7K3iCwwFJ7zsIBVgYv+yFFZr4KhpVYyl9Z4Lck1ggtIqPW63Lf7SunpHfzYgCiGDcWl+2pVdXzz402b/NZy2ihgfjVvPZTmmnTwpAVXT9Vh09fmInQMI67WgMNUvLfvFkI4C6tyqqIpR/kXc0Slc3Kq9bsIug5PWsVQRn3ucasH5+yiGwESpcyqpnlR7P98mT1tOavuydXxQ5UwRdptFx9mYSqzhJGVNS7BhsM+y9b0Rt9b70fgRWIwng5xXEGvm3nBcy10uxyKphJ6YYbFVf+MprSV9z3/w3t8bGiPwQXP6DPxlt+iuHm5Z4R35Xkz02tPFowzmxhGex4+y+D6vKJd8Lks+SeNcdT0j1XkgVhcnj1HfmpXnjtK+e3T9tcBSV5IfbHp72CDWf8MiDVknGtizM0+z/KYqUZDxEkR+gRzH1//xW6481w9RGp43/DQAA///7/3VVdlcAAA== @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/CustomData b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/CustomData index 256e06fb08c..0433f373232 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/+R8+3ebxvbv7/ordimt7dZIQnacxDnkFEvY4VqvC8hpruPDwmIkUyNQYHDiY+v+7XfNMMCAkGPHbW7P+borqxKzZz8++zF7ZrB//KF16QWtSye+amiGYZsfTEsbdK2+bVqqYdnHqt5X9oGOdfujSc/Wh7plW/pAG00s5UU6cqz3Nfu9anXf5SMH6ci7Ub9nv1f7+nDyu3qiDS3lZTpgaH1NNbUaglcpgTq2bH1oWmq/nzN9nQ71Rt1TzVgb7bRLw73R+2F/pPaKcbk0fqp9qKHplGiIEoQuH94rDXMYdRhIg9HRBzqtr5sFTh0G1MC0T8YnG0QfcBzWbGOwdUdDS9WHmtFbJ2HAGZNhd32QQXf6yiQEQ314ko/ttYuxNa32GGinkyONhMVwZNnHo8mwp+wxqPTBSc20vWJaX7N4pPb2y14cnNjjCafq3os1U7tWHd3BOp2hEx3XSTejR0OXM+rVGuWZZpj6aGjrwzO1r/eUPQZld6iv270v544eG6Oe3dOOaog660Tj0xNb7fVYwjH0RobKuUQzjJGh7DN40kzlDKETX2Ux1BsboyONPWUajybWEbGSWDdMh15wvlfHum1qxplm8ARyLUFvaNr90eh0MmZknVoy9f9MDG2dOAsO1VLrc+GgzVFUk/BA5gargX7AFDl716v69mA9sNYEv2xzSbQ+yiR3J6Y1Gtimphrdd3ZvNFD1oZna9ooxOBlP1ue/2uMGDZ1EFp8Zr/bXh6v2vXrB0Whnelezx/3JiT4sMTooiPTh8cg2RgO7OzKMydjSesorlg7mye8b5bxur9NwEl7LRZXuqXq/8M5rrn5Pxj3V0oqhLHNMjQT+mU7zyuwa+tiifjI0tVdwktttTggpp5PxiaH2NI6CU2M8MU5YwMvtTp4kpCAYGnGDIrcZ/l3dtFXT1E+GtjEaWfb4vSLL8toYjZ+xZgx0k2iqyDJjO1Zp6eqOxh8okSLLPOfxuP/BHqum+X5k0GQ71k8UWa4kbr6GjFhayHJW0dIythY+svyyRDAaa4ZqEQzT0iDLWfWyjJrB19BIwaJJaVpq99Q+0SxbNQa2NTrVhoqcLaFVkqFmvR8Zp8yWScpYkbMVtUpuTo6GmmWPDe1Y/12RyaKaJ+XRRO9ntUwm62IKynt1bHcNjYRLCka2KvEj+tCcHB/rXV0b0og4tc2x2tUUmaxSlNrS+tp4ZFi9UtlU5KzOFeNZwKfDmSGGpR+rXbJeGZo6IKtkxkeRsxpXQ8SYKTIpbWnjY1ljEuS/f7C7KsHtTDMsRc4KG8sMMqQZlqnIB3lzwtQ2tS4B1eqb9tFoZJmWoY7z5VT7XetmeZ9Hx0Hm4J5uHql9zdbHlnrU10xFJmUtrZnGxLQIh/XgyopbTzfJLNs03ynyyyziDX2gGh/sod619TFXVOWXLPL1oakZlq0PeqZtaKZFQpREnzEhmgytkT1Qhyd9zaY6KfLL/cfOO9b7lmbk81ga9QgQ2oZ5x6TgVeQdPHZeRd5LLngNjfjCNrT/PdENrad0shI1HNGioJ5oJgOmk9Umc6iOzXejvBryTWM7y4yxoZ+RQbJ+klaARGUnK1fkIR+unfZ+ljZ5uz5QzVPGlI11Da2nDS1d7afFtlfbE7ezDCTtTLXV6bQPoNEoWhHaVBFtmPYvoTJGnhNUyepvy0qn/apKwS2+71VzoHTarx9ksqd05PaDFPtKJ6vdGyheKB05Q4X1IVmQ5/2pZpyRRCbZqB/rXeILY2SlBdRST5SOvMdw6mvqcDIuDLH1AXG70pH3Gw1vBjMvcKGF8BQkfLtEMNv1QQqcBQLhFylCPnJiJIC0jLwAg/Qp8TB03rZcdNMKEt+He5hHaAnSJ9hqbr0BfIWCBgDAyFTE7TiMMEgRZd/KuZE5zudr2Fo4eHq1LbZ3ofWvbb1n9/VTTdmehhEK4517vadsN3/Z2RFbu+DswB2kKuAwWS5RtO2cdy7AOd+72HkD6IuHYbW1wyRngfFEDfJwerJguAccgeTClrC100B+jKgmaHoVglARHYQYZmESuEJj5jUak6PJ0JrYI9MeqgNNEdLvQmOgGtRb+QB7UIzQfrI6TB4KDbrA0T1qQVA8Expsd6S0kjhq+eHU8em2+jq5RFPsN9KlPh0lz91weo2iBvqyJGjSVu5MEcS7ovHLED9UVkKJTjMtXkpw47mewwTkbpKb8l5TluRs5vBM7+lqxprGq22+UzOR+QNeWt0ckgiZmmcrSbzbwHiNC2eY9WGsVWwlj74iWhEW06i58KZRGIcz3JyGi5ZzHZN/0nyZFKpU2BZMSU+U9sNpIe0OeoowJVEWwPWruOmFECUBSCQxbzwfzZELkhQtQJIChKWrMMYgSZ89fCUFMSw997C1jMJpS24FcWvpEeJFmJCwvl0i5dIL3N04miqtcIlb82Wy68ZYaS2C9Eu4xF4YxEpE6B6a6UwpYTE7e1DikBvJ4mDNzjTg6gwMEFaYbUvPZR9vIFP7MFM5f8gUOOS1oUAJDdKFd9XuO83u6YbSunGi1tSZXqGWQ+ZF0yvvBsWtBumo1SFp4TjiKAwxoUsnNLQzbWiRXePJCW3CMn5+OG85/04i1BrksaCS703tC0ZBTLRpdpMYhwtzGnlL3EI3KMBxq9GdGH2yAx5PLKWFF8vWNIl8+wZFl2GMmmGCG3T14CnCyInXKQztRDct4wNrhtMNAK1JhL41DYOZN2/eOgsfGo0I4eh2unBtb2bPHM9PIrS9A3e0mpExD8WKKL+Bz46H7dhHaKmInTeAvQUKE6yIe28gvvJmGH7+ufKBspiFEXjgBSBux+gTyCAypjtvwA0pCflh7EDMPgji3W8rgfC6jJBzDff38DGn9mZwDqIHEvqU84MLbinKfmg51r6gaYKRCx8F8bePAplIpMRvSqQRwkkUgJw/zGt69kONB7EAIh+defSjGwbcKrBZ7KoWdTv2fBTg/x7w/yxEebiC2A/D62SZo8QjI3PIEJRC7Pg2j1WEpmHkKuI+nRpjJ8J0XBG3XQcj+PWnOG0oPl95PgIcJagEVCYdpJxrBplEVVTaBBIiZAN40ySKULBBaoHu9jZPCBKn684OSHMEYsm6zcEvWISOc3FpWoRIMXN3n2QZiVfkCg/7mjlws5fzZHkQktSGPJWepGYYfQ3IGE3DwI0FkpJ1GRmEdowdHP8dcpKk5N8nI3O05gjb2IkuHd/PUcJOZD+EVEpOkUoiP0vH1NXiHTd7lQEubICOo63A50Qg4X/PKAmR9hjoOG7fCF/mrIM2CWsfpFls9m9ApJ/DQpm3IHKrPXTe/iyX+BC1zkH8J/ygQBsu6pShqePgEqMSAZeBz/WsPYvChR2huRfj6NYmLaZNWolnepzMmoW+iyKS916UbkEzkISd/8awILDBkmyj+aBgMJAulYEspV0aiHcbW7oVCSOuJXxeGHGM/vQwuvQCJ7r9ahQxsgcCiVEsHXxVDaZMxno8cZMqMVUWWAmrDbFVnlMOLxo20qwiszZoaNBtjphSAJZFwiY3rsVhLeevx2MJyT87JJ8Qll8NzZrwfDhEKxM2RCzdds08v9gH0SePXPvJxDQ+91l8vijFHM/rq4WMJy6H2jkNNDGTBhcXeSmrr2I8q2eWsbwnqV3jcpX+xoscJZiFUdnND3i48OoeJV06N8hlByB0sz/1w8SVvMDDEqGNm5SC0qanpcefiPczPisBREpBvMaQbz+lP8yZbv2ojY63ONgfDoPv0R5SSuSC5IHQIuq1XKFQsMgGLlTeMjgaq0Z8G2O0mGISrbRbf1r3DfHNlBT+bF341n47VwNcBy3CQIqQHzruYyYwvUFkqnyHtj2XTfYrSVyIlqQglJbOnFRyvzTnjzCJAscnk6Qkn/BN6VS4LMbh8j/OX0Tp7+msJ6PqerFz6aP/OGCZ3n9PbNMKQ0x5Gq7PBZMmnJSC9PcB5AZFsRcG9hxnYYZRjEEQt+lV2Ay2foo/BlsgiL8JcA/sku0M7uEKOS5IAcg7AigKCKIsNFaNInq1gMSAGrhmqZivlXmQ2214AXttEFN7DC29iDYt1ZqYivjPRn2pk8tFDt5C5SBelKWUtumH80YBcFkASAEifUgFZta3yTANE9+ld3mXKD1G4g/BSp5g0Hoz+AFqzpVA7hBLOy84Y1CQZor8KPEptQuXtwWLzbrw3uilKUndwZVqb8bp4nsxlpLAwzFI0ozsDSTJKV38CqLcjFF0402RUFG4vBZAZqkokxDfBGa4XPJgrlW+R7FhtIwPsxstblDUDRdLh7vXyK59VUXcTjsRGe5hmmCQXBB+FUhrLe+USI9y0s4m0vNz0uHlvFcsHfInRyuBtemlho+kEnJz9hwD4OemF85b5D+Sh1kKnkEq/MqbX6EYn6VprIjb+rGp5JuOVMZKyFUXKRNp1nlAdfGuzHRVp30ea6uGG34OSDntocvx9dwKj/neenx6kt5Ks+Qm3/M7+07+qKcbWtcaGR+yQru4dr0IpCWIpeG0CU/iKxfEu9LIKq/ka1lHYuig3QZniaU5wpApzFgQ9VZK+pmptvolFRQuSWfqLDE9zsjmMeMeWDXK579vGgD0UpxMUQh+zILStSQJcC6DH7HSuMvrOUhse04slRySuGE0RfShi2bFXQnZ9RBD/HB6HdPHGRxSCL3l9fzwcJTe3B4eKjyX0HcLxKTb6iVR42sLFzVafkOXqPVl6U1aNNn+gQBewYF9JFwbq8Yc4e54okbTqzzCnGh6pYjbSdr2LnYa3B7zjgzu7q5oRjrky8G+QARURqIFeb6+F03zKB1urK2zbHThZqO09nixagwO9vkSS1TZLlTf4YXWy5Q3SGtzNc6LDXZCM4mKQ/g00NhZDj2HkFlmsPO3CM3RF2XrX81fP7bSf4fNX8WtEmzF9BUo/5eAz0/OdYbq0tMGfh3MvAhEWz+cxzYO7fTWu6IuduJrmkfFfUk6kFKTijJ0StdEP+0NdxocIV2YLf4qSfjpGH6ymj/tDdnpH4nbTK+sq2BSAnfzVEr3RxwGdowjL5gr4jb88Yl0PkXjJklONAfCI8bOYglAi2+m0kpYIx0tUeSQbNNdQsoUqCFkNZg+EeRmZ2+dxHLia4IOpGIJljWMNIJkH90gH0DQg1kYLagCjr9OO0Bx7MxRKpQsoj7CyD0E8ZcNfMeeS2nbG8atuvGtuxywQxDzz7s8OIcgct92MzgOQWSfdnPzCQ/2cZez9hDE4stuZtohiOzTbm5BRjn23N1c7eyh5bmrNEe4o2TxjosLegZ6t/56yEq8K0fxqklmNYrCKZDiJsAPCgWoXA/48se1N1ekAbLja29ppy9a2W7kkV6+6LNJZf+SHpGH7q0ibhendiC9A2GAsOM62Dmk990CbaaXUfjlFoRfBBCuMF4etlrywetm58V+k/2/tWCzWl4QYyeYon86S09iuwil0+7IUrsjtWWWc1yqfYup1JDC1qxZEkRiEulqSCIi2GpOw8UywaiJnXnc92IM97Bwltsx8tEUbzfp2nBPtzbbgnntLU+WSY8CphMzfF94A4In7OzsnLcvmjeOnyBotUCYOX6MhHwmBSql3CrdKHA6Cpx/WGdqXyeXyEfYpq1zMLenKMLezJs6GNlRiGl0/9c6joFQ77uoxnfnF6TL5T1Hl8vrWGKsJIanxPCUODylDE9hB+4hdWXZV3dlvXZ3V0I1pdjyN/WRE3DvnPzPSanHu4Uk0xGFq5ui9VXcidQMdC8eOJEXoGgU0Xfl+l6QfKn0BmGctTCsOwljukupvDZLNin393UE/Nuz61TrL9Cut2Tlg3qvugFqoBvHHzvTa2eOeqxTnhj9ih20F7uTD6UVZ4wUgCAmkV/TBwLhCkKE4sTHinhHmjHu5Zt0AUpHG5WDIV7PFP0U7bTW/a9PTLMwwcsEK+I2cXkWcMRn6X0mUS0lKYcV8ycbanBtqjeDWo+CII7M8oFBnLghYDeYAdOKbC3++ES2FSn/Pz7BZyfORmn3UdZzrSHPtmkZwxcgw0H7W5hS6NKVNlmSltBI3+iueHSZulyhR1+lgBXETvlJtj8XxD2BHXLR3zJWBPaeUpm8H35GUdeJuap5F8Z0H48j2Do/pO+nH15skc8+IT68YNn243EYQfpq+S5xiJgLBy8G+VWzvQ9O4IIQya/a+wJ56PhxCC6aeQFyyY6TZH4YkJaFdiq7aa8vZq+1ezGthDjMeKRyTW/h+U7k39Kta6edCep0mu39JozwFYo+ezGqY9RkKDQLE1j2UuHAzXD8z85toUEGHwThZ252kdU1IOw12ykEN3vN9lMQYE7jEaAsvhb81HeV9M62hZl7WTCtWAkWmm5eSfS4SVjkQbFqfhRuyJPsgOajIOzQBSBI/NpSwgfc+ty6l/fqSl4lmN97+CpMcC/EpSjNGNPjYuTCVtz62Gy15lulnfkj7U4ukwAnzYhjXIhdPWw1Z/GG+ZntfKqzOs6I47885UsFpgxIlvRlWP+sQsF+Kyw78jKV7Z1G47mRKaRnGxs8wusruGjmJD7OPfBs2U3xjkG8arJ6Hp91Ho6RFEffwcVxZ6xsb5QvRd+iQqlzKskiqhHNaM9UGhF2dipKLiN044VJ3P+OytbKLCldS8ErTxaDm6z2kpbiroz2+W8XpDZyl2d1wfmrsi2IdzdZDhTs8xcP6mXVg/ZnyqwWyr8kjB9Oq821+uaviZLzi8zD64jfbMT4Ufjm2OZG5ZV5kPjYU6PpVaU2p6Z6C2eOrPAIjRPS2aUVugHw4x+faAuxNhtmUbigQ9MwwA5ZtnXCI26CPoNu+dm5d9FcVDmcdUgnEISYpsNupjK+cvBuetzNnjyGWWM9aiomZR6rU2Rjkftagdsgg0ZFjZznlLLHlrHnqPTMgvXUYjWY9C3dpn9r43FR/a0V6smC8o1gWpI2l4MnoZ0l/mPT/nFqZ7/tU2rANm+ksx6MnQoUpwSd2v6LXSj+zbqvdKvizeCh2gvoixdjtvuYkx3HFYKCvp+XsAixvU+Y77I2kpcFsi4M/ozO74E+i9NCef6yyHETQIqKlZleZ3OjKwEKneDnn/M1KP9zA0QhgV4J1g9V2DU2H7R8i4kM/a/a9n3sYqsVic5Vo+G47ml6zjoMXdR3LlH1krGvHml927QMfXjCndGlL4t4IIg8gQD/+Mc/QBCzv2swHPU0mxKYAryF4s8MdN7+XP8yDDv1hSB0EfhEHyhJSDfyEXLcW7LKxCjAu2R1vvKCOdmrO+76ezvlto1d6LoumVEnAYewrkXcbDaF4jyWnpvVWllNihoi4piax6td8Y5XZFVzG13HraQ9t9WN0CK8Qc9xLwJhTadnePjxULSqYls5GLxyFaLd76RcVeyjlPv/o1umWk1EHPvOvBIMx3315OFY4CjWLCJjj7eFUvNW0AetioxN0PI0u3+JIhUZj1HkO+hR9ueP77T+WDNMbXTc+H8BAAD//yXG4DBLUwAA + H4sIAAAAAAAC/+Rce3ebuLb/359Cw9BJ0gbbOGnapoeeITZJufHrAk6nN81hESPbTDC4INzmpD6f/S4JCcTDadrM9M45N7Nm1UZbe2/99kNbD/zzT61rL2hdO/GioRmGbb43LW3Qtfq2aamGZZ+qel85BKSt2x9NerY+1C3b0gfaaGIpz9OWU72v2e9Uq/s2azlKW96O+j37ndrXh5Pf1DNtaCkv0gZD62uqqdUQvEwJ1LFl60PTUvv9jOmrtKk36p5rRqW10y4090bvhv2R2svb5UL7ufa+hqZToMFKYLqs+aDQzGHUoSANRifvSbe+buY4dShQA9M+G59tEX3EcaiMjcLWHQ0tVR9qRq9KQoEzJsNutZFCd/7SxARDfXiWtR2087aKVgcUtPPJiYbdYjiy7NPRZNhTDihU+uCspttB3q2vWTxSB4dFKw7O7PGEU/XgeWWoXauO7qhKZ+hYxyrpdvSI63KDelmhvNAMUx8NbX14ofb1nnJAoewO9eq4D+XM0GNj1LN72kkNUadKND4/s9VejwYcRW9kqJxJNMMYGcohhSeNVG4gpONL5kO9sTE60ehTqvFoYp3gUeLRDdOm55zt1bFum5pxoRk8gVxL0Buadn80Op+MKVmnlkz9n4mhVYmZc6iWWh8LR22OohyERzLXWHb0I6rIxdte2bZHVceqCH7R5oKo2koldyemNRrYpqYa3bd2bzRQ9aGZju0lZXA2nlT7vzzgGg0dexYfGS8Pq83l8b18ztFoF3pXs8f9yZk+LDA6yon04enINkYDuzsyjMnY0nrKSxoO5tlvW+W8aldpOAmv5DxL91S9n1vnFZe/J+Oeaml5E4scU8OOf6GTuDK7hj62iJ0MTe3lnOR2mxOC0+lkfGaoPY2j4NQYT4wz6vByu5MFCU4IhobNoMhtin9XN23VNPWzoW2MRpY9fqfIslxpI/4z1oyBbmJNFVmmbMcqSV3d0fg9IVJkmec8Hvff22PVNN+NDBJsp/qZIsulwM3mkBENC1lmGS1NYxX3keUXBYLRWDNUC2OYpgZZZtnLMmoaX4FGChYJStNSu+f2mWbZqjGwrdG5NlRkNoWWSYaa9W5knNOxTFLGisxm1DK5OTkZapY9NrRT/TdFxpNqFpQnE73PcpmM58UUlHfq2O4aGnaXFAw2K/Et+tCcnJ7qXV0bEo84t82x2tUUGc9ShNrS+tp4ZFi9QtpUZJbn8nbm8GkzG4hh6adqF89XhqYO8CzJ+Cgyy3E1RJSZIuPUlhY+ljXGTv7be7urYtwuNMNSZJbYaGTgJs2wTEU+yooTqrapdTGoVt+0T0Yjy7QMdZxNp9pvWpfFfeYdR8zAPd08UfuarY8t9aSvmYqM01qaM42JaWEOVediya2nm7iXbZpvFfkF83hDH6jGe3uod219zCVV+QX1fH1oaoZl64OeaRuaaWEXxd5nTLAmQ2tkD9ThWV+ziU6K/OLwof1O9b6lGVk/GkY9DIS2pd8pTngleUcP7VeS94JzXkPDtrAN7b8nuqH1lA5LUcMRSQrqmWZSYDosN5lDdWy+HWXZkC8a2ywyxoZ+gRvx/IlLAeyVHZau8EPeXTvtQxY2Wbk+UM1zypS2dQ2tpw0tXe2nybZXWxO3WQTicqZc6nTaR6DRyEsRUlRhbaj2L0CpDT/HqOLZ35aVTvtlmYKbfN+p5kDptF/dy+RA6cjteykOlQ7L3VsonisdmaFC6xDm5Fl9qhkXOJBxNOqnehfbwhhZaQK11DOlIx9QnPqaOpyM84HY+gCbXenIh42GNwMzL3BBC6IpkNDtCoLZvg+kwFlCIDyVIuhDJ4YCkFaRFyAgfUw8BDpvWi5ct4LE98EXMI/gCkgfwU5z5zVACxg0AABgZCribhxGCEgRYd/KuOE+zqcbsLN00HSxK7b3Qesfu3rP7uvnmrI7DSMYxntf9J6y23y6tye29oGzB+5AqgIKk9UKRrvOZecKOJcHV3uvAfzsIbDZ2aOSmWN8owaZO32zYPAFoAhILtgRdvYa0I8h0QROFyEQSqKDEIFZmASu0Jh5jcbkZDK0JvbItIfqQFOE9LvQGKgGsVbWQB/kLaSeLDfjh0KDTHBkjZoT5M+EBl0dKa0kjlp+OHV8sqy+Sa7hFPmNdKpPW/FzN5zewKgBP68wmqSUu1AE8S4v/Bjix8pGKNBppsVLCdae6zlUQGYmuSkfNGVJZj2HF3pPVxlr4q+2+VZlIrMHvLS6PjgQmJoXG0m828K4woUbmPV+rJXGih99RbQiLKdRc+lNozAOZ6g5DZct5ybG/0vzVZKrUmKbM8U1UVoPp4m0O+gpwhR7WQBuXsZNLwRREgAJB+ba8+EcukCSoiWQpAAiaRHGCEjSJw8tpCAGK889bq2icNqSW0HcWnmYeBkm2K1vV1C59gJ3P46mSitcodZ8ley7MVJayyD9Eq6QFwaxEmG6+3o6U0KY92YPChyyQVI/qIwzdbi6AQYQKXRsK8+lH9eAqX3MVM4eUgWOeW0IUEIDV+FdtftWs3u6obTWTtSaOtMFbDm4XzRdeGsYtxq4olaHuITjiKMwRJgu7dDQLrShhVeNZ2ekCGP8/HDecv6ZRLA1yHxBxd+b2mcEgxhr0+wmMQqX5jTyVqgF1zBAcavRnRh9vAIeTyylhZar1jSJfHsNo+swhs0wQQ0ye/AUYeTEVQpDO9NNy3hPi+F0AUByEqZvTcNg5s2bt87SB41GBFF0O126tjezZ47nJxHc3QN3JJvhNg/Giii/Bp8cD9mxD+FKETuvAfKWMEyQIh68BvHCmyHwyy+lD4TFLIyAB7wAiLsx/AhkIFKme6+BGxIS/EfZAZF9EMS7XzcC5nUdQecGfPkCPmTU3gxcAtEDEvyY8QNX3FTE/kg61j7DaYKgCz4I4q8fBNwRS4lfF0gjiJIoAHL2MMvp7I8MHog5EFnrzCMf3TDgZoHtYje1qNux58MA/eeA/0chysMVxH4Y3iSrDCUeGZlDBqMUIse3eawiOA0jVxEPSdcYOREi7Yq46zoIgmdP4rSg+LTwfAhQlMACUEw6kDKuDDKJqKi0MSRYyBbwpkkUwWCL1Bzd3V2eEEicrnt7QJpDIBZGt935BQvTcSYudIsgTmbu/jeNDPsrdIX7bU0NuN3KWbDcC0k6hiyUvknNMPoakDGchoEbCzgk6yIyCO0YOSj+K8QkDsm/TkRmaM0hspETXTu+n6GEnMi+D6mUnCCVRD4Lx9TU4h3Xe8MAF7ZAx9GW4HMiIKF/zggJlvYQ6Dhu3wkfM9ZRG7u1D6RZbPbXQCSfw1yZN0DkZnvQefOLXOCD1boE4t/BTwpog6s6ZUjoOKjAqEDAReBjLWvPonBpR3DuxSi6tXGJaeNS4pEWx71moe/CCMe9F6VLUAaSsPef6BYYNrDCy2jeKSgMuEqlIEtplQbEu60l3Qa7EVcSPs6NOEZ/uBtde4ET3X7ViyjZPY5EKVYOWpSdicmo+hPXqeRTRYElt9riW8U+RfcibiPNSjJrnYY43XaPKThgUSTYZsaKH9Zy/ro/FpD8o13yG9zyq65Z4573u2ipwxaPJcuumefn6yDy5IFzP+6Y+uch9c/nBZ/jeX01kfHERVe7JI4mMmng6ipLZfVZjGf1yDSW1SS1c1ym0l94kiMEszAqmvkeC+dWPSCkK2cNXboBQhb7Uz9MXMkLPCRh2rhJKAhtult6+hFbn/HZCEAkFNhqFPn2t9SHGdOdn7XR6Q4H+/1u8CPKQ0IJXSB5QGhh9VqukCuYRwPnKm8oHI1NI76NEVxOEfZWUq1/W/UN4vUUJ342L3xvvZ2pAVwHLsNAiqAfOu5DOlC9gUhV+QFleyYbr1eSOBctSUEorZw5zuR+oc/vYRIFjo87SUnW4bvCKTdZjMLVv529sNI/0ljfjKrrxc61D//tgKV6/zWxTTMMHsq34fpYMEnASSlIfx1A1jCKvTCw54i5GYIxAoK4S47CZmDnSfwh2AGC+KsAvgB6yHYBvoAFdFwgBUDeE4CiAEGUhcamkXuvFmAfUAPXLCTzSpoHcrsNnoODNhDT8RhaehBtWqo1MRXx7436VCcXkxx4A0ob8aIspbRNP5w3coCLAoAUQFyHlGCmdZsMpmHiu+Qs7xqm20j8JljBEhRabwZ+AjX7SkDu4JF2nnODgUEaKfKDxKfULri+zVls14W3Ri8NSWIOLlV7M04X34uRlAQeioEkzfDaQJKcwsGvIMrNGEZrbwqFksLFuQCwkYoydvFtYIarFQ9mJfM9iA2lpXzouOFyDaNuuFw53LkGO/ZVFXE3rURk8AVMEwQkFwjPBFxay3sF0pOMtLON9PISV3gZ7w0Nh+zJyUagZXqh4MOhBN2MPccA8H3TA+cd/B+OQxaCFyAVvvDmCxijizSMFXFXPzWVbNGRytgImeoiYSLNOveoLt4VmW7qtM98bdNww08BTqc9eD2+mVvhKV9bj8/P0lNpGtz4e3Zm38ke9XRD61oj4z1LtMsb14uAtAJioTktwpN44QLxrtCyyTJ5JeqwDx2128BZIWkOEWAKUxZYvY2SfqaqbZ6mgsIVrkydFSLbGawfHdw9s0Zx//d1AwByKI67KBg/OoLCsSR2cC6CHzDTuKubOZDo8hyPVHJw4IbRFJKHLpzlZyV41YMH4ofTm5g8ZnBIIeitbubHx6P05Pb4WOG5hL6bIybdlg+JGl+buMig5ddkiqpOS6/TpEnXDxjwEg70I+ba2DTmEHXHEzWaLjIPc6LpQhF3k7TsXe41uDXmHW7c39+QiHTwl6NDAQsotURL/Ly6Fk3jKG1uVOZZ2rp0WSvJPV6sGoOjQz7FYlV2c9X3eKH1MuUt0tpcjvNig+7QTKJ8Ez51NLqXQ/YhZBoZdP8tgnP4Wdn5R/PZh1b6/3HzmbhTgC3vvgHKvzD4fOdMZ1CeetqAnweZFQHW1g/nsY1COz31LqmLnPiGxFF+XpI2pNQ4owydwjHRk4PhXoMjJBOzxR8lCU9OwROr+eRgSHf/sN8yvVhVQaUE7vauhO73OAzsGEVeMFfEXfD7R1z55IWbJDnRHGAeMXKWKwBI8mUqbYQK6WgFIwdHm+5iUqpADSHNweSJIDc7B1USy4lvMDogFYuxrGGkYST7cA19AAQ9mIXRkijg+FXaAYxjZw5ToXgS9SGC7jEQn27hO/ZcQtve0m7Vte/cZYAdAzH7vM+DcwxE7ts+g+MYiPTTfjZ8zIN+3OdGewzE/Ms+G9oxEOmn/WwEjHLsufuZ2uyh5bmbNEa4rWTxjvMLsgd6V70eshHvil68aeJejTxxCji5CeAnhQBUzAd8+uPKmwUugOz4xlvZ6UUr2408XMvndTbO7J/TLfLQvVXE3XzXDkhvgTCAyHEd5ByT826BFNOrKPx8C4SnAhAWCK2OWy356FWz8/ywSf9tLWmvlhfEyAmm8O/OypPoKkLptDuy1O5IbZnGHBdq3zNUMpB8rKxYEkQ8JFzV4ECEYKc5DZerBMEmcuZx34sR+AKWzmo3hj6cot0mmRu+kKXNrmDeeKuzVdIjgOl4GL4vvAaCJ+zt7V22r5prx08gaLWAMHP8GApZTwJUSrlTOFHgdBQ4+9DK1L5JrqEPkU1K52BuT2GEvJk3dRC0oxAR7/6PNRwFod52UY3tLq9wlctbjkyXN7FEWUkUT4niKXF4SgxPYQ98Aakpi7a6K+q1v78RyiFFp7+pD52Au3Py/yekHm4WHEwnBK5uitZXccdSGehePHAiL4DRKCJ35fpekHwu1QZhzEoYWp2EMVmllK7N4kXKly91BPzt2SpV9QJttSQrbtR75QVQA64df+xMb5w57NFKeWL0S+MgtdidfCxtuMFIARDEJPJr6kCAuQIhgnHiI0W8w8UYd/kmnYDS1kZpY4jXM0U/RTvNdf/1kWoWJmiVIEXcxSZnDodtlp5nYtVSkqJbUXvSpgZXpnozUGtRIIgjs7hhECduCJAbzADVCi8tfv+IlxUp/98/gk9OzFpJ9VHUs1KQs2UaY/gcyOCo/T1MCXTpTJuscElopDe6SxZdpSZXyNZXwWEFsVN8wtbngngg0E0u8paxItB7SkXyfvgJRl0n5rLmXRiTdTyKwM7lMbmffny1gz/7mPj4ikbbz6dhBNKr5fvYIGImHHgxkF8224fACVwgRPLL9qGAHzp+HAIXzrwAunjFiSM/DHDJQiqV/bTWF9m1di8mmRCFjEcq1/SWnu9E/i1ZunbaTFCn02wfNsEILWD0yYthHaMmRaGZD4FGLxEOuB6O/8m5zTVg8IEg/MT1zqO6BoSDZjuFYH3QbH8LAtRoPAKExdecn9iuFN5sWcjMS51pQ1Ow0HSzTKLHTcwic4pN84Owxk/YBs0HQdgjE0CQ+LWphHe4at+6y3t1Ka/kzO88tAgT1AtRwUsZY7JdDF2wE7c+NFut+U5hZf7AcSfXSYCSZsQxzsVu7h81N+It/dnY+VCneZwSx396yBcSTBEQFvRFWP+oREHfCmNbXqayu9doPNYzhXRvY4tFeH0FF86cxEeZBR4tuyneUYg3TZrP44vO/T6S4ug7KN/ujJXdrfKl6HtUKFROBVlYNawZqZkKLcLeXknJVQTXXpjE/R+obK3MgtK1FLzyeDJYs9yLS4q7ItqXv17h3MgdntU55zNlVxDv1iwGcvbZxYN6WfWg/ZEyy4nyT3Hj+8Nqe65e/zlecnnFLFxFfL0V4wfhm2GbDSrLzIPER54aTRel3JwO1Vs6c2iFJ3Cc4MouzdANAH7+/SMpISq9wSwKl6RpGgbIwdO2jnnETaDPQLf47NK7ai7LHC46uBIIQkTCYZ+pjBYO2k+3u+mThzBrVL2mNCRmsTpFtia5ryW4LTKIV9TIeUwqe2gae4xKj0xY35qsBpO+pdvktzYe5tXfm6G+WVC2EExT0vZ08E1os8B/aNg/TG32tk+hANu+kGY1GN0VyHcJOrX1Fz1Q/ItVX+lSxZuB+3IvgJ+9GNHVxxyvOBYQ5PT9LIVFkK59wmyVtZW8KJBWYeCPqPzuqbM4LZTHT4scNwFIUT4zk+NsrnUjgFwn8Msv2RyU/dwAVkggR4L1TSV2je0bLd8zRIr+V8f2Y8ZFZyvsnZtGw3Hd83SfdRi6sO9cw/IhY1890fq2aRn68Izbo0svi3hAEHkCAfztb38Dgsh+12A46mk2ITAF8AbkPzPQefNL/WUYuusLgtCFwMf6gIKEdCEfQce9xbNMDAO0j2fnhRfM8Vrdcav3doplGz3QdV3co04CCkFVi7jZbAr5fizZN6sdZTkoaoiwYWoeb/bFO16RTc1pdB23gvbcUjeCy3ANH2NeCISKTo+w8MOhaJXFtjIweOVKRPs/SLmy2Acp93+jG1ON3/zAHpHu5mdXC7jpl9uyJgLsE32oGu/tNCGll4QKlxJqCWtju0RFQjm7sgCSyN8HnzzfB0kMgUd23si7K3iCwwFJ7zsIBVgYv+yFFZr4KhpVYyl9Z4Lck1ggtIqPW63Lf7SunpHfzYgCiGDcWl+2pVdXzz402b/NZy2ihgfjVvPZTmmnTwpAVXT9Vh09fmInQMI67WgMNUvLfvFkI4C6tyqqIpR/kXc0Slc3Kq9bsIug5PWsVQRn3ucasH5+yiGwESpcyqpnlR7P98mT1tOavuydXxQ5UwRdptFx9mYSqzhJGVNS7BhsM+y9b0Rt9b70fgRWIwng5xXEGvm3nBcy10uxyKphJ6YYbFVf+MprSV9z3/w3t8bGiPwQXP6DPxlt+iuHm5Z4R35Xkz02tPFowzmxhGex4+y+D6vKJd8Lks+SeNcdT0j1XkgVhcnj1HfmpXnjtK+e3T9tcBSV5IfbHp72CDWf8MiDVknGtizM0+z/KYqUZDxEkR+gRzH1//xW6481w9RGp43/DQAA///7/3VVdlcAAA== @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S115/CustomData b/pkg/agent/testdata/AKSUbuntu1604+K8S115/CustomData index 2470f0f15dd..00a2d7b7ec4 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S115/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S115/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S115/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+K8S115/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S115/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S115/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S115/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+K8S115/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S115/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S115/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S117/CustomData b/pkg/agent/testdata/AKSUbuntu1604+K8S117/CustomData index 352f85d64cc..6d2c4ebcf34 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S117/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S117/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S117/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+K8S117/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S117/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S117/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S117/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+K8S117/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S117/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S117/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S118/CustomData b/pkg/agent/testdata/AKSUbuntu1604+K8S118/CustomData index 352f85d64cc..6d2c4ebcf34 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S118/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S118/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S118/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+K8S118/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S118/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S118/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S118/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+K8S118/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S118/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S118/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/CustomData b/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/CustomData index 7e0eb67cf6f..9216e2fc903 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/+R8+3ebxvbv7/ordimt7dZIQnacxDnkFEvY4VqvC8hpruPDwmIkUyNQYHDiY+v+7XfNMMCAkGPHbW7P+borqxKzZz8++zF7ZrB//KF16QWtSye+amiGYZsfTEsbdK2+bVqqYdnHqt5X9oGOdfujSc/Wh7plW/pAG00s5UU6cqz3Nfu9anXf5SMH6ci7Ub9nv1f7+nDyu3qiDS3lZTpgaH1NNbUaglcpgTq2bH1oWmq/nzN9nQ71Rt1TzVgb7bRLw73R+2F/pPaKcbk0fqp9qKHplGiIEoQuH94rDXMYdRhIg9HRBzqtr5sFTh0G1MC0T8YnG0QfcBzWbGOwdUdDS9WHmtFbJ2HAGZNhd32QQXf6yiQEQ314ko/ttYuxNa32GGinkyONhMVwZNnHo8mwp+wxqPTBSc20vWJaX7N4pPb2y14cnNjjCafq3os1U7tWHd3BOp2hEx3XSTejR0OXM+rVGuWZZpj6aGjrwzO1r/eUPQZld6iv270v544eG6Oe3dOOaog660Tj0xNb7fVYwjH0RobKuUQzjJGh7DN40kzlDKETX2Ux1BsboyONPWUajybWEbGSWDdMh15wvlfHum1qxplm8ARyLUFvaNr90eh0MmZknVoy9f9MDG2dOAsO1VLrc+GgzVFUk/BA5gargX7AFDl716v69mA9sNYEv2xzSbQ+yiR3J6Y1Gtimphrdd3ZvNFD1oZna9ooxOBlP1ue/2uMGDZ1EFp8Zr/bXh6v2vXrB0Whnelezx/3JiT4sMTooiPTh8cg2RgO7OzKMydjSesorlg7mye8b5bxur9NwEl7LRZXuqXq/8M5rrn5Pxj3V0oqhLHNMjQT+mU7zyuwa+tiifjI0tVdwktttTggpp5PxiaH2NI6CU2M8MU5YwMvtTp4kpCAYGnGDIrcZ/l3dtFXT1E+GtjEaWfb4vSLL8toYjZ+xZgx0k2iqyDJjO1Zp6eqOxh8okSLLPOfxuP/BHqum+X5k0GQ71k8UWa4kbr6GjFhayHJW0dIythY+svyyRDAaa4ZqEQzT0iDLWfWyjJrB19BIwaJJaVpq99Q+0SxbNQa2NTrVhoqcLaFVkqFmvR8Zp8yWScpYkbMVtUpuTo6GmmWPDe1Y/12RyaKaJ+XRRO9ntUwm62IKynt1bHcNjYRLCka2KvEj+tCcHB/rXV0b0og4tc2x2tUUmaxSlNrS+tp4ZFi9UtlU5KzOFeNZwKfDmSGGpR+rXbJeGZo6IKtkxkeRsxpXQ8SYKTIpbWnjY1ljEuS/f7C7KsHtTDMsRc4KG8sMMqQZlqnIB3lzwtQ2tS4B1eqb9tFoZJmWoY7z5VT7XetmeZ9Hx0Hm4J5uHql9zdbHlnrU10xFJmUtrZnGxLQIh/XgyopbTzfJLNs03ynyyyziDX2gGh/sod619TFXVOWXLPL1oakZlq0PeqZtaKZFQpREnzEhmgytkT1Qhyd9zaY6KfLL/cfOO9b7lmbk81ga9QgQ2oZ5x6TgVeQdPHZeRd5LLngNjfjCNrT/PdENrad0shI1HNGioJ5oJgOmk9Umc6iOzXejvBryTWM7y4yxoZ+RQbJ+klaARGUnK1fkIR+unfZ+ljZ5uz5QzVPGlI11Da2nDS1d7afFtlfbE7ezDCTtTLXV6bQPoNEoWhHaVBFtmPYvoTJGnhNUyepvy0qn/apKwS2+71VzoHTarx9ksqd05PaDFPtKJ6vdGyheKB05Q4X1IVmQ5/2pZpyRRCbZqB/rXeILY2SlBdRST5SOvMdw6mvqcDIuDLH1AXG70pH3Gw1vBjMvcKGF8BQkfLtEMNv1QQqcBQLhFylCPnJiJIC0jLwAg/Qp8TB03rZcdNMKEt+He5hHaAnSJ9hqbr0BfIWCBgDAyFTE7TiMMEgRZd/KuZE5zudr2Fo4eHq1LbZ3ofWvbb1n9/VTTdmehhEK4517vadsN3/Z2RFbu+DswB2kKuAwWS5RtO2cdy7AOd+72HkD6IuHYbW1wyRngfFEDfJwerJguAccgeTClrC100B+jKgmaHoVglARHYQYZmESuEJj5jUak6PJ0JrYI9MeqgNNEdLvQmOgGtRb+QB7UIzQfrI6TB4KDbrA0T1qQVA8Expsd6S0kjhq+eHU8em2+jq5RFPsN9KlPh0lz91weo2iBvqyJGjSVu5MEcS7ovHLED9UVkKJTjMtXkpw47mewwTkbpKb8l5TluRs5vBM7+lqxprGq22+UzOR+QNeWt0ckgiZmmcrSbzbwHiNC2eY9WGsVWwlj74iWhEW06i58KZRGIcz3JyGi5ZzHZN/0nyZFKpU2BZMSU+U9sNpIe0OeoowJVEWwPWruOmFECUBSCQxbzwfzZELkhQtQJIChKWrMMYgSZ89fCUFMSw997C1jMJpS24FcWvpEeJFmJCwvl0i5dIL3N04miqtcIlb82Wy68ZYaS2C9Eu4xF4YxEpE6B6a6UwpYTE7e1DikBvJ4mDNzjTg6gwMEFaYbUvPZR9vIFP7MFM5f8gUOOS1oUAJDdKFd9XuO83u6YbSunGi1tSZXqGWQ+ZF0yvvBsWtBumo1SFp4TjiKAwxoUsnNLQzbWiRXePJCW3CMn5+OG85/04i1BrksaCS703tC0ZBTLRpdpMYhwtzGnlL3EI3KMBxq9GdGH2yAx5PLKWFF8vWNIl8+wZFl2GMmmGCG3T14CnCyInXKQztRDct4wNrhtMNAK1JhL41DYOZN2/eOgsfGo0I4eh2unBtb2bPHM9PIrS9A3e0mpExD8WKKL+Bz46H7dhHaKmInTeAvQUKE6yIe28gvvJmGH7+ufKBspiFEXjgBSBux+gTyCAypjtvwA0pCflh7EDMPgji3W8rgfC6jJBzDff38DGn9mZwDqIHEvqU84MLbinKfmg51r6gaYKRCx8F8bePAplIpMRvSqQRwkkUgJw/zGt69kONB7EAIh+defSjGwbcKrBZ7KoWdTv2fBTg/x7w/yxEebiC2A/D62SZo8QjI3PIEJRC7Pg2j1WEpmHkKuI+nRpjJ8J0XBG3XQcj+PWnOG0oPl95PgIcJagEVCYdpJxrBplEVVTaBBIiZAN40ySKULBBaoHu9jZPCBKn684OSHMEYsm6zcEvWISOc3FpWoRIMXN3n2QZiVfkCg/7mjlws5fzZHkQktSGPJWepGYYfQ3IGE3DwI0FkpJ1GRmEdowdHP8dcpKk5N8nI3O05gjb2IkuHd/PUcJOZD+EVEpOkUoiP0vH1NXiHTd7lQEubICOo63A50Qg4X/PKAmR9hjoOG7fCF/mrIM2CWsfpFls9m9ApJ/DQpm3IHKrPXTe/iyX+BC1zkH8J/ygQBsu6pShqePgEqMSAZeBz/WsPYvChR2huRfj6NYmLaZNWolnepzMmoW+iyKS916UbkEzkISd/8awILDBkmyj+aBgMJAulYEspV0aiHcbW7oVCSOuJXxeGHGM/vQwuvQCJ7r9ahQxsgcCiVEsHXxVDaZMxno8cZMqMVUWWAmrDbFVnlMOLxo20qwiszZoaNBtjphSAJZFwiY3rsVhLeevx2MJyT87JJ8Qll8NzZrwfDhEKxM2RCzdds08v9gH0SePXPvJxDQ+91l8vijFHM/rq4WMJy6H2jkNNDGTBhcXeSmrr2I8q2eWsbwnqV3jcpX+xoscJZiFUdnND3i48OoeJV06N8hlByB0sz/1w8SVvMDDEqGNm5SC0qanpcefiPczPisBREpBvMaQbz+lP8yZbv2ojY63ONgfDoPv0R5SSuSC5IHQIuq1XKFQsMgGLlTeMjgaq0Z8G2O0mGISrbRbf1r3DfHNlBT+bF341n47VwNcBy3CQIqQHzruYyYwvUFkqnyHtj2XTfYrSVyIlqQglJbOnFRyvzTnjzCJAscnk6Qkn/BN6VS4LMbh8j/OX0Tp7+msJ6PqerFz6aP/OGCZ3n9PbNMKQ0x5Gq7PBZMmnJSC9PcB5AZFsRcG9hxnYYZRjEEQt+lV2Ay2foo/BlsgiL8JcA/sku0M7uEKOS5IAcg7AigKCKIsNFaNInq1gMSAGrhmqZivlXmQ2214AXttEFN7DC29iDYt1ZqYivjPRn2pk8tFDt5C5SBelKWUtumH80YBcFkASAEifUgFZta3yTANE9+ld3mXKD1G4g/BSp5g0Hoz+AFqzpVA7hBLOy84Y1CQZor8KPEptQuXtwWLzbrw3uilKUndwZVqb8bp4nsxlpLAwzFI0ozsDSTJKV38CqLcjFF0402RUFG4vBZAZqkokxDfBGa4XPJgrlW+R7FhtIwPsxstblDUDRdLh7vXyK59VUXcTjsRGe5hmmCQXBB+FUhrLe+USI9y0s4m0vNz0uHlvFcsHfInRyuBtemlho+kEnJz9hwD4OemF85b5D+Sh1kKnkEq/MqbX6EYn6VprIjb+rGp5JuOVMZKyFUXKRNp1nlAdfGuzHRVp30ea6uGG34OSDntocvx9dwKj/neenx6kt5Ks+Qm3/M7+07+qKcbWtcaGR+yQru4dr0IpCWIpeG0CU/iKxfEu9LIKq/ka1lHYuig3QZniaU5wpApzFgQ9VZK+pmptvolFRQuSWfqLDE9zsjmMeMeWDXK579vGgD0UpxMUQh+zILStSQJcC6DH7HSuMvrOUhse04slRySuGE0RfShi2bFXQnZ9RBD/HB6HdPHGRxSCL3l9fzwcJTe3B4eKjyX0HcLxKTb6iVR42sLFzVafkOXqPVl6U1aNNn+gQBewYF9JFwbq8Yc4e54okbTqzzCnGh6pYjbSdr2LnYa3B7zjgzu7q5oRjrky8G+QARURqIFeb6+F03zKB1urK2zbHThZqO09nixagwO9vkSS1TZLlTf4YXWy5Q3SGtzNc6LDXZCM4mKQ/g00NhZDj2HkFlmsPO3CM3RF2XrX81fP7bSf4fNX8WtEmzF9BUo/5eAz0/OdYbq0tMGfh3MvAhEWz+cxzYO7fTWu6IuduJrmkfFfUk6kFKTijJ0StdEP+0NdxocIV2YLf4qSfjpGH6ymj/tDdnpH4nbTK+sq2BSAnfzVEr3RxwGdowjL5gr4jb88Yl0PkXjJklONAfCI8bOYglAi2+m0kpYIx0tUeSQbNNdQsoUqCFkNZg+EeRmZ2+dxHLia4IOpGIJljWMNIJkH90gH0DQg1kYLagCjr9OO0Bx7MxRKpQsoj7CyD0E8ZcNfMeeS2nbG8atuvGtuxywQxDzz7s8OIcgct92MzgOQWSfdnPzCQ/2cZez9hDE4stuZtohiOzTbm5BRjn23N1c7eyh5bmrNEe4o2TxjosLegZ6t/56yEq8K0fxqklmNYrCKZDiJsAPCgWoXA/48se1N1ekAbLja29ppy9a2W7kkV6+6LNJZf+SHpGH7q0ibhendiC9A2GAsOM62Dmk990CbaaXUfjlFoRfBBCuMF4etlrywetm58V+k/2/tWCzWl4QYyeYon86S09iuwil0+7IUrsjtWWWc1yqfYup1JDC1qxZEkRiEulqSCIi2GpOw8UywaiJnXnc92IM97Bwltsx8tEUbzfp2nBPtzbbgnntLU+WSY8CphMzfF94A4In7OzsnLcvmjeOnyBotUCYOX6MhHwmBSql3CrdKHA6Cpx/WGdqXyeXyEfYpq1zMLenKMLezJs6GNlRiGl0/9c6joFQ77uoxnfnF6TL5T1Hl8vrWGKsJIanxPCUODylDE9hB+4hdWXZV3dlvXZ3V0I1pdjyN/WRE3DvnPzPSanHu4Uk0xGFq5ui9VXcidQMdC8eOJEXoGgU0Xfl+l6QfKn0BmGctTCsOwljukupvDZLNin393UE/Nuz61TrL9Cut2Tlg3qvugFqoBvHHzvTa2eOeqxTnhj9ih20F7uTD6UVZ4wUgCAmkV/TBwLhCkKE4sTHinhHmjHu5Zt0AUpHG5WDIV7PFP0U7bTW/a9PTLMwwcsEK+I2cXkWcMRn6X0mUS0lKYcV8ycbanBtqjeDWo+CII7M8oFBnLghYDeYAdOKbC3++ES2FSn/Pz7BZyfORmn3UdZzrSHPtmkZwxcgw0H7W5hS6NKVNlmSltBI3+iueHSZulyhR1+lgBXETvlJtj8XxD2BHXLR3zJWBPaeUpm8H35GUdeJuap5F8Z0H48j2Do/pO+nH15skc8+IT68YNn243EYQfpq+S5xiJgLBy8G+VWzvQ9O4IIQya/a+wJ56PhxCC6aeQFyyY6TZH4YkJaFdiq7aa8vZq+1ezGthDjMeKRyTW/h+U7k39Kta6edCep0mu39JozwFYo+ezGqY9RkKDQLE1j2UuHAzXD8z85toUEGHwThZ252kdU1IOw12ykEN3vN9lMQYE7jEaAsvhb81HeV9M62hZl7WTCtWAkWmm5eSfS4SVjkQbFqfhRuyJPsgOajIOzQBSBI/NpSwgfc+ty6l/fqSl4lmN97+CpMcC/EpSjNGNPjYuTCVtz62Gy15lulnfkj7U4ukwAnzYhjXIhdPWw1Z/GG+ZntfKqzOs6I47885UsFpgxIlvRlWP+sQsF+Kyw78jKV7Z1G47mRKaRnGxs8wusruGjmJD7OPfBs2U3xjkG8arJ6Hp91Ho6RFEffwcVxZ6xsb5QvRd+iQqlzKskiqhHNaM9UGhF2dipKLiN044VJ3P+OytbKLCldS8ErTxaDm6z2kpbiroz2+W8XpDZyl2d1wfmrsi2IdzdZDhTs8xcP6mXVg/ZnyqwWyr8kjB9Oq821+uaviZLzi8zD64jfbMT4Ufjm2OZG5ZV5kPjYU6PpVaU2p6Z6C2eOrPAIjRPS2aUVugHw4x+faAuxNhtmUbigQ9MwwA5ZtnXCI26CPoNu+dm5d9FcVDmcdUgnEISYpsNupjK+cvBuetzNnjyGWWM9aiomZR6rU2Rjkftagdsgg0ZFjZznlLLHlrHnqPTMgvXUYjWY9C3dpn9r43FR/a0V6smC8o1gWpI2l4MnoZ0l/mPT/nFqZ7/tU2rANm+ksx6MnQoUpwSd2v6LXSj+zbqvdKvizeCh2gvoixdjtvuYkx3HFYKCvp+XsAixvU+Y77I2kpcFsi4M/ozO74E+i9NCef6yyHETQIqKlZleZ3OjKwEKneDnn/M1KP9zA0QhgV4J1g9V2DU2H7R8i4kM/a/a9n3sYqsVic5Vo+G47ml6zjoMXdR3LlH1krGvHml927QMfXjCndGlL4t4IIg8gQD/+Mc/QBCzv2swHPU0mxKYAryF4s8MdN7+XP8yDDv1hSB0EfhEHyhJSDfyEXLcW7LKxCjAu2R1vvKCOdmrO+76ezvlto1d6LoumVEnAYewrkXcbDaF4jyWnpvVWllNihoi4piax6td8Y5XZFVzG13HraQ9t9WN0CK8Qc9xLwJhTadnePjxULSqYls5GLxyFaLd76RcVeyjlPv/o1umWk1EHPvOvBIMx3315OFY4CjWLCJjj7eFUvNW0AetioxN0PI0u3+JIhUZj1HkO+hR9ueP77T+WDNMbXTc+H8BAAD//yXG4DBLUwAA + H4sIAAAAAAAC/+Rce3ebuLb/359Cw9BJ0gbbOGnapoeeITZJufHrAk6nN81hESPbTDC4INzmpD6f/S4JCcTDadrM9M45N7Nm1UZbe2/99kNbD/zzT61rL2hdO/GioRmGbb43LW3Qtfq2aamGZZ+qel85BKSt2x9NerY+1C3b0gfaaGIpz9OWU72v2e9Uq/s2azlKW96O+j37ndrXh5Pf1DNtaCkv0gZD62uqqdUQvEwJ1LFl60PTUvv9jOmrtKk36p5rRqW10y4090bvhv2R2svb5UL7ufa+hqZToMFKYLqs+aDQzGHUoSANRifvSbe+buY4dShQA9M+G59tEX3EcaiMjcLWHQ0tVR9qRq9KQoEzJsNutZFCd/7SxARDfXiWtR2087aKVgcUtPPJiYbdYjiy7NPRZNhTDihU+uCspttB3q2vWTxSB4dFKw7O7PGEU/XgeWWoXauO7qhKZ+hYxyrpdvSI63KDelmhvNAMUx8NbX14ofb1nnJAoewO9eq4D+XM0GNj1LN72kkNUadKND4/s9VejwYcRW9kqJxJNMMYGcohhSeNVG4gpONL5kO9sTE60ehTqvFoYp3gUeLRDdOm55zt1bFum5pxoRk8gVxL0Buadn80Op+MKVmnlkz9n4mhVYmZc6iWWh8LR22OohyERzLXWHb0I6rIxdte2bZHVceqCH7R5oKo2koldyemNRrYpqYa3bd2bzRQ9aGZju0lZXA2nlT7vzzgGg0dexYfGS8Pq83l8b18ztFoF3pXs8f9yZk+LDA6yon04enINkYDuzsyjMnY0nrKSxoO5tlvW+W8aldpOAmv5DxL91S9n1vnFZe/J+Oeaml5E4scU8OOf6GTuDK7hj62iJ0MTe3lnOR2mxOC0+lkfGaoPY2j4NQYT4wz6vByu5MFCU4IhobNoMhtin9XN23VNPWzoW2MRpY9fqfIslxpI/4z1oyBbmJNFVmmbMcqSV3d0fg9IVJkmec8Hvff22PVNN+NDBJsp/qZIsulwM3mkBENC1lmGS1NYxX3keUXBYLRWDNUC2OYpgZZZtnLMmoaX4FGChYJStNSu+f2mWbZqjGwrdG5NlRkNoWWSYaa9W5knNOxTFLGisxm1DK5OTkZapY9NrRT/TdFxpNqFpQnE73PcpmM58UUlHfq2O4aGnaXFAw2K/Et+tCcnJ7qXV0bEo84t82x2tUUGc9ShNrS+tp4ZFi9QtpUZJbn8nbm8GkzG4hh6adqF89XhqYO8CzJ+Cgyy3E1RJSZIuPUlhY+ljXGTv7be7urYtwuNMNSZJbYaGTgJs2wTEU+yooTqrapdTGoVt+0T0Yjy7QMdZxNp9pvWpfFfeYdR8zAPd08UfuarY8t9aSvmYqM01qaM42JaWEOVediya2nm7iXbZpvFfkF83hDH6jGe3uod219zCVV+QX1fH1oaoZl64OeaRuaaWEXxd5nTLAmQ2tkD9ThWV+ziU6K/OLwof1O9b6lGVk/GkY9DIS2pd8pTngleUcP7VeS94JzXkPDtrAN7b8nuqH1lA5LUcMRSQrqmWZSYDosN5lDdWy+HWXZkC8a2ywyxoZ+gRvx/IlLAeyVHZau8EPeXTvtQxY2Wbk+UM1zypS2dQ2tpw0tXe2nybZXWxO3WQTicqZc6nTaR6DRyEsRUlRhbaj2L0CpDT/HqOLZ35aVTvtlmYKbfN+p5kDptF/dy+RA6cjteykOlQ7L3VsonisdmaFC6xDm5Fl9qhkXOJBxNOqnehfbwhhZaQK11DOlIx9QnPqaOpyM84HY+gCbXenIh42GNwMzL3BBC6IpkNDtCoLZvg+kwFlCIDyVIuhDJ4YCkFaRFyAgfUw8BDpvWi5ct4LE98EXMI/gCkgfwU5z5zVACxg0AABgZCribhxGCEgRYd/KuOE+zqcbsLN00HSxK7b3Qesfu3rP7uvnmrI7DSMYxntf9J6y23y6tye29oGzB+5AqgIKk9UKRrvOZecKOJcHV3uvAfzsIbDZ2aOSmWN8owaZO32zYPAFoAhILtgRdvYa0I8h0QROFyEQSqKDEIFZmASu0Jh5jcbkZDK0JvbItIfqQFOE9LvQGKgGsVbWQB/kLaSeLDfjh0KDTHBkjZoT5M+EBl0dKa0kjlp+OHV8sqy+Sa7hFPmNdKpPW/FzN5zewKgBP68wmqSUu1AE8S4v/Bjix8pGKNBppsVLCdae6zlUQGYmuSkfNGVJZj2HF3pPVxlr4q+2+VZlIrMHvLS6PjgQmJoXG0m828K4woUbmPV+rJXGih99RbQiLKdRc+lNozAOZ6g5DZct5ybG/0vzVZKrUmKbM8U1UVoPp4m0O+gpwhR7WQBuXsZNLwRREgAJB+ba8+EcukCSoiWQpAAiaRHGCEjSJw8tpCAGK889bq2icNqSW0HcWnmYeBkm2K1vV1C59gJ3P46mSitcodZ8ley7MVJayyD9Eq6QFwaxEmG6+3o6U0KY92YPChyyQVI/qIwzdbi6AQYQKXRsK8+lH9eAqX3MVM4eUgWOeW0IUEIDV+FdtftWs3u6obTWTtSaOtMFbDm4XzRdeGsYtxq4olaHuITjiKMwRJgu7dDQLrShhVeNZ2ekCGP8/HDecv6ZRLA1yHxBxd+b2mcEgxhr0+wmMQqX5jTyVqgF1zBAcavRnRh9vAIeTyylhZar1jSJfHsNo+swhs0wQQ0ye/AUYeTEVQpDO9NNy3hPi+F0AUByEqZvTcNg5s2bt87SB41GBFF0O126tjezZ47nJxHc3QN3JJvhNg/Giii/Bp8cD9mxD+FKETuvAfKWMEyQIh68BvHCmyHwyy+lD4TFLIyAB7wAiLsx/AhkIFKme6+BGxIS/EfZAZF9EMS7XzcC5nUdQecGfPkCPmTU3gxcAtEDEvyY8QNX3FTE/kg61j7DaYKgCz4I4q8fBNwRS4lfF0gjiJIoAHL2MMvp7I8MHog5EFnrzCMf3TDgZoHtYje1qNux58MA/eeA/0chysMVxH4Y3iSrDCUeGZlDBqMUIse3eawiOA0jVxEPSdcYOREi7Yq46zoIgmdP4rSg+LTwfAhQlMACUEw6kDKuDDKJqKi0MSRYyBbwpkkUwWCL1Bzd3V2eEEicrnt7QJpDIBZGt935BQvTcSYudIsgTmbu/jeNDPsrdIX7bU0NuN3KWbDcC0k6hiyUvknNMPoakDGchoEbCzgk6yIyCO0YOSj+K8QkDsm/TkRmaM0hspETXTu+n6GEnMi+D6mUnCCVRD4Lx9TU4h3Xe8MAF7ZAx9GW4HMiIKF/zggJlvYQ6Dhu3wkfM9ZRG7u1D6RZbPbXQCSfw1yZN0DkZnvQefOLXOCD1boE4t/BTwpog6s6ZUjoOKjAqEDAReBjLWvPonBpR3DuxSi6tXGJaeNS4pEWx71moe/CCMe9F6VLUAaSsPef6BYYNrDCy2jeKSgMuEqlIEtplQbEu60l3Qa7EVcSPs6NOEZ/uBtde4ET3X7ViyjZPY5EKVYOWpSdicmo+hPXqeRTRYElt9riW8U+RfcibiPNSjJrnYY43XaPKThgUSTYZsaKH9Zy/ro/FpD8o13yG9zyq65Z4573u2ipwxaPJcuumefn6yDy5IFzP+6Y+uch9c/nBZ/jeX01kfHERVe7JI4mMmng6ipLZfVZjGf1yDSW1SS1c1ym0l94kiMEszAqmvkeC+dWPSCkK2cNXboBQhb7Uz9MXMkLPCRh2rhJKAhtult6+hFbn/HZCEAkFNhqFPn2t9SHGdOdn7XR6Q4H+/1u8CPKQ0IJXSB5QGhh9VqukCuYRwPnKm8oHI1NI76NEVxOEfZWUq1/W/UN4vUUJ342L3xvvZ2pAVwHLsNAiqAfOu5DOlC9gUhV+QFleyYbr1eSOBctSUEorZw5zuR+oc/vYRIFjo87SUnW4bvCKTdZjMLVv529sNI/0ljfjKrrxc61D//tgKV6/zWxTTMMHsq34fpYMEnASSlIfx1A1jCKvTCw54i5GYIxAoK4S47CZmDnSfwh2AGC+KsAvgB6yHYBvoAFdFwgBUDeE4CiAEGUhcamkXuvFmAfUAPXLCTzSpoHcrsNnoODNhDT8RhaehBtWqo1MRXx7436VCcXkxx4A0ob8aIspbRNP5w3coCLAoAUQFyHlGCmdZsMpmHiu+Qs7xqm20j8JljBEhRabwZ+AjX7SkDu4JF2nnODgUEaKfKDxKfULri+zVls14W3Ri8NSWIOLlV7M04X34uRlAQeioEkzfDaQJKcwsGvIMrNGEZrbwqFksLFuQCwkYoydvFtYIarFQ9mJfM9iA2lpXzouOFyDaNuuFw53LkGO/ZVFXE3rURk8AVMEwQkFwjPBFxay3sF0pOMtLON9PISV3gZ7w0Nh+zJyUagZXqh4MOhBN2MPccA8H3TA+cd/B+OQxaCFyAVvvDmCxijizSMFXFXPzWVbNGRytgImeoiYSLNOveoLt4VmW7qtM98bdNww08BTqc9eD2+mVvhKV9bj8/P0lNpGtz4e3Zm38ke9XRD61oj4z1LtMsb14uAtAJioTktwpN44QLxrtCyyTJ5JeqwDx2128BZIWkOEWAKUxZYvY2SfqaqbZ6mgsIVrkydFSLbGawfHdw9s0Zx//d1AwByKI67KBg/OoLCsSR2cC6CHzDTuKubOZDo8hyPVHJw4IbRFJKHLpzlZyV41YMH4ofTm5g8ZnBIIeitbubHx6P05Pb4WOG5hL6bIybdlg+JGl+buMig5ddkiqpOS6/TpEnXDxjwEg70I+ba2DTmEHXHEzWaLjIPc6LpQhF3k7TsXe41uDXmHW7c39+QiHTwl6NDAQsotURL/Ly6Fk3jKG1uVOZZ2rp0WSvJPV6sGoOjQz7FYlV2c9X3eKH1MuUt0tpcjvNig+7QTKJ8Ez51NLqXQ/YhZBoZdP8tgnP4Wdn5R/PZh1b6/3HzmbhTgC3vvgHKvzD4fOdMZ1CeetqAnweZFQHW1g/nsY1COz31LqmLnPiGxFF+XpI2pNQ4owydwjHRk4PhXoMjJBOzxR8lCU9OwROr+eRgSHf/sN8yvVhVQaUE7vauhO73OAzsGEVeMFfEXfD7R1z55IWbJDnRHGAeMXKWKwBI8mUqbYQK6WgFIwdHm+5iUqpADSHNweSJIDc7B1USy4lvMDogFYuxrGGkYST7cA19AAQ9mIXRkijg+FXaAYxjZw5ToXgS9SGC7jEQn27hO/ZcQtve0m7Vte/cZYAdAzH7vM+DcwxE7ts+g+MYiPTTfjZ8zIN+3OdGewzE/Ms+G9oxEOmn/WwEjHLsufuZ2uyh5bmbNEa4rWTxjvMLsgd6V70eshHvil68aeJejTxxCji5CeAnhQBUzAd8+uPKmwUugOz4xlvZ6UUr2408XMvndTbO7J/TLfLQvVXE3XzXDkhvgTCAyHEd5ByT826BFNOrKPx8C4SnAhAWCK2OWy356FWz8/ywSf9tLWmvlhfEyAmm8O/OypPoKkLptDuy1O5IbZnGHBdq3zNUMpB8rKxYEkQ8JFzV4ECEYKc5DZerBMEmcuZx34sR+AKWzmo3hj6cot0mmRu+kKXNrmDeeKuzVdIjgOl4GL4vvAaCJ+zt7V22r5prx08gaLWAMHP8GApZTwJUSrlTOFHgdBQ4+9DK1L5JrqEPkU1K52BuT2GEvJk3dRC0oxAR7/6PNRwFod52UY3tLq9wlctbjkyXN7FEWUkUT4niKXF4SgxPYQ98Aakpi7a6K+q1v78RyiFFp7+pD52Au3Py/yekHm4WHEwnBK5uitZXccdSGehePHAiL4DRKCJ35fpekHwu1QZhzEoYWp2EMVmllK7N4kXKly91BPzt2SpV9QJttSQrbtR75QVQA64df+xMb5w57NFKeWL0S+MgtdidfCxtuMFIARDEJPJr6kCAuQIhgnHiI0W8w8UYd/kmnYDS1kZpY4jXM0U/RTvNdf/1kWoWJmiVIEXcxSZnDodtlp5nYtVSkqJbUXvSpgZXpnozUGtRIIgjs7hhECduCJAbzADVCi8tfv+IlxUp/98/gk9OzFpJ9VHUs1KQs2UaY/gcyOCo/T1MCXTpTJuscElopDe6SxZdpSZXyNZXwWEFsVN8wtbngngg0E0u8paxItB7SkXyfvgJRl0n5rLmXRiTdTyKwM7lMbmffny1gz/7mPj4ikbbz6dhBNKr5fvYIGImHHgxkF8224fACVwgRPLL9qGAHzp+HAIXzrwAunjFiSM/DHDJQiqV/bTWF9m1di8mmRCFjEcq1/SWnu9E/i1ZunbaTFCn02wfNsEILWD0yYthHaMmRaGZD4FGLxEOuB6O/8m5zTVg8IEg/MT1zqO6BoSDZjuFYH3QbH8LAtRoPAKExdecn9iuFN5sWcjMS51pQ1Ow0HSzTKLHTcwic4pN84Owxk/YBs0HQdgjE0CQ+LWphHe4at+6y3t1Ka/kzO88tAgT1AtRwUsZY7JdDF2wE7c+NFut+U5hZf7AcSfXSYCSZsQxzsVu7h81N+It/dnY+VCneZwSx396yBcSTBEQFvRFWP+oREHfCmNbXqayu9doPNYzhXRvY4tFeH0FF86cxEeZBR4tuyneUYg3TZrP44vO/T6S4ug7KN/ujJXdrfKl6HtUKFROBVlYNawZqZkKLcLeXknJVQTXXpjE/R+obK3MgtK1FLzyeDJYs9yLS4q7ItqXv17h3MgdntU55zNlVxDv1iwGcvbZxYN6WfWg/ZEyy4nyT3Hj+8Nqe65e/zlecnnFLFxFfL0V4wfhm2GbDSrLzIPER54aTRel3JwO1Vs6c2iFJ3Cc4MouzdANAH7+/SMpISq9wSwKl6RpGgbIwdO2jnnETaDPQLf47NK7ai7LHC46uBIIQkTCYZ+pjBYO2k+3u+mThzBrVL2mNCRmsTpFtia5ryW4LTKIV9TIeUwqe2gae4xKj0xY35qsBpO+pdvktzYe5tXfm6G+WVC2EExT0vZ08E1os8B/aNg/TG32tk+hANu+kGY1GN0VyHcJOrX1Fz1Q/ItVX+lSxZuB+3IvgJ+9GNHVxxyvOBYQ5PT9LIVFkK59wmyVtZW8KJBWYeCPqPzuqbM4LZTHT4scNwFIUT4zk+NsrnUjgFwn8Msv2RyU/dwAVkggR4L1TSV2je0bLd8zRIr+V8f2Y8ZFZyvsnZtGw3Hd83SfdRi6sO9cw/IhY1890fq2aRn68Izbo0svi3hAEHkCAfztb38Dgsh+12A46mk2ITAF8AbkPzPQefNL/WUYuusLgtCFwMf6gIKEdCEfQce9xbNMDAO0j2fnhRfM8Vrdcav3doplGz3QdV3co04CCkFVi7jZbAr5fizZN6sdZTkoaoiwYWoeb/bFO16RTc1pdB23gvbcUjeCy3ANH2NeCISKTo+w8MOhaJXFtjIweOVKRPs/SLmy2Acp93+jG1ON3/zAHpHu5mdXC7jpl9uyJgLsE32oGu/tNCGll4QKlxJqCWtju0RFQjm7sgCSyN8HnzzfB0kMgUd23si7K3iCwwFJ7zsIBVgYv+yFFZr4KhpVYyl9Z4Lck1ggtIqPW63Lf7SunpHfzYgCiGDcWl+2pVdXzz402b/NZy2ihgfjVvPZTmmnTwpAVXT9Vh09fmInQMI67WgMNUvLfvFkI4C6tyqqIpR/kXc0Slc3Kq9bsIug5PWsVQRn3ucasH5+yiGwESpcyqpnlR7P98mT1tOavuydXxQ5UwRdptFx9mYSqzhJGVNS7BhsM+y9b0Rt9b70fgRWIwng5xXEGvm3nBcy10uxyKphJ6YYbFVf+MprSV9z3/w3t8bGiPwQXP6DPxlt+iuHm5Z4R35Xkz02tPFowzmxhGex4+y+D6vKJd8Lks+SeNcdT0j1XkgVhcnj1HfmpXnjtK+e3T9tcBSV5IfbHp72CDWf8MiDVknGtizM0+z/KYqUZDxEkR+gRzH1//xW6481w9RGp43/DQAA///7/3VVdlcAAA== @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/+x9/3fbNrLvz1d/xZThxlJqUrbT3dvnrXJXleVEz7akJ8npvS/x6tAkJLGmSBUAZTsK//d3APALSIKSbKfb3nve7jlJIwCDwWDwmcFgAL76rnnr+s1biyxqtU5nOu6OPvY63WmvP51cDVvNYEWb1pcQo6Yd+NRyfYRJ07aNFQ4eHk2C8Nq1ken6vO2gc9Gd7Ns0sO8Q5S37vWln0D/vvZ+e9UYtrYmo3bR9t+kjajoaL/+5148LGVVWeOv6Wu3VZHA2gFXoeUAXLoEgpBDMwA6Wq8BH1CfmryTwgQbBf3AyZ4Nf+peD9tm4QMwJ7n0vsByi1TqjXmdymdaUK2LXpp6ibsZcSHDTC2zLE+x1Bv1Ju9fvjs7UPSdicWSio+t+R1kdh74tV7z4caysdxfeIuwjikix9nDU+9iedKfDduei/b47nnbanQ/dHU2bK+yuLYqMlWXfWXMU0xp13/fGk9F/TUfd4aClBYSwMVvYRUQio9Wuf77uT66no+5ltz3utvS6R26nGHnIIggMDAZp1Abjll53Z+AR4JP/xkgqHL+DpoPWTZ9N8cm718d/B7pAPpAAU9a6UP0rzK37OzhYWtRe1PWjQ2j+s947m172Lrqtuh1gFJDG195Zq26+aTT05iFYDdjACrs+BRqEqxXCdevTyQ1Yn97eNP4O6MGlEB38HWZuozbudq5H3enkcjz9eTCYjCej9nB6cf1z97I7mXb/s9uZDi+v3zNlKCuPWAjUI7dBQAnF1krbn97H7mjcG/Rb2vrIPDaPDMtbLSzzRKtNupfd4WA0OdvSM0UeWgWYOnnN7Z51+5Ne+3I6HA0+9s66I7XKIwf51LW8FQ7WroPwLiLZWlhbuOm5t1wZPCTTMhJiigFUrqWrdr933h1Ppue9y+6wPfmQE+zS8t0ZIpSvd7bwroaDfrc/GaurxwDhUxI3+PjhbHo5eF9Rfb1wDNcn1PI8kzX1EEWco+nZz9P29WQwvR6esYV1ftl+L5NIZLC0fMO5bVohDYxw5Viseed6dDkdXE+G15NWky5XTTvE3nSN8G1AkBmENFk6g/G0377qtjTxb9bxiIFKVhD/oNU6w+tpe9T50NK0moNsz8IIDAt+aY+vxh96V8Pe2bhVb8hF42Gvz1QuKaoRRDvD6za2F/UGbGoAAClVvT5PSxu1qFbDaBms0ZXln922Qxpc86Gde9b83PVQ2h4vwZiBvktejKCNkUV3EqRBaC/2JOghyw9XnRRqzzxGiuSYwzPQq7CaEYnnPiPyi0sXnVSH/jcJ/JReQFr6Jj9zES9wZ/DpExhfQNPzmKjBzY2ANV4vJTIYR9IPTDOIG/gtzQ4xRj7VeCHyCFLWSpmIe4lE/ZnL/+J/ZPZnKKC9pdd//Q00c5ggPWi6Yilp8BV4vU838BUI8pBN66ZvLRG0WvBZy+h+1hpaA75+FTiqd0ejqSTnGNamvf7H9mXvjPMUm6akjOtkLD2XXFmYkR3gNluWl64fPoDGBaXB69dMvJq+6Y2nF+1JO9IYMxrFIaoScLKOWPX8XMVSEks1lsZHIVnC+ihJLmKi2gQk+TuZh1jq/I9Xmf4cEFgn5CyMrUdwCaCHFbIpcoAGsLDWCALfe4TAR4A8tEQ+NQWZ3gxcCguLwDLACOjC8uVah3CP4N71PIjVlo0cPIvQpAa4Pv+N92xKyqlvXhXl/+kfNxEYcwrHZSEiexGA9kt71O/1359K6gSxq1AcZCXPJvQEr64/38FuTo13sI1+gyOmffqmVH50E3H9+Gl80Ru+06oG1+ufD/YZGZs+ly4QBrRc0UcIMGd55mJ5HAREdyaM79zVig1WIh1Pl0XdwI+HyQEK0RD7cCSPu3c+bukHn/0D7gghp6CirbpeFx7SR/jpp580xfjf3ERaQyyt0CeIMpL8X3w8U+J+QS1980pJngmX12Wyr9ezFsZxowGGR+EIbm7YimTTOHV9Bz20+ERI/y415BRXuZ5a+kbNgL7JKEUxM5kkr6xfA3zl+gEeMj/wYwqJdTGper4XBmd2SMFwDDBmxw2tQO5DQM/dhydRIWDMTmJCTEcF7O/iUIMbJqRPe1Vlysu8YmWjHMu5ukotd/215bmOrIyxfp9CcZhZ030hPdZZL5iTKQ2maM1sJmjti7HZGXfNonEdhT51lyj5fUwt37G8wEcZfGqM5cpSkPFZLb4oVycnrRixE8FABXtgQHnY0AJ9k5dXpNUqPYir2GnN+Q/c5ZVmIrEkki7NQNNL7nB5brdSyqu45DYwD8DAYGaFJnLmSNllI9MGzpnC6eC6d/yjefRDmcFdPBzITKxc30eOqR3/ePSDdrCLnVjnct5RtbmKewY/oDALQp9hMSRbikNw0MwKPcptEzPN2LEDh/Eiq7c0kBXTNHk4MWCUx7oLeqYYrd0nUtmGO3nWlNBRrLIVZ1L+noExEsQohrQdZnr98aR9eTmd9K66g+vJHw8zeanl4SUV0ouhpbI/TYUxMbkUWfbol+0ER/3upDvO9Vv+OdIk/0vTN/1u92wszVCkwXfV3nfMwFVw+whFd07Am3LXwV2KX3+Dg3SDotyASPsPrXEAP4GKGkiBJaW+xl0UtjNMHQklDB9UVCW3bY89Y+3f/k04d7IMtvbuBIhwlOJs7OBip82RlKaP6H2A74ZeOHczWyRN7+SXwegiDtIwVAeNh0aqJ5dv0Tr9Xm5+Y476PXiF0Qxh5NsIVrxTYsJVQKj3CLMAw114i3xE4Tak4AXB6tay7+KKzI0OCXLg9lHGcKbDsrWDk/z2vhj9hdfAxp+EszppdGoYB6ey8Me2WNn16JLttXfVOW3lVozhwx6NIoV0bYxSkJzOAjwNsEVaqXHYRZKZijlGKzCCIRysPzvf1z+bn53vG28O+Epy4IA0/7luNtk/F8hyGKvHjWQSZQ+FMZIE8qYh9lr6SX6EeqlKeTg7ZVsmkuNleee4GIwV6LsimqJ+FmcdjgZsvWSYlUW0x93Rx+6ITesTqitn+AntVZOdSVqoZiaHRG2ZQDI1eGKPTX1TiuRHIuRpWDY2FBHb07W+UapgZHiuHz4Y+iaJFkba1lmevP+//Jhoj3Xw6tWbZqTBK7gmCG4tsoDb0GX+GLySd8n40V460zmiU2rhW8vzpjMcLKcYzV1C8eP03qULziscnxzBX3etlrPeqKlv4ZxHevaem0jLh8EGo/Z4Ory+vJyyKThv9y6LG/7YgeWBr1E8hmvs7QcclYqUuqXfCDIKGLFztrdqV1mHjLy6RSa1sDn/ov3R874HdD9tunOo9juvl30mfpcUwDRN2K07tao5+lZzsZOFQvR5W215NyFklHkFkLgFkCxv5AAJbRsRMgs97zHnglc7E7u2J6WWZrWHokF1mTgnsTAYD19me4l5s0XOkQZGZw8bmzPJFZoan/DF5sFeBPc+GCPAQUBP2R/7tVuudy5DVnm7NdN29dWsahjzvgwc+Pe//vVlZBIXdfdoZId1jOwQo8nl+OfkQPlCHLR2H5Bd8OMF/Av3mbtq2oLSFTltNu9+JPHZOTFvveDWtAOMzHvXd4J7YvqINq07YlCPGOm5tWF7LvJpU9889fw6anJ8b1pL528/NFVEZQ9Kr7ukPbr62w8NtqlTHD/8ecaDl1vHU3ZWn5VJUJMGnfoYK4sumE14FsWogulsM/6d2I6rei0HelKcd2fTmeV6IUbwlqH8347AZu6/MRtfghFUEkx/D7FXMKAp23sPVEbzSqR5ltg0iSZDAGMUg8ALqM1ctrjvLbLkx9Ndtr+vjgmzetOZ6yE+/frmOJLqkYW7zNy8zYlclrjtJJzN3IeWvnlbbMmtUzIvrbqmb/5x+kOkNUDe/PFMn0dFiHMjd86cIKAYTDDimCTb2rMa4PpJ5Vx/n/5xw3xXJ8jHlWMt3FRJIJJSqQxG1BC0mfuYZ5X9kpdBpI5Lx074MRRDyk7gI8lDYK4M4wUYLySOy7BhPoXbN3vxWZNPA0F9qmCR5ZgJtd6QNSddZuyfVKhFrDLJwWB+0705iUC2HCIalTBHYrV4y9UiPd9mo04i6WJ+i+3K01utd2Tl+hpoxHPnC6o1cgrxCTQ9F6A+Mn80jxQbaPa/EvHvW3Xt/p5INOOpLcTe+aTxwEYdrS0vDsmdxVSYa5mdq+Z8/4xw6p+VZwj00qzkAuFJ76Cts7FWrhnI6+a9xXBzI+f9pIe2/yOmSWRmKMQ6RHjpEnE0r5DwXsLMZCkHCFWL7Fn4rFSxPEwXIPxfBtKQmv68Jcof+uRGx+Qo09NAM9bH2jZ4V0TbJURk1DksErA8jCznUQ66V7FxKFJe/IDCLUrXnevPS5kUOZfsXxYP/A6ML/C08FxVPDANbHDP94khv1yeroNc4lm3pKkU/2lBUbZF+ARnfEbiWZ9/mdLlqlU5Yeo+y33EEZ/ayyI+mzJrkQb6RpZlVBWykU7jGKKmnPDt9ZcH5pqUyYsdc9XoUxp8H7uPjFJHIT8nYqk9iUDR01gfS0tkKVwtxXi2LaOn+3V77RXWYrOw9+iqvT61mELsVdJgLU7evT5m6IgQ6FK6LrzLctKT2GgXtH/WGeOn5pvG1/on1L3B2HzT0HlmYt22aJ7E69eSql2MrscTtkcohqIa8DqVmGzMv2/V9e8aOTu1j0X8HTYUVdbo7bfYMjxTt+S4zLfRnZykk5yAletfhLfo5a72vp72s903SQjMX7sLb9E3cmwTIezyZuVuc06Y0m+Vk9Jf5LfKmlBisKQCjEljfaL2/9TTrRriHn5ffha+qe+X5VBs461y7BXZOxXVd3hopW7/v5f2DC8tkaJyzr6Jk5YPrZRmLdq+UkpOWQygz/PJtIJTpj3VK9vfhYHSjYhneiVPWF5aFSpWN/nTeCEyLMceSGYOB9jK/As+S4r7ZGz+5Rtkad3uf05G7c6kKyoz4AQFoZzB5EXJzTiOk4Uge4mJmhS3k+4bMM5Ty6LLZE3TlHicXA1b+qbEET9trT5s3Xr4WWKxGXcgztwUvak2KWl5dzQajMrR+x29qBGfbf5he9NCOpqpStpUMShD+/6dCRMTd0JCJ5D3XzuGyLZiZT1rZsdvKhJytma1jiRJbYXjYJOfB6vdq4IbLnyA41MjKuYP8WOQcrSMUQUNIxJ6tKVvOEpKpYxhXZTWQG1Vs4Fpso+T5OylDGaLaXNs6KelJDrB8cd+dzJlZeJ0Y5ys01NDVxWVrsOpKlXeyFFVBleoIUHUhO6DS5lHYVb6FDzFot9LUyr0jYroS9Z1SVBNfSP1yJe2UjSFbAWJTHqelUtadG3qpbP1yp2BfszvIi1X9PEQqHWH+Lly6Up7BBZJ8tphbXkhMmFAFwjfuwTF7Y5ZHbpAorwmu/1nLhYqqyYeFZRHaiZuHMler7hWP5l/mSxXQpu55PNC5ndjmXWF49gcazLVpr6RyXD5liM6RVYliabpFzmBVlx85VyLS5jpRaW66B8MI0GJk5x9jlMr41pJnWZzftDIp9rmCcd51JWrIYWkYjv+DILoLPHRU6AygSTXz3LjZm2oheeIZlCnyP3+i/kmMo8U109j+XIl714NW5pgwFinWpIcnFeG+bTCAUJswRRK1kyJJv1FFScLUn5FWVVzNYVMVxgZtmUvkJNIML0XclohOU15dqg6uBBdXPts78rv/4keXJ8GGYf5VJck1PjlYf0UWTCbVyRYOAzPTsL1fMVYTxX76C0VxRF2sionybMDhVyUvDMnZJS9ApD6cydPyQRRbBlT86Jv8u5TxUJK2GbYBCsLW0tEEeZBh4oRsY0U14y5u0bKCyvZsGQHqHx/lXNZkkElq+mDDrl7Sy/gIgPqre9J7Ebkzdb2UfYUBYOE8oD55i83W01lvYyOtDncVI81khC+Si2fr2md69Go259kqlvPJmiHNSjP5DqzCMI5nLRH77sZ8fgINWGZoOUa4U6wXFmYW/o8L6eGdmQemUdaxBQsRylSh3mEEfEkYwFlJkv9RMznmPOnG7C4210PMKDfQssDGjQSo3JrESQRKTBUtkqFuTIVJqdqbW5TRQ4Dpe7zJzLfQpOr3jbZS3+TG25cfVXhzG9MPoaC1FZuHz9bUATRcNXp985cTBQbBunVpqpET0UdKZ0qV6ognj0ZtZV+qVpmyfKlUS1zA6UtkLyRrriV9vUrfLfXvTTfNeLLTi+4mJZeYPUDkChC9qYNrDAiyKcwiyMc/PZUfHUV+N3VdOEwn+/Y/ME8NmGycAmQRRB6DiCM2QpeI5+Gluc9arD1/DWL6ZW3iE2MZrbvJg4epLmalk2Mpcs6MnmWLnLmiKdoSqNqrjlzWTBUKoudSJ5Naoh6JmU9xEqfP6cVadB78McTnQuKqYgZih2X5d1bjwR+DQmFkCC4X1j8nQfPJRTxa8SFp4aABHCPwAn8Aype+aABkEffFu9w2L77jd9iyeSleoyl31Ne2Y/fK+n3eIiHsYoRUwOwmZ2xboOQigfXbkMK95Yfv1qCEZOB+tWU+4VrLwCj30IXIwJu/JqJ6rkc+B3fy4lxbo+Xcv6QF2eqnr+pfokmVZi9nqCJl7e9sPw5V7344O2/2/svz3mAovS2iOpRmNoe3mCGhRxNeiNxMUcBTXjJoEnxJkTiyOxPSqBcBSn5DCNeN86WMFTcj2rD/IrtJWwPWZhpx5IhGvLFWr8XlmGNMCys1Qr5JliEhEsELiWAkWfFMMAn0PU5UKwRXFoUEQofP5wl1kXg3gJB6FMLH0LgOQiXCun8iwmyW6ZE7/yImm9y4A1Vr0AwaEtsV9xvEia5ZWx9cVer5Ipx4ak4hfpVoGhiJXa5PtnupBSAfXGYUlarXAzyL8xWRmnMovYNdOdZU1SeoXzkZ2ckVRnz2XHNKpGzWYx8Z1eqcvfX5dksXqzayaDKoXiCaqAHii2bXoS36OfYCyocINz9KFuzOFslLgpvUXIeKw6iT+Ril0zj1z3j0rdagW56WDd1XNzS9B+0WqFGfLjKYwHM72jpm0KvIp4rA2u+X4auzGqWp1Kiz+z09jdMmaKpGIq0mlq35NpVihTvi0U4MDFr+ZZZeHB3GLD2FLqcZpwyEWsBs5w0n66HZ5B/KzN5cdN4oyqwqWe8KS+6gqRLU79FuOnyzw6Lys3lGSjdZy7oSylHWArTIYpsWlTrQyjTOASLpEkYwCtxQTIPlach0EA8HGxh6s6YaEXj/BzuFkv21q3hBw7aI7L9/CTWvL6Wx7z3neNnLYXU6GkV5PNDlIPesqbt3kM+bZjyM8ilS1/fYqCqDiqHGv9nstS5oTAotnwyC/CypZGv5puvrw3BR+Khf9XAMMgiuM9qIsdgy4swM7NWMP457dEwCMXuysgcldZbZnPyax+kp52ZnspAUVlmU68sayl0VCuItwJu8oOFG/GQVHUbhl2lNsW9x1ae8qcACnMzs5jzXQ7vLlVaIp1uxP5DfNX2Qgyw7Tvsv4Y4eHjMPLfr8WRwxW//MWveHv1X+dGYchX5qZjE0m0joaoj0xCoGRK2r4pFwLDwFNRNczHSQ7BDQoNl0mDHiKLcq0PT+HB56s6mPP3Yn7eYja+Vs+120VVP07PMXm1P/7B6fk2FO6aB4kf1s1n7DJfrZvE5JZU8s4r8mZBMojunVpW0+IcJZDe3XHHK61pAeiXoqF4tK4CPVok+FY2Lb13Fp/bVk6RVO7ffOO007yidCUcpfRwAVjjgp3Wpu+MS6DD381l+kTDiL8hwVT49VPClTtfKediW4pr8L/9thEn3asj3n+ejwVXaaUvjz64rP5cAJYp/3AKR5RwbLiG9XQOMarlR8I9lnIJ4s51HWOzAd1yeq28vkH0HgQ8FQwKBbyMYDZOIocsDPcgiyMl75wyA6vX4Uod6IMkjlZqp8Wcq4V0Ljv+90eCB1PjBrEL3FZez/2DAKjJZQOxKjzA5XXwa6FRU17aR2wKAFdW1mnQ8Zn3/UGFcK0xr7SVWGZqLYImai8cVwuxHI12G8Jr5XAyN0ntNvaU1z5607Fz2ppPBIE0kyQCnd9V+3xU5JieSJ8RoJTFmdyn23IpGEQiXSd8kPeSuCUg/i4M9irUnmFTWL2PEpthUd6+BpkpFP4FjvkuyKdtV8P3ByrIR26WabhAPiIO3rqDKD8biW1fUXSKHfy4nkchWaaxdC/ggcwnjUti9M2H134v9YJI2nnNNSjITiVPPERtv+UzJiXSr301G8aAqxSSSp6okJYHITik8b/xOYN8h/LuNX5AvjP9s0LnoVqmH2FZhRK35y9f4qDtpv5d/fistfd7HnA1jhoNl1Sh4Gl6BzjdBg61rllpz5XSAXmDleUsqSTJ8Vl+5bBuuPc+hI83zVWfEZ5icB7izcH2r/N6s5Dhe95m+xGer0su+5VFanpeSbtX1+jaJixP65N7MwT+XNjaXro0DEsyoaQdL/gAq/5bURnwdSj+ODhqKhVrsVZYR2a8DQjG0gPB+ZnXtL+T0L0Q7BP34EPSTRgQxB4TilIVc/qCmb2QuYllV5gwzTBAHdTPXd2Bpp9zOAgx8irZlzrNKS1ssUn7hL9f5p3/cfK+Vfoq0qHj7O9ODVuo1JmSjOEXOQPw52rLs2C/WFzahtp8mzL1cg1LW8lAUL2mZP32TG0K0NdRZppfg5F4k5YeH0m8uvRwsM1GloMYllPBWkk5u9eOlcvGX10eMPXjpVjcQ4MA/1XS9EkpTOOISGYSxuoihoYdVgKlcImiFvi22NOLLT4LcKMxSPeXPFSjeLZdyOCo37GWpVWJv2pDzwe/uMn8YZVcGUqjIw412qukn0UF6t2/dTTZIBZ9e/6r82fx0ZPyvm+8rSg31z9P0tVd9I0k2ErfyD9j/P/vSelOqfNVw98HjIuT++Ye/7ZxDIYW8fTCMWYCXFoWDzcYcoVVAXBrgxyg63WzMiTWP/uwSkEYvVirz+6Z24KCW/h8FWNbTMviuxb8RpDrn435jWrOWizCIpVeUavUlGem1W1Wrr3C/cD0EGFmOmJGclXoxWGQ2oAzZOe8t5i4qB/NUa6uSpGRXKuhJ05V7eEEqi2R0NWYlHK28KM3vAbBNBk9DMexyywzk02hMAe2FI1B3LIoah3p9ERDKAKNxCIRamHaUrUXkQrYeoPFAAv/SrLaDMPKdCrLZ5wNHfO+AnAK3qUbGueSdy8F18ukLkT/C3NuOF4RORfD4v5cNEm5s6ngd/OFW4SkM/atwel+eJH7+hyFb4i7/eTBNkQFISl/gS/CK73CKy7fsp+b5lCBMIGfZtsqlycotYK0CVks1yjJSAXaChOoyFYDmULtURYRii0N3cp9RHe34jCpzJpIv/zioHeNuWClJ4VCML3rDJNreuey2+9fDZAsgKvTG048fzti2pnBhQy991Vd8QihJ2v744ezwcKuqx7c1efTn44czcFxCccCz3vlhmqIHRTJYFgpj1fnJWH8wmZ4Prvv5RNHz68vLNJdh1P0/171R96yVnn6mMKEQSbTloFGMIrlCkXuCh08ociCUHkdJYEXJDRPYrnuXVbJXX7zkB5XIgXngOchPgtgYJV9c1nbGRNULUgP17yk5tbTlQ3U5PzuOifKPeqpnvvBxJst3YtUEl+Q17hBmofR9Vox+CzHKMAZq+01DVKsFa4Sx66D4+02dwJ+58ywaIG43SR+k5p/WZ4Am/jTt2dx0mj8eTfkNnKmPmNfNaLASTf7Y8qZALL68b1H46afu4BzevVNUcSxqkSDENjrl1Tmqnmaxs9XKe2SdMt7jjk/j07Tu4JwN8BX7+/8FAAD//5GUOwmlgAAA + H4sIAAAAAAAC/+x9/3fbtpLvz6u/YsqwsZSYlO323u3zrbJVZSXRsy3pSXK6+xJXhyYhiTVFqgAo21H4/vZ3APALSIKSbKe33Xv23nOSRgAGg8HgM4PBAHzxTfPG9Zs3FlnUap3OdNwdfeh1utNefzq5HLaawYo2rc8hRk078Knl+giTpm0bKxzcP5gE4bVrI9P1edtB57w72bdpYN8iylv2e9POoP+292561hu1tCaidtP23aaPqOlovPznXj8uZFRZ4Y3ra7UXk8HZAFah5wFduASCkEIwAztYrgIfUZ+Yv5HABxoE/8HJnA1+6V8M2mfjAjEnuPO9wHKIVuuMep3JRVpTrohdm3qKuhlzIcFNL7AtT7DXGfQn7V6/OzpT95yIxZGJjq76HWV1HPq2XPH8h7Gy3m14g7CPKCLF2sNR70N70p0O253z9rvueNppd953dzRtrrC7tigyVpZ9a81RTGvUfdcbT0b/NR11h4OWFhDCxmxhFxGJjFa7+vmqP7majroX3fa429LrHrmZYuQhiyAwMBikURuMW3rdnYFHgE/+KyOpcPwGmg5aN302xSdvXh7/A+gC+UACTFnrQvUvMLfubuFgaVF7UdePDqH5a713Nr3onXdbdTvAKCCNL72zVt181WjozUOwGrCBFXZ9CjQIVyuE69bHk2uwPn533fgHoHuXQnTwD5i5jdq427kadaeTi/H058FgMp6M2sPp+dXP3YvuZNr9z25nOry4eseUoaw8YiFQj9wEASUUWyttf3ofuqNxb9Bvaesj89g8MixvtbDME6026V50h4PR5GxLzxR5aBVg6uQ1t3vW7U967YvpcDT40DvrjtQqjxzkU9fyVjhYuw7Cu4hka2Ft4abn3nBl8JBMy0iIKQZQuZYu2/3e2+54Mn3bu+gO25P3OcEuLd+dIUL5emcL73I46Hf7k7G6egwQPiVxgw/vz6YXg3cV1dcLx3B9Qi3PM1lTD1HEOZqe/TxtX00G06vhGVtYby/a72QSiQyWlm84N00rpIERrhyLNe9cjS6mg6vJ8GrSatLlqmmH2JuuEb4JCDKDkCZLZzCe9tuX3ZYm/s06HjFQyQriH7RaZ3g1bY8671uaVnOQ7VkYgWHBL+3x5fh973LYOxu36g25aDzs9ZnKJUU1gmhneNXG9qLegE0NACClqtfnaWmjFtVqGC2DNbq0/LObdkiDKz60t541f+t6KG2Pl2DMQN8lL0bQxsiiOwnSILQXexL0kOWHq04KtWceI0VyzOEZ6FVYzYjEc58R+cWli06qQ/+bBH5KLyAtfZOfuYgXuDP4+BGMz6DpeUzU4PpawBqvlxIZjCPpB6YZxA38lmaHGCOfarwQeQQpa6VMxL1Eov7M5X/xPzL7MxTQ3tLrv/0OmjlMkB40XbGUNPgCvN7Ha/gCBHnIpnXTt5YIWi34pGV0P2kNrQFfvggc1buj0VSScwxr017/Q/uid8Z5ik1TUsZ1MpaeSy4tzMgOcJstywvXD+9B44LS4OVLJl5N3/TG0/P2pB1pjBmN4hBVCThZR6x6fq5iKYmlGkvjg5AsYX2UJBcxUW0CkvydzEMsdf7Hi0x/DgisE3IWxtYDuATQ/QrZFDlAA1hYawSB7z1A4CNAHloin5qCTG8GLoWFRWAZYAR0YflyrUO4Q3Dneh7EastGDp5FaFIDXJ//xns2JeXUNy+K8v/403UExpzCcVmIyF4EoP3SHvV7/XenkjpB7CoUB1nJswk9wavrz3ewm1PjHWyj3+GIaZ++KZUfXUdcP34cn/eGb7SqwfX6bwf7jIxNn0sXCANarugDBJizPHOxPA4CojsTxrfuasUGK5GOp8uibuDHw+QAhWiIfTiSx917O27pB5/8A+4IIaegoq26Xhce0gf48ccfNcX4X11HWkMsrdAniDKS/F98PFPifkYtffNCSZ4Jl9dlsq/XsxbGcaMBhkfhCK6v2Ypk0zh1fQfdt/hESP8uNeQUV7meWvpGzYC+yShFMTOZJC+t3wJ86foBHjI/8EMKiXUxqXq+FwZndkjBcAwwZscNrUDufUDfuvePokLAmJ3EhJiOCtjfxaEG10xIH/eqypSXecXKRjmWc3WVWu76a8tzHVkZY/0+heIws6b7Qnqss14wJ1MaTNGa2UzQ2udjszPumkXjOgp96i5R8vuYWr5jeYGPMvjUGMuVpSDjs1p8Ua5OTloxYieCgQr2wIDysKEF+iYvr0irVXoQl7HTmvMfuMsrzURiSSRdmoGml9zh8txupZRXccltYB6AgcHMCk3kzJGyy0amDZwzhdPBde/4B/Po+zKDu3g4kJlYub6PHFM7/uHoe+1gFzuxzuW8o2pzFfcMfkBhFoQ+w2JIthSH4KCZFXqU2yZmmrFjBw7jRVZvaSArpmnycGLAKI91F/RMMVq7j6SyDXfyrCmho1hlK86k/D0BYySIUQxpO8z0+uNJ++JiOulddgdXkz8fZvJSy8NLKqRnQ0tlf5oKY2JyKbLs0S/bCY763Ul3nOu3/HOkSf6Xpm/63e7ZWJqhSINvqr3vmIHL4OYBiu6cgDflroO7FL/9DgfpBkW5AZH2H1rjAH4EFTWQAktKfY27KGxnmDoSShg+qKhKbtsee8bav/2bcO5kGWzt3QkQ4SjF2djBxU6bIylNH9G7AN8OvXDuZrZImt7JL4PReRykYagOGg+NVE8u36J1+r3c/MYc9XvwAqMZwsi3Eax4p8SEy4BQ7wFmAYbb8Ab5iMJNSMELgtWNZd/GFZkbHRLkwM2DjOFMh2VrByf57X0x+gsvgY0/CWd10ujUMA5OZeGPbbGyq9EF22vvqnPayq0Yw4c9GkUK6doYpSA5nQV4GmCLtFLjsIskMxVzjFZgBEM4WH9yXtc/mZ+c141XB3wlOXBAmr+um032zwWyHMbqcSOZRNlDYYwkgbxpiL2WfpIfoV6qUh7OTtmWieR4Wd46LgZjBfquiKaon8VZh6MBWy8ZZmUR7XF39KE7YtP6iOrKGX5Ee9VkZ5IWqpnJIVFbJpBMDR7ZY1PflCL5kQh5GpaNDUXE9nStb5QqGBme64f3hr5JooWRtnWWJ+/+Lz8m2mMdvHjxqhlp8AKuCIIbiyzgJnSZPwYv5F0yfrCXznSO6JRa+MbyvOkMB8spRnOXUPwwvXPpgvMKxydH8Lddq+WsN2rqWzjnkZ695ybS8mGwwag9ng6vLi6mbAretnsXxQ1/7MDywNcoHsMV9vYDjkpFSt3SrwQZBYzYOdtbtausQ0Ze3SKTWticf9b+7HnfA7ofN905VPuD18s+E79LCmCaJuzWnVrVHH2tudjJQiH6vK22vJsQMsq8AkjcAkiWN3KAhLaNCJmFnveQc8GrnYld25NSS7PaQ9Ggukyck1gYjPvPs73EvNki50gDo7OHjc2Z5ApNjU/4YvNgL4I7H4wR4CCgp+yP/dot1zuXIau83Zppu/pqVjWMeV8GDvz73/72PDKJi7p7NLLDOkZ2iNHkYvxzcqB8Lg5au/fILvjxAv6F+8xdNW1B6YqcNpu3P5D47JyYN15wY9oBRuad6zvBHTF9RJvWLTGoR4z03NqwPRf5tKlvHnt+HTU5vjetpfP375sqorIHpddd0h5d/v37BtvUKY4f/jrjwcut4yk7q0/KJKhJg059jJVFF8wmPIliVMF0thn/RmzHVb2WAz0pzruz6cxyvRAj+I6h/N+PwGbuvzEbX4ARVBJMfw+xVzCgKdt7D1RG80qkeZLYNIkmQwBjFIPAM6jNXLa47yyy5MfTXba/r44Js3rTmeshPv365jiS6pGFu8zcvM2JXJa47SSczdz7lr75rtiSW6dkXlp1Td/8dPp9pDVA3vzxTJ8HRYhzI3fOnCCgGEww4pgk29qzGuD6SeVcfx9/uma+qxPk48qxFm6qJBBJqVQGI2oI2sx9zLPKfsnLIFLHpWMn/BiKIWUn8JHkITBXhvECjBcSx2XYMB/D7au9+KzJp4GgPlWwyHLMhFpvyJqTLjP2TyrUIlaZ5GAwv+nenEQgWw4RjUqYI7FafMfVIj3fZqNOIulifovtytNbrXdk5foaaMRz5wuqNXIK8RE0PRegPjJ/MI8UG2j2vxLx1626dndHJJrx1BZi73zSeGCjjtaWF4fkzmIqzLXMzlVzvn9GOPXPyjMEemlWcoHwpHfQ1tlYK9cM5HXzzmK4uZHzftJD23+JaRKZGQqxDhFeukQczSskvJcwM1nKAULVInsSPitVLA/TBQj/p4E0pKY/b4nyhz650TE5yvQ00Iz1sbYN3hXRdgkRGXUOiwQsDyPLeZCD7lVsHIqUFz+gcIPSdef681ImRc4l+6fFA78B4zM8LjxXFQ9MAxvc831kyC+Xp+sgl3jWDWkqxX9aUJRtET7BGZ+ReNbnn6d0uWpVTpi6z3IfccSn9ryIz6bMWqSBvpFlGVWFbKTTOIaoKSd8e/35nrkmZfJix1w1+pQG38fuI6PUUcjPiVhqjyJQ9DTWx9ISWQpXSzGebcvo8X7dXnuFtdgs7D26aq9PLaYQe5U0WIuTNy+PGToiBLqUrgtvspz0JDbaBe3XOmP81HzV+FL/iLrXGJuvGjrPTKzbFs2TePlSUrXz0dV4wvYIxVBUA16mEpON+etWXf+mkbNT+1jEP2BDUWWNvvsaW4Yn6pYcl/k6upOTdJITsHL98/AGPd/V3tfTfrL7JgmB+Wu34Q36So5tIoRd3qzcbc4JU/qtclL6s/xWWRNKDJZUgDFprE/U/p96ulVD3MPvy8/CV/X9shyKbbxVjr0ie6ei+g4PrdTt/3hpT/DSEikq5+yrOGn50Epp1qLtK6XklMUA+jSfTCs4ZdpjvbL9XRgo3Yh4olfyiOWlVaFidZO/jBciw3LsgWTmcICtzL/gs6S4T8bmX75Bltbt/udk1O5MuqIyA05QEMoZTF6U3IzjOFkIspeYqElxO+m+AeM8tSy6TNY0TYnHyeWwpW9KHPHT1urD1q2HnyUWm3EH4sxN0Ztqk5KWd0ejwagcvd/Rixrx2eYftjctpKOZqqRNFYMytO/fmTAxcSckdAJ5/7VjiGwrVtazZnb8piIhZ2tW60iS1FY4Djb5ebDavSq44cIHOD41omL+ED8GKUfLGFXQMCKhR1v6hqOkVMoY1kVpDdRWNRuYJvs4Sc5eymC2mDbHhn5aSqITHH/odydTViZON8bJOj01dFVR6TqcqlLljRxVZXCFGhJETejeu5R5FGalT8FTLPq9NKVC36iIPmddlwTV1DdSj3xpK0VTyFaQyKTnWbmkRdemXjpbL9wZ6Mf8LtJyRR8OgVq3iJ8rl660R2CRJK8d1pYXIhMGdIHwnUtQ3O6Y1aELJMprstt/5mKhsmriUUF5pGbixpHs9Ypr9ZP558lyJbSZSz4vZH43lllXOI7NsSZTbeobmQyXbzmiU2RVkmiafpETaMXFV861uISZXlSqi/7BMBKUOMnZ5zi1Mq6V1Gk25weNfKptnnCcR125GlJIKrbjzyCIzhIfPQUqE0hy/Sw3btaGWniOaAZ1itzvb81XkXmkuH4ay5crefdy2NIEA8Y61ZLk4LwyzKcVDhBiC6ZQsmZKNOkvqjhZkPIryqqaqylkusLIsC17gZxEgum9kNMKyWnKs0PVwYXo4spne1d+/0/04Po0yDjMp7okocbP9+vHyILZvCLBwmF4dhKu5yvGeqrYR2+pKI6wk1U5SZ4dKOSi5J05IaPsFYDUnzt5TCaIYsuYmhd9k3efKhZSwjbDJlhZ2FoiijAPOlSMiG2kuGbM3TVSXljJhiU7QOX7q5zLkgwqWU0fdMjdW3oGFxlQb31PYjcib7a2j7KnKBgklAfMN3+52Woq62V0pM3hpnqskYTwVWr5dE3rXI1G3f4kU916NkE7rEF5JteZRRDO4aQ9etfNiMdHqAnLBC3XCHeC5crC3NLneTk1tCPzyDzSIqZgOUqROswjjIgnGQsoM1nqJ2I+x5w/3YDF3e56gAH9Hloe0KCRGJUbiyCJSIGhslUqzJWpMDlVa3ObKnIYKHWfP5H5Gppc9bbJXvqb3HDj6qsKZ35l8jEUpLZy+/jZgiKIhqtOv3fmYqLYMEivNlUleirqSOlUuVIF8ezJqK30S9UyS5YvjWqZGyhtgeSNdMWttC9f4Ju97qX5rhFfdnrGxbT0AqsfgEQRsjdtYIURQT6FWRzh4Len4qurwO+upguH+XzH5vfmsQmThUuALILQcwBhzFbwGvk0tDzvQYOt569ZTK+8RWxiNLN9N3HwIM3VtGxiLF3WkcmzdJEzRzxFUxpVc82Zy4KhUlnsRPJsUkPUMynrIVb6/DmtSIPegz+e6FxQTEXMUOy4LO/OeiDwW0gohATB3cLi7zx4LqGIXyMuPDUEJIA7BE7gH1DxygcNgDz4tniHw/bdr/wWSyYv1WMs/Z7yyn78Xkm/x0M8jFWMmBqAzeyMdROEVDy4dhNSuLP8+NUSjJgM1K+m3C1cewEY/R66GBFw49dMVM/lwB/4Xk6Mc3u8lPOnvDhT9fxN9Us0qcLs9QRNvLztheXPuerFB2//3d5/ecoDFKW3RVSPwtT28AYzLORo0huJizkKaMJLBk2KNyESR2Z/UgLlKkjJZxjxunG2hKHiflQb5hdsL2F7yMJMO5YM0ZAv1vqdsAxrhGFhrVbIN8EiJFwicCkBjDwrhgE+ga7PgWKN4MKiiFD48P4ssS4C9xYIQp9a+BACz0G4VEjnn02Q3TIleudH1HyVA2+oegWCQVtiu+J+kzDJDWPrs7taJVeMC0/FKdSvAkUTK7HL9cl2J6UA7LPDlLJa5WKQ3zJbGaUxi9pX0J0nTVF5hvKRn52RVGXMZ8c1q0TOZjHynV2pyt1fl2ezeLFqJ4Mqh+IRqoHuKbZseh7eoJ9jL6hwgHD7g2zN4myVuCi8Qcl5rDiIPpGLXTKNX/eMS7/TCnTTw7qp4+KWpn+v1Qo14sNVHgtgfkdL3xR6FfFcGVjz/TJ0ZVazPJUSfWant79hyhRNxVCk1dS6JdeuUqR4XyzCgYlZy7fMwoO7w4C1x9DlNOOUiVgLmOWk+XQ9PIP8W5nJi5vGK1WBTT3jVXnRFSRdmvotwk2Xf3ZYVG4uz0DpPnNBX0o5wlKYDlFk06JaH0KZxiFYJE3CAF6JC5J5qDwNgQbi4WALU3fGRCsa5+dwt1iyt24NP3DQHpHtpyex5vW1POa97xw/aSmkRk+rIJ8fohz0ljVt9x7yccOUn0EuXfr6GgNVdVA51Pg/k6XODYVBseWTWYCXLY18MV99eWkIPhIP/YsGhkEWwV1WEzkGW16EmZm1gvFPaY+GQSh2V0bmqLS+YzYnv/ZBetqZ6akMFJVlNvXKspZCR7WCeCvgJj9YuBYPSVW3YdhValPce2zlKX8KoDA3M4s53+Xw7lKlJdLpRuw/xFdtz8UA277D/muIg/uHzHO7Gk8Gl/z2H7Pm7dF/lR+NKVeRn4pJLN02Eqo6Mg2BmiFh+6pYBAwLT0HdNBcjPQQ7JDRYJg12jCjKvTo0jQ+Xp+5sytOP/XmL2fhaOdtuF131ND3J7NX29A+r59dUuGMaKH5UP5u1z3C5bhafU1LJM6vInwnJJLpzalVJi3+aQHZzyxWnvK4FpFeCjurVsgL4aJXoU9G4+NZVfGpfPUlatXP7ldNO847SmXCU0scBYIUDflqXujsugQ5zP5/kF7H/yfOVssdxqVxXxK9SdXhIHcDRRaluuaPchw4m3csh30y+HQ0u045bGn9DXfntgzLFP0/bq4QWWySxx9k12KiWGxH/CsYpiMfYeejEDnzH5Un49gLZtxD4ULAQEPg2gtEwCQW6PIKDLIKcvNvNkKVej29rqAeVvD6pmRp/fxLetOD43xsNHiGNX8IqdF9x6/pPRqIikwUornT1kmPDx6FJRXVtG7ktyFZRXatJ517W6/sKq1lhM2vPMbfQXARL1Fw8rBBmPxrpkoSXzJmaIx/hKlgonMxXahF/FLK0oyxVVIaui2vCJWBV7RldmiIjW2FsPCVkLOb8l7go77tD7LEtH7pvHSTnYh9/bV6/lpFs/fHI+F/Xrz+Zyd/m6+xAzHx9UDBHhq9SZaW9KF7KWlfolsJmKbpo/T/Q0/FUG6jkXQO+wV1hNHPvFcJ68UqSQFS2KKX7ZBsF3W+/bb5StBWz3xXIgOTHrvNUge3Ii8h5ClUTW40RKuV4/kt9hdDDafnqWsVlELGXYbqc3hfsLa159lRs56I3nQwGaYJWxlnvsv2uK3K3TqQdBqOVnN24SxHLUjSKQGxF9E3SQ+76jfSzODCnWHuEq8r6ZYzYFJvq7jXQVFc8TuCYRx9synbrfN+9smwEtz8Q0w3iAfGlryuo8gPn+DYjdZfI4Z+hSiSyVRpr1wI+yNxFDOk4qzNh9d+JOEtyHSPn8pdkJhISnyI23vKJkhNpjH+YjOJBVYpJJCVWSUrC251SeNr4ncC+RfgPG78gXxj/2aBz3q1SD7HEMaLW/PlrfNSdtN/JP38nLX3ex5wNg6NlxSh4emuBzldBg61rllpz5XSAXmDlaUsqSd59Ul+5LDauPU+hI83zZWfEZ5i8DXBn4fpW+R1nycJc9Zm+xDkL0ovZ5VFanpeSbtX1+jaJi8yX5D7awa9LG5tL18YBCWbUtIMlf1iYf6NtI766ph9HBw3FQi32KsuI7NcBoRhaQHg/s7r2LTn9lmiHoB8fgn7SiCDmgFCcspDLy9X0jcxFLKvKXHyGCeIAfOb6DiztlNtZgIFP0bYbKazS0haLlF+kzXX+8afr11rpp0iLiq8qZHrQSjdtCdkoTj01EH/muSw79ov1mU2o7aeJqM/XoJS1PBTFS1rmT9/khhBtPUIo00twci+S8oNe6bfMng+WmahSUOMSSngrSSe3+vFSufjL6yPGHrx0qxsIcOCfQLtaCaUpHB2LzNxYXcTQ0P0qwFQuEbRC3xYRBfFFNUFuFGYp1PJnQBTfA5ByoyoDYWWpVWJv2pDzwe/Es+0oyq7ipFCRhxvtVNNPooP0zuy6m2wYC9se/Yvy53gXVlFqqH+epq8o6xtJspF47eKA/f+TL603pcpXDXcfPC5C7l9/+NvODxVSyNsHw5gFeGlRONhszBFaBcSlAX6IotPNxpxY8+ivLgFp9GKlMr9vagcOaun/UYBlPS2Db1r821uq83PuN6Y1a7kAn1h6RalWXz6TXpFWtfoCdwvXQ4CR5YgZyVmpZ4NFZgPKkJ3z3mLuonIEQLW2KklKdqWCnjRduQdNpLJIRldjVsLRygcI+P0atsng6V2GXW6ZgXwaDC2gvXAE6o5FUeNQry8CQhlgNA6BUAvTjrK1CBzK1gM0HsfjX3DWdhBGvlNBNvss54jvHZBT4DbVyPiORudicJV8UkbkZTH3tuMFoVNxKPPfywYJNzZ1vA7+dKvwGIb+WTi9L08SP/9iyJa4y38dTFNk1pLSly0TvOI7nOLyLfupeT4lCBPIWbatcmmycgtYq4DVUo2yjFSAnSChukwFoDnULlURJyHFoTu5zxOPdnyemDkTyRe1HNSOcTeslKRwKMbnvWESw+5cdNv9q2GyBRAVeuPph/dnbFtTuAill76WLT7NlVyG+PD+7PBwq6rHt6B59OfD+zNwXEJxwG+T8ENqRQ+KJMssFMaq8xB6fzCZvh1c9fMJ2G+vLi7SHKFR9/9c9Ubds1aaVZDChEIk0ZYDfDGK5CQm97QVn1DkQCg9OpTAipIbJrBd95mrZK++0MwTAJAD88BzkJ8EsTFKvmSu7YyJqhekBurfU3JqacvJKvK9hzgmyj+Wq575wkfPLN+JVRNckte4Q5iF0nePMfo9xCjDGKjtNw1RrRasEcaug+LvonUCf+bOs2iAuDUofegdUbtpM0ATf5r2bG46zR+Opvxm29RHzOtmNFiJJn/EfFMgFj+KYVH48cfu4C28eaOo4ljUIkGIbXTKq3NUPc1iZ6uV98A6ZbzHHZ/Gh9ndwVs2wBfs7/8fAAD//32TM1T9gwAA - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/CustomData b/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/CustomData index 2470f0f15dd..00a2d7b7ec4 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/CustomData b/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/CustomData index 5e541fe6328..4887fbfbe18 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/CustomData b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/CustomData index c730d2a53c5..c17b83d242c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/+R8+3ebxvbv7/ordimt7dZIQnacxDnkFEvY4VqvC8hpruPDwmIkUyNQYHDiY+v+7XfNMMCAkGPHbW7P+borqxKzZz8++zF7ZrB//KF16QWtSye+amiGYZsfTEsbdK2+bVqqYdnHqt5X9oGOdfujSc/Wh7plW/pAG00s5UU6cqz3Nfu9anXf5SMH6ci7Ub9nv1f7+nDyu3qiDS3lZTpgaH1NNbUaglcpgTq2bH1oWmq/nzN9nQ71Rt1TzVgb7bRLw73R+2F/pPaKcbk0fqp9qKHplGiIEoQuH94rDXMYdRhIg9HRBzqtr5sFTh0G1MC0T8YnG0QfcBzWbGOwdUdDS9WHmtFbJ2HAGZNhd32QQXf6yiQEQ314ko/ttYuxNa32GGinkyONhMVwZNnHo8mwp+wxqPTBSc20vWJaX7N4pPb2y14cnNjjCafq3os1U7tWHd3BOp2hEx3XSTejR0OXM+rVGuWZZpj6aGjrwzO1r/eUPQZld6iv270v544eG6Oe3dOOaog660Tj0xNb7fVYwjH0RobKuUQzjJGh7DN40kzlDKETX2Ux1BsboyONPWUajybWEbGSWDdMh15wvlfHum1qxplm8ARyLUFvaNr90eh0MmZknVoy9f9MDG2dOAsO1VLrc+GgzVFUk/BA5gargX7AFDl716v69mA9sNYEv2xzSbQ+yiR3J6Y1Gtimphrdd3ZvNFD1oZna9ooxOBlP1ue/2uMGDZ1EFp8Zr/bXh6v2vXrB0Whnelezx/3JiT4sMTooiPTh8cg2RgO7OzKMydjSesorlg7mye8b5bxur9NwEl7LRZXuqXq/8M5rrn5Pxj3V0oqhLHNMjQT+mU7zyuwa+tiifjI0tVdwktttTggpp5PxiaH2NI6CU2M8MU5YwMvtTp4kpCAYGnGDIrcZ/l3dtFXT1E+GtjEaWfb4vSLL8toYjZ+xZgx0k2iqyDJjO1Zp6eqOxh8okSLLPOfxuP/BHqum+X5k0GQ71k8UWa4kbr6GjFhayHJW0dIythY+svyyRDAaa4ZqEQzT0iDLWfWyjJrB19BIwaJJaVpq99Q+0SxbNQa2NTrVhoqcLaFVkqFmvR8Zp8yWScpYkbMVtUpuTo6GmmWPDe1Y/12RyaKaJ+XRRO9ntUwm62IKynt1bHcNjYRLCka2KvEj+tCcHB/rXV0b0og4tc2x2tUUmaxSlNrS+tp4ZFi9UtlU5KzOFeNZwKfDmSGGpR+rXbJeGZo6IKtkxkeRsxpXQ8SYKTIpbWnjY1ljEuS/f7C7KsHtTDMsRc4KG8sMMqQZlqnIB3lzwtQ2tS4B1eqb9tFoZJmWoY7z5VT7XetmeZ9Hx0Hm4J5uHql9zdbHlnrU10xFJmUtrZnGxLQIh/XgyopbTzfJLNs03ynyyyziDX2gGh/sod619TFXVOWXLPL1oakZlq0PeqZtaKZFQpREnzEhmgytkT1Qhyd9zaY6KfLL/cfOO9b7lmbk81ga9QgQ2oZ5x6TgVeQdPHZeRd5LLngNjfjCNrT/PdENrad0shI1HNGioJ5oJgOmk9Umc6iOzXejvBryTWM7y4yxoZ+RQbJ+klaARGUnK1fkIR+unfZ+ljZ5uz5QzVPGlI11Da2nDS1d7afFtlfbE7ezDCTtTLXV6bQPoNEoWhHaVBFtmPYvoTJGnhNUyepvy0qn/apKwS2+71VzoHTarx9ksqd05PaDFPtKJ6vdGyheKB05Q4X1IVmQ5/2pZpyRRCbZqB/rXeILY2SlBdRST5SOvMdw6mvqcDIuDLH1AXG70pH3Gw1vBjMvcKGF8BQkfLtEMNv1QQqcBQLhFylCPnJiJIC0jLwAg/Qp8TB03rZcdNMKEt+He5hHaAnSJ9hqbr0BfIWCBgDAyFTE7TiMMEgRZd/KuZE5zudr2Fo4eHq1LbZ3ofWvbb1n9/VTTdmehhEK4517vadsN3/Z2RFbu+DswB2kKuAwWS5RtO2cdy7AOd+72HkD6IuHYbW1wyRngfFEDfJwerJguAccgeTClrC100B+jKgmaHoVglARHYQYZmESuEJj5jUak6PJ0JrYI9MeqgNNEdLvQmOgGtRb+QB7UIzQfrI6TB4KDbrA0T1qQVA8Expsd6S0kjhq+eHU8em2+jq5RFPsN9KlPh0lz91weo2iBvqyJGjSVu5MEcS7ovHLED9UVkKJTjMtXkpw47mewwTkbpKb8l5TluRs5vBM7+lqxprGq22+UzOR+QNeWt0ckgiZmmcrSbzbwHiNC2eY9WGsVWwlj74iWhEW06i58KZRGIcz3JyGi5ZzHZN/0nyZFKpU2BZMSU+U9sNpIe0OeoowJVEWwPWruOmFECUBSCQxbzwfzZELkhQtQJIChKWrMMYgSZ89fCUFMSw997C1jMJpS24FcWvpEeJFmJCwvl0i5dIL3N04miqtcIlb82Wy68ZYaS2C9Eu4xF4YxEpE6B6a6UwpYTE7e1DikBvJ4mDNzjTg6gwMEFaYbUvPZR9vIFP7MFM5f8gUOOS1oUAJDdKFd9XuO83u6YbSunGi1tSZXqGWQ+ZF0yvvBsWtBumo1SFp4TjiKAwxoUsnNLQzbWiRXePJCW3CMn5+OG85/04i1BrksaCS703tC0ZBTLRpdpMYhwtzGnlL3EI3KMBxq9GdGH2yAx5PLKWFF8vWNIl8+wZFl2GMmmGCG3T14CnCyInXKQztRDct4wNrhtMNAK1JhL41DYOZN2/eOgsfGo0I4eh2unBtb2bPHM9PIrS9A3e0mpExD8WKKL+Bz46H7dhHaKmInTeAvQUKE6yIe28gvvJmGH7+ufKBspiFEXjgBSBux+gTyCAypjtvwA0pCflh7EDMPgji3W8rgfC6jJBzDff38DGn9mZwDqIHEvqU84MLbinKfmg51r6gaYKRCx8F8bePAplIpMRvSqQRwkkUgJw/zGt69kONB7EAIh+defSjGwbcKrBZ7KoWdTv2fBTg/x7w/yxEebiC2A/D62SZo8QjI3PIEJRC7Pg2j1WEpmHkKuI+nRpjJ8J0XBG3XQcj+PWnOG0oPl95PgIcJagEVCYdpJxrBplEVVTaBBIiZAN40ySKULBBaoHu9jZPCBKn684OSHMEYsm6zcEvWISOc3FpWoRIMXN3n2QZiVfkCg/7mjlws5fzZHkQktSGPJWepGYYfQ3IGE3DwI0FkpJ1GRmEdowdHP8dcpKk5N8nI3O05gjb2IkuHd/PUcJOZD+EVEpOkUoiP0vH1NXiHTd7lQEubICOo63A50Qg4X/PKAmR9hjoOG7fCF/mrIM2CWsfpFls9m9ApJ/DQpm3IHKrPXTe/iyX+BC1zkH8J/ygQBsu6pShqePgEqMSAZeBz/WsPYvChR2huRfj6NYmLaZNWolnepzMmoW+iyKS916UbkEzkISd/8awILDBkmyj+aBgMJAulYEspV0aiHcbW7oVCSOuJXxeGHGM/vQwuvQCJ7r9ahQxsgcCiVEsHXxVDaZMxno8cZMqMVUWWAmrDbFVnlMOLxo20qwiszZoaNBtjphSAJZFwiY3rsVhLeevx2MJyT87JJ8Qll8NzZrwfDhEKxM2RCzdds08v9gH0SePXPvJxDQ+91l8vijFHM/rq4WMJy6H2jkNNDGTBhcXeSmrr2I8q2eWsbwnqV3jcpX+xoscJZiFUdnND3i48OoeJV06N8hlByB0sz/1w8SVvMDDEqGNm5SC0qanpcefiPczPisBREpBvMaQbz+lP8yZbv2ojY63ONgfDoPv0R5SSuSC5IHQIuq1XKFQsMgGLlTeMjgaq0Z8G2O0mGISrbRbf1r3DfHNlBT+bF341n47VwNcBy3CQIqQHzruYyYwvUFkqnyHtj2XTfYrSVyIlqQglJbOnFRyvzTnjzCJAscnk6Qkn/BN6VS4LMbh8j/OX0Tp7+msJ6PqerFz6aP/OGCZ3n9PbNMKQ0x5Gq7PBZMmnJSC9PcB5AZFsRcG9hxnYYZRjEEQt+lV2Ay2foo/BlsgiL8JcA/sku0M7uEKOS5IAcg7AigKCKIsNFaNInq1gMSAGrhmqZivlXmQ2214AXttEFN7DC29iDYt1ZqYivjPRn2pk8tFDt5C5SBelKWUtumH80YBcFkASAEifUgFZta3yTANE9+ld3mXKD1G4g/BSp5g0Hoz+AFqzpVA7hBLOy84Y1CQZor8KPEptQuXtwWLzbrw3uilKUndwZVqb8bp4nsxlpLAwzFI0ozsDSTJKV38CqLcjFF0402RUFG4vBZAZqkokxDfBGa4XPJgrlW+R7FhtIwPsxstblDUDRdLh7vXyK59VUXcTjsRGe5hmmCQXBB+FUhrLe+USI9y0s4m0vNz0uHlvFcsHfInRyuBtemlho+kEnJz9hwD4OemF85b5D+Sh1kKnkEq/MqbX6EYn6VprIjb+rGp5JuOVMZKyFUXKRNp1nlAdfGuzHRVp30ea6uGG34OSDntocvx9dwKj/neenx6kt5Ks+Qm3/M7+07+qKcbWtcaGR+yQru4dr0IpCWIpeG0CU/iKxfEu9LIKq/ka1lHYuig3QZniaU5wpApzFgQ9VZK+pmptvolFRQuSWfqLDE9zsjmMeMeWDXK579vGgD0UpxMUQh+zILStSQJcC6DH7HSuMvrOUhse04slRySuGE0RfShi2bFXQnZ9RBD/HB6HdPHGRxSCL3l9fzwcJTe3B4eKjyX0HcLxKTb6iVR42sLFzVafkOXqPVl6U1aNNn+gQBewYF9JFwbq8Yc4e54okbTqzzCnGh6pYjbSdr2LnYa3B7zjgzu7q5oRjrky8G+QARURqIFeb6+F03zKB1urK2zbHThZqO09nixagwO9vkSS1TZLlTf4YXWy5Q3SGtzNc6LDXZCM4mKQ/g00NhZDj2HkFlmsPO3CM3RF2XrX81fP7bSf4fNX8WtEmzF9BUo/5eAz0/OdYbq0tMGfh3MvAhEWz+cxzYO7fTWu6IuduJrmkfFfUk6kFKTijJ0StdEP+0NdxocIV2YLf4qSfjpGH6ymj/tDdnpH4nbTK+sq2BSAnfzVEr3RxwGdowjL5gr4jb88Yl0PkXjJklONAfCI8bOYglAi2+m0kpYIx0tUeSQbNNdQsoUqCFkNZg+EeRmZ2+dxHLia4IOpGIJljWMNIJkH90gH0DQg1kYLagCjr9OO0Bx7MxRKpQsoj7CyD0E8ZcNfMeeS2nbG8atuvGtuxywQxDzz7s8OIcgct92MzgOQWSfdnPzCQ/2cZez9hDE4stuZtohiOzTbm5BRjn23N1c7eyh5bmrNEe4o2TxjosLegZ6t/56yEq8K0fxqklmNYrCKZDiJsAPCgWoXA/48se1N1ekAbLja29ppy9a2W7kkV6+6LNJZf+SHpGH7q0ibhendiC9A2GAsOM62Dmk990CbaaXUfjlFoRfBBCuMF4etlrywetm58V+k/2/tWCzWl4QYyeYon86S09iuwil0+7IUrsjtWWWc1yqfYup1JDC1qxZEkRiEulqSCIi2GpOw8UywaiJnXnc92IM97Bwltsx8tEUbzfp2nBPtzbbgnntLU+WSY8CphMzfF94A4In7OzsnLcvmjeOnyBotUCYOX6MhHwmBSql3CrdKHA6Cpx/WGdqXyeXyEfYpq1zMLenKMLezJs6GNlRiGl0/9c6joFQ77uoxnfnF6TL5T1Hl8vrWGKsJIanxPCUODylDE9hB+4hdWXZV3dlvXZ3V0I1pdjyN/WRE3DvnPzPSanHu4Uk0xGFq5ui9VXcidQMdC8eOJEXoGgU0Xfl+l6QfKn0BmGctTCsOwljukupvDZLNin393UE/Nuz61TrL9Cut2Tlg3qvugFqoBvHHzvTa2eOeqxTnhj9ih20F7uTD6UVZ4wUgCAmkV/TBwLhCkKE4sTHinhHmjHu5Zt0AUpHG5WDIV7PFP0U7bTW/a9PTLMwwcsEK+I2cXkWcMRn6X0mUS0lKYcV8ycbanBtqjeDWo+CII7M8oFBnLghYDeYAdOKbC3++ES2FSn/Pz7BZyfORmn3UdZzrSHPtmkZwxcgw0H7W5hS6NKVNlmSltBI3+iueHSZulyhR1+lgBXETvlJtj8XxD2BHXLR3zJWBPaeUpm8H35GUdeJuap5F8Z0H48j2Do/pO+nH15skc8+IT68YNn243EYQfpq+S5xiJgLBy8G+VWzvQ9O4IIQya/a+wJ56PhxCC6aeQFyyY6TZH4YkJaFdiq7aa8vZq+1ezGthDjMeKRyTW/h+U7k39Kta6edCep0mu39JozwFYo+ezGqY9RkKDQLE1j2UuHAzXD8z85toUEGHwThZ252kdU1IOw12ykEN3vN9lMQYE7jEaAsvhb81HeV9M62hZl7WTCtWAkWmm5eSfS4SVjkQbFqfhRuyJPsgOajIOzQBSBI/NpSwgfc+ty6l/fqSl4lmN97+CpMcC/EpSjNGNPjYuTCVtz62Gy15lulnfkj7U4ukwAnzYhjXIhdPWw1Z/GG+ZntfKqzOs6I47885UsFpgxIlvRlWP+sQsF+Kyw78jKV7Z1G47mRKaRnGxs8wusruGjmJD7OPfBs2U3xjkG8arJ6Hp91Ho6RFEffwcVxZ6xsb5QvRd+iQqlzKskiqhHNaM9UGhF2dipKLiN044VJ3P+OytbKLCldS8ErTxaDm6z2kpbiroz2+W8XpDZyl2d1wfmrsi2IdzdZDhTs8xcP6mXVg/ZnyqwWyr8kjB9Oq821+uaviZLzi8zD64jfbMT4Ufjm2OZG5ZV5kPjYU6PpVaU2p6Z6C2eOrPAIjRPS2aUVugHw4x+faAuxNhtmUbigQ9MwwA5ZtnXCI26CPoNu+dm5d9FcVDmcdUgnEISYpsNupjK+cvBuetzNnjyGWWM9aiomZR6rU2Rjkftagdsgg0ZFjZznlLLHlrHnqPTMgvXUYjWY9C3dpn9r43FR/a0V6smC8o1gWpI2l4MnoZ0l/mPT/nFqZ7/tU2rANm+ksx6MnQoUpwSd2v6LXSj+zbqvdKvizeCh2gvoixdjtvuYkx3HFYKCvp+XsAixvU+Y77I2kpcFsi4M/ozO74E+i9NCef6yyHETQIqKlZleZ3OjKwEKneDnn/M1KP9zA0QhgV4J1g9V2DU2H7R8i4kM/a/a9n3sYqsVic5Vo+G47ml6zjoMXdR3LlH1krGvHml927QMfXjCndGlL4t4IIg8gQD/+Mc/QBCzv2swHPU0mxKYAryF4s8MdN7+XP8yDDv1hSB0EfhEHyhJSDfyEXLcW7LKxCjAu2R1vvKCOdmrO+76ezvlto1d6LoumVEnAYewrkXcbDaF4jyWnpvVWllNihoi4piax6td8Y5XZFVzG13HraQ9t9WN0CK8Qc9xLwJhTadnePjxULSqYls5GLxyFaLd76RcVeyjlPv/o1umWk1EHPvOvBIMx3315OFY4CjWLCJjj7eFUvNW0AetioxN0PI0u3+JIhUZj1HkO+hR9ueP77T+WDNMbXTc+H8BAAD//yXG4DBLUwAA + H4sIAAAAAAAC/+Rce3ebuLb/359Cw9BJ0gbbOGnapoeeITZJufHrAk6nN81hESPbTDC4INzmpD6f/S4JCcTDadrM9M45N7Nm1UZbe2/99kNbD/zzT61rL2hdO/GioRmGbb43LW3Qtfq2aamGZZ+qel85BKSt2x9NerY+1C3b0gfaaGIpz9OWU72v2e9Uq/s2azlKW96O+j37ndrXh5Pf1DNtaCkv0gZD62uqqdUQvEwJ1LFl60PTUvv9jOmrtKk36p5rRqW10y4090bvhv2R2svb5UL7ufa+hqZToMFKYLqs+aDQzGHUoSANRifvSbe+buY4dShQA9M+G59tEX3EcaiMjcLWHQ0tVR9qRq9KQoEzJsNutZFCd/7SxARDfXiWtR2087aKVgcUtPPJiYbdYjiy7NPRZNhTDihU+uCspttB3q2vWTxSB4dFKw7O7PGEU/XgeWWoXauO7qhKZ+hYxyrpdvSI63KDelmhvNAMUx8NbX14ofb1nnJAoewO9eq4D+XM0GNj1LN72kkNUadKND4/s9VejwYcRW9kqJxJNMMYGcohhSeNVG4gpONL5kO9sTE60ehTqvFoYp3gUeLRDdOm55zt1bFum5pxoRk8gVxL0Buadn80Op+MKVmnlkz9n4mhVYmZc6iWWh8LR22OohyERzLXWHb0I6rIxdte2bZHVceqCH7R5oKo2koldyemNRrYpqYa3bd2bzRQ9aGZju0lZXA2nlT7vzzgGg0dexYfGS8Pq83l8b18ztFoF3pXs8f9yZk+LDA6yon04enINkYDuzsyjMnY0nrKSxoO5tlvW+W8aldpOAmv5DxL91S9n1vnFZe/J+Oeaml5E4scU8OOf6GTuDK7hj62iJ0MTe3lnOR2mxOC0+lkfGaoPY2j4NQYT4wz6vByu5MFCU4IhobNoMhtin9XN23VNPWzoW2MRpY9fqfIslxpI/4z1oyBbmJNFVmmbMcqSV3d0fg9IVJkmec8Hvff22PVNN+NDBJsp/qZIsulwM3mkBENC1lmGS1NYxX3keUXBYLRWDNUC2OYpgZZZtnLMmoaX4FGChYJStNSu+f2mWbZqjGwrdG5NlRkNoWWSYaa9W5knNOxTFLGisxm1DK5OTkZapY9NrRT/TdFxpNqFpQnE73PcpmM58UUlHfq2O4aGnaXFAw2K/Et+tCcnJ7qXV0bEo84t82x2tUUGc9ShNrS+tp4ZFi9QtpUZJbn8nbm8GkzG4hh6adqF89XhqYO8CzJ+Cgyy3E1RJSZIuPUlhY+ljXGTv7be7urYtwuNMNSZJbYaGTgJs2wTEU+yooTqrapdTGoVt+0T0Yjy7QMdZxNp9pvWpfFfeYdR8zAPd08UfuarY8t9aSvmYqM01qaM42JaWEOVediya2nm7iXbZpvFfkF83hDH6jGe3uod219zCVV+QX1fH1oaoZl64OeaRuaaWEXxd5nTLAmQ2tkD9ThWV+ziU6K/OLwof1O9b6lGVk/GkY9DIS2pd8pTngleUcP7VeS94JzXkPDtrAN7b8nuqH1lA5LUcMRSQrqmWZSYDosN5lDdWy+HWXZkC8a2ywyxoZ+gRvx/IlLAeyVHZau8EPeXTvtQxY2Wbk+UM1zypS2dQ2tpw0tXe2nybZXWxO3WQTicqZc6nTaR6DRyEsRUlRhbaj2L0CpDT/HqOLZ35aVTvtlmYKbfN+p5kDptF/dy+RA6cjteykOlQ7L3VsonisdmaFC6xDm5Fl9qhkXOJBxNOqnehfbwhhZaQK11DOlIx9QnPqaOpyM84HY+gCbXenIh42GNwMzL3BBC6IpkNDtCoLZvg+kwFlCIDyVIuhDJ4YCkFaRFyAgfUw8BDpvWi5ct4LE98EXMI/gCkgfwU5z5zVACxg0AABgZCribhxGCEgRYd/KuOE+zqcbsLN00HSxK7b3Qesfu3rP7uvnmrI7DSMYxntf9J6y23y6tye29oGzB+5AqgIKk9UKRrvOZecKOJcHV3uvAfzsIbDZ2aOSmWN8owaZO32zYPAFoAhILtgRdvYa0I8h0QROFyEQSqKDEIFZmASu0Jh5jcbkZDK0JvbItIfqQFOE9LvQGKgGsVbWQB/kLaSeLDfjh0KDTHBkjZoT5M+EBl0dKa0kjlp+OHV8sqy+Sa7hFPmNdKpPW/FzN5zewKgBP68wmqSUu1AE8S4v/Bjix8pGKNBppsVLCdae6zlUQGYmuSkfNGVJZj2HF3pPVxlr4q+2+VZlIrMHvLS6PjgQmJoXG0m828K4woUbmPV+rJXGih99RbQiLKdRc+lNozAOZ6g5DZct5ybG/0vzVZKrUmKbM8U1UVoPp4m0O+gpwhR7WQBuXsZNLwRREgAJB+ba8+EcukCSoiWQpAAiaRHGCEjSJw8tpCAGK889bq2icNqSW0HcWnmYeBkm2K1vV1C59gJ3P46mSitcodZ8ley7MVJayyD9Eq6QFwaxEmG6+3o6U0KY92YPChyyQVI/qIwzdbi6AQYQKXRsK8+lH9eAqX3MVM4eUgWOeW0IUEIDV+FdtftWs3u6obTWTtSaOtMFbDm4XzRdeGsYtxq4olaHuITjiKMwRJgu7dDQLrShhVeNZ2ekCGP8/HDecv6ZRLA1yHxBxd+b2mcEgxhr0+wmMQqX5jTyVqgF1zBAcavRnRh9vAIeTyylhZar1jSJfHsNo+swhs0wQQ0ye/AUYeTEVQpDO9NNy3hPi+F0AUByEqZvTcNg5s2bt87SB41GBFF0O126tjezZ47nJxHc3QN3JJvhNg/Giii/Bp8cD9mxD+FKETuvAfKWMEyQIh68BvHCmyHwyy+lD4TFLIyAB7wAiLsx/AhkIFKme6+BGxIS/EfZAZF9EMS7XzcC5nUdQecGfPkCPmTU3gxcAtEDEvyY8QNX3FTE/kg61j7DaYKgCz4I4q8fBNwRS4lfF0gjiJIoAHL2MMvp7I8MHog5EFnrzCMf3TDgZoHtYje1qNux58MA/eeA/0chysMVxH4Y3iSrDCUeGZlDBqMUIse3eawiOA0jVxEPSdcYOREi7Yq46zoIgmdP4rSg+LTwfAhQlMACUEw6kDKuDDKJqKi0MSRYyBbwpkkUwWCL1Bzd3V2eEEicrnt7QJpDIBZGt935BQvTcSYudIsgTmbu/jeNDPsrdIX7bU0NuN3KWbDcC0k6hiyUvknNMPoakDGchoEbCzgk6yIyCO0YOSj+K8QkDsm/TkRmaM0hspETXTu+n6GEnMi+D6mUnCCVRD4Lx9TU4h3Xe8MAF7ZAx9GW4HMiIKF/zggJlvYQ6Dhu3wkfM9ZRG7u1D6RZbPbXQCSfw1yZN0DkZnvQefOLXOCD1boE4t/BTwpog6s6ZUjoOKjAqEDAReBjLWvPonBpR3DuxSi6tXGJaeNS4pEWx71moe/CCMe9F6VLUAaSsPef6BYYNrDCy2jeKSgMuEqlIEtplQbEu60l3Qa7EVcSPs6NOEZ/uBtde4ET3X7ViyjZPY5EKVYOWpSdicmo+hPXqeRTRYElt9riW8U+RfcibiPNSjJrnYY43XaPKThgUSTYZsaKH9Zy/ro/FpD8o13yG9zyq65Z4573u2ipwxaPJcuumefn6yDy5IFzP+6Y+uch9c/nBZ/jeX01kfHERVe7JI4mMmng6ipLZfVZjGf1yDSW1SS1c1ym0l94kiMEszAqmvkeC+dWPSCkK2cNXboBQhb7Uz9MXMkLPCRh2rhJKAhtult6+hFbn/HZCEAkFNhqFPn2t9SHGdOdn7XR6Q4H+/1u8CPKQ0IJXSB5QGhh9VqukCuYRwPnKm8oHI1NI76NEVxOEfZWUq1/W/UN4vUUJ342L3xvvZ2pAVwHLsNAiqAfOu5DOlC9gUhV+QFleyYbr1eSOBctSUEorZw5zuR+oc/vYRIFjo87SUnW4bvCKTdZjMLVv529sNI/0ljfjKrrxc61D//tgKV6/zWxTTMMHsq34fpYMEnASSlIfx1A1jCKvTCw54i5GYIxAoK4S47CZmDnSfwh2AGC+KsAvgB6yHYBvoAFdFwgBUDeE4CiAEGUhcamkXuvFmAfUAPXLCTzSpoHcrsNnoODNhDT8RhaehBtWqo1MRXx7436VCcXkxx4A0ob8aIspbRNP5w3coCLAoAUQFyHlGCmdZsMpmHiu+Qs7xqm20j8JljBEhRabwZ+AjX7SkDu4JF2nnODgUEaKfKDxKfULri+zVls14W3Ri8NSWIOLlV7M04X34uRlAQeioEkzfDaQJKcwsGvIMrNGEZrbwqFksLFuQCwkYoydvFtYIarFQ9mJfM9iA2lpXzouOFyDaNuuFw53LkGO/ZVFXE3rURk8AVMEwQkFwjPBFxay3sF0pOMtLON9PISV3gZ7w0Nh+zJyUagZXqh4MOhBN2MPccA8H3TA+cd/B+OQxaCFyAVvvDmCxijizSMFXFXPzWVbNGRytgImeoiYSLNOveoLt4VmW7qtM98bdNww08BTqc9eD2+mVvhKV9bj8/P0lNpGtz4e3Zm38ke9XRD61oj4z1LtMsb14uAtAJioTktwpN44QLxrtCyyTJ5JeqwDx2128BZIWkOEWAKUxZYvY2SfqaqbZ6mgsIVrkydFSLbGawfHdw9s0Zx//d1AwByKI67KBg/OoLCsSR2cC6CHzDTuKubOZDo8hyPVHJw4IbRFJKHLpzlZyV41YMH4ofTm5g8ZnBIIeitbubHx6P05Pb4WOG5hL6bIybdlg+JGl+buMig5ddkiqpOS6/TpEnXDxjwEg70I+ba2DTmEHXHEzWaLjIPc6LpQhF3k7TsXe41uDXmHW7c39+QiHTwl6NDAQsotURL/Ly6Fk3jKG1uVOZZ2rp0WSvJPV6sGoOjQz7FYlV2c9X3eKH1MuUt0tpcjvNig+7QTKJ8Ez51NLqXQ/YhZBoZdP8tgnP4Wdn5R/PZh1b6/3HzmbhTgC3vvgHKvzD4fOdMZ1CeetqAnweZFQHW1g/nsY1COz31LqmLnPiGxFF+XpI2pNQ4owydwjHRk4PhXoMjJBOzxR8lCU9OwROr+eRgSHf/sN8yvVhVQaUE7vauhO73OAzsGEVeMFfEXfD7R1z55IWbJDnRHGAeMXKWKwBI8mUqbYQK6WgFIwdHm+5iUqpADSHNweSJIDc7B1USy4lvMDogFYuxrGGkYST7cA19AAQ9mIXRkijg+FXaAYxjZw5ToXgS9SGC7jEQn27hO/ZcQtve0m7Vte/cZYAdAzH7vM+DcwxE7ts+g+MYiPTTfjZ8zIN+3OdGewzE/Ms+G9oxEOmn/WwEjHLsufuZ2uyh5bmbNEa4rWTxjvMLsgd6V70eshHvil68aeJejTxxCji5CeAnhQBUzAd8+uPKmwUugOz4xlvZ6UUr2408XMvndTbO7J/TLfLQvVXE3XzXDkhvgTCAyHEd5ByT826BFNOrKPx8C4SnAhAWCK2OWy356FWz8/ywSf9tLWmvlhfEyAmm8O/OypPoKkLptDuy1O5IbZnGHBdq3zNUMpB8rKxYEkQ8JFzV4ECEYKc5DZerBMEmcuZx34sR+AKWzmo3hj6cot0mmRu+kKXNrmDeeKuzVdIjgOl4GL4vvAaCJ+zt7V22r5prx08gaLWAMHP8GApZTwJUSrlTOFHgdBQ4+9DK1L5JrqEPkU1K52BuT2GEvJk3dRC0oxAR7/6PNRwFod52UY3tLq9wlctbjkyXN7FEWUkUT4niKXF4SgxPYQ98Aakpi7a6K+q1v78RyiFFp7+pD52Au3Py/yekHm4WHEwnBK5uitZXccdSGehePHAiL4DRKCJ35fpekHwu1QZhzEoYWp2EMVmllK7N4kXKly91BPzt2SpV9QJttSQrbtR75QVQA64df+xMb5w57NFKeWL0S+MgtdidfCxtuMFIARDEJPJr6kCAuQIhgnHiI0W8w8UYd/kmnYDS1kZpY4jXM0U/RTvNdf/1kWoWJmiVIEXcxSZnDodtlp5nYtVSkqJbUXvSpgZXpnozUGtRIIgjs7hhECduCJAbzADVCi8tfv+IlxUp/98/gk9OzFpJ9VHUs1KQs2UaY/gcyOCo/T1MCXTpTJuscElopDe6SxZdpSZXyNZXwWEFsVN8wtbngngg0E0u8paxItB7SkXyfvgJRl0n5rLmXRiTdTyKwM7lMbmffny1gz/7mPj4ikbbz6dhBNKr5fvYIGImHHgxkF8224fACVwgRPLL9qGAHzp+HAIXzrwAunjFiSM/DHDJQiqV/bTWF9m1di8mmRCFjEcq1/SWnu9E/i1ZunbaTFCn02wfNsEILWD0yYthHaMmRaGZD4FGLxEOuB6O/8m5zTVg8IEg/MT1zqO6BoSDZjuFYH3QbH8LAtRoPAKExdecn9iuFN5sWcjMS51pQ1Ow0HSzTKLHTcwic4pN84Owxk/YBs0HQdgjE0CQ+LWphHe4at+6y3t1Ka/kzO88tAgT1AtRwUsZY7JdDF2wE7c+NFut+U5hZf7AcSfXSYCSZsQxzsVu7h81N+It/dnY+VCneZwSx396yBcSTBEQFvRFWP+oREHfCmNbXqayu9doPNYzhXRvY4tFeH0FF86cxEeZBR4tuyneUYg3TZrP44vO/T6S4ug7KN/ujJXdrfKl6HtUKFROBVlYNawZqZkKLcLeXknJVQTXXpjE/R+obK3MgtK1FLzyeDJYs9yLS4q7ItqXv17h3MgdntU55zNlVxDv1iwGcvbZxYN6WfWg/ZEyy4nyT3Hj+8Nqe65e/zlecnnFLFxFfL0V4wfhm2GbDSrLzIPER54aTRel3JwO1Vs6c2iFJ3Cc4MouzdANAH7+/SMpISq9wSwKl6RpGgbIwdO2jnnETaDPQLf47NK7ai7LHC46uBIIQkTCYZ+pjBYO2k+3u+mThzBrVL2mNCRmsTpFtia5ryW4LTKIV9TIeUwqe2gae4xKj0xY35qsBpO+pdvktzYe5tXfm6G+WVC2EExT0vZ08E1os8B/aNg/TG32tk+hANu+kGY1GN0VyHcJOrX1Fz1Q/ItVX+lSxZuB+3IvgJ+9GNHVxxyvOBYQ5PT9LIVFkK59wmyVtZW8KJBWYeCPqPzuqbM4LZTHT4scNwFIUT4zk+NsrnUjgFwn8Msv2RyU/dwAVkggR4L1TSV2je0bLd8zRIr+V8f2Y8ZFZyvsnZtGw3Hd83SfdRi6sO9cw/IhY1890fq2aRn68Izbo0svi3hAEHkCAfztb38Dgsh+12A46mk2ITAF8AbkPzPQefNL/WUYuusLgtCFwMf6gIKEdCEfQce9xbNMDAO0j2fnhRfM8Vrdcav3doplGz3QdV3co04CCkFVi7jZbAr5fizZN6sdZTkoaoiwYWoeb/bFO16RTc1pdB23gvbcUjeCy3ANH2NeCISKTo+w8MOhaJXFtjIweOVKRPs/SLmy2Acp93+jG1ON3/zAHpHu5mdXC7jpl9uyJgLsE32oGu/tNCGll4QKlxJqCWtju0RFQjm7sgCSyN8HnzzfB0kMgUd23si7K3iCwwFJ7zsIBVgYv+yFFZr4KhpVYyl9Z4Lck1ggtIqPW63Lf7SunpHfzYgCiGDcWl+2pVdXzz402b/NZy2ihgfjVvPZTmmnTwpAVXT9Vh09fmInQMI67WgMNUvLfvFkI4C6tyqqIpR/kXc0Slc3Kq9bsIug5PWsVQRn3ucasH5+yiGwESpcyqpnlR7P98mT1tOavuydXxQ5UwRdptFx9mYSqzhJGVNS7BhsM+y9b0Rt9b70fgRWIwng5xXEGvm3nBcy10uxyKphJ6YYbFVf+MprSV9z3/w3t8bGiPwQXP6DPxlt+iuHm5Z4R35Xkz02tPFowzmxhGex4+y+D6vKJd8Lks+SeNcdT0j1XkgVhcnj1HfmpXnjtK+e3T9tcBSV5IfbHp72CDWf8MiDVknGtizM0+z/KYqUZDxEkR+gRzH1//xW6481w9RGp43/DQAA///7/3VVdlcAAA== @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/CustomData b/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/CustomData index 5e541fe6328..4887fbfbe18 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/CustomData b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/CustomData index e612c840f37..15e3f030ebb 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/+x9/3fbNrLvz1d/xZThxlJqUrbT3dvnrXJXleVEz7akJ8npvS/x6tAkJLGmSBUAZTsK//d3APALSIKSbKfb3nve7jlJIwCDwWDwmcFgAL76rnnr+s1biyxqtU5nOu6OPvY63WmvP51cDVvNYEWb1pcQo6Yd+NRyfYRJ07aNFQ4eHk2C8Nq1ken6vO2gc9Gd7Ns0sO8Q5S37vWln0D/vvZ+e9UYtrYmo3bR9t+kjajoaL/+5148LGVVWeOv6Wu3VZHA2gFXoeUAXLoEgpBDMwA6Wq8BH1CfmryTwgQbBf3AyZ4Nf+peD9tm4QMwJ7n0vsByi1TqjXmdymdaUK2LXpp6ibsZcSHDTC2zLE+x1Bv1Ju9fvjs7UPSdicWSio+t+R1kdh74tV7z4caysdxfeIuwjikix9nDU+9iedKfDduei/b47nnbanQ/dHU2bK+yuLYqMlWXfWXMU0xp13/fGk9F/TUfd4aClBYSwMVvYRUQio9Wuf77uT66no+5ltz3utvS6R26nGHnIIggMDAZp1Abjll53Z+AR4JP/xkgqHL+DpoPWTZ9N8cm718d/B7pAPpAAU9a6UP0rzK37OzhYWtRe1PWjQ2j+s947m172Lrqtuh1gFJDG195Zq26+aTT05iFYDdjACrs+BRqEqxXCdevTyQ1Yn97eNP4O6MGlEB38HWZuozbudq5H3enkcjz9eTCYjCej9nB6cf1z97I7mXb/s9uZDi+v3zNlKCuPWAjUI7dBQAnF1krbn97H7mjcG/Rb2vrIPDaPDMtbLSzzRKtNupfd4WA0OdvSM0UeWgWYOnnN7Z51+5Ne+3I6HA0+9s66I7XKIwf51LW8FQ7WroPwLiLZWlhbuOm5t1wZPCTTMhJiigFUrqWrdr933h1Ppue9y+6wPfmQE+zS8t0ZIpSvd7bwroaDfrc/GaurxwDhUxI3+PjhbHo5eF9Rfb1wDNcn1PI8kzX1EEWco+nZz9P29WQwvR6esYV1ftl+L5NIZLC0fMO5bVohDYxw5Viseed6dDkdXE+G15NWky5XTTvE3nSN8G1AkBmENFk6g/G0377qtjTxb9bxiIFKVhD/oNU6w+tpe9T50NK0moNsz8IIDAt+aY+vxh96V8Pe2bhVb8hF42Gvz1QuKaoRRDvD6za2F/UGbGoAAClVvT5PSxu1qFbDaBms0ZXln922Qxpc86Gde9b83PVQ2h4vwZiBvktejKCNkUV3EqRBaC/2JOghyw9XnRRqzzxGiuSYwzPQq7CaEYnnPiPyi0sXnVSH/jcJ/JReQFr6Jj9zES9wZ/DpExhfQNPzmKjBzY2ANV4vJTIYR9IPTDOIG/gtzQ4xRj7VeCHyCFLWSpmIe4lE/ZnL/+J/ZPZnKKC9pdd//Q00c5ggPWi6Yilp8BV4vU838BUI8pBN66ZvLRG0WvBZy+h+1hpaA75+FTiqd0ejqSTnGNamvf7H9mXvjPMUm6akjOtkLD2XXFmYkR3gNluWl64fPoDGBaXB69dMvJq+6Y2nF+1JO9IYMxrFIaoScLKOWPX8XMVSEks1lsZHIVnC+ihJLmKi2gQk+TuZh1jq/I9Xmf4cEFgn5CyMrUdwCaCHFbIpcoAGsLDWCALfe4TAR4A8tEQ+NQWZ3gxcCguLwDLACOjC8uVah3CP4N71PIjVlo0cPIvQpAa4Pv+N92xKyqlvXhXl/+kfNxEYcwrHZSEiexGA9kt71O/1359K6gSxq1AcZCXPJvQEr64/38FuTo13sI1+gyOmffqmVH50E3H9+Gl80Ru+06oG1+ufD/YZGZs+ly4QBrRc0UcIMGd55mJ5HAREdyaM79zVig1WIh1Pl0XdwI+HyQEK0RD7cCSPu3c+bukHn/0D7gghp6CirbpeFx7SR/jpp580xfjf3ERaQyyt0CeIMpL8X3w8U+J+QS1980pJngmX12Wyr9ezFsZxowGGR+EIbm7YimTTOHV9Bz20+ERI/y415BRXuZ5a+kbNgL7JKEUxM5kkr6xfA3zl+gEeMj/wYwqJdTGper4XBmd2SMFwDDBmxw2tQO5DQM/dhydRIWDMTmJCTEcF7O/iUIMbJqRPe1Vlysu8YmWjHMu5ukotd/215bmOrIyxfp9CcZhZ030hPdZZL5iTKQ2maM1sJmjti7HZGXfNonEdhT51lyj5fUwt37G8wEcZfGqM5cpSkPFZLb4oVycnrRixE8FABXtgQHnY0AJ9k5dXpNUqPYir2GnN+Q/c5ZVmIrEkki7NQNNL7nB5brdSyqu45DYwD8DAYGaFJnLmSNllI9MGzpnC6eC6d/yjefRDmcFdPBzITKxc30eOqR3/ePSDdrCLnVjnct5RtbmKewY/oDALQp9hMSRbikNw0MwKPcptEzPN2LEDh/Eiq7c0kBXTNHk4MWCUx7oLeqYYrd0nUtmGO3nWlNBRrLIVZ1L+noExEsQohrQdZnr98aR9eTmd9K66g+vJHw8zeanl4SUV0ouhpbI/TYUxMbkUWfbol+0ER/3upDvO9Vv+OdIk/0vTN/1u92wszVCkwXfV3nfMwFVw+whFd07Am3LXwV2KX3+Dg3SDotyASPsPrXEAP4GKGkiBJaW+xl0UtjNMHQklDB9UVCW3bY89Y+3f/k04d7IMtvbuBIhwlOJs7OBip82RlKaP6H2A74ZeOHczWyRN7+SXwegiDtIwVAeNh0aqJ5dv0Tr9Xm5+Y476PXiF0Qxh5NsIVrxTYsJVQKj3CLMAw114i3xE4Tak4AXB6tay7+KKzI0OCXLg9lHGcKbDsrWDk/z2vhj9hdfAxp+EszppdGoYB6ey8Me2WNn16JLttXfVOW3lVozhwx6NIoV0bYxSkJzOAjwNsEVaqXHYRZKZijlGKzCCIRysPzvf1z+bn53vG28O+Epy4IA0/7luNtk/F8hyGKvHjWQSZQ+FMZIE8qYh9lr6SX6EeqlKeTg7ZVsmkuNleee4GIwV6LsimqJ+FmcdjgZsvWSYlUW0x93Rx+6ITesTqitn+AntVZOdSVqoZiaHRG2ZQDI1eGKPTX1TiuRHIuRpWDY2FBHb07W+UapgZHiuHz4Y+iaJFkba1lmevP+//Jhoj3Xw6tWbZqTBK7gmCG4tsoDb0GX+GLySd8n40V460zmiU2rhW8vzpjMcLKcYzV1C8eP03qULziscnxzBX3etlrPeqKlv4ZxHevaem0jLh8EGo/Z4Ory+vJyyKThv9y6LG/7YgeWBr1E8hmvs7QcclYqUuqXfCDIKGLFztrdqV1mHjLy6RSa1sDn/ov3R874HdD9tunOo9juvl30mfpcUwDRN2K07tao5+lZzsZOFQvR5W215NyFklHkFkLgFkCxv5AAJbRsRMgs97zHnglc7E7u2J6WWZrWHokF1mTgnsTAYD19me4l5s0XOkQZGZw8bmzPJFZoan/DF5sFeBPc+GCPAQUBP2R/7tVuudy5DVnm7NdN29dWsahjzvgwc+Pe//vVlZBIXdfdoZId1jOwQo8nl+OfkQPlCHLR2H5Bd8OMF/Av3mbtq2oLSFTltNu9+JPHZOTFvveDWtAOMzHvXd4J7YvqINq07YlCPGOm5tWF7LvJpU9889fw6anJ8b1pL528/NFVEZQ9Kr7ukPbr62w8NtqlTHD/8ecaDl1vHU3ZWn5VJUJMGnfoYK4sumE14FsWogulsM/6d2I6rei0HelKcd2fTmeV6IUbwlqH8347AZu6/MRtfghFUEkx/D7FXMKAp23sPVEbzSqR5ltg0iSZDAGMUg8ALqM1ctrjvLbLkx9Ndtr+vjgmzetOZ6yE+/frmOJLqkYW7zNy8zYlclrjtJJzN3IeWvnlbbMmtUzIvrbqmb/5x+kOkNUDe/PFMn0dFiHMjd86cIKAYTDDimCTb2rMa4PpJ5Vx/n/5xw3xXJ8jHlWMt3FRJIJJSqQxG1BC0mfuYZ5X9kpdBpI5Lx074MRRDyk7gI8lDYK4M4wUYLySOy7BhPoXbN3vxWZNPA0F9qmCR5ZgJtd6QNSddZuyfVKhFrDLJwWB+0705iUC2HCIalTBHYrV4y9UiPd9mo04i6WJ+i+3K01utd2Tl+hpoxHPnC6o1cgrxCTQ9F6A+Mn80jxQbaPa/EvHvW3Xt/p5INOOpLcTe+aTxwEYdrS0vDsmdxVSYa5mdq+Z8/4xw6p+VZwj00qzkAuFJ76Cts7FWrhnI6+a9xXBzI+f9pIe2/yOmSWRmKMQ6RHjpEnE0r5DwXsLMZCkHCFWL7Fn4rFSxPEwXIPxfBtKQmv68Jcof+uRGx+Qo09NAM9bH2jZ4V0TbJURk1DksErA8jCznUQ66V7FxKFJe/IDCLUrXnevPS5kUOZfsXxYP/A6ML/C08FxVPDANbHDP94khv1yeroNc4lm3pKkU/2lBUbZF+ARnfEbiWZ9/mdLlqlU5Yeo+y33EEZ/ayyI+mzJrkQb6RpZlVBWykU7jGKKmnPDt9ZcH5pqUyYsdc9XoUxp8H7uPjFJHIT8nYqk9iUDR01gfS0tkKVwtxXi2LaOn+3V77RXWYrOw9+iqvT61mELsVdJgLU7evT5m6IgQ6FK6LrzLctKT2GgXtH/WGeOn5pvG1/on1L3B2HzT0HlmYt22aJ7E69eSql2MrscTtkcohqIa8DqVmGzMv2/V9e8aOTu1j0X8HTYUVdbo7bfYMjxTt+S4zLfRnZykk5yAletfhLfo5a72vp72s903SQjMX7sLb9E3cmwTIezyZuVuc06Y0m+Vk9Jf5LfKmlBisKQCjEljfaL2/9TTrRriHn5ffha+qe+X5VBs461y7BXZOxXVd3hopW7/v5f2DC8tkaJyzr6Jk5YPrZRmLdq+UkpOWQygz/PJtIJTpj3VK9vfhYHSjYhneiVPWF5aFSpWN/nTeCEyLMceSGYOB9jK/As+S4r7ZGz+5Rtkad3uf05G7c6kKyoz4AQFoZzB5EXJzTiOk4Uge4mJmhS3k+4bMM5Ty6LLZE3TlHicXA1b+qbEET9trT5s3Xr4WWKxGXcgztwUvak2KWl5dzQajMrR+x29qBGfbf5he9NCOpqpStpUMShD+/6dCRMTd0JCJ5D3XzuGyLZiZT1rZsdvKhJytma1jiRJbYXjYJOfB6vdq4IbLnyA41MjKuYP8WOQcrSMUQUNIxJ6tKVvOEpKpYxhXZTWQG1Vs4Fpso+T5OylDGaLaXNs6KelJDrB8cd+dzJlZeJ0Y5ys01NDVxWVrsOpKlXeyFFVBleoIUHUhO6DS5lHYVb6FDzFot9LUyr0jYroS9Z1SVBNfSP1yJe2UjSFbAWJTHqelUtadG3qpbP1yp2BfszvIi1X9PEQqHWH+Lly6Up7BBZJ8tphbXkhMmFAFwjfuwTF7Y5ZHbpAorwmu/1nLhYqqyYeFZRHaiZuHMler7hWP5l/mSxXQpu55PNC5ndjmXWF49gcazLVpr6RyXD5liM6RVYliabpFzmBVlx85VyLS5jpRaW66B8MI0GJk5x9jlMr41pJnWZzftDIp9rmCcd51JWrIYWkYjv+DILoLPHRU6AygSTXz3LjZm2oheeIZlCnyP3+i/kmMo8U109j+XIl714NW5pgwFinWpIcnFeG+bTCAUJswRRK1kyJJv1FFScLUn5FWVVzNYVMVxgZtmUvkJNIML0XclohOU15dqg6uBBdXPts78rv/4keXJ8GGYf5VJck1PjlYf0UWTCbVyRYOAzPTsL1fMVYTxX76C0VxRF2sionybMDhVyUvDMnZJS9ApD6cydPyQRRbBlT86Jv8u5TxUJK2GbYBCsLW0tEEeZBh4oRsY0U14y5u0bKCyvZsGQHqHx/lXNZkkElq+mDDrl7Sy/gIgPqre9J7Ebkzdb2UfYUBYOE8oD55i83W01lvYyOtDncVI81khC+Si2fr2md69Go259kqlvPJmiHNSjP5DqzCMI5nLRH77sZ8fgINWGZoOUa4U6wXFmYW/o8L6eGdmQemUdaxBQsRylSh3mEEfEkYwFlJkv9RMznmPOnG7C4210PMKDfQssDGjQSo3JrESQRKTBUtkqFuTIVJqdqbW5TRQ4Dpe7zJzLfQpOr3jbZS3+TG25cfVXhzG9MPoaC1FZuHz9bUATRcNXp985cTBQbBunVpqpET0UdKZ0qV6ognj0ZtZV+qVpmyfKlUS1zA6UtkLyRrriV9vUrfLfXvTTfNeLLTi+4mJZeYPUDkChC9qYNrDAiyKcwiyMc/PZUfHUV+N3VdOEwn+/Y/ME8NmGycAmQRRB6DiCM2QpeI5+Gluc9arD1/DWL6ZW3iE2MZrbvJg4epLmalk2Mpcs6MnmWLnLmiKdoSqNqrjlzWTBUKoudSJ5Naoh6JmU9xEqfP6cVadB78McTnQuKqYgZih2X5d1bjwR+DQmFkCC4X1j8nQfPJRTxa8SFp4aABHCPwAn8Aype+aABkEffFu9w2L77jd9iyeSleoyl31Ne2Y/fK+n3eIiHsYoRUwOwmZ2xboOQigfXbkMK95Yfv1qCEZOB+tWU+4VrLwCj30IXIwJu/JqJ6rkc+B3fy4lxbo+Xcv6QF2eqnr+pfokmVZi9nqCJl7e9sPw5V7344O2/2/svz3mAovS2iOpRmNoe3mCGhRxNeiNxMUcBTXjJoEnxJkTiyOxPSqBcBSn5DCNeN86WMFTcj2rD/IrtJWwPWZhpx5IhGvLFWr8XlmGNMCys1Qr5JliEhEsELiWAkWfFMMAn0PU5UKwRXFoUEQofP5wl1kXg3gJB6FMLH0LgOQiXCun8iwmyW6ZE7/yImm9y4A1Vr0AwaEtsV9xvEia5ZWx9cVer5Ipx4ak4hfpVoGhiJXa5PtnupBSAfXGYUlarXAzyL8xWRmnMovYNdOdZU1SeoXzkZ2ckVRnz2XHNKpGzWYx8Z1eqcvfX5dksXqzayaDKoXiCaqAHii2bXoS36OfYCyocINz9KFuzOFslLgpvUXIeKw6iT+Ril0zj1z3j0rdagW56WDd1XNzS9B+0WqFGfLjKYwHM72jpm0KvIp4rA2u+X4auzGqWp1Kiz+z09jdMmaKpGIq0mlq35NpVihTvi0U4MDFr+ZZZeHB3GLD2FLqcZpwyEWsBs5w0n66HZ5B/KzN5cdN4oyqwqWe8KS+6gqRLU79FuOnyzw6Lys3lGSjdZy7oSylHWArTIYpsWlTrQyjTOASLpEkYwCtxQTIPlach0EA8HGxh6s6YaEXj/BzuFkv21q3hBw7aI7L9/CTWvL6Wx7z3neNnLYXU6GkV5PNDlIPesqbt3kM+bZjyM8ilS1/fYqCqDiqHGv9nstS5oTAotnwyC/CypZGv5puvrw3BR+Khf9XAMMgiuM9qIsdgy4swM7NWMP457dEwCMXuysgcldZbZnPyax+kp52ZnspAUVlmU68sayl0VCuItwJu8oOFG/GQVHUbhl2lNsW9x1ae8qcACnMzs5jzXQ7vLlVaIp1uxP5DfNX2Qgyw7Tvsv4Y4eHjMPLfr8WRwxW//MWveHv1X+dGYchX5qZjE0m0joaoj0xCoGRK2r4pFwLDwFNRNczHSQ7BDQoNl0mDHiKLcq0PT+HB56s6mPP3Yn7eYja+Vs+120VVP07PMXm1P/7B6fk2FO6aB4kf1s1n7DJfrZvE5JZU8s4r8mZBMojunVpW0+IcJZDe3XHHK61pAeiXoqF4tK4CPVok+FY2Lb13Fp/bVk6RVO7ffOO007yidCUcpfRwAVjjgp3Wpu+MS6DD381l+kTDiL8hwVT49VPClTtfKediW4pr8L/9thEn3asj3n+ejwVXaaUvjz64rP5cAJYp/3AKR5RwbLiG9XQOMarlR8I9lnIJ4s51HWOzAd1yeq28vkH0HgQ8FQwKBbyMYDZOIocsDPcgiyMl75wyA6vX4Uod6IMkjlZqp8Wcq4V0Ljv+90eCB1PjBrEL3FZez/2DAKjJZQOxKjzA5XXwa6FRU17aR2wKAFdW1mnQ8Zn3/UGFcK0xr7SVWGZqLYImai8cVwuxHI12G8Jr5XAyN0ntNvaU1z5607Fz2ppPBIE0kyQCnd9V+3xU5JieSJ8RoJTFmdyn23IpGEQiXSd8kPeSuCUg/i4M9irUnmFTWL2PEpthUd6+BpkpFP4FjvkuyKdtV8P3ByrIR26WabhAPiIO3rqDKD8biW1fUXSKHfy4nkchWaaxdC/ggcwnjUti9M2H134v9YJI2nnNNSjITiVPPERtv+UzJiXSr301G8aAqxSSSp6okJYHITik8b/xOYN8h/LuNX5AvjP9s0LnoVqmH2FZhRK35y9f4qDtpv5d/fistfd7HnA1jhoNl1Sh4Gl6BzjdBg61rllpz5XSAXmDleUsqSTJ8Vl+5bBuuPc+hI83zVWfEZ5icB7izcH2r/N6s5Dhe95m+xGer0su+5VFanpeSbtX1+jaJixP65N7MwT+XNjaXro0DEsyoaQdL/gAq/5bURnwdSj+ODhqKhVrsVZYR2a8DQjG0gPB+ZnXtL+T0L0Q7BP34EPSTRgQxB4TilIVc/qCmb2QuYllV5gwzTBAHdTPXd2Bpp9zOAgx8irZlzrNKS1ssUn7hL9f5p3/cfK+Vfoq0qHj7O9ODVuo1JmSjOEXOQPw52rLs2C/WFzahtp8mzL1cg1LW8lAUL2mZP32TG0K0NdRZppfg5F4k5YeH0m8uvRwsM1GloMYllPBWkk5u9eOlcvGX10eMPXjpVjcQ4MA/1XS9EkpTOOISGYSxuoihoYdVgKlcImiFvi22NOLLT4LcKMxSPeXPFSjeLZdyOCo37GWpVWJv2pDzwe/uMn8YZVcGUqjIw412qukn0UF6t2/dTTZIBZ9e/6r82fx0ZPyvm+8rSg31z9P0tVd9I0k2ErfyD9j/P/vSelOqfNVw98HjIuT++Ye/7ZxDIYW8fTCMWYCXFoWDzcYcoVVAXBrgxyg63WzMiTWP/uwSkEYvVirz+6Z24KCW/h8FWNbTMviuxb8RpDrn435jWrOWizCIpVeUavUlGem1W1Wrr3C/cD0EGFmOmJGclXoxWGQ2oAzZOe8t5i4qB/NUa6uSpGRXKuhJ05V7eEEqi2R0NWYlHK28KM3vAbBNBk9DMexyywzk02hMAe2FI1B3LIoah3p9ERDKAKNxCIRamHaUrUXkQrYeoPFAAv/SrLaDMPKdCrLZ5wNHfO+AnAK3qUbGueSdy8F18ukLkT/C3NuOF4RORfD4v5cNEm5s6ngd/OFW4SkM/atwel+eJH7+hyFb4i7/eTBNkQFISl/gS/CK73CKy7fsp+b5lCBMIGfZtsqlycotYK0CVks1yjJSAXaChOoyFYDmULtURYRii0N3cp9RHe34jCpzJpIv/zioHeNuWClJ4VCML3rDJNreuey2+9fDZAsgKvTG048fzti2pnBhQy991Vd8QihJ2v744ezwcKuqx7c1efTn44czcFxCccCz3vlhmqIHRTJYFgpj1fnJWH8wmZ4Prvv5RNHz68vLNJdh1P0/171R96yVnn6mMKEQSbTloFGMIrlCkXuCh08ociCUHkdJYEXJDRPYrnuXVbJXX7zkB5XIgXngOchPgtgYJV9c1nbGRNULUgP17yk5tbTlQ3U5PzuOifKPeqpnvvBxJst3YtUEl+Q17hBmofR9Vox+CzHKMAZq+01DVKsFa4Sx66D4+02dwJ+58ywaIG43SR+k5p/WZ4Am/jTt2dx0mj8eTfkNnKmPmNfNaLASTf7Y8qZALL68b1H46afu4BzevVNUcSxqkSDENjrl1Tmqnmaxs9XKe2SdMt7jjk/j07Tu4JwN8BX7+/8FAAD//5GUOwmlgAAA + H4sIAAAAAAAC/+x9/3fbtpLvz6u/YsqwsZSYlO323u3zrbJVZSXRsy3pSXK6+xJXhyYhiTVFqgAo21H4/vZ3APALSIKSbKe33Xv23nOSRgAGg8HgM4PBAHzxTfPG9Zs3FlnUap3OdNwdfeh1utNefzq5HLaawYo2rc8hRk078Knl+giTpm0bKxzcP5gE4bVrI9P1edtB57w72bdpYN8iylv2e9POoP+292561hu1tCaidtP23aaPqOlovPznXj8uZFRZ4Y3ra7UXk8HZAFah5wFduASCkEIwAztYrgIfUZ+Yv5HABxoE/8HJnA1+6V8M2mfjAjEnuPO9wHKIVuuMep3JRVpTrohdm3qKuhlzIcFNL7AtT7DXGfQn7V6/OzpT95yIxZGJjq76HWV1HPq2XPH8h7Gy3m14g7CPKCLF2sNR70N70p0O253z9rvueNppd953dzRtrrC7tigyVpZ9a81RTGvUfdcbT0b/NR11h4OWFhDCxmxhFxGJjFa7+vmqP7majroX3fa429LrHrmZYuQhiyAwMBikURuMW3rdnYFHgE/+KyOpcPwGmg5aN302xSdvXh7/A+gC+UACTFnrQvUvMLfubuFgaVF7UdePDqH5a713Nr3onXdbdTvAKCCNL72zVt181WjozUOwGrCBFXZ9CjQIVyuE69bHk2uwPn533fgHoHuXQnTwD5i5jdq427kadaeTi/H058FgMp6M2sPp+dXP3YvuZNr9z25nOry4eseUoaw8YiFQj9wEASUUWyttf3ofuqNxb9Bvaesj89g8MixvtbDME6026V50h4PR5GxLzxR5aBVg6uQ1t3vW7U967YvpcDT40DvrjtQqjxzkU9fyVjhYuw7Cu4hka2Ft4abn3nBl8JBMy0iIKQZQuZYu2/3e2+54Mn3bu+gO25P3OcEuLd+dIUL5emcL73I46Hf7k7G6egwQPiVxgw/vz6YXg3cV1dcLx3B9Qi3PM1lTD1HEOZqe/TxtX00G06vhGVtYby/a72QSiQyWlm84N00rpIERrhyLNe9cjS6mg6vJ8GrSatLlqmmH2JuuEb4JCDKDkCZLZzCe9tuX3ZYm/s06HjFQyQriH7RaZ3g1bY8671uaVnOQ7VkYgWHBL+3x5fh973LYOxu36g25aDzs9ZnKJUU1gmhneNXG9qLegE0NACClqtfnaWmjFtVqGC2DNbq0/LObdkiDKz60t541f+t6KG2Pl2DMQN8lL0bQxsiiOwnSILQXexL0kOWHq04KtWceI0VyzOEZ6FVYzYjEc58R+cWli06qQ/+bBH5KLyAtfZOfuYgXuDP4+BGMz6DpeUzU4PpawBqvlxIZjCPpB6YZxA38lmaHGCOfarwQeQQpa6VMxL1Eov7M5X/xPzL7MxTQ3tLrv/0OmjlMkB40XbGUNPgCvN7Ha/gCBHnIpnXTt5YIWi34pGV0P2kNrQFfvggc1buj0VSScwxr017/Q/uid8Z5ik1TUsZ1MpaeSy4tzMgOcJstywvXD+9B44LS4OVLJl5N3/TG0/P2pB1pjBmN4hBVCThZR6x6fq5iKYmlGkvjg5AsYX2UJBcxUW0CkvydzEMsdf7Hi0x/DgisE3IWxtYDuATQ/QrZFDlAA1hYawSB7z1A4CNAHloin5qCTG8GLoWFRWAZYAR0YflyrUO4Q3Dneh7EastGDp5FaFIDXJ//xns2JeXUNy+K8v/403UExpzCcVmIyF4EoP3SHvV7/XenkjpB7CoUB1nJswk9wavrz3ewm1PjHWyj3+GIaZ++KZUfXUdcP34cn/eGb7SqwfX6bwf7jIxNn0sXCANarugDBJizPHOxPA4CojsTxrfuasUGK5GOp8uibuDHw+QAhWiIfTiSx917O27pB5/8A+4IIaegoq26Xhce0gf48ccfNcX4X11HWkMsrdAniDKS/F98PFPifkYtffNCSZ4Jl9dlsq/XsxbGcaMBhkfhCK6v2Ypk0zh1fQfdt/hESP8uNeQUV7meWvpGzYC+yShFMTOZJC+t3wJ86foBHjI/8EMKiXUxqXq+FwZndkjBcAwwZscNrUDufUDfuvePokLAmJ3EhJiOCtjfxaEG10xIH/eqypSXecXKRjmWc3WVWu76a8tzHVkZY/0+heIws6b7Qnqss14wJ1MaTNGa2UzQ2udjszPumkXjOgp96i5R8vuYWr5jeYGPMvjUGMuVpSDjs1p8Ua5OTloxYieCgQr2wIDysKEF+iYvr0irVXoQl7HTmvMfuMsrzURiSSRdmoGml9zh8txupZRXccltYB6AgcHMCk3kzJGyy0amDZwzhdPBde/4B/Po+zKDu3g4kJlYub6PHFM7/uHoe+1gFzuxzuW8o2pzFfcMfkBhFoQ+w2JIthSH4KCZFXqU2yZmmrFjBw7jRVZvaSArpmnycGLAKI91F/RMMVq7j6SyDXfyrCmho1hlK86k/D0BYySIUQxpO8z0+uNJ++JiOulddgdXkz8fZvJSy8NLKqRnQ0tlf5oKY2JyKbLs0S/bCY763Ul3nOu3/HOkSf6Xpm/63e7ZWJqhSINvqr3vmIHL4OYBiu6cgDflroO7FL/9DgfpBkW5AZH2H1rjAH4EFTWQAktKfY27KGxnmDoSShg+qKhKbtsee8bav/2bcO5kGWzt3QkQ4SjF2djBxU6bIylNH9G7AN8OvXDuZrZImt7JL4PReRykYagOGg+NVE8u36J1+r3c/MYc9XvwAqMZwsi3Eax4p8SEy4BQ7wFmAYbb8Ab5iMJNSMELgtWNZd/GFZkbHRLkwM2DjOFMh2VrByf57X0x+gsvgY0/CWd10ujUMA5OZeGPbbGyq9EF22vvqnPayq0Yw4c9GkUK6doYpSA5nQV4GmCLtFLjsIskMxVzjFZgBEM4WH9yXtc/mZ+c141XB3wlOXBAmr+um032zwWyHMbqcSOZRNlDYYwkgbxpiL2WfpIfoV6qUh7OTtmWieR4Wd46LgZjBfquiKaon8VZh6MBWy8ZZmUR7XF39KE7YtP6iOrKGX5Ee9VkZ5IWqpnJIVFbJpBMDR7ZY1PflCL5kQh5GpaNDUXE9nStb5QqGBme64f3hr5JooWRtnWWJ+/+Lz8m2mMdvHjxqhlp8AKuCIIbiyzgJnSZPwYv5F0yfrCXznSO6JRa+MbyvOkMB8spRnOXUPwwvXPpgvMKxydH8Lddq+WsN2rqWzjnkZ695ybS8mGwwag9ng6vLi6mbAretnsXxQ1/7MDywNcoHsMV9vYDjkpFSt3SrwQZBYzYOdtbtausQ0Ze3SKTWticf9b+7HnfA7ofN905VPuD18s+E79LCmCaJuzWnVrVHH2tudjJQiH6vK22vJsQMsq8AkjcAkiWN3KAhLaNCJmFnveQc8GrnYld25NSS7PaQ9Ggukyck1gYjPvPs73EvNki50gDo7OHjc2Z5ApNjU/4YvNgL4I7H4wR4CCgp+yP/dot1zuXIau83Zppu/pqVjWMeV8GDvz73/72PDKJi7p7NLLDOkZ2iNHkYvxzcqB8Lg5au/fILvjxAv6F+8xdNW1B6YqcNpu3P5D47JyYN15wY9oBRuad6zvBHTF9RJvWLTGoR4z03NqwPRf5tKlvHnt+HTU5vjetpfP375sqorIHpddd0h5d/v37BtvUKY4f/jrjwcut4yk7q0/KJKhJg059jJVFF8wmPIliVMF0thn/RmzHVb2WAz0pzruz6cxyvRAj+I6h/N+PwGbuvzEbX4ARVBJMfw+xVzCgKdt7D1RG80qkeZLYNIkmQwBjFIPAM6jNXLa47yyy5MfTXba/r44Js3rTmeshPv365jiS6pGFu8zcvM2JXJa47SSczdz7lr75rtiSW6dkXlp1Td/8dPp9pDVA3vzxTJ8HRYhzI3fOnCCgGEww4pgk29qzGuD6SeVcfx9/uma+qxPk48qxFm6qJBBJqVQGI2oI2sx9zLPKfsnLIFLHpWMn/BiKIWUn8JHkITBXhvECjBcSx2XYMB/D7au9+KzJp4GgPlWwyHLMhFpvyJqTLjP2TyrUIlaZ5GAwv+nenEQgWw4RjUqYI7FafMfVIj3fZqNOIulifovtytNbrXdk5foaaMRz5wuqNXIK8RE0PRegPjJ/MI8UG2j2vxLx1626dndHJJrx1BZi73zSeGCjjtaWF4fkzmIqzLXMzlVzvn9GOPXPyjMEemlWcoHwpHfQ1tlYK9cM5HXzzmK4uZHzftJD23+JaRKZGQqxDhFeukQczSskvJcwM1nKAULVInsSPitVLA/TBQj/p4E0pKY/b4nyhz650TE5yvQ00Iz1sbYN3hXRdgkRGXUOiwQsDyPLeZCD7lVsHIqUFz+gcIPSdef681ImRc4l+6fFA78B4zM8LjxXFQ9MAxvc831kyC+Xp+sgl3jWDWkqxX9aUJRtET7BGZ+ReNbnn6d0uWpVTpi6z3IfccSn9ryIz6bMWqSBvpFlGVWFbKTTOIaoKSd8e/35nrkmZfJix1w1+pQG38fuI6PUUcjPiVhqjyJQ9DTWx9ISWQpXSzGebcvo8X7dXnuFtdgs7D26aq9PLaYQe5U0WIuTNy+PGToiBLqUrgtvspz0JDbaBe3XOmP81HzV+FL/iLrXGJuvGjrPTKzbFs2TePlSUrXz0dV4wvYIxVBUA16mEpON+etWXf+mkbNT+1jEP2BDUWWNvvsaW4Yn6pYcl/k6upOTdJITsHL98/AGPd/V3tfTfrL7JgmB+Wu34Q36So5tIoRd3qzcbc4JU/qtclL6s/xWWRNKDJZUgDFprE/U/p96ulVD3MPvy8/CV/X9shyKbbxVjr0ie6ei+g4PrdTt/3hpT/DSEikq5+yrOGn50Epp1qLtK6XklMUA+jSfTCs4ZdpjvbL9XRgo3Yh4olfyiOWlVaFidZO/jBciw3LsgWTmcICtzL/gs6S4T8bmX75Bltbt/udk1O5MuqIyA05QEMoZTF6U3IzjOFkIspeYqElxO+m+AeM8tSy6TNY0TYnHyeWwpW9KHPHT1urD1q2HnyUWm3EH4sxN0Ztqk5KWd0ejwagcvd/Rixrx2eYftjctpKOZqqRNFYMytO/fmTAxcSckdAJ5/7VjiGwrVtazZnb8piIhZ2tW60iS1FY4Djb5ebDavSq44cIHOD41omL+ED8GKUfLGFXQMCKhR1v6hqOkVMoY1kVpDdRWNRuYJvs4Sc5eymC2mDbHhn5aSqITHH/odydTViZON8bJOj01dFVR6TqcqlLljRxVZXCFGhJETejeu5R5FGalT8FTLPq9NKVC36iIPmddlwTV1DdSj3xpK0VTyFaQyKTnWbmkRdemXjpbL9wZ6Mf8LtJyRR8OgVq3iJ8rl660R2CRJK8d1pYXIhMGdIHwnUtQ3O6Y1aELJMprstt/5mKhsmriUUF5pGbixpHs9Ypr9ZP558lyJbSZSz4vZH43lllXOI7NsSZTbeobmQyXbzmiU2RVkmiafpETaMXFV861uISZXlSqi/7BMBKUOMnZ5zi1Mq6V1Gk25weNfKptnnCcR125GlJIKrbjzyCIzhIfPQUqE0hy/Sw3btaGWniOaAZ1itzvb81XkXmkuH4ay5crefdy2NIEA8Y61ZLk4LwyzKcVDhBiC6ZQsmZKNOkvqjhZkPIryqqaqylkusLIsC17gZxEgum9kNMKyWnKs0PVwYXo4spne1d+/0/04Po0yDjMp7okocbP9+vHyILZvCLBwmF4dhKu5yvGeqrYR2+pKI6wk1U5SZ4dKOSi5J05IaPsFYDUnzt5TCaIYsuYmhd9k3efKhZSwjbDJlhZ2FoiijAPOlSMiG2kuGbM3TVSXljJhiU7QOX7q5zLkgwqWU0fdMjdW3oGFxlQb31PYjcib7a2j7KnKBgklAfMN3+52Woq62V0pM3hpnqskYTwVWr5dE3rXI1G3f4kU916NkE7rEF5JteZRRDO4aQ9etfNiMdHqAnLBC3XCHeC5crC3NLneTk1tCPzyDzSIqZgOUqROswjjIgnGQsoM1nqJ2I+x5w/3YDF3e56gAH9Hloe0KCRGJUbiyCJSIGhslUqzJWpMDlVa3ObKnIYKHWfP5H5Gppc9bbJXvqb3HDj6qsKZ35l8jEUpLZy+/jZgiKIhqtOv3fmYqLYMEivNlUleirqSOlUuVIF8ezJqK30S9UyS5YvjWqZGyhtgeSNdMWttC9f4Ju97qX5rhFfdnrGxbT0AqsfgEQRsjdtYIURQT6FWRzh4Len4qurwO+upguH+XzH5vfmsQmThUuALILQcwBhzFbwGvk0tDzvQYOt569ZTK+8RWxiNLN9N3HwIM3VtGxiLF3WkcmzdJEzRzxFUxpVc82Zy4KhUlnsRPJsUkPUMynrIVb6/DmtSIPegz+e6FxQTEXMUOy4LO/OeiDwW0gohATB3cLi7zx4LqGIXyMuPDUEJIA7BE7gH1DxygcNgDz4tniHw/bdr/wWSyYv1WMs/Z7yyn78Xkm/x0M8jFWMmBqAzeyMdROEVDy4dhNSuLP8+NUSjJgM1K+m3C1cewEY/R66GBFw49dMVM/lwB/4Xk6Mc3u8lPOnvDhT9fxN9Us0qcLs9QRNvLztheXPuerFB2//3d5/ecoDFKW3RVSPwtT28AYzLORo0huJizkKaMJLBk2KNyESR2Z/UgLlKkjJZxjxunG2hKHiflQb5hdsL2F7yMJMO5YM0ZAv1vqdsAxrhGFhrVbIN8EiJFwicCkBjDwrhgE+ga7PgWKN4MKiiFD48P4ssS4C9xYIQp9a+BACz0G4VEjnn02Q3TIleudH1HyVA2+oegWCQVtiu+J+kzDJDWPrs7taJVeMC0/FKdSvAkUTK7HL9cl2J6UA7LPDlLJa5WKQ3zJbGaUxi9pX0J0nTVF5hvKRn52RVGXMZ8c1q0TOZjHynV2pyt1fl2ezeLFqJ4Mqh+IRqoHuKbZseh7eoJ9jL6hwgHD7g2zN4myVuCi8Qcl5rDiIPpGLXTKNX/eMS7/TCnTTw7qp4+KWpn+v1Qo14sNVHgtgfkdL3xR6FfFcGVjz/TJ0ZVazPJUSfWant79hyhRNxVCk1dS6JdeuUqR4XyzCgYlZy7fMwoO7w4C1x9DlNOOUiVgLmOWk+XQ9PIP8W5nJi5vGK1WBTT3jVXnRFSRdmvotwk2Xf3ZYVG4uz0DpPnNBX0o5wlKYDlFk06JaH0KZxiFYJE3CAF6JC5J5qDwNgQbi4WALU3fGRCsa5+dwt1iyt24NP3DQHpHtpyex5vW1POa97xw/aSmkRk+rIJ8fohz0ljVt9x7yccOUn0EuXfr6GgNVdVA51Pg/k6XODYVBseWTWYCXLY18MV99eWkIPhIP/YsGhkEWwV1WEzkGW16EmZm1gvFPaY+GQSh2V0bmqLS+YzYnv/ZBetqZ6akMFJVlNvXKspZCR7WCeCvgJj9YuBYPSVW3YdhValPce2zlKX8KoDA3M4s53+Xw7lKlJdLpRuw/xFdtz8UA277D/muIg/uHzHO7Gk8Gl/z2H7Pm7dF/lR+NKVeRn4pJLN02Eqo6Mg2BmiFh+6pYBAwLT0HdNBcjPQQ7JDRYJg12jCjKvTo0jQ+Xp+5sytOP/XmL2fhaOdtuF131ND3J7NX29A+r59dUuGMaKH5UP5u1z3C5bhafU1LJM6vInwnJJLpzalVJi3+aQHZzyxWnvK4FpFeCjurVsgL4aJXoU9G4+NZVfGpfPUlatXP7ldNO847SmXCU0scBYIUDflqXujsugQ5zP5/kF7H/yfOVssdxqVxXxK9SdXhIHcDRRaluuaPchw4m3csh30y+HQ0u045bGn9DXfntgzLFP0/bq4QWWySxx9k12KiWGxH/CsYpiMfYeejEDnzH5Un49gLZtxD4ULAQEPg2gtEwCQW6PIKDLIKcvNvNkKVej29rqAeVvD6pmRp/fxLetOD43xsNHiGNX8IqdF9x6/pPRqIikwUornT1kmPDx6FJRXVtG7ktyFZRXatJ517W6/sKq1lhM2vPMbfQXARL1Fw8rBBmPxrpkoSXzJmaIx/hKlgonMxXahF/FLK0oyxVVIaui2vCJWBV7RldmiIjW2FsPCVkLOb8l7go77tD7LEtH7pvHSTnYh9/bV6/lpFs/fHI+F/Xrz+Zyd/m6+xAzHx9UDBHhq9SZaW9KF7KWlfolsJmKbpo/T/Q0/FUG6jkXQO+wV1hNHPvFcJ68UqSQFS2KKX7ZBsF3W+/bb5StBWz3xXIgOTHrvNUge3Ii8h5ClUTW40RKuV4/kt9hdDDafnqWsVlELGXYbqc3hfsLa159lRs56I3nQwGaYJWxlnvsv2uK3K3TqQdBqOVnN24SxHLUjSKQGxF9E3SQ+76jfSzODCnWHuEq8r6ZYzYFJvq7jXQVFc8TuCYRx9synbrfN+9smwEtz8Q0w3iAfGlryuo8gPn+DYjdZfI4Z+hSiSyVRpr1wI+yNxFDOk4qzNh9d+JOEtyHSPn8pdkJhISnyI23vKJkhNpjH+YjOJBVYpJJCVWSUrC251SeNr4ncC+RfgPG78gXxj/2aBz3q1SD7HEMaLW/PlrfNSdtN/JP38nLX3ex5wNg6NlxSh4emuBzldBg61rllpz5XSAXmDlaUsqSd59Ul+5LDauPU+hI83zZWfEZ5i8DXBn4fpW+R1nycJc9Zm+xDkL0ovZ5VFanpeSbtX1+jaJi8yX5D7awa9LG5tL18YBCWbUtIMlf1iYf6NtI766ph9HBw3FQi32KsuI7NcBoRhaQHg/s7r2LTn9lmiHoB8fgn7SiCDmgFCcspDLy9X0jcxFLKvKXHyGCeIAfOb6DiztlNtZgIFP0bYbKazS0haLlF+kzXX+8afr11rpp0iLiq8qZHrQSjdtCdkoTj01EH/muSw79ov1mU2o7aeJqM/XoJS1PBTFS1rmT9/khhBtPUIo00twci+S8oNe6bfMng+WmahSUOMSSngrSSe3+vFSufjL6yPGHrx0qxsIcOCfQLtaCaUpHB2LzNxYXcTQ0P0qwFQuEbRC3xYRBfFFNUFuFGYp1PJnQBTfA5ByoyoDYWWpVWJv2pDzwe/Es+0oyq7ipFCRhxvtVNNPooP0zuy6m2wYC9se/Yvy53gXVlFqqH+epq8o6xtJspF47eKA/f+TL603pcpXDXcfPC5C7l9/+NvODxVSyNsHw5gFeGlRONhszBFaBcSlAX6IotPNxpxY8+ivLgFp9GKlMr9vagcOaun/UYBlPS2Db1r821uq83PuN6Y1a7kAn1h6RalWXz6TXpFWtfoCdwvXQ4CR5YgZyVmpZ4NFZgPKkJ3z3mLuonIEQLW2KklKdqWCnjRduQdNpLJIRldjVsLRygcI+P0atsng6V2GXW6ZgXwaDC2gvXAE6o5FUeNQry8CQhlgNA6BUAvTjrK1CBzK1gM0HsfjX3DWdhBGvlNBNvss54jvHZBT4DbVyPiORudicJV8UkbkZTH3tuMFoVNxKPPfywYJNzZ1vA7+dKvwGIb+WTi9L08SP/9iyJa4y38dTFNk1pLSly0TvOI7nOLyLfupeT4lCBPIWbatcmmycgtYq4DVUo2yjFSAnSChukwFoDnULlURJyHFoTu5zxOPdnyemDkTyRe1HNSOcTeslKRwKMbnvWESw+5cdNv9q2GyBRAVeuPph/dnbFtTuAill76WLT7NlVyG+PD+7PBwq6rHt6B59OfD+zNwXEJxwG+T8ENqRQ+KJMssFMaq8xB6fzCZvh1c9fMJ2G+vLi7SHKFR9/9c9Ubds1aaVZDChEIk0ZYDfDGK5CQm97QVn1DkQCg9OpTAipIbJrBd95mrZK++0MwTAJAD88BzkJ8EsTFKvmSu7YyJqhekBurfU3JqacvJKvK9hzgmyj+Wq575wkfPLN+JVRNckte4Q5iF0nePMfo9xCjDGKjtNw1RrRasEcaug+LvonUCf+bOs2iAuDUofegdUbtpM0ATf5r2bG46zR+Opvxm29RHzOtmNFiJJn/EfFMgFj+KYVH48cfu4C28eaOo4ljUIkGIbXTKq3NUPc1iZ6uV98A6ZbzHHZ/Gh9ndwVs2wBfs7/8fAAD//32TM1T9gwAA - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/CustomData index 21bef707f18..9f13ff5bb4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/CustomData index b084130818c..507a204a277 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/CustomData index 9deb08c55ee..656ce6ff098 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/CustomData index b1593107a35..32dd983f014 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/+R8+3ebxvbv7/ordimt7dZIQnacxDnkFEvY4VqvC8hpruPDwmIkUyNQYHDiY+v+7XfNMMCAkGPHbW7P+borqxKzZz8++zF7ZrB//KF16QWtSye+amiGYZsfTEsbdK2+bVqqYdnHqt5X9oGOdfujSc/Wh7plW/pAG00s5UU6cqz3Nfu9anXf5SMH6ci7Ub9nv1f7+nDyu3qiDS3lZTpgaH1NNbUaglcpgTq2bH1oWmq/nzN9nQ71Rt1TzVgb7bRLw73R+2F/pPaKcbk0fqp9qKHplGiIEoQuH94rDXMYdRhIg9HRBzqtr5sFTh0G1MC0T8YnG0QfcBzWbGOwdUdDS9WHmtFbJ2HAGZNhd32QQXf6yiQEQ314ko/ttYuxNa32GGinkyONhMVwZNnHo8mwp+wxqPTBSc20vWJaX7N4pPb2y14cnNjjCafq3os1U7tWHd3BOp2hEx3XSTejR0OXM+rVGuWZZpj6aGjrwzO1r/eUPQZld6iv270v544eG6Oe3dOOaog660Tj0xNb7fVYwjH0RobKuUQzjJGh7DN40kzlDKETX2Ux1BsboyONPWUajybWEbGSWDdMh15wvlfHum1qxplm8ARyLUFvaNr90eh0MmZknVoy9f9MDG2dOAsO1VLrc+GgzVFUk/BA5gargX7AFDl716v69mA9sNYEv2xzSbQ+yiR3J6Y1Gtimphrdd3ZvNFD1oZna9ooxOBlP1ue/2uMGDZ1EFp8Zr/bXh6v2vXrB0Whnelezx/3JiT4sMTooiPTh8cg2RgO7OzKMydjSesorlg7mye8b5bxur9NwEl7LRZXuqXq/8M5rrn5Pxj3V0oqhLHNMjQT+mU7zyuwa+tiifjI0tVdwktttTggpp5PxiaH2NI6CU2M8MU5YwMvtTp4kpCAYGnGDIrcZ/l3dtFXT1E+GtjEaWfb4vSLL8toYjZ+xZgx0k2iqyDJjO1Zp6eqOxh8okSLLPOfxuP/BHqum+X5k0GQ71k8UWa4kbr6GjFhayHJW0dIythY+svyyRDAaa4ZqEQzT0iDLWfWyjJrB19BIwaJJaVpq99Q+0SxbNQa2NTrVhoqcLaFVkqFmvR8Zp8yWScpYkbMVtUpuTo6GmmWPDe1Y/12RyaKaJ+XRRO9ntUwm62IKynt1bHcNjYRLCka2KvEj+tCcHB/rXV0b0og4tc2x2tUUmaxSlNrS+tp4ZFi9UtlU5KzOFeNZwKfDmSGGpR+rXbJeGZo6IKtkxkeRsxpXQ8SYKTIpbWnjY1ljEuS/f7C7KsHtTDMsRc4KG8sMMqQZlqnIB3lzwtQ2tS4B1eqb9tFoZJmWoY7z5VT7XetmeZ9Hx0Hm4J5uHql9zdbHlnrU10xFJmUtrZnGxLQIh/XgyopbTzfJLNs03ynyyyziDX2gGh/sod619TFXVOWXLPL1oakZlq0PeqZtaKZFQpREnzEhmgytkT1Qhyd9zaY6KfLL/cfOO9b7lmbk81ga9QgQ2oZ5x6TgVeQdPHZeRd5LLngNjfjCNrT/PdENrad0shI1HNGioJ5oJgOmk9Umc6iOzXejvBryTWM7y4yxoZ+RQbJ+klaARGUnK1fkIR+unfZ+ljZ5uz5QzVPGlI11Da2nDS1d7afFtlfbE7ezDCTtTLXV6bQPoNEoWhHaVBFtmPYvoTJGnhNUyepvy0qn/apKwS2+71VzoHTarx9ksqd05PaDFPtKJ6vdGyheKB05Q4X1IVmQ5/2pZpyRRCbZqB/rXeILY2SlBdRST5SOvMdw6mvqcDIuDLH1AXG70pH3Gw1vBjMvcKGF8BQkfLtEMNv1QQqcBQLhFylCPnJiJIC0jLwAg/Qp8TB03rZcdNMKEt+He5hHaAnSJ9hqbr0BfIWCBgDAyFTE7TiMMEgRZd/KuZE5zudr2Fo4eHq1LbZ3ofWvbb1n9/VTTdmehhEK4517vadsN3/Z2RFbu+DswB2kKuAwWS5RtO2cdy7AOd+72HkD6IuHYbW1wyRngfFEDfJwerJguAccgeTClrC100B+jKgmaHoVglARHYQYZmESuEJj5jUak6PJ0JrYI9MeqgNNEdLvQmOgGtRb+QB7UIzQfrI6TB4KDbrA0T1qQVA8Expsd6S0kjhq+eHU8em2+jq5RFPsN9KlPh0lz91weo2iBvqyJGjSVu5MEcS7ovHLED9UVkKJTjMtXkpw47mewwTkbpKb8l5TluRs5vBM7+lqxprGq22+UzOR+QNeWt0ckgiZmmcrSbzbwHiNC2eY9WGsVWwlj74iWhEW06i58KZRGIcz3JyGi5ZzHZN/0nyZFKpU2BZMSU+U9sNpIe0OeoowJVEWwPWruOmFECUBSCQxbzwfzZELkhQtQJIChKWrMMYgSZ89fCUFMSw997C1jMJpS24FcWvpEeJFmJCwvl0i5dIL3N04miqtcIlb82Wy68ZYaS2C9Eu4xF4YxEpE6B6a6UwpYTE7e1DikBvJ4mDNzjTg6gwMEFaYbUvPZR9vIFP7MFM5f8gUOOS1oUAJDdKFd9XuO83u6YbSunGi1tSZXqGWQ+ZF0yvvBsWtBumo1SFp4TjiKAwxoUsnNLQzbWiRXePJCW3CMn5+OG85/04i1BrksaCS703tC0ZBTLRpdpMYhwtzGnlL3EI3KMBxq9GdGH2yAx5PLKWFF8vWNIl8+wZFl2GMmmGCG3T14CnCyInXKQztRDct4wNrhtMNAK1JhL41DYOZN2/eOgsfGo0I4eh2unBtb2bPHM9PIrS9A3e0mpExD8WKKL+Bz46H7dhHaKmInTeAvQUKE6yIe28gvvJmGH7+ufKBspiFEXjgBSBux+gTyCAypjtvwA0pCflh7EDMPgji3W8rgfC6jJBzDff38DGn9mZwDqIHEvqU84MLbinKfmg51r6gaYKRCx8F8bePAplIpMRvSqQRwkkUgJw/zGt69kONB7EAIh+defSjGwbcKrBZ7KoWdTv2fBTg/x7w/yxEebiC2A/D62SZo8QjI3PIEJRC7Pg2j1WEpmHkKuI+nRpjJ8J0XBG3XQcj+PWnOG0oPl95PgIcJagEVCYdpJxrBplEVVTaBBIiZAN40ySKULBBaoHu9jZPCBKn684OSHMEYsm6zcEvWISOc3FpWoRIMXN3n2QZiVfkCg/7mjlws5fzZHkQktSGPJWepGYYfQ3IGE3DwI0FkpJ1GRmEdowdHP8dcpKk5N8nI3O05gjb2IkuHd/PUcJOZD+EVEpOkUoiP0vH1NXiHTd7lQEubICOo63A50Qg4X/PKAmR9hjoOG7fCF/mrIM2CWsfpFls9m9ApJ/DQpm3IHKrPXTe/iyX+BC1zkH8J/ygQBsu6pShqePgEqMSAZeBz/WsPYvChR2huRfj6NYmLaZNWolnepzMmoW+iyKS916UbkEzkISd/8awILDBkmyj+aBgMJAulYEspV0aiHcbW7oVCSOuJXxeGHGM/vQwuvQCJ7r9ahQxsgcCiVEsHXxVDaZMxno8cZMqMVUWWAmrDbFVnlMOLxo20qwiszZoaNBtjphSAJZFwiY3rsVhLeevx2MJyT87JJ8Qll8NzZrwfDhEKxM2RCzdds08v9gH0SePXPvJxDQ+91l8vijFHM/rq4WMJy6H2jkNNDGTBhcXeSmrr2I8q2eWsbwnqV3jcpX+xoscJZiFUdnND3i48OoeJV06N8hlByB0sz/1w8SVvMDDEqGNm5SC0qanpcefiPczPisBREpBvMaQbz+lP8yZbv2ojY63ONgfDoPv0R5SSuSC5IHQIuq1XKFQsMgGLlTeMjgaq0Z8G2O0mGISrbRbf1r3DfHNlBT+bF341n47VwNcBy3CQIqQHzruYyYwvUFkqnyHtj2XTfYrSVyIlqQglJbOnFRyvzTnjzCJAscnk6Qkn/BN6VS4LMbh8j/OX0Tp7+msJ6PqerFz6aP/OGCZ3n9PbNMKQ0x5Gq7PBZMmnJSC9PcB5AZFsRcG9hxnYYZRjEEQt+lV2Ay2foo/BlsgiL8JcA/sku0M7uEKOS5IAcg7AigKCKIsNFaNInq1gMSAGrhmqZivlXmQ2214AXttEFN7DC29iDYt1ZqYivjPRn2pk8tFDt5C5SBelKWUtumH80YBcFkASAEifUgFZta3yTANE9+ld3mXKD1G4g/BSp5g0Hoz+AFqzpVA7hBLOy84Y1CQZor8KPEptQuXtwWLzbrw3uilKUndwZVqb8bp4nsxlpLAwzFI0ozsDSTJKV38CqLcjFF0402RUFG4vBZAZqkokxDfBGa4XPJgrlW+R7FhtIwPsxstblDUDRdLh7vXyK59VUXcTjsRGe5hmmCQXBB+FUhrLe+USI9y0s4m0vNz0uHlvFcsHfInRyuBtemlho+kEnJz9hwD4OemF85b5D+Sh1kKnkEq/MqbX6EYn6VprIjb+rGp5JuOVMZKyFUXKRNp1nlAdfGuzHRVp30ea6uGG34OSDntocvx9dwKj/neenx6kt5Ks+Qm3/M7+07+qKcbWtcaGR+yQru4dr0IpCWIpeG0CU/iKxfEu9LIKq/ka1lHYuig3QZniaU5wpApzFgQ9VZK+pmptvolFRQuSWfqLDE9zsjmMeMeWDXK579vGgD0UpxMUQh+zILStSQJcC6DH7HSuMvrOUhse04slRySuGE0RfShi2bFXQnZ9RBD/HB6HdPHGRxSCL3l9fzwcJTe3B4eKjyX0HcLxKTb6iVR42sLFzVafkOXqPVl6U1aNNn+gQBewYF9JFwbq8Yc4e54okbTqzzCnGh6pYjbSdr2LnYa3B7zjgzu7q5oRjrky8G+QARURqIFeb6+F03zKB1urK2zbHThZqO09nixagwO9vkSS1TZLlTf4YXWy5Q3SGtzNc6LDXZCM4mKQ/g00NhZDj2HkFlmsPO3CM3RF2XrX81fP7bSf4fNX8WtEmzF9BUo/5eAz0/OdYbq0tMGfh3MvAhEWz+cxzYO7fTWu6IuduJrmkfFfUk6kFKTijJ0StdEP+0NdxocIV2YLf4qSfjpGH6ymj/tDdnpH4nbTK+sq2BSAnfzVEr3RxwGdowjL5gr4jb88Yl0PkXjJklONAfCI8bOYglAi2+m0kpYIx0tUeSQbNNdQsoUqCFkNZg+EeRmZ2+dxHLia4IOpGIJljWMNIJkH90gH0DQg1kYLagCjr9OO0Bx7MxRKpQsoj7CyD0E8ZcNfMeeS2nbG8atuvGtuxywQxDzz7s8OIcgct92MzgOQWSfdnPzCQ/2cZez9hDE4stuZtohiOzTbm5BRjn23N1c7eyh5bmrNEe4o2TxjosLegZ6t/56yEq8K0fxqklmNYrCKZDiJsAPCgWoXA/48se1N1ekAbLja29ppy9a2W7kkV6+6LNJZf+SHpGH7q0ibhendiC9A2GAsOM62Dmk990CbaaXUfjlFoRfBBCuMF4etlrywetm58V+k/2/tWCzWl4QYyeYon86S09iuwil0+7IUrsjtWWWc1yqfYup1JDC1qxZEkRiEulqSCIi2GpOw8UywaiJnXnc92IM97Bwltsx8tEUbzfp2nBPtzbbgnntLU+WSY8CphMzfF94A4In7OzsnLcvmjeOnyBotUCYOX6MhHwmBSql3CrdKHA6Cpx/WGdqXyeXyEfYpq1zMLenKMLezJs6GNlRiGl0/9c6joFQ77uoxnfnF6TL5T1Hl8vrWGKsJIanxPCUODylDE9hB+4hdWXZV3dlvXZ3V0I1pdjyN/WRE3DvnPzPSanHu4Uk0xGFq5ui9VXcidQMdC8eOJEXoGgU0Xfl+l6QfKn0BmGctTCsOwljukupvDZLNin393UE/Nuz61TrL9Cut2Tlg3qvugFqoBvHHzvTa2eOeqxTnhj9ih20F7uTD6UVZ4wUgCAmkV/TBwLhCkKE4sTHinhHmjHu5Zt0AUpHG5WDIV7PFP0U7bTW/a9PTLMwwcsEK+I2cXkWcMRn6X0mUS0lKYcV8ycbanBtqjeDWo+CII7M8oFBnLghYDeYAdOKbC3++ES2FSn/Pz7BZyfORmn3UdZzrSHPtmkZwxcgw0H7W5hS6NKVNlmSltBI3+iueHSZulyhR1+lgBXETvlJtj8XxD2BHXLR3zJWBPaeUpm8H35GUdeJuap5F8Z0H48j2Do/pO+nH15skc8+IT68YNn243EYQfpq+S5xiJgLBy8G+VWzvQ9O4IIQya/a+wJ56PhxCC6aeQFyyY6TZH4YkJaFdiq7aa8vZq+1ezGthDjMeKRyTW/h+U7k39Kta6edCep0mu39JozwFYo+ezGqY9RkKDQLE1j2UuHAzXD8z85toUEGHwThZ252kdU1IOw12ykEN3vN9lMQYE7jEaAsvhb81HeV9M62hZl7WTCtWAkWmm5eSfS4SVjkQbFqfhRuyJPsgOajIOzQBSBI/NpSwgfc+ty6l/fqSl4lmN97+CpMcC/EpSjNGNPjYuTCVtz62Gy15lulnfkj7U4ukwAnzYhjXIhdPWw1Z/GG+ZntfKqzOs6I47885UsFpgxIlvRlWP+sQsF+Kyw78jKV7Z1G47mRKaRnGxs8wusruGjmJD7OPfBs2U3xjkG8arJ6Hp91Ho6RFEffwcVxZ6xsb5QvRd+iQqlzKskiqhHNaM9UGhF2dipKLiN044VJ3P+OytbKLCldS8ErTxaDm6z2kpbiroz2+W8XpDZyl2d1wfmrsi2IdzdZDhTs8xcP6mXVg/ZnyqwWyr8kjB9Oq821+uaviZLzi8zD64jfbMT4Ufjm2OZG5ZV5kPjYU6PpVaU2p6Z6C2eOrPAIjRPS2aUVugHw4x+faAuxNhtmUbigQ9MwwA5ZtnXCI26CPoNu+dm5d9FcVDmcdUgnEISYpsNupjK+cvBuetzNnjyGWWM9aiomZR6rU2Rjkftagdsgg0ZFjZznlLLHlrHnqPTMgvXUYjWY9C3dpn9r43FR/a0V6smC8o1gWpI2l4MnoZ0l/mPT/nFqZ7/tU2rANm+ksx6MnQoUpwSd2v6LXSj+zbqvdKvizeCh2gvoixdjtvuYkx3HFYKCvp+XsAixvU+Y77I2kpcFsi4M/ozO74E+i9NCef6yyHETQIqKlZleZ3OjKwEKneDnn/M1KP9zA0QhgV4J1g9V2DU2H7R8i4kM/a/a9n3sYqsVic5Vo+G47ml6zjoMXdR3LlH1krGvHml927QMfXjCndGlL4t4IIg8gQD/+Mc/QBCzv2swHPU0mxKYAryF4s8MdN7+XP8yDDv1hSB0EfhEHyhJSDfyEXLcW7LKxCjAu2R1vvKCOdmrO+76ezvlto1d6LoumVEnAYewrkXcbDaF4jyWnpvVWllNihoi4piax6td8Y5XZFVzG13HraQ9t9WN0CK8Qc9xLwJhTadnePjxULSqYls5GLxyFaLd76RcVeyjlPv/o1umWk1EHPvOvBIMx3315OFY4CjWLCJjj7eFUvNW0AetioxN0PI0u3+JIhUZj1HkO+hR9ueP77T+WDNMbXTc+H8BAAD//yXG4DBLUwAA + H4sIAAAAAAAC/+Rce3ebuLb/359Cw9BJ0gbbOGnapoeeITZJufHrAk6nN81hESPbTDC4INzmpD6f/S4JCcTDadrM9M45N7Nm1UZbe2/99kNbD/zzT61rL2hdO/GioRmGbb43LW3Qtfq2aamGZZ+qel85BKSt2x9NerY+1C3b0gfaaGIpz9OWU72v2e9Uq/s2azlKW96O+j37ndrXh5Pf1DNtaCkv0gZD62uqqdUQvEwJ1LFl60PTUvv9jOmrtKk36p5rRqW10y4090bvhv2R2svb5UL7ufa+hqZToMFKYLqs+aDQzGHUoSANRifvSbe+buY4dShQA9M+G59tEX3EcaiMjcLWHQ0tVR9qRq9KQoEzJsNutZFCd/7SxARDfXiWtR2087aKVgcUtPPJiYbdYjiy7NPRZNhTDihU+uCspttB3q2vWTxSB4dFKw7O7PGEU/XgeWWoXauO7qhKZ+hYxyrpdvSI63KDelmhvNAMUx8NbX14ofb1nnJAoewO9eq4D+XM0GNj1LN72kkNUadKND4/s9VejwYcRW9kqJxJNMMYGcohhSeNVG4gpONL5kO9sTE60ehTqvFoYp3gUeLRDdOm55zt1bFum5pxoRk8gVxL0Buadn80Op+MKVmnlkz9n4mhVYmZc6iWWh8LR22OohyERzLXWHb0I6rIxdte2bZHVceqCH7R5oKo2koldyemNRrYpqYa3bd2bzRQ9aGZju0lZXA2nlT7vzzgGg0dexYfGS8Pq83l8b18ztFoF3pXs8f9yZk+LDA6yon04enINkYDuzsyjMnY0nrKSxoO5tlvW+W8aldpOAmv5DxL91S9n1vnFZe/J+Oeaml5E4scU8OOf6GTuDK7hj62iJ0MTe3lnOR2mxOC0+lkfGaoPY2j4NQYT4wz6vByu5MFCU4IhobNoMhtin9XN23VNPWzoW2MRpY9fqfIslxpI/4z1oyBbmJNFVmmbMcqSV3d0fg9IVJkmec8Hvff22PVNN+NDBJsp/qZIsulwM3mkBENC1lmGS1NYxX3keUXBYLRWDNUC2OYpgZZZtnLMmoaX4FGChYJStNSu+f2mWbZqjGwrdG5NlRkNoWWSYaa9W5knNOxTFLGisxm1DK5OTkZapY9NrRT/TdFxpNqFpQnE73PcpmM58UUlHfq2O4aGnaXFAw2K/Et+tCcnJ7qXV0bEo84t82x2tUUGc9ShNrS+tp4ZFi9QtpUZJbn8nbm8GkzG4hh6adqF89XhqYO8CzJ+Cgyy3E1RJSZIuPUlhY+ljXGTv7be7urYtwuNMNSZJbYaGTgJs2wTEU+yooTqrapdTGoVt+0T0Yjy7QMdZxNp9pvWpfFfeYdR8zAPd08UfuarY8t9aSvmYqM01qaM42JaWEOVediya2nm7iXbZpvFfkF83hDH6jGe3uod219zCVV+QX1fH1oaoZl64OeaRuaaWEXxd5nTLAmQ2tkD9ThWV+ziU6K/OLwof1O9b6lGVk/GkY9DIS2pd8pTngleUcP7VeS94JzXkPDtrAN7b8nuqH1lA5LUcMRSQrqmWZSYDosN5lDdWy+HWXZkC8a2ywyxoZ+gRvx/IlLAeyVHZau8EPeXTvtQxY2Wbk+UM1zypS2dQ2tpw0tXe2nybZXWxO3WQTicqZc6nTaR6DRyEsRUlRhbaj2L0CpDT/HqOLZ35aVTvtlmYKbfN+p5kDptF/dy+RA6cjteykOlQ7L3VsonisdmaFC6xDm5Fl9qhkXOJBxNOqnehfbwhhZaQK11DOlIx9QnPqaOpyM84HY+gCbXenIh42GNwMzL3BBC6IpkNDtCoLZvg+kwFlCIDyVIuhDJ4YCkFaRFyAgfUw8BDpvWi5ct4LE98EXMI/gCkgfwU5z5zVACxg0AABgZCribhxGCEgRYd/KuOE+zqcbsLN00HSxK7b3Qesfu3rP7uvnmrI7DSMYxntf9J6y23y6tye29oGzB+5AqgIKk9UKRrvOZecKOJcHV3uvAfzsIbDZ2aOSmWN8owaZO32zYPAFoAhILtgRdvYa0I8h0QROFyEQSqKDEIFZmASu0Jh5jcbkZDK0JvbItIfqQFOE9LvQGKgGsVbWQB/kLaSeLDfjh0KDTHBkjZoT5M+EBl0dKa0kjlp+OHV8sqy+Sa7hFPmNdKpPW/FzN5zewKgBP68wmqSUu1AE8S4v/Bjix8pGKNBppsVLCdae6zlUQGYmuSkfNGVJZj2HF3pPVxlr4q+2+VZlIrMHvLS6PjgQmJoXG0m828K4woUbmPV+rJXGih99RbQiLKdRc+lNozAOZ6g5DZct5ybG/0vzVZKrUmKbM8U1UVoPp4m0O+gpwhR7WQBuXsZNLwRREgAJB+ba8+EcukCSoiWQpAAiaRHGCEjSJw8tpCAGK889bq2icNqSW0HcWnmYeBkm2K1vV1C59gJ3P46mSitcodZ8ley7MVJayyD9Eq6QFwaxEmG6+3o6U0KY92YPChyyQVI/qIwzdbi6AQYQKXRsK8+lH9eAqX3MVM4eUgWOeW0IUEIDV+FdtftWs3u6obTWTtSaOtMFbDm4XzRdeGsYtxq4olaHuITjiKMwRJgu7dDQLrShhVeNZ2ekCGP8/HDecv6ZRLA1yHxBxd+b2mcEgxhr0+wmMQqX5jTyVqgF1zBAcavRnRh9vAIeTyylhZar1jSJfHsNo+swhs0wQQ0ye/AUYeTEVQpDO9NNy3hPi+F0AUByEqZvTcNg5s2bt87SB41GBFF0O126tjezZ47nJxHc3QN3JJvhNg/Giii/Bp8cD9mxD+FKETuvAfKWMEyQIh68BvHCmyHwyy+lD4TFLIyAB7wAiLsx/AhkIFKme6+BGxIS/EfZAZF9EMS7XzcC5nUdQecGfPkCPmTU3gxcAtEDEvyY8QNX3FTE/kg61j7DaYKgCz4I4q8fBNwRS4lfF0gjiJIoAHL2MMvp7I8MHog5EFnrzCMf3TDgZoHtYje1qNux58MA/eeA/0chysMVxH4Y3iSrDCUeGZlDBqMUIse3eawiOA0jVxEPSdcYOREi7Yq46zoIgmdP4rSg+LTwfAhQlMACUEw6kDKuDDKJqKi0MSRYyBbwpkkUwWCL1Bzd3V2eEEicrnt7QJpDIBZGt935BQvTcSYudIsgTmbu/jeNDPsrdIX7bU0NuN3KWbDcC0k6hiyUvknNMPoakDGchoEbCzgk6yIyCO0YOSj+K8QkDsm/TkRmaM0hspETXTu+n6GEnMi+D6mUnCCVRD4Lx9TU4h3Xe8MAF7ZAx9GW4HMiIKF/zggJlvYQ6Dhu3wkfM9ZRG7u1D6RZbPbXQCSfw1yZN0DkZnvQefOLXOCD1boE4t/BTwpog6s6ZUjoOKjAqEDAReBjLWvPonBpR3DuxSi6tXGJaeNS4pEWx71moe/CCMe9F6VLUAaSsPef6BYYNrDCy2jeKSgMuEqlIEtplQbEu60l3Qa7EVcSPs6NOEZ/uBtde4ET3X7ViyjZPY5EKVYOWpSdicmo+hPXqeRTRYElt9riW8U+RfcibiPNSjJrnYY43XaPKThgUSTYZsaKH9Zy/ro/FpD8o13yG9zyq65Z4573u2ipwxaPJcuumefn6yDy5IFzP+6Y+uch9c/nBZ/jeX01kfHERVe7JI4mMmng6ipLZfVZjGf1yDSW1SS1c1ym0l94kiMEszAqmvkeC+dWPSCkK2cNXboBQhb7Uz9MXMkLPCRh2rhJKAhtult6+hFbn/HZCEAkFNhqFPn2t9SHGdOdn7XR6Q4H+/1u8CPKQ0IJXSB5QGhh9VqukCuYRwPnKm8oHI1NI76NEVxOEfZWUq1/W/UN4vUUJ342L3xvvZ2pAVwHLsNAiqAfOu5DOlC9gUhV+QFleyYbr1eSOBctSUEorZw5zuR+oc/vYRIFjo87SUnW4bvCKTdZjMLVv529sNI/0ljfjKrrxc61D//tgKV6/zWxTTMMHsq34fpYMEnASSlIfx1A1jCKvTCw54i5GYIxAoK4S47CZmDnSfwh2AGC+KsAvgB6yHYBvoAFdFwgBUDeE4CiAEGUhcamkXuvFmAfUAPXLCTzSpoHcrsNnoODNhDT8RhaehBtWqo1MRXx7436VCcXkxx4A0ob8aIspbRNP5w3coCLAoAUQFyHlGCmdZsMpmHiu+Qs7xqm20j8JljBEhRabwZ+AjX7SkDu4JF2nnODgUEaKfKDxKfULri+zVls14W3Ri8NSWIOLlV7M04X34uRlAQeioEkzfDaQJKcwsGvIMrNGEZrbwqFksLFuQCwkYoydvFtYIarFQ9mJfM9iA2lpXzouOFyDaNuuFw53LkGO/ZVFXE3rURk8AVMEwQkFwjPBFxay3sF0pOMtLON9PISV3gZ7w0Nh+zJyUagZXqh4MOhBN2MPccA8H3TA+cd/B+OQxaCFyAVvvDmCxijizSMFXFXPzWVbNGRytgImeoiYSLNOveoLt4VmW7qtM98bdNww08BTqc9eD2+mVvhKV9bj8/P0lNpGtz4e3Zm38ke9XRD61oj4z1LtMsb14uAtAJioTktwpN44QLxrtCyyTJ5JeqwDx2128BZIWkOEWAKUxZYvY2SfqaqbZ6mgsIVrkydFSLbGawfHdw9s0Zx//d1AwByKI67KBg/OoLCsSR2cC6CHzDTuKubOZDo8hyPVHJw4IbRFJKHLpzlZyV41YMH4ofTm5g8ZnBIIeitbubHx6P05Pb4WOG5hL6bIybdlg+JGl+buMig5ddkiqpOS6/TpEnXDxjwEg70I+ba2DTmEHXHEzWaLjIPc6LpQhF3k7TsXe41uDXmHW7c39+QiHTwl6NDAQsotURL/Ly6Fk3jKG1uVOZZ2rp0WSvJPV6sGoOjQz7FYlV2c9X3eKH1MuUt0tpcjvNig+7QTKJ8Ez51NLqXQ/YhZBoZdP8tgnP4Wdn5R/PZh1b6/3HzmbhTgC3vvgHKvzD4fOdMZ1CeetqAnweZFQHW1g/nsY1COz31LqmLnPiGxFF+XpI2pNQ4owydwjHRk4PhXoMjJBOzxR8lCU9OwROr+eRgSHf/sN8yvVhVQaUE7vauhO73OAzsGEVeMFfEXfD7R1z55IWbJDnRHGAeMXKWKwBI8mUqbYQK6WgFIwdHm+5iUqpADSHNweSJIDc7B1USy4lvMDogFYuxrGGkYST7cA19AAQ9mIXRkijg+FXaAYxjZw5ToXgS9SGC7jEQn27hO/ZcQtve0m7Vte/cZYAdAzH7vM+DcwxE7ts+g+MYiPTTfjZ8zIN+3OdGewzE/Ms+G9oxEOmn/WwEjHLsufuZ2uyh5bmbNEa4rWTxjvMLsgd6V70eshHvil68aeJejTxxCji5CeAnhQBUzAd8+uPKmwUugOz4xlvZ6UUr2408XMvndTbO7J/TLfLQvVXE3XzXDkhvgTCAyHEd5ByT826BFNOrKPx8C4SnAhAWCK2OWy356FWz8/ywSf9tLWmvlhfEyAmm8O/OypPoKkLptDuy1O5IbZnGHBdq3zNUMpB8rKxYEkQ8JFzV4ECEYKc5DZerBMEmcuZx34sR+AKWzmo3hj6cot0mmRu+kKXNrmDeeKuzVdIjgOl4GL4vvAaCJ+zt7V22r5prx08gaLWAMHP8GApZTwJUSrlTOFHgdBQ4+9DK1L5JrqEPkU1K52BuT2GEvJk3dRC0oxAR7/6PNRwFod52UY3tLq9wlctbjkyXN7FEWUkUT4niKXF4SgxPYQ98Aakpi7a6K+q1v78RyiFFp7+pD52Au3Py/yekHm4WHEwnBK5uitZXccdSGehePHAiL4DRKCJ35fpekHwu1QZhzEoYWp2EMVmllK7N4kXKly91BPzt2SpV9QJttSQrbtR75QVQA64df+xMb5w57NFKeWL0S+MgtdidfCxtuMFIARDEJPJr6kCAuQIhgnHiI0W8w8UYd/kmnYDS1kZpY4jXM0U/RTvNdf/1kWoWJmiVIEXcxSZnDodtlp5nYtVSkqJbUXvSpgZXpnozUGtRIIgjs7hhECduCJAbzADVCi8tfv+IlxUp/98/gk9OzFpJ9VHUs1KQs2UaY/gcyOCo/T1MCXTpTJuscElopDe6SxZdpSZXyNZXwWEFsVN8wtbngngg0E0u8paxItB7SkXyfvgJRl0n5rLmXRiTdTyKwM7lMbmffny1gz/7mPj4ikbbz6dhBNKr5fvYIGImHHgxkF8224fACVwgRPLL9qGAHzp+HAIXzrwAunjFiSM/DHDJQiqV/bTWF9m1di8mmRCFjEcq1/SWnu9E/i1ZunbaTFCn02wfNsEILWD0yYthHaMmRaGZD4FGLxEOuB6O/8m5zTVg8IEg/MT1zqO6BoSDZjuFYH3QbH8LAtRoPAKExdecn9iuFN5sWcjMS51pQ1Ow0HSzTKLHTcwic4pN84Owxk/YBs0HQdgjE0CQ+LWphHe4at+6y3t1Ka/kzO88tAgT1AtRwUsZY7JdDF2wE7c+NFut+U5hZf7AcSfXSYCSZsQxzsVu7h81N+It/dnY+VCneZwSx396yBcSTBEQFvRFWP+oREHfCmNbXqayu9doPNYzhXRvY4tFeH0FF86cxEeZBR4tuyneUYg3TZrP44vO/T6S4ug7KN/ujJXdrfKl6HtUKFROBVlYNawZqZkKLcLeXknJVQTXXpjE/R+obK3MgtK1FLzyeDJYs9yLS4q7ItqXv17h3MgdntU55zNlVxDv1iwGcvbZxYN6WfWg/ZEyy4nyT3Hj+8Nqe65e/zlecnnFLFxFfL0V4wfhm2GbDSrLzIPER54aTRel3JwO1Vs6c2iFJ3Cc4MouzdANAH7+/SMpISq9wSwKl6RpGgbIwdO2jnnETaDPQLf47NK7ai7LHC46uBIIQkTCYZ+pjBYO2k+3u+mThzBrVL2mNCRmsTpFtia5ryW4LTKIV9TIeUwqe2gae4xKj0xY35qsBpO+pdvktzYe5tXfm6G+WVC2EExT0vZ08E1os8B/aNg/TG32tk+hANu+kGY1GN0VyHcJOrX1Fz1Q/ItVX+lSxZuB+3IvgJ+9GNHVxxyvOBYQ5PT9LIVFkK59wmyVtZW8KJBWYeCPqPzuqbM4LZTHT4scNwFIUT4zk+NsrnUjgFwn8Msv2RyU/dwAVkggR4L1TSV2je0bLd8zRIr+V8f2Y8ZFZyvsnZtGw3Hd83SfdRi6sO9cw/IhY1890fq2aRn68Izbo0svi3hAEHkCAfztb38Dgsh+12A46mk2ITAF8AbkPzPQefNL/WUYuusLgtCFwMf6gIKEdCEfQce9xbNMDAO0j2fnhRfM8Vrdcav3doplGz3QdV3co04CCkFVi7jZbAr5fizZN6sdZTkoaoiwYWoeb/bFO16RTc1pdB23gvbcUjeCy3ANH2NeCISKTo+w8MOhaJXFtjIweOVKRPs/SLmy2Acp93+jG1ON3/zAHpHu5mdXC7jpl9uyJgLsE32oGu/tNCGll4QKlxJqCWtju0RFQjm7sgCSyN8HnzzfB0kMgUd23si7K3iCwwFJ7zsIBVgYv+yFFZr4KhpVYyl9Z4Lck1ggtIqPW63Lf7SunpHfzYgCiGDcWl+2pVdXzz402b/NZy2ihgfjVvPZTmmnTwpAVXT9Vh09fmInQMI67WgMNUvLfvFkI4C6tyqqIpR/kXc0Slc3Kq9bsIug5PWsVQRn3ucasH5+yiGwESpcyqpnlR7P98mT1tOavuydXxQ5UwRdptFx9mYSqzhJGVNS7BhsM+y9b0Rt9b70fgRWIwng5xXEGvm3nBcy10uxyKphJ6YYbFVf+MprSV9z3/w3t8bGiPwQXP6DPxlt+iuHm5Z4R35Xkz02tPFowzmxhGex4+y+D6vKJd8Lks+SeNcdT0j1XkgVhcnj1HfmpXnjtK+e3T9tcBSV5IfbHp72CDWf8MiDVknGtizM0+z/KYqUZDxEkR+gRzH1//xW6481w9RGp43/DQAA///7/3VVdlcAAA== @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/CustomData index 9deb08c55ee..656ce6ff098 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/CustomData index 2970c0793d5..b6b201e7bdb 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/+R8+3ebxvbv7/ordimt7dZIQnacxDnkFEvY4VqvC8hpruPDwmIkUyNQYHDiY+v+7XfNMMCAkGPHbW7P+borqxKzZz8++zF7ZrB//KF16QWtSye+amiGYZsfTEsbdK2+bVqqYdnHqt5X9oGOdfujSc/Wh7plW/pAG00s5UU6cqz3Nfu9anXf5SMH6ci7Ub9nv1f7+nDyu3qiDS3lZTpgaH1NNbUaglcpgTq2bH1oWmq/nzN9nQ71Rt1TzVgb7bRLw73R+2F/pPaKcbk0fqp9qKHplGiIEoQuH94rDXMYdRhIg9HRBzqtr5sFTh0G1MC0T8YnG0QfcBzWbGOwdUdDS9WHmtFbJ2HAGZNhd32QQXf6yiQEQ314ko/ttYuxNa32GGinkyONhMVwZNnHo8mwp+wxqPTBSc20vWJaX7N4pPb2y14cnNjjCafq3os1U7tWHd3BOp2hEx3XSTejR0OXM+rVGuWZZpj6aGjrwzO1r/eUPQZld6iv270v544eG6Oe3dOOaog660Tj0xNb7fVYwjH0RobKuUQzjJGh7DN40kzlDKETX2Ux1BsboyONPWUajybWEbGSWDdMh15wvlfHum1qxplm8ARyLUFvaNr90eh0MmZknVoy9f9MDG2dOAsO1VLrc+GgzVFUk/BA5gargX7AFDl716v69mA9sNYEv2xzSbQ+yiR3J6Y1Gtimphrdd3ZvNFD1oZna9ooxOBlP1ue/2uMGDZ1EFp8Zr/bXh6v2vXrB0Whnelezx/3JiT4sMTooiPTh8cg2RgO7OzKMydjSesorlg7mye8b5bxur9NwEl7LRZXuqXq/8M5rrn5Pxj3V0oqhLHNMjQT+mU7zyuwa+tiifjI0tVdwktttTggpp5PxiaH2NI6CU2M8MU5YwMvtTp4kpCAYGnGDIrcZ/l3dtFXT1E+GtjEaWfb4vSLL8toYjZ+xZgx0k2iqyDJjO1Zp6eqOxh8okSLLPOfxuP/BHqum+X5k0GQ71k8UWa4kbr6GjFhayHJW0dIythY+svyyRDAaa4ZqEQzT0iDLWfWyjJrB19BIwaJJaVpq99Q+0SxbNQa2NTrVhoqcLaFVkqFmvR8Zp8yWScpYkbMVtUpuTo6GmmWPDe1Y/12RyaKaJ+XRRO9ntUwm62IKynt1bHcNjYRLCka2KvEj+tCcHB/rXV0b0og4tc2x2tUUmaxSlNrS+tp4ZFi9UtlU5KzOFeNZwKfDmSGGpR+rXbJeGZo6IKtkxkeRsxpXQ8SYKTIpbWnjY1ljEuS/f7C7KsHtTDMsRc4KG8sMMqQZlqnIB3lzwtQ2tS4B1eqb9tFoZJmWoY7z5VT7XetmeZ9Hx0Hm4J5uHql9zdbHlnrU10xFJmUtrZnGxLQIh/XgyopbTzfJLNs03ynyyyziDX2gGh/sod619TFXVOWXLPL1oakZlq0PeqZtaKZFQpREnzEhmgytkT1Qhyd9zaY6KfLL/cfOO9b7lmbk81ga9QgQ2oZ5x6TgVeQdPHZeRd5LLngNjfjCNrT/PdENrad0shI1HNGioJ5oJgOmk9Umc6iOzXejvBryTWM7y4yxoZ+RQbJ+klaARGUnK1fkIR+unfZ+ljZ5uz5QzVPGlI11Da2nDS1d7afFtlfbE7ezDCTtTLXV6bQPoNEoWhHaVBFtmPYvoTJGnhNUyepvy0qn/apKwS2+71VzoHTarx9ksqd05PaDFPtKJ6vdGyheKB05Q4X1IVmQ5/2pZpyRRCbZqB/rXeILY2SlBdRST5SOvMdw6mvqcDIuDLH1AXG70pH3Gw1vBjMvcKGF8BQkfLtEMNv1QQqcBQLhFylCPnJiJIC0jLwAg/Qp8TB03rZcdNMKEt+He5hHaAnSJ9hqbr0BfIWCBgDAyFTE7TiMMEgRZd/KuZE5zudr2Fo4eHq1LbZ3ofWvbb1n9/VTTdmehhEK4517vadsN3/Z2RFbu+DswB2kKuAwWS5RtO2cdy7AOd+72HkD6IuHYbW1wyRngfFEDfJwerJguAccgeTClrC100B+jKgmaHoVglARHYQYZmESuEJj5jUak6PJ0JrYI9MeqgNNEdLvQmOgGtRb+QB7UIzQfrI6TB4KDbrA0T1qQVA8Expsd6S0kjhq+eHU8em2+jq5RFPsN9KlPh0lz91weo2iBvqyJGjSVu5MEcS7ovHLED9UVkKJTjMtXkpw47mewwTkbpKb8l5TluRs5vBM7+lqxprGq22+UzOR+QNeWt0ckgiZmmcrSbzbwHiNC2eY9WGsVWwlj74iWhEW06i58KZRGIcz3JyGi5ZzHZN/0nyZFKpU2BZMSU+U9sNpIe0OeoowJVEWwPWruOmFECUBSCQxbzwfzZELkhQtQJIChKWrMMYgSZ89fCUFMSw997C1jMJpS24FcWvpEeJFmJCwvl0i5dIL3N04miqtcIlb82Wy68ZYaS2C9Eu4xF4YxEpE6B6a6UwpYTE7e1DikBvJ4mDNzjTg6gwMEFaYbUvPZR9vIFP7MFM5f8gUOOS1oUAJDdKFd9XuO83u6YbSunGi1tSZXqGWQ+ZF0yvvBsWtBumo1SFp4TjiKAwxoUsnNLQzbWiRXePJCW3CMn5+OG85/04i1BrksaCS703tC0ZBTLRpdpMYhwtzGnlL3EI3KMBxq9GdGH2yAx5PLKWFF8vWNIl8+wZFl2GMmmGCG3T14CnCyInXKQztRDct4wNrhtMNAK1JhL41DYOZN2/eOgsfGo0I4eh2unBtb2bPHM9PIrS9A3e0mpExD8WKKL+Bz46H7dhHaKmInTeAvQUKE6yIe28gvvJmGH7+ufKBspiFEXjgBSBux+gTyCAypjtvwA0pCflh7EDMPgji3W8rgfC6jJBzDff38DGn9mZwDqIHEvqU84MLbinKfmg51r6gaYKRCx8F8bePAplIpMRvSqQRwkkUgJw/zGt69kONB7EAIh+defSjGwbcKrBZ7KoWdTv2fBTg/x7w/yxEebiC2A/D62SZo8QjI3PIEJRC7Pg2j1WEpmHkKuI+nRpjJ8J0XBG3XQcj+PWnOG0oPl95PgIcJagEVCYdpJxrBplEVVTaBBIiZAN40ySKULBBaoHu9jZPCBKn684OSHMEYsm6zcEvWISOc3FpWoRIMXN3n2QZiVfkCg/7mjlws5fzZHkQktSGPJWepGYYfQ3IGE3DwI0FkpJ1GRmEdowdHP8dcpKk5N8nI3O05gjb2IkuHd/PUcJOZD+EVEpOkUoiP0vH1NXiHTd7lQEubICOo63A50Qg4X/PKAmR9hjoOG7fCF/mrIM2CWsfpFls9m9ApJ/DQpm3IHKrPXTe/iyX+BC1zkH8J/ygQBsu6pShqePgEqMSAZeBz/WsPYvChR2huRfj6NYmLaZNWolnepzMmoW+iyKS916UbkEzkISd/8awILDBkmyj+aBgMJAulYEspV0aiHcbW7oVCSOuJXxeGHGM/vQwuvQCJ7r9ahQxsgcCiVEsHXxVDaZMxno8cZMqMVUWWAmrDbFVnlMOLxo20qwiszZoaNBtjphSAJZFwiY3rsVhLeevx2MJyT87JJ8Qll8NzZrwfDhEKxM2RCzdds08v9gH0SePXPvJxDQ+91l8vijFHM/rq4WMJy6H2jkNNDGTBhcXeSmrr2I8q2eWsbwnqV3jcpX+xoscJZiFUdnND3i48OoeJV06N8hlByB0sz/1w8SVvMDDEqGNm5SC0qanpcefiPczPisBREpBvMaQbz+lP8yZbv2ojY63ONgfDoPv0R5SSuSC5IHQIuq1XKFQsMgGLlTeMjgaq0Z8G2O0mGISrbRbf1r3DfHNlBT+bF341n47VwNcBy3CQIqQHzruYyYwvUFkqnyHtj2XTfYrSVyIlqQglJbOnFRyvzTnjzCJAscnk6Qkn/BN6VS4LMbh8j/OX0Tp7+msJ6PqerFz6aP/OGCZ3n9PbNMKQ0x5Gq7PBZMmnJSC9PcB5AZFsRcG9hxnYYZRjEEQt+lV2Ay2foo/BlsgiL8JcA/sku0M7uEKOS5IAcg7AigKCKIsNFaNInq1gMSAGrhmqZivlXmQ2214AXttEFN7DC29iDYt1ZqYivjPRn2pk8tFDt5C5SBelKWUtumH80YBcFkASAEifUgFZta3yTANE9+ld3mXKD1G4g/BSp5g0Hoz+AFqzpVA7hBLOy84Y1CQZor8KPEptQuXtwWLzbrw3uilKUndwZVqb8bp4nsxlpLAwzFI0ozsDSTJKV38CqLcjFF0402RUFG4vBZAZqkokxDfBGa4XPJgrlW+R7FhtIwPsxstblDUDRdLh7vXyK59VUXcTjsRGe5hmmCQXBB+FUhrLe+USI9y0s4m0vNz0uHlvFcsHfInRyuBtemlho+kEnJz9hwD4OemF85b5D+Sh1kKnkEq/MqbX6EYn6VprIjb+rGp5JuOVMZKyFUXKRNp1nlAdfGuzHRVp30ea6uGG34OSDntocvx9dwKj/neenx6kt5Ks+Qm3/M7+07+qKcbWtcaGR+yQru4dr0IpCWIpeG0CU/iKxfEu9LIKq/ka1lHYuig3QZniaU5wpApzFgQ9VZK+pmptvolFRQuSWfqLDE9zsjmMeMeWDXK579vGgD0UpxMUQh+zILStSQJcC6DH7HSuMvrOUhse04slRySuGE0RfShi2bFXQnZ9RBD/HB6HdPHGRxSCL3l9fzwcJTe3B4eKjyX0HcLxKTb6iVR42sLFzVafkOXqPVl6U1aNNn+gQBewYF9JFwbq8Yc4e54okbTqzzCnGh6pYjbSdr2LnYa3B7zjgzu7q5oRjrky8G+QARURqIFeb6+F03zKB1urK2zbHThZqO09nixagwO9vkSS1TZLlTf4YXWy5Q3SGtzNc6LDXZCM4mKQ/g00NhZDj2HkFlmsPO3CM3RF2XrX81fP7bSf4fNX8WtEmzF9BUo/5eAz0/OdYbq0tMGfh3MvAhEWz+cxzYO7fTWu6IuduJrmkfFfUk6kFKTijJ0StdEP+0NdxocIV2YLf4qSfjpGH6ymj/tDdnpH4nbTK+sq2BSAnfzVEr3RxwGdowjL5gr4jb88Yl0PkXjJklONAfCI8bOYglAi2+m0kpYIx0tUeSQbNNdQsoUqCFkNZg+EeRmZ2+dxHLia4IOpGIJljWMNIJkH90gH0DQg1kYLagCjr9OO0Bx7MxRKpQsoj7CyD0E8ZcNfMeeS2nbG8atuvGtuxywQxDzz7s8OIcgct92MzgOQWSfdnPzCQ/2cZez9hDE4stuZtohiOzTbm5BRjn23N1c7eyh5bmrNEe4o2TxjosLegZ6t/56yEq8K0fxqklmNYrCKZDiJsAPCgWoXA/48se1N1ekAbLja29ppy9a2W7kkV6+6LNJZf+SHpGH7q0ibhendiC9A2GAsOM62Dmk990CbaaXUfjlFoRfBBCuMF4etlrywetm58V+k/2/tWCzWl4QYyeYon86S09iuwil0+7IUrsjtWWWc1yqfYup1JDC1qxZEkRiEulqSCIi2GpOw8UywaiJnXnc92IM97Bwltsx8tEUbzfp2nBPtzbbgnntLU+WSY8CphMzfF94A4In7OzsnLcvmjeOnyBotUCYOX6MhHwmBSql3CrdKHA6Cpx/WGdqXyeXyEfYpq1zMLenKMLezJs6GNlRiGl0/9c6joFQ77uoxnfnF6TL5T1Hl8vrWGKsJIanxPCUODylDE9hB+4hdWXZV3dlvXZ3V0I1pdjyN/WRE3DvnPzPSanHu4Uk0xGFq5ui9VXcidQMdC8eOJEXoGgU0Xfl+l6QfKn0BmGctTCsOwljukupvDZLNin393UE/Nuz61TrL9Cut2Tlg3qvugFqoBvHHzvTa2eOeqxTnhj9ih20F7uTD6UVZ4wUgCAmkV/TBwLhCkKE4sTHinhHmjHu5Zt0AUpHG5WDIV7PFP0U7bTW/a9PTLMwwcsEK+I2cXkWcMRn6X0mUS0lKYcV8ycbanBtqjeDWo+CII7M8oFBnLghYDeYAdOKbC3++ES2FSn/Pz7BZyfORmn3UdZzrSHPtmkZwxcgw0H7W5hS6NKVNlmSltBI3+iueHSZulyhR1+lgBXETvlJtj8XxD2BHXLR3zJWBPaeUpm8H35GUdeJuap5F8Z0H48j2Do/pO+nH15skc8+IT68YNn243EYQfpq+S5xiJgLBy8G+VWzvQ9O4IIQya/a+wJ56PhxCC6aeQFyyY6TZH4YkJaFdiq7aa8vZq+1ezGthDjMeKRyTW/h+U7k39Kta6edCep0mu39JozwFYo+ezGqY9RkKDQLE1j2UuHAzXD8z85toUEGHwThZ252kdU1IOw12ykEN3vN9lMQYE7jEaAsvhb81HeV9M62hZl7WTCtWAkWmm5eSfS4SVjkQbFqfhRuyJPsgOajIOzQBSBI/NpSwgfc+ty6l/fqSl4lmN97+CpMcC/EpSjNGNPjYuTCVtz62Gy15lulnfkj7U4ukwAnzYhjXIhdPWw1Z/GG+ZntfKqzOs6I47885UsFpgxIlvRlWP+sQsF+Kyw78jKV7Z1G47mRKaRnGxs8wusruGjmJD7OPfBs2U3xjkG8arJ6Hp91Ho6RFEffwcVxZ6xsb5QvRd+iQqlzKskiqhHNaM9UGhF2dipKLiN044VJ3P+OytbKLCldS8ErTxaDm6z2kpbiroz2+W8XpDZyl2d1wfmrsi2IdzdZDhTs8xcP6mXVg/ZnyqwWyr8kjB9Oq821+uaviZLzi8zD64jfbMT4Ufjm2OZG5ZV5kPjYU6PpVaU2p6Z6C2eOrPAIjRPS2aUVugHw4x+faAuxNhtmUbigQ9MwwA5ZtnXCI26CPoNu+dm5d9FcVDmcdUgnEISYpsNupjK+cvBuetzNnjyGWWM9aiomZR6rU2Rjkftagdsgg0ZFjZznlLLHlrHnqPTMgvXUYjWY9C3dpn9r43FR/a0V6smC8o1gWpI2l4MnoZ0l/mPT/nFqZ7/tU2rANm+ksx6MnQoUpwSd2v6LXSj+zbqvdKvizeCh2gvoixdjtvuYkx3HFYKCvp+XsAixvU+Y77I2kpcFsi4M/ozO74E+i9NCef6yyHETQIqKlZleZ3OjKwEKneDnn/M1KP9zA0QhgV4J1g9V2DU2H7R8i4kM/a/a9n3sYqsVic5Vo+G47ml6zjoMXdR3LlH1krGvHml927QMfXjCndGlL4t4IIg8gQD/+Mc/QBCzv2swHPU0mxKYAryF4s8MdN7+XP8yDDv1hSB0EfhEHyhJSDfyEXLcW7LKxCjAu2R1vvKCOdmrO+76ezvlto1d6LoumVEnAYewrkXcbDaF4jyWnpvVWllNihoi4piax6td8Y5XZFVzG13HraQ9t9WN0CK8Qc9xLwJhTadnePjxULSqYls5GLxyFaLd76RcVeyjlPv/o1umWk1EHPvOvBIMx3315OFY4CjWLCJjj7eFUvNW0AetioxN0PI0u3+JIhUZj1HkO+hR9ueP77T+WDNMbXTc+H8BAAD//yXG4DBLUwAA + H4sIAAAAAAAC/+Rce3ebuLb/359Cw9BJ0gbbOGnapoeeITZJufHrAk6nN81hESPbTDC4INzmpD6f/S4JCcTDadrM9M45N7Nm1UZbe2/99kNbD/zzT61rL2hdO/GioRmGbb43LW3Qtfq2aamGZZ+qel85BKSt2x9NerY+1C3b0gfaaGIpz9OWU72v2e9Uq/s2azlKW96O+j37ndrXh5Pf1DNtaCkv0gZD62uqqdUQvEwJ1LFl60PTUvv9jOmrtKk36p5rRqW10y4090bvhv2R2svb5UL7ufa+hqZToMFKYLqs+aDQzGHUoSANRifvSbe+buY4dShQA9M+G59tEX3EcaiMjcLWHQ0tVR9qRq9KQoEzJsNutZFCd/7SxARDfXiWtR2087aKVgcUtPPJiYbdYjiy7NPRZNhTDihU+uCspttB3q2vWTxSB4dFKw7O7PGEU/XgeWWoXauO7qhKZ+hYxyrpdvSI63KDelmhvNAMUx8NbX14ofb1nnJAoewO9eq4D+XM0GNj1LN72kkNUadKND4/s9VejwYcRW9kqJxJNMMYGcohhSeNVG4gpONL5kO9sTE60ehTqvFoYp3gUeLRDdOm55zt1bFum5pxoRk8gVxL0Buadn80Op+MKVmnlkz9n4mhVYmZc6iWWh8LR22OohyERzLXWHb0I6rIxdte2bZHVceqCH7R5oKo2koldyemNRrYpqYa3bd2bzRQ9aGZju0lZXA2nlT7vzzgGg0dexYfGS8Pq83l8b18ztFoF3pXs8f9yZk+LDA6yon04enINkYDuzsyjMnY0nrKSxoO5tlvW+W8aldpOAmv5DxL91S9n1vnFZe/J+Oeaml5E4scU8OOf6GTuDK7hj62iJ0MTe3lnOR2mxOC0+lkfGaoPY2j4NQYT4wz6vByu5MFCU4IhobNoMhtin9XN23VNPWzoW2MRpY9fqfIslxpI/4z1oyBbmJNFVmmbMcqSV3d0fg9IVJkmec8Hvff22PVNN+NDBJsp/qZIsulwM3mkBENC1lmGS1NYxX3keUXBYLRWDNUC2OYpgZZZtnLMmoaX4FGChYJStNSu+f2mWbZqjGwrdG5NlRkNoWWSYaa9W5knNOxTFLGisxm1DK5OTkZapY9NrRT/TdFxpNqFpQnE73PcpmM58UUlHfq2O4aGnaXFAw2K/Et+tCcnJ7qXV0bEo84t82x2tUUGc9ShNrS+tp4ZFi9QtpUZJbn8nbm8GkzG4hh6adqF89XhqYO8CzJ+Cgyy3E1RJSZIuPUlhY+ljXGTv7be7urYtwuNMNSZJbYaGTgJs2wTEU+yooTqrapdTGoVt+0T0Yjy7QMdZxNp9pvWpfFfeYdR8zAPd08UfuarY8t9aSvmYqM01qaM42JaWEOVediya2nm7iXbZpvFfkF83hDH6jGe3uod219zCVV+QX1fH1oaoZl64OeaRuaaWEXxd5nTLAmQ2tkD9ThWV+ziU6K/OLwof1O9b6lGVk/GkY9DIS2pd8pTngleUcP7VeS94JzXkPDtrAN7b8nuqH1lA5LUcMRSQrqmWZSYDosN5lDdWy+HWXZkC8a2ywyxoZ+gRvx/IlLAeyVHZau8EPeXTvtQxY2Wbk+UM1zypS2dQ2tpw0tXe2nybZXWxO3WQTicqZc6nTaR6DRyEsRUlRhbaj2L0CpDT/HqOLZ35aVTvtlmYKbfN+p5kDptF/dy+RA6cjteykOlQ7L3VsonisdmaFC6xDm5Fl9qhkXOJBxNOqnehfbwhhZaQK11DOlIx9QnPqaOpyM84HY+gCbXenIh42GNwMzL3BBC6IpkNDtCoLZvg+kwFlCIDyVIuhDJ4YCkFaRFyAgfUw8BDpvWi5ct4LE98EXMI/gCkgfwU5z5zVACxg0AABgZCribhxGCEgRYd/KuOE+zqcbsLN00HSxK7b3Qesfu3rP7uvnmrI7DSMYxntf9J6y23y6tye29oGzB+5AqgIKk9UKRrvOZecKOJcHV3uvAfzsIbDZ2aOSmWN8owaZO32zYPAFoAhILtgRdvYa0I8h0QROFyEQSqKDEIFZmASu0Jh5jcbkZDK0JvbItIfqQFOE9LvQGKgGsVbWQB/kLaSeLDfjh0KDTHBkjZoT5M+EBl0dKa0kjlp+OHV8sqy+Sa7hFPmNdKpPW/FzN5zewKgBP68wmqSUu1AE8S4v/Bjix8pGKNBppsVLCdae6zlUQGYmuSkfNGVJZj2HF3pPVxlr4q+2+VZlIrMHvLS6PjgQmJoXG0m828K4woUbmPV+rJXGih99RbQiLKdRc+lNozAOZ6g5DZct5ybG/0vzVZKrUmKbM8U1UVoPp4m0O+gpwhR7WQBuXsZNLwRREgAJB+ba8+EcukCSoiWQpAAiaRHGCEjSJw8tpCAGK889bq2icNqSW0HcWnmYeBkm2K1vV1C59gJ3P46mSitcodZ8ley7MVJayyD9Eq6QFwaxEmG6+3o6U0KY92YPChyyQVI/qIwzdbi6AQYQKXRsK8+lH9eAqX3MVM4eUgWOeW0IUEIDV+FdtftWs3u6obTWTtSaOtMFbDm4XzRdeGsYtxq4olaHuITjiKMwRJgu7dDQLrShhVeNZ2ekCGP8/HDecv6ZRLA1yHxBxd+b2mcEgxhr0+wmMQqX5jTyVqgF1zBAcavRnRh9vAIeTyylhZar1jSJfHsNo+swhs0wQQ0ye/AUYeTEVQpDO9NNy3hPi+F0AUByEqZvTcNg5s2bt87SB41GBFF0O126tjezZ47nJxHc3QN3JJvhNg/Giii/Bp8cD9mxD+FKETuvAfKWMEyQIh68BvHCmyHwyy+lD4TFLIyAB7wAiLsx/AhkIFKme6+BGxIS/EfZAZF9EMS7XzcC5nUdQecGfPkCPmTU3gxcAtEDEvyY8QNX3FTE/kg61j7DaYKgCz4I4q8fBNwRS4lfF0gjiJIoAHL2MMvp7I8MHog5EFnrzCMf3TDgZoHtYje1qNux58MA/eeA/0chysMVxH4Y3iSrDCUeGZlDBqMUIse3eawiOA0jVxEPSdcYOREi7Yq46zoIgmdP4rSg+LTwfAhQlMACUEw6kDKuDDKJqKi0MSRYyBbwpkkUwWCL1Bzd3V2eEEicrnt7QJpDIBZGt935BQvTcSYudIsgTmbu/jeNDPsrdIX7bU0NuN3KWbDcC0k6hiyUvknNMPoakDGchoEbCzgk6yIyCO0YOSj+K8QkDsm/TkRmaM0hspETXTu+n6GEnMi+D6mUnCCVRD4Lx9TU4h3Xe8MAF7ZAx9GW4HMiIKF/zggJlvYQ6Dhu3wkfM9ZRG7u1D6RZbPbXQCSfw1yZN0DkZnvQefOLXOCD1boE4t/BTwpog6s6ZUjoOKjAqEDAReBjLWvPonBpR3DuxSi6tXGJaeNS4pEWx71moe/CCMe9F6VLUAaSsPef6BYYNrDCy2jeKSgMuEqlIEtplQbEu60l3Qa7EVcSPs6NOEZ/uBtde4ET3X7ViyjZPY5EKVYOWpSdicmo+hPXqeRTRYElt9riW8U+RfcibiPNSjJrnYY43XaPKThgUSTYZsaKH9Zy/ro/FpD8o13yG9zyq65Z4573u2ipwxaPJcuumefn6yDy5IFzP+6Y+uch9c/nBZ/jeX01kfHERVe7JI4mMmng6ipLZfVZjGf1yDSW1SS1c1ym0l94kiMEszAqmvkeC+dWPSCkK2cNXboBQhb7Uz9MXMkLPCRh2rhJKAhtult6+hFbn/HZCEAkFNhqFPn2t9SHGdOdn7XR6Q4H+/1u8CPKQ0IJXSB5QGhh9VqukCuYRwPnKm8oHI1NI76NEVxOEfZWUq1/W/UN4vUUJ342L3xvvZ2pAVwHLsNAiqAfOu5DOlC9gUhV+QFleyYbr1eSOBctSUEorZw5zuR+oc/vYRIFjo87SUnW4bvCKTdZjMLVv529sNI/0ljfjKrrxc61D//tgKV6/zWxTTMMHsq34fpYMEnASSlIfx1A1jCKvTCw54i5GYIxAoK4S47CZmDnSfwh2AGC+KsAvgB6yHYBvoAFdFwgBUDeE4CiAEGUhcamkXuvFmAfUAPXLCTzSpoHcrsNnoODNhDT8RhaehBtWqo1MRXx7436VCcXkxx4A0ob8aIspbRNP5w3coCLAoAUQFyHlGCmdZsMpmHiu+Qs7xqm20j8JljBEhRabwZ+AjX7SkDu4JF2nnODgUEaKfKDxKfULri+zVls14W3Ri8NSWIOLlV7M04X34uRlAQeioEkzfDaQJKcwsGvIMrNGEZrbwqFksLFuQCwkYoydvFtYIarFQ9mJfM9iA2lpXzouOFyDaNuuFw53LkGO/ZVFXE3rURk8AVMEwQkFwjPBFxay3sF0pOMtLON9PISV3gZ7w0Nh+zJyUagZXqh4MOhBN2MPccA8H3TA+cd/B+OQxaCFyAVvvDmCxijizSMFXFXPzWVbNGRytgImeoiYSLNOveoLt4VmW7qtM98bdNww08BTqc9eD2+mVvhKV9bj8/P0lNpGtz4e3Zm38ke9XRD61oj4z1LtMsb14uAtAJioTktwpN44QLxrtCyyTJ5JeqwDx2128BZIWkOEWAKUxZYvY2SfqaqbZ6mgsIVrkydFSLbGawfHdw9s0Zx//d1AwByKI67KBg/OoLCsSR2cC6CHzDTuKubOZDo8hyPVHJw4IbRFJKHLpzlZyV41YMH4ofTm5g8ZnBIIeitbubHx6P05Pb4WOG5hL6bIybdlg+JGl+buMig5ddkiqpOS6/TpEnXDxjwEg70I+ba2DTmEHXHEzWaLjIPc6LpQhF3k7TsXe41uDXmHW7c39+QiHTwl6NDAQsotURL/Ly6Fk3jKG1uVOZZ2rp0WSvJPV6sGoOjQz7FYlV2c9X3eKH1MuUt0tpcjvNig+7QTKJ8Ez51NLqXQ/YhZBoZdP8tgnP4Wdn5R/PZh1b6/3HzmbhTgC3vvgHKvzD4fOdMZ1CeetqAnweZFQHW1g/nsY1COz31LqmLnPiGxFF+XpI2pNQ4owydwjHRk4PhXoMjJBOzxR8lCU9OwROr+eRgSHf/sN8yvVhVQaUE7vauhO73OAzsGEVeMFfEXfD7R1z55IWbJDnRHGAeMXKWKwBI8mUqbYQK6WgFIwdHm+5iUqpADSHNweSJIDc7B1USy4lvMDogFYuxrGGkYST7cA19AAQ9mIXRkijg+FXaAYxjZw5ToXgS9SGC7jEQn27hO/ZcQtve0m7Vte/cZYAdAzH7vM+DcwxE7ts+g+MYiPTTfjZ8zIN+3OdGewzE/Ms+G9oxEOmn/WwEjHLsufuZ2uyh5bmbNEa4rWTxjvMLsgd6V70eshHvil68aeJejTxxCji5CeAnhQBUzAd8+uPKmwUugOz4xlvZ6UUr2408XMvndTbO7J/TLfLQvVXE3XzXDkhvgTCAyHEd5ByT826BFNOrKPx8C4SnAhAWCK2OWy356FWz8/ywSf9tLWmvlhfEyAmm8O/OypPoKkLptDuy1O5IbZnGHBdq3zNUMpB8rKxYEkQ8JFzV4ECEYKc5DZerBMEmcuZx34sR+AKWzmo3hj6cot0mmRu+kKXNrmDeeKuzVdIjgOl4GL4vvAaCJ+zt7V22r5prx08gaLWAMHP8GApZTwJUSrlTOFHgdBQ4+9DK1L5JrqEPkU1K52BuT2GEvJk3dRC0oxAR7/6PNRwFod52UY3tLq9wlctbjkyXN7FEWUkUT4niKXF4SgxPYQ98Aakpi7a6K+q1v78RyiFFp7+pD52Au3Py/yekHm4WHEwnBK5uitZXccdSGehePHAiL4DRKCJ35fpekHwu1QZhzEoYWp2EMVmllK7N4kXKly91BPzt2SpV9QJttSQrbtR75QVQA64df+xMb5w57NFKeWL0S+MgtdidfCxtuMFIARDEJPJr6kCAuQIhgnHiI0W8w8UYd/kmnYDS1kZpY4jXM0U/RTvNdf/1kWoWJmiVIEXcxSZnDodtlp5nYtVSkqJbUXvSpgZXpnozUGtRIIgjs7hhECduCJAbzADVCi8tfv+IlxUp/98/gk9OzFpJ9VHUs1KQs2UaY/gcyOCo/T1MCXTpTJuscElopDe6SxZdpSZXyNZXwWEFsVN8wtbngngg0E0u8paxItB7SkXyfvgJRl0n5rLmXRiTdTyKwM7lMbmffny1gz/7mPj4ikbbz6dhBNKr5fvYIGImHHgxkF8224fACVwgRPLL9qGAHzp+HAIXzrwAunjFiSM/DHDJQiqV/bTWF9m1di8mmRCFjEcq1/SWnu9E/i1ZunbaTFCn02wfNsEILWD0yYthHaMmRaGZD4FGLxEOuB6O/8m5zTVg8IEg/MT1zqO6BoSDZjuFYH3QbH8LAtRoPAKExdecn9iuFN5sWcjMS51pQ1Ow0HSzTKLHTcwic4pN84Owxk/YBs0HQdgjE0CQ+LWphHe4at+6y3t1Ka/kzO88tAgT1AtRwUsZY7JdDF2wE7c+NFut+U5hZf7AcSfXSYCSZsQxzsVu7h81N+It/dnY+VCneZwSx396yBcSTBEQFvRFWP+oREHfCmNbXqayu9doPNYzhXRvY4tFeH0FF86cxEeZBR4tuyneUYg3TZrP44vO/T6S4ug7KN/ujJXdrfKl6HtUKFROBVlYNawZqZkKLcLeXknJVQTXXpjE/R+obK3MgtK1FLzyeDJYs9yLS4q7ItqXv17h3MgdntU55zNlVxDv1iwGcvbZxYN6WfWg/ZEyy4nyT3Hj+8Nqe65e/zlecnnFLFxFfL0V4wfhm2GbDSrLzIPER54aTRel3JwO1Vs6c2iFJ3Cc4MouzdANAH7+/SMpISq9wSwKl6RpGgbIwdO2jnnETaDPQLf47NK7ai7LHC46uBIIQkTCYZ+pjBYO2k+3u+mThzBrVL2mNCRmsTpFtia5ryW4LTKIV9TIeUwqe2gae4xKj0xY35qsBpO+pdvktzYe5tXfm6G+WVC2EExT0vZ08E1os8B/aNg/TG32tk+hANu+kGY1GN0VyHcJOrX1Fz1Q/ItVX+lSxZuB+3IvgJ+9GNHVxxyvOBYQ5PT9LIVFkK59wmyVtZW8KJBWYeCPqPzuqbM4LZTHT4scNwFIUT4zk+NsrnUjgFwn8Msv2RyU/dwAVkggR4L1TSV2je0bLd8zRIr+V8f2Y8ZFZyvsnZtGw3Hd83SfdRi6sO9cw/IhY1890fq2aRn68Izbo0svi3hAEHkCAfztb38Dgsh+12A46mk2ITAF8AbkPzPQefNL/WUYuusLgtCFwMf6gIKEdCEfQce9xbNMDAO0j2fnhRfM8Vrdcav3doplGz3QdV3co04CCkFVi7jZbAr5fizZN6sdZTkoaoiwYWoeb/bFO16RTc1pdB23gvbcUjeCy3ANH2NeCISKTo+w8MOhaJXFtjIweOVKRPs/SLmy2Acp93+jG1ON3/zAHpHu5mdXC7jpl9uyJgLsE32oGu/tNCGll4QKlxJqCWtju0RFQjm7sgCSyN8HnzzfB0kMgUd23si7K3iCwwFJ7zsIBVgYv+yFFZr4KhpVYyl9Z4Lck1ggtIqPW63Lf7SunpHfzYgCiGDcWl+2pVdXzz402b/NZy2ihgfjVvPZTmmnTwpAVXT9Vh09fmInQMI67WgMNUvLfvFkI4C6tyqqIpR/kXc0Slc3Kq9bsIug5PWsVQRn3ucasH5+yiGwESpcyqpnlR7P98mT1tOavuydXxQ5UwRdptFx9mYSqzhJGVNS7BhsM+y9b0Rt9b70fgRWIwng5xXEGvm3nBcy10uxyKphJ6YYbFVf+MprSV9z3/w3t8bGiPwQXP6DPxlt+iuHm5Z4R35Xkz02tPFowzmxhGex4+y+D6vKJd8Lks+SeNcdT0j1XkgVhcnj1HfmpXnjtK+e3T9tcBSV5IfbHp72CDWf8MiDVknGtizM0+z/KYqUZDxEkR+gRzH1//xW6481w9RGp43/DQAA///7/3VVdlcAAA== @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/CustomData index 9deb08c55ee..656ce6ff098 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/CustomData index 9deb08c55ee..656ce6ff098 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/CustomData index 21bef707f18..9f13ff5bb4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/CustomData index 21bef707f18..9f13ff5bb4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/CustomData index 352f85d64cc..6d2c4ebcf34 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/CustomData index 5aad30e84ed..7fffdf30353 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/CustomData index 9deb08c55ee..656ce6ff098 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/CustomData index 9deb08c55ee..656ce6ff098 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/CustomData index 352f85d64cc..6d2c4ebcf34 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/CustomData b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/CustomData index 352f85d64cc..6d2c4ebcf34 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/+R8+3ebxvbv7/ordimt7dZIQnacxDnkFEvY4VqvC8hpruPDwmIkUyNQYHDiY+v+7XfNMMCAkGPHbW7P+borqxKzZz8++zF7ZrB//KF16QWtSye+amiGYZsfTEsbdK2+bVqqYdnHqt5X9oGOdfujSc/Wh7plW/pAG00s5UU6cqz3Nfu9anXf5SMH6ci7Ub9nv1f7+nDyu3qiDS3lZTpgaH1NNbUaglcpgTq2bH1oWmq/nzN9nQ71Rt1TzVgb7bRLw73R+2F/pPaKcbk0fqp9qKHplGiIEoQuH94rDXMYdRhIg9HRBzqtr5sFTh0G1MC0T8YnG0QfcBzWbGOwdUdDS9WHmtFbJ2HAGZNhd32QQXf6yiQEQ314ko/ttYuxNa32GGinkyONhMVwZNnHo8mwp+wxqPTBSc20vWJaX7N4pPb2y14cnNjjCafq3os1U7tWHd3BOp2hEx3XSTejR0OXM+rVGuWZZpj6aGjrwzO1r/eUPQZld6iv270v544eG6Oe3dOOaog660Tj0xNb7fVYwjH0RobKuUQzjJGh7DN40kzlDKETX2Ux1BsboyONPWUajybWEbGSWDdMh15wvlfHum1qxplm8ARyLUFvaNr90eh0MmZknVoy9f9MDG2dOAsO1VLrc+GgzVFUk/BA5gargX7AFDl716v69mA9sNYEv2xzSbQ+yiR3J6Y1Gtimphrdd3ZvNFD1oZna9ooxOBlP1ue/2uMGDZ1EFp8Zr/bXh6v2vXrB0Whnelezx/3JiT4sMTooiPTh8cg2RgO7OzKMydjSesorlg7mye8b5bxur9NwEl7LRZXuqXq/8M5rrn5Pxj3V0oqhLHNMjQT+mU7zyuwa+tiifjI0tVdwktttTggpp5PxiaH2NI6CU2M8MU5YwMvtTp4kpCAYGnGDIrcZ/l3dtFXT1E+GtjEaWfb4vSLL8toYjZ+xZgx0k2iqyDJjO1Zp6eqOxh8okSLLPOfxuP/BHqum+X5k0GQ71k8UWa4kbr6GjFhayHJW0dIythY+svyyRDAaa4ZqEQzT0iDLWfWyjJrB19BIwaJJaVpq99Q+0SxbNQa2NTrVhoqcLaFVkqFmvR8Zp8yWScpYkbMVtUpuTo6GmmWPDe1Y/12RyaKaJ+XRRO9ntUwm62IKynt1bHcNjYRLCka2KvEj+tCcHB/rXV0b0og4tc2x2tUUmaxSlNrS+tp4ZFi9UtlU5KzOFeNZwKfDmSGGpR+rXbJeGZo6IKtkxkeRsxpXQ8SYKTIpbWnjY1ljEuS/f7C7KsHtTDMsRc4KG8sMMqQZlqnIB3lzwtQ2tS4B1eqb9tFoZJmWoY7z5VT7XetmeZ9Hx0Hm4J5uHql9zdbHlnrU10xFJmUtrZnGxLQIh/XgyopbTzfJLNs03ynyyyziDX2gGh/sod619TFXVOWXLPL1oakZlq0PeqZtaKZFQpREnzEhmgytkT1Qhyd9zaY6KfLL/cfOO9b7lmbk81ga9QgQ2oZ5x6TgVeQdPHZeRd5LLngNjfjCNrT/PdENrad0shI1HNGioJ5oJgOmk9Umc6iOzXejvBryTWM7y4yxoZ+RQbJ+klaARGUnK1fkIR+unfZ+ljZ5uz5QzVPGlI11Da2nDS1d7afFtlfbE7ezDCTtTLXV6bQPoNEoWhHaVBFtmPYvoTJGnhNUyepvy0qn/apKwS2+71VzoHTarx9ksqd05PaDFPtKJ6vdGyheKB05Q4X1IVmQ5/2pZpyRRCbZqB/rXeILY2SlBdRST5SOvMdw6mvqcDIuDLH1AXG70pH3Gw1vBjMvcKGF8BQkfLtEMNv1QQqcBQLhFylCPnJiJIC0jLwAg/Qp8TB03rZcdNMKEt+He5hHaAnSJ9hqbr0BfIWCBgDAyFTE7TiMMEgRZd/KuZE5zudr2Fo4eHq1LbZ3ofWvbb1n9/VTTdmehhEK4517vadsN3/Z2RFbu+DswB2kKuAwWS5RtO2cdy7AOd+72HkD6IuHYbW1wyRngfFEDfJwerJguAccgeTClrC100B+jKgmaHoVglARHYQYZmESuEJj5jUak6PJ0JrYI9MeqgNNEdLvQmOgGtRb+QB7UIzQfrI6TB4KDbrA0T1qQVA8Expsd6S0kjhq+eHU8em2+jq5RFPsN9KlPh0lz91weo2iBvqyJGjSVu5MEcS7ovHLED9UVkKJTjMtXkpw47mewwTkbpKb8l5TluRs5vBM7+lqxprGq22+UzOR+QNeWt0ckgiZmmcrSbzbwHiNC2eY9WGsVWwlj74iWhEW06i58KZRGIcz3JyGi5ZzHZN/0nyZFKpU2BZMSU+U9sNpIe0OeoowJVEWwPWruOmFECUBSCQxbzwfzZELkhQtQJIChKWrMMYgSZ89fCUFMSw997C1jMJpS24FcWvpEeJFmJCwvl0i5dIL3N04miqtcIlb82Wy68ZYaS2C9Eu4xF4YxEpE6B6a6UwpYTE7e1DikBvJ4mDNzjTg6gwMEFaYbUvPZR9vIFP7MFM5f8gUOOS1oUAJDdKFd9XuO83u6YbSunGi1tSZXqGWQ+ZF0yvvBsWtBumo1SFp4TjiKAwxoUsnNLQzbWiRXePJCW3CMn5+OG85/04i1BrksaCS703tC0ZBTLRpdpMYhwtzGnlL3EI3KMBxq9GdGH2yAx5PLKWFF8vWNIl8+wZFl2GMmmGCG3T14CnCyInXKQztRDct4wNrhtMNAK1JhL41DYOZN2/eOgsfGo0I4eh2unBtb2bPHM9PIrS9A3e0mpExD8WKKL+Bz46H7dhHaKmInTeAvQUKE6yIe28gvvJmGH7+ufKBspiFEXjgBSBux+gTyCAypjtvwA0pCflh7EDMPgji3W8rgfC6jJBzDff38DGn9mZwDqIHEvqU84MLbinKfmg51r6gaYKRCx8F8bePAplIpMRvSqQRwkkUgJw/zGt69kONB7EAIh+defSjGwbcKrBZ7KoWdTv2fBTg/x7w/yxEebiC2A/D62SZo8QjI3PIEJRC7Pg2j1WEpmHkKuI+nRpjJ8J0XBG3XQcj+PWnOG0oPl95PgIcJagEVCYdpJxrBplEVVTaBBIiZAN40ySKULBBaoHu9jZPCBKn684OSHMEYsm6zcEvWISOc3FpWoRIMXN3n2QZiVfkCg/7mjlws5fzZHkQktSGPJWepGYYfQ3IGE3DwI0FkpJ1GRmEdowdHP8dcpKk5N8nI3O05gjb2IkuHd/PUcJOZD+EVEpOkUoiP0vH1NXiHTd7lQEubICOo63A50Qg4X/PKAmR9hjoOG7fCF/mrIM2CWsfpFls9m9ApJ/DQpm3IHKrPXTe/iyX+BC1zkH8J/ygQBsu6pShqePgEqMSAZeBz/WsPYvChR2huRfj6NYmLaZNWolnepzMmoW+iyKS916UbkEzkISd/8awILDBkmyj+aBgMJAulYEspV0aiHcbW7oVCSOuJXxeGHGM/vQwuvQCJ7r9ahQxsgcCiVEsHXxVDaZMxno8cZMqMVUWWAmrDbFVnlMOLxo20qwiszZoaNBtjphSAJZFwiY3rsVhLeevx2MJyT87JJ8Qll8NzZrwfDhEKxM2RCzdds08v9gH0SePXPvJxDQ+91l8vijFHM/rq4WMJy6H2jkNNDGTBhcXeSmrr2I8q2eWsbwnqV3jcpX+xoscJZiFUdnND3i48OoeJV06N8hlByB0sz/1w8SVvMDDEqGNm5SC0qanpcefiPczPisBREpBvMaQbz+lP8yZbv2ojY63ONgfDoPv0R5SSuSC5IHQIuq1XKFQsMgGLlTeMjgaq0Z8G2O0mGISrbRbf1r3DfHNlBT+bF341n47VwNcBy3CQIqQHzruYyYwvUFkqnyHtj2XTfYrSVyIlqQglJbOnFRyvzTnjzCJAscnk6Qkn/BN6VS4LMbh8j/OX0Tp7+msJ6PqerFz6aP/OGCZ3n9PbNMKQ0x5Gq7PBZMmnJSC9PcB5AZFsRcG9hxnYYZRjEEQt+lV2Ay2foo/BlsgiL8JcA/sku0M7uEKOS5IAcg7AigKCKIsNFaNInq1gMSAGrhmqZivlXmQ2214AXttEFN7DC29iDYt1ZqYivjPRn2pk8tFDt5C5SBelKWUtumH80YBcFkASAEifUgFZta3yTANE9+ld3mXKD1G4g/BSp5g0Hoz+AFqzpVA7hBLOy84Y1CQZor8KPEptQuXtwWLzbrw3uilKUndwZVqb8bp4nsxlpLAwzFI0ozsDSTJKV38CqLcjFF0402RUFG4vBZAZqkokxDfBGa4XPJgrlW+R7FhtIwPsxstblDUDRdLh7vXyK59VUXcTjsRGe5hmmCQXBB+FUhrLe+USI9y0s4m0vNz0uHlvFcsHfInRyuBtemlho+kEnJz9hwD4OemF85b5D+Sh1kKnkEq/MqbX6EYn6VprIjb+rGp5JuOVMZKyFUXKRNp1nlAdfGuzHRVp30ea6uGG34OSDntocvx9dwKj/neenx6kt5Ks+Qm3/M7+07+qKcbWtcaGR+yQru4dr0IpCWIpeG0CU/iKxfEu9LIKq/ka1lHYuig3QZniaU5wpApzFgQ9VZK+pmptvolFRQuSWfqLDE9zsjmMeMeWDXK579vGgD0UpxMUQh+zILStSQJcC6DH7HSuMvrOUhse04slRySuGE0RfShi2bFXQnZ9RBD/HB6HdPHGRxSCL3l9fzwcJTe3B4eKjyX0HcLxKTb6iVR42sLFzVafkOXqPVl6U1aNNn+gQBewYF9JFwbq8Yc4e54okbTqzzCnGh6pYjbSdr2LnYa3B7zjgzu7q5oRjrky8G+QARURqIFeb6+F03zKB1urK2zbHThZqO09nixagwO9vkSS1TZLlTf4YXWy5Q3SGtzNc6LDXZCM4mKQ/g00NhZDj2HkFlmsPO3CM3RF2XrX81fP7bSf4fNX8WtEmzF9BUo/5eAz0/OdYbq0tMGfh3MvAhEWz+cxzYO7fTWu6IuduJrmkfFfUk6kFKTijJ0StdEP+0NdxocIV2YLf4qSfjpGH6ymj/tDdnpH4nbTK+sq2BSAnfzVEr3RxwGdowjL5gr4jb88Yl0PkXjJklONAfCI8bOYglAi2+m0kpYIx0tUeSQbNNdQsoUqCFkNZg+EeRmZ2+dxHLia4IOpGIJljWMNIJkH90gH0DQg1kYLagCjr9OO0Bx7MxRKpQsoj7CyD0E8ZcNfMeeS2nbG8atuvGtuxywQxDzz7s8OIcgct92MzgOQWSfdnPzCQ/2cZez9hDE4stuZtohiOzTbm5BRjn23N1c7eyh5bmrNEe4o2TxjosLegZ6t/56yEq8K0fxqklmNYrCKZDiJsAPCgWoXA/48se1N1ekAbLja29ppy9a2W7kkV6+6LNJZf+SHpGH7q0ibhendiC9A2GAsOM62Dmk990CbaaXUfjlFoRfBBCuMF4etlrywetm58V+k/2/tWCzWl4QYyeYon86S09iuwil0+7IUrsjtWWWc1yqfYup1JDC1qxZEkRiEulqSCIi2GpOw8UywaiJnXnc92IM97Bwltsx8tEUbzfp2nBPtzbbgnntLU+WSY8CphMzfF94A4In7OzsnLcvmjeOnyBotUCYOX6MhHwmBSql3CrdKHA6Cpx/WGdqXyeXyEfYpq1zMLenKMLezJs6GNlRiGl0/9c6joFQ77uoxnfnF6TL5T1Hl8vrWGKsJIanxPCUODylDE9hB+4hdWXZV3dlvXZ3V0I1pdjyN/WRE3DvnPzPSanHu4Uk0xGFq5ui9VXcidQMdC8eOJEXoGgU0Xfl+l6QfKn0BmGctTCsOwljukupvDZLNin393UE/Nuz61TrL9Cut2Tlg3qvugFqoBvHHzvTa2eOeqxTnhj9ih20F7uTD6UVZ4wUgCAmkV/TBwLhCkKE4sTHinhHmjHu5Zt0AUpHG5WDIV7PFP0U7bTW/a9PTLMwwcsEK+I2cXkWcMRn6X0mUS0lKYcV8ycbanBtqjeDWo+CII7M8oFBnLghYDeYAdOKbC3++ES2FSn/Pz7BZyfORmn3UdZzrSHPtmkZwxcgw0H7W5hS6NKVNlmSltBI3+iueHSZulyhR1+lgBXETvlJtj8XxD2BHXLR3zJWBPaeUpm8H35GUdeJuap5F8Z0H48j2Do/pO+nH15skc8+IT68YNn243EYQfpq+S5xiJgLBy8G+VWzvQ9O4IIQya/a+wJ56PhxCC6aeQFyyY6TZH4YkJaFdiq7aa8vZq+1ezGthDjMeKRyTW/h+U7k39Kta6edCep0mu39JozwFYo+ezGqY9RkKDQLE1j2UuHAzXD8z85toUEGHwThZ252kdU1IOw12ykEN3vN9lMQYE7jEaAsvhb81HeV9M62hZl7WTCtWAkWmm5eSfS4SVjkQbFqfhRuyJPsgOajIOzQBSBI/NpSwgfc+ty6l/fqSl4lmN97+CpMcC/EpSjNGNPjYuTCVtz62Gy15lulnfkj7U4ukwAnzYhjXIhdPWw1Z/GG+ZntfKqzOs6I47885UsFpgxIlvRlWP+sQsF+Kyw78jKV7Z1G47mRKaRnGxs8wusruGjmJD7OPfBs2U3xjkG8arJ6Hp91Ho6RFEffwcVxZ6xsb5QvRd+iQqlzKskiqhHNaM9UGhF2dipKLiN044VJ3P+OytbKLCldS8ErTxaDm6z2kpbiroz2+W8XpDZyl2d1wfmrsi2IdzdZDhTs8xcP6mXVg/ZnyqwWyr8kjB9Oq821+uaviZLzi8zD64jfbMT4Ufjm2OZG5ZV5kPjYU6PpVaU2p6Z6C2eOrPAIjRPS2aUVugHw4x+faAuxNhtmUbigQ9MwwA5ZtnXCI26CPoNu+dm5d9FcVDmcdUgnEISYpsNupjK+cvBuetzNnjyGWWM9aiomZR6rU2Rjkftagdsgg0ZFjZznlLLHlrHnqPTMgvXUYjWY9C3dpn9r43FR/a0V6smC8o1gWpI2l4MnoZ0l/mPT/nFqZ7/tU2rANm+ksx6MnQoUpwSd2v6LXSj+zbqvdKvizeCh2gvoixdjtvuYkx3HFYKCvp+XsAixvU+Y77I2kpcFsi4M/ozO74E+i9NCef6yyHETQIqKlZleZ3OjKwEKneDnn/M1KP9zA0QhgV4J1g9V2DU2H7R8i4kM/a/a9n3sYqsVic5Vo+G47ml6zjoMXdR3LlH1krGvHml927QMfXjCndGlL4t4IIg8gQD/+Mc/QBCzv2swHPU0mxKYAryF4s8MdN7+XP8yDDv1hSB0EfhEHyhJSDfyEXLcW7LKxCjAu2R1vvKCOdmrO+76ezvlto1d6LoumVEnAYewrkXcbDaF4jyWnpvVWllNihoi4piax6td8Y5XZFVzG13HraQ9t9WN0CK8Qc9xLwJhTadnePjxULSqYls5GLxyFaLd76RcVeyjlPv/o1umWk1EHPvOvBIMx3315OFY4CjWLCJjj7eFUvNW0AetioxN0PI0u3+JIhUZj1HkO+hR9ueP77T+WDNMbXTc+H8BAAD//yXG4DBLUwAA + H4sIAAAAAAAC/+Rce3ebuLb/359Cw9BJ0gbbOGnapoeeITZJufHrAk6nN81hESPbTDC4INzmpD6f/S4JCcTDadrM9M45N7Nm1UZbe2/99kNbD/zzT61rL2hdO/GioRmGbb43LW3Qtfq2aamGZZ+qel85BKSt2x9NerY+1C3b0gfaaGIpz9OWU72v2e9Uq/s2azlKW96O+j37ndrXh5Pf1DNtaCkv0gZD62uqqdUQvEwJ1LFl60PTUvv9jOmrtKk36p5rRqW10y4090bvhv2R2svb5UL7ufa+hqZToMFKYLqs+aDQzGHUoSANRifvSbe+buY4dShQA9M+G59tEX3EcaiMjcLWHQ0tVR9qRq9KQoEzJsNutZFCd/7SxARDfXiWtR2087aKVgcUtPPJiYbdYjiy7NPRZNhTDihU+uCspttB3q2vWTxSB4dFKw7O7PGEU/XgeWWoXauO7qhKZ+hYxyrpdvSI63KDelmhvNAMUx8NbX14ofb1nnJAoewO9eq4D+XM0GNj1LN72kkNUadKND4/s9VejwYcRW9kqJxJNMMYGcohhSeNVG4gpONL5kO9sTE60ehTqvFoYp3gUeLRDdOm55zt1bFum5pxoRk8gVxL0Buadn80Op+MKVmnlkz9n4mhVYmZc6iWWh8LR22OohyERzLXWHb0I6rIxdte2bZHVceqCH7R5oKo2koldyemNRrYpqYa3bd2bzRQ9aGZju0lZXA2nlT7vzzgGg0dexYfGS8Pq83l8b18ztFoF3pXs8f9yZk+LDA6yon04enINkYDuzsyjMnY0nrKSxoO5tlvW+W8aldpOAmv5DxL91S9n1vnFZe/J+Oeaml5E4scU8OOf6GTuDK7hj62iJ0MTe3lnOR2mxOC0+lkfGaoPY2j4NQYT4wz6vByu5MFCU4IhobNoMhtin9XN23VNPWzoW2MRpY9fqfIslxpI/4z1oyBbmJNFVmmbMcqSV3d0fg9IVJkmec8Hvff22PVNN+NDBJsp/qZIsulwM3mkBENC1lmGS1NYxX3keUXBYLRWDNUC2OYpgZZZtnLMmoaX4FGChYJStNSu+f2mWbZqjGwrdG5NlRkNoWWSYaa9W5knNOxTFLGisxm1DK5OTkZapY9NrRT/TdFxpNqFpQnE73PcpmM58UUlHfq2O4aGnaXFAw2K/Et+tCcnJ7qXV0bEo84t82x2tUUGc9ShNrS+tp4ZFi9QtpUZJbn8nbm8GkzG4hh6adqF89XhqYO8CzJ+Cgyy3E1RJSZIuPUlhY+ljXGTv7be7urYtwuNMNSZJbYaGTgJs2wTEU+yooTqrapdTGoVt+0T0Yjy7QMdZxNp9pvWpfFfeYdR8zAPd08UfuarY8t9aSvmYqM01qaM42JaWEOVediya2nm7iXbZpvFfkF83hDH6jGe3uod219zCVV+QX1fH1oaoZl64OeaRuaaWEXxd5nTLAmQ2tkD9ThWV+ziU6K/OLwof1O9b6lGVk/GkY9DIS2pd8pTngleUcP7VeS94JzXkPDtrAN7b8nuqH1lA5LUcMRSQrqmWZSYDosN5lDdWy+HWXZkC8a2ywyxoZ+gRvx/IlLAeyVHZau8EPeXTvtQxY2Wbk+UM1zypS2dQ2tpw0tXe2nybZXWxO3WQTicqZc6nTaR6DRyEsRUlRhbaj2L0CpDT/HqOLZ35aVTvtlmYKbfN+p5kDptF/dy+RA6cjteykOlQ7L3VsonisdmaFC6xDm5Fl9qhkXOJBxNOqnehfbwhhZaQK11DOlIx9QnPqaOpyM84HY+gCbXenIh42GNwMzL3BBC6IpkNDtCoLZvg+kwFlCIDyVIuhDJ4YCkFaRFyAgfUw8BDpvWi5ct4LE98EXMI/gCkgfwU5z5zVACxg0AABgZCribhxGCEgRYd/KuOE+zqcbsLN00HSxK7b3Qesfu3rP7uvnmrI7DSMYxntf9J6y23y6tye29oGzB+5AqgIKk9UKRrvOZecKOJcHV3uvAfzsIbDZ2aOSmWN8owaZO32zYPAFoAhILtgRdvYa0I8h0QROFyEQSqKDEIFZmASu0Jh5jcbkZDK0JvbItIfqQFOE9LvQGKgGsVbWQB/kLaSeLDfjh0KDTHBkjZoT5M+EBl0dKa0kjlp+OHV8sqy+Sa7hFPmNdKpPW/FzN5zewKgBP68wmqSUu1AE8S4v/Bjix8pGKNBppsVLCdae6zlUQGYmuSkfNGVJZj2HF3pPVxlr4q+2+VZlIrMHvLS6PjgQmJoXG0m828K4woUbmPV+rJXGih99RbQiLKdRc+lNozAOZ6g5DZct5ybG/0vzVZKrUmKbM8U1UVoPp4m0O+gpwhR7WQBuXsZNLwRREgAJB+ba8+EcukCSoiWQpAAiaRHGCEjSJw8tpCAGK889bq2icNqSW0HcWnmYeBkm2K1vV1C59gJ3P46mSitcodZ8ley7MVJayyD9Eq6QFwaxEmG6+3o6U0KY92YPChyyQVI/qIwzdbi6AQYQKXRsK8+lH9eAqX3MVM4eUgWOeW0IUEIDV+FdtftWs3u6obTWTtSaOtMFbDm4XzRdeGsYtxq4olaHuITjiKMwRJgu7dDQLrShhVeNZ2ekCGP8/HDecv6ZRLA1yHxBxd+b2mcEgxhr0+wmMQqX5jTyVqgF1zBAcavRnRh9vAIeTyylhZar1jSJfHsNo+swhs0wQQ0ye/AUYeTEVQpDO9NNy3hPi+F0AUByEqZvTcNg5s2bt87SB41GBFF0O126tjezZ47nJxHc3QN3JJvhNg/Giii/Bp8cD9mxD+FKETuvAfKWMEyQIh68BvHCmyHwyy+lD4TFLIyAB7wAiLsx/AhkIFKme6+BGxIS/EfZAZF9EMS7XzcC5nUdQecGfPkCPmTU3gxcAtEDEvyY8QNX3FTE/kg61j7DaYKgCz4I4q8fBNwRS4lfF0gjiJIoAHL2MMvp7I8MHog5EFnrzCMf3TDgZoHtYje1qNux58MA/eeA/0chysMVxH4Y3iSrDCUeGZlDBqMUIse3eawiOA0jVxEPSdcYOREi7Yq46zoIgmdP4rSg+LTwfAhQlMACUEw6kDKuDDKJqKi0MSRYyBbwpkkUwWCL1Bzd3V2eEEicrnt7QJpDIBZGt935BQvTcSYudIsgTmbu/jeNDPsrdIX7bU0NuN3KWbDcC0k6hiyUvknNMPoakDGchoEbCzgk6yIyCO0YOSj+K8QkDsm/TkRmaM0hspETXTu+n6GEnMi+D6mUnCCVRD4Lx9TU4h3Xe8MAF7ZAx9GW4HMiIKF/zggJlvYQ6Dhu3wkfM9ZRG7u1D6RZbPbXQCSfw1yZN0DkZnvQefOLXOCD1boE4t/BTwpog6s6ZUjoOKjAqEDAReBjLWvPonBpR3DuxSi6tXGJaeNS4pEWx71moe/CCMe9F6VLUAaSsPef6BYYNrDCy2jeKSgMuEqlIEtplQbEu60l3Qa7EVcSPs6NOEZ/uBtde4ET3X7ViyjZPY5EKVYOWpSdicmo+hPXqeRTRYElt9riW8U+RfcibiPNSjJrnYY43XaPKThgUSTYZsaKH9Zy/ro/FpD8o13yG9zyq65Z4573u2ipwxaPJcuumefn6yDy5IFzP+6Y+uch9c/nBZ/jeX01kfHERVe7JI4mMmng6ipLZfVZjGf1yDSW1SS1c1ym0l94kiMEszAqmvkeC+dWPSCkK2cNXboBQhb7Uz9MXMkLPCRh2rhJKAhtult6+hFbn/HZCEAkFNhqFPn2t9SHGdOdn7XR6Q4H+/1u8CPKQ0IJXSB5QGhh9VqukCuYRwPnKm8oHI1NI76NEVxOEfZWUq1/W/UN4vUUJ342L3xvvZ2pAVwHLsNAiqAfOu5DOlC9gUhV+QFleyYbr1eSOBctSUEorZw5zuR+oc/vYRIFjo87SUnW4bvCKTdZjMLVv529sNI/0ljfjKrrxc61D//tgKV6/zWxTTMMHsq34fpYMEnASSlIfx1A1jCKvTCw54i5GYIxAoK4S47CZmDnSfwh2AGC+KsAvgB6yHYBvoAFdFwgBUDeE4CiAEGUhcamkXuvFmAfUAPXLCTzSpoHcrsNnoODNhDT8RhaehBtWqo1MRXx7436VCcXkxx4A0ob8aIspbRNP5w3coCLAoAUQFyHlGCmdZsMpmHiu+Qs7xqm20j8JljBEhRabwZ+AjX7SkDu4JF2nnODgUEaKfKDxKfULri+zVls14W3Ri8NSWIOLlV7M04X34uRlAQeioEkzfDaQJKcwsGvIMrNGEZrbwqFksLFuQCwkYoydvFtYIarFQ9mJfM9iA2lpXzouOFyDaNuuFw53LkGO/ZVFXE3rURk8AVMEwQkFwjPBFxay3sF0pOMtLON9PISV3gZ7w0Nh+zJyUagZXqh4MOhBN2MPccA8H3TA+cd/B+OQxaCFyAVvvDmCxijizSMFXFXPzWVbNGRytgImeoiYSLNOveoLt4VmW7qtM98bdNww08BTqc9eD2+mVvhKV9bj8/P0lNpGtz4e3Zm38ke9XRD61oj4z1LtMsb14uAtAJioTktwpN44QLxrtCyyTJ5JeqwDx2128BZIWkOEWAKUxZYvY2SfqaqbZ6mgsIVrkydFSLbGawfHdw9s0Zx//d1AwByKI67KBg/OoLCsSR2cC6CHzDTuKubOZDo8hyPVHJw4IbRFJKHLpzlZyV41YMH4ofTm5g8ZnBIIeitbubHx6P05Pb4WOG5hL6bIybdlg+JGl+buMig5ddkiqpOS6/TpEnXDxjwEg70I+ba2DTmEHXHEzWaLjIPc6LpQhF3k7TsXe41uDXmHW7c39+QiHTwl6NDAQsotURL/Ly6Fk3jKG1uVOZZ2rp0WSvJPV6sGoOjQz7FYlV2c9X3eKH1MuUt0tpcjvNig+7QTKJ8Ez51NLqXQ/YhZBoZdP8tgnP4Wdn5R/PZh1b6/3HzmbhTgC3vvgHKvzD4fOdMZ1CeetqAnweZFQHW1g/nsY1COz31LqmLnPiGxFF+XpI2pNQ4owydwjHRk4PhXoMjJBOzxR8lCU9OwROr+eRgSHf/sN8yvVhVQaUE7vauhO73OAzsGEVeMFfEXfD7R1z55IWbJDnRHGAeMXKWKwBI8mUqbYQK6WgFIwdHm+5iUqpADSHNweSJIDc7B1USy4lvMDogFYuxrGGkYST7cA19AAQ9mIXRkijg+FXaAYxjZw5ToXgS9SGC7jEQn27hO/ZcQtve0m7Vte/cZYAdAzH7vM+DcwxE7ts+g+MYiPTTfjZ8zIN+3OdGewzE/Ms+G9oxEOmn/WwEjHLsufuZ2uyh5bmbNEa4rWTxjvMLsgd6V70eshHvil68aeJejTxxCji5CeAnhQBUzAd8+uPKmwUugOz4xlvZ6UUr2408XMvndTbO7J/TLfLQvVXE3XzXDkhvgTCAyHEd5ByT826BFNOrKPx8C4SnAhAWCK2OWy356FWz8/ywSf9tLWmvlhfEyAmm8O/OypPoKkLptDuy1O5IbZnGHBdq3zNUMpB8rKxYEkQ8JFzV4ECEYKc5DZerBMEmcuZx34sR+AKWzmo3hj6cot0mmRu+kKXNrmDeeKuzVdIjgOl4GL4vvAaCJ+zt7V22r5prx08gaLWAMHP8GApZTwJUSrlTOFHgdBQ4+9DK1L5JrqEPkU1K52BuT2GEvJk3dRC0oxAR7/6PNRwFod52UY3tLq9wlctbjkyXN7FEWUkUT4niKXF4SgxPYQ98Aakpi7a6K+q1v78RyiFFp7+pD52Au3Py/yekHm4WHEwnBK5uitZXccdSGehePHAiL4DRKCJ35fpekHwu1QZhzEoYWp2EMVmllK7N4kXKly91BPzt2SpV9QJttSQrbtR75QVQA64df+xMb5w57NFKeWL0S+MgtdidfCxtuMFIARDEJPJr6kCAuQIhgnHiI0W8w8UYd/kmnYDS1kZpY4jXM0U/RTvNdf/1kWoWJmiVIEXcxSZnDodtlp5nYtVSkqJbUXvSpgZXpnozUGtRIIgjs7hhECduCJAbzADVCi8tfv+IlxUp/98/gk9OzFpJ9VHUs1KQs2UaY/gcyOCo/T1MCXTpTJuscElopDe6SxZdpSZXyNZXwWEFsVN8wtbngngg0E0u8paxItB7SkXyfvgJRl0n5rLmXRiTdTyKwM7lMbmffny1gz/7mPj4ikbbz6dhBNKr5fvYIGImHHgxkF8224fACVwgRPLL9qGAHzp+HAIXzrwAunjFiSM/DHDJQiqV/bTWF9m1di8mmRCFjEcq1/SWnu9E/i1ZunbaTFCn02wfNsEILWD0yYthHaMmRaGZD4FGLxEOuB6O/8m5zTVg8IEg/MT1zqO6BoSDZjuFYH3QbH8LAtRoPAKExdecn9iuFN5sWcjMS51pQ1Ow0HSzTKLHTcwic4pN84Owxk/YBs0HQdgjE0CQ+LWphHe4at+6y3t1Ka/kzO88tAgT1AtRwUsZY7JdDF2wE7c+NFut+U5hZf7AcSfXSYCSZsQxzsVu7h81N+It/dnY+VCneZwSx396yBcSTBEQFvRFWP+oREHfCmNbXqayu9doPNYzhXRvY4tFeH0FF86cxEeZBR4tuyneUYg3TZrP44vO/T6S4ug7KN/ujJXdrfKl6HtUKFROBVlYNawZqZkKLcLeXknJVQTXXpjE/R+obK3MgtK1FLzyeDJYs9yLS4q7ItqXv17h3MgdntU55zNlVxDv1iwGcvbZxYN6WfWg/ZEyy4nyT3Hj+8Nqe65e/zlecnnFLFxFfL0V4wfhm2GbDSrLzIPER54aTRel3JwO1Vs6c2iFJ3Cc4MouzdANAH7+/SMpISq9wSwKl6RpGgbIwdO2jnnETaDPQLf47NK7ai7LHC46uBIIQkTCYZ+pjBYO2k+3u+mThzBrVL2mNCRmsTpFtia5ryW4LTKIV9TIeUwqe2gae4xKj0xY35qsBpO+pdvktzYe5tXfm6G+WVC2EExT0vZ08E1os8B/aNg/TG32tk+hANu+kGY1GN0VyHcJOrX1Fz1Q/ItVX+lSxZuB+3IvgJ+9GNHVxxyvOBYQ5PT9LIVFkK59wmyVtZW8KJBWYeCPqPzuqbM4LZTHT4scNwFIUT4zk+NsrnUjgFwn8Msv2RyU/dwAVkggR4L1TSV2je0bLd8zRIr+V8f2Y8ZFZyvsnZtGw3Hd83SfdRi6sO9cw/IhY1890fq2aRn68Izbo0svi3hAEHkCAfztb38Dgsh+12A46mk2ITAF8AbkPzPQefNL/WUYuusLgtCFwMf6gIKEdCEfQce9xbNMDAO0j2fnhRfM8Vrdcav3doplGz3QdV3co04CCkFVi7jZbAr5fizZN6sdZTkoaoiwYWoeb/bFO16RTc1pdB23gvbcUjeCy3ANH2NeCISKTo+w8MOhaJXFtjIweOVKRPs/SLmy2Acp93+jG1ON3/zAHpHu5mdXC7jpl9uyJgLsE32oGu/tNCGll4QKlxJqCWtju0RFQjm7sgCSyN8HnzzfB0kMgUd23si7K3iCwwFJ7zsIBVgYv+yFFZr4KhpVYyl9Z4Lck1ggtIqPW63Lf7SunpHfzYgCiGDcWl+2pVdXzz402b/NZy2ihgfjVvPZTmmnTwpAVXT9Vh09fmInQMI67WgMNUvLfvFkI4C6tyqqIpR/kXc0Slc3Kq9bsIug5PWsVQRn3ucasH5+yiGwESpcyqpnlR7P98mT1tOavuydXxQ5UwRdptFx9mYSqzhJGVNS7BhsM+y9b0Rt9b70fgRWIwng5xXEGvm3nBcy10uxyKphJ6YYbFVf+MprSV9z3/w3t8bGiPwQXP6DPxlt+iuHm5Z4R35Xkz02tPFowzmxhGex4+y+D6vKJd8Lks+SeNcdT0j1XkgVhcnj1HfmpXnjtK+e3T9tcBSV5IfbHp72CDWf8MiDVknGtizM0+z/KYqUZDxEkR+gRzH1//xW6481w9RGp43/DQAA///7/3VVdlcAAA== @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/CustomData index 9deb08c55ee..656ce6ff098 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/+x9/3fbNrLvz1d/xZThxlJqUrbT3dvnrXJXleVEz7akJ8npvS/x6tAkJLGmSBUAZTsK//d3APALSIKSbKfb3nve7jlJIwCDwWDwmcFgAL76rnnr+s1biyxqtU5nOu6OPvY63WmvP51cDVvNYEWb1pcQo6Yd+NRyfYRJ07aNFQ4eHk2C8Nq1ken6vO2gc9Gd7Ns0sO8Q5S37vWln0D/vvZ+e9UYtrYmo3bR9t+kjajoaL/+5148LGVVWeOv6Wu3VZHA2gFXoeUAXLoEgpBDMwA6Wq8BH1CfmryTwgQbBf3AyZ4Nf+peD9tm4QMwJ7n0vsByi1TqjXmdymdaUK2LXpp6ibsZcSHDTC2zLE+x1Bv1Ju9fvjs7UPSdicWSio+t+R1kdh74tV7z4caysdxfeIuwjikix9nDU+9iedKfDduei/b47nnbanQ/dHU2bK+yuLYqMlWXfWXMU0xp13/fGk9F/TUfd4aClBYSwMVvYRUQio9Wuf77uT66no+5ltz3utvS6R26nGHnIIggMDAZp1Abjll53Z+AR4JP/xkgqHL+DpoPWTZ9N8cm718d/B7pAPpAAU9a6UP0rzK37OzhYWtRe1PWjQ2j+s947m172Lrqtuh1gFJDG195Zq26+aTT05iFYDdjACrs+BRqEqxXCdevTyQ1Yn97eNP4O6MGlEB38HWZuozbudq5H3enkcjz9eTCYjCej9nB6cf1z97I7mXb/s9uZDi+v3zNlKCuPWAjUI7dBQAnF1krbn97H7mjcG/Rb2vrIPDaPDMtbLSzzRKtNupfd4WA0OdvSM0UeWgWYOnnN7Z51+5Ne+3I6HA0+9s66I7XKIwf51LW8FQ7WroPwLiLZWlhbuOm5t1wZPCTTMhJiigFUrqWrdr933h1Ppue9y+6wPfmQE+zS8t0ZIpSvd7bwroaDfrc/GaurxwDhUxI3+PjhbHo5eF9Rfb1wDNcn1PI8kzX1EEWco+nZz9P29WQwvR6esYV1ftl+L5NIZLC0fMO5bVohDYxw5Viseed6dDkdXE+G15NWky5XTTvE3nSN8G1AkBmENFk6g/G0377qtjTxb9bxiIFKVhD/oNU6w+tpe9T50NK0moNsz8IIDAt+aY+vxh96V8Pe2bhVb8hF42Gvz1QuKaoRRDvD6za2F/UGbGoAAClVvT5PSxu1qFbDaBms0ZXln922Qxpc86Gde9b83PVQ2h4vwZiBvktejKCNkUV3EqRBaC/2JOghyw9XnRRqzzxGiuSYwzPQq7CaEYnnPiPyi0sXnVSH/jcJ/JReQFr6Jj9zES9wZ/DpExhfQNPzmKjBzY2ANV4vJTIYR9IPTDOIG/gtzQ4xRj7VeCHyCFLWSpmIe4lE/ZnL/+J/ZPZnKKC9pdd//Q00c5ggPWi6Yilp8BV4vU838BUI8pBN66ZvLRG0WvBZy+h+1hpaA75+FTiqd0ejqSTnGNamvf7H9mXvjPMUm6akjOtkLD2XXFmYkR3gNluWl64fPoDGBaXB69dMvJq+6Y2nF+1JO9IYMxrFIaoScLKOWPX8XMVSEks1lsZHIVnC+ihJLmKi2gQk+TuZh1jq/I9Xmf4cEFgn5CyMrUdwCaCHFbIpcoAGsLDWCALfe4TAR4A8tEQ+NQWZ3gxcCguLwDLACOjC8uVah3CP4N71PIjVlo0cPIvQpAa4Pv+N92xKyqlvXhXl/+kfNxEYcwrHZSEiexGA9kt71O/1359K6gSxq1AcZCXPJvQEr64/38FuTo13sI1+gyOmffqmVH50E3H9+Gl80Ru+06oG1+ufD/YZGZs+ly4QBrRc0UcIMGd55mJ5HAREdyaM79zVig1WIh1Pl0XdwI+HyQEK0RD7cCSPu3c+bukHn/0D7gghp6CirbpeFx7SR/jpp580xfjf3ERaQyyt0CeIMpL8X3w8U+J+QS1980pJngmX12Wyr9ezFsZxowGGR+EIbm7YimTTOHV9Bz20+ERI/y415BRXuZ5a+kbNgL7JKEUxM5kkr6xfA3zl+gEeMj/wYwqJdTGper4XBmd2SMFwDDBmxw2tQO5DQM/dhydRIWDMTmJCTEcF7O/iUIMbJqRPe1Vlysu8YmWjHMu5ukotd/215bmOrIyxfp9CcZhZ030hPdZZL5iTKQ2maM1sJmjti7HZGXfNonEdhT51lyj5fUwt37G8wEcZfGqM5cpSkPFZLb4oVycnrRixE8FABXtgQHnY0AJ9k5dXpNUqPYir2GnN+Q/c5ZVmIrEkki7NQNNL7nB5brdSyqu45DYwD8DAYGaFJnLmSNllI9MGzpnC6eC6d/yjefRDmcFdPBzITKxc30eOqR3/ePSDdrCLnVjnct5RtbmKewY/oDALQp9hMSRbikNw0MwKPcptEzPN2LEDh/Eiq7c0kBXTNHk4MWCUx7oLeqYYrd0nUtmGO3nWlNBRrLIVZ1L+noExEsQohrQdZnr98aR9eTmd9K66g+vJHw8zeanl4SUV0ouhpbI/TYUxMbkUWfbol+0ER/3upDvO9Vv+OdIk/0vTN/1u92wszVCkwXfV3nfMwFVw+whFd07Am3LXwV2KX3+Dg3SDotyASPsPrXEAP4GKGkiBJaW+xl0UtjNMHQklDB9UVCW3bY89Y+3f/k04d7IMtvbuBIhwlOJs7OBip82RlKaP6H2A74ZeOHczWyRN7+SXwegiDtIwVAeNh0aqJ5dv0Tr9Xm5+Y476PXiF0Qxh5NsIVrxTYsJVQKj3CLMAw114i3xE4Tak4AXB6tay7+KKzI0OCXLg9lHGcKbDsrWDk/z2vhj9hdfAxp+EszppdGoYB6ey8Me2WNn16JLttXfVOW3lVozhwx6NIoV0bYxSkJzOAjwNsEVaqXHYRZKZijlGKzCCIRysPzvf1z+bn53vG28O+Epy4IA0/7luNtk/F8hyGKvHjWQSZQ+FMZIE8qYh9lr6SX6EeqlKeTg7ZVsmkuNleee4GIwV6LsimqJ+FmcdjgZsvWSYlUW0x93Rx+6ITesTqitn+AntVZOdSVqoZiaHRG2ZQDI1eGKPTX1TiuRHIuRpWDY2FBHb07W+UapgZHiuHz4Y+iaJFkba1lmevP+//Jhoj3Xw6tWbZqTBK7gmCG4tsoDb0GX+GLySd8n40V460zmiU2rhW8vzpjMcLKcYzV1C8eP03qULziscnxzBX3etlrPeqKlv4ZxHevaem0jLh8EGo/Z4Ory+vJyyKThv9y6LG/7YgeWBr1E8hmvs7QcclYqUuqXfCDIKGLFztrdqV1mHjLy6RSa1sDn/ov3R874HdD9tunOo9juvl30mfpcUwDRN2K07tao5+lZzsZOFQvR5W215NyFklHkFkLgFkCxv5AAJbRsRMgs97zHnglc7E7u2J6WWZrWHokF1mTgnsTAYD19me4l5s0XOkQZGZw8bmzPJFZoan/DF5sFeBPc+GCPAQUBP2R/7tVuudy5DVnm7NdN29dWsahjzvgwc+Pe//vVlZBIXdfdoZId1jOwQo8nl+OfkQPlCHLR2H5Bd8OMF/Av3mbtq2oLSFTltNu9+JPHZOTFvveDWtAOMzHvXd4J7YvqINq07YlCPGOm5tWF7LvJpU9889fw6anJ8b1pL528/NFVEZQ9Kr7ukPbr62w8NtqlTHD/8ecaDl1vHU3ZWn5VJUJMGnfoYK4sumE14FsWogulsM/6d2I6rei0HelKcd2fTmeV6IUbwlqH8347AZu6/MRtfghFUEkx/D7FXMKAp23sPVEbzSqR5ltg0iSZDAGMUg8ALqM1ctrjvLbLkx9Ndtr+vjgmzetOZ6yE+/frmOJLqkYW7zNy8zYlclrjtJJzN3IeWvnlbbMmtUzIvrbqmb/5x+kOkNUDe/PFMn0dFiHMjd86cIKAYTDDimCTb2rMa4PpJ5Vx/n/5xw3xXJ8jHlWMt3FRJIJJSqQxG1BC0mfuYZ5X9kpdBpI5Lx074MRRDyk7gI8lDYK4M4wUYLySOy7BhPoXbN3vxWZNPA0F9qmCR5ZgJtd6QNSddZuyfVKhFrDLJwWB+0705iUC2HCIalTBHYrV4y9UiPd9mo04i6WJ+i+3K01utd2Tl+hpoxHPnC6o1cgrxCTQ9F6A+Mn80jxQbaPa/EvHvW3Xt/p5INOOpLcTe+aTxwEYdrS0vDsmdxVSYa5mdq+Z8/4xw6p+VZwj00qzkAuFJ76Cts7FWrhnI6+a9xXBzI+f9pIe2/yOmSWRmKMQ6RHjpEnE0r5DwXsLMZCkHCFWL7Fn4rFSxPEwXIPxfBtKQmv68Jcof+uRGx+Qo09NAM9bH2jZ4V0TbJURk1DksErA8jCznUQ66V7FxKFJe/IDCLUrXnevPS5kUOZfsXxYP/A6ML/C08FxVPDANbHDP94khv1yeroNc4lm3pKkU/2lBUbZF+ARnfEbiWZ9/mdLlqlU5Yeo+y33EEZ/ayyI+mzJrkQb6RpZlVBWykU7jGKKmnPDt9ZcH5pqUyYsdc9XoUxp8H7uPjFJHIT8nYqk9iUDR01gfS0tkKVwtxXi2LaOn+3V77RXWYrOw9+iqvT61mELsVdJgLU7evT5m6IgQ6FK6LrzLctKT2GgXtH/WGeOn5pvG1/on1L3B2HzT0HlmYt22aJ7E69eSql2MrscTtkcohqIa8DqVmGzMv2/V9e8aOTu1j0X8HTYUVdbo7bfYMjxTt+S4zLfRnZykk5yAletfhLfo5a72vp72s903SQjMX7sLb9E3cmwTIezyZuVuc06Y0m+Vk9Jf5LfKmlBisKQCjEljfaL2/9TTrRriHn5ffha+qe+X5VBs461y7BXZOxXVd3hopW7/v5f2DC8tkaJyzr6Jk5YPrZRmLdq+UkpOWQygz/PJtIJTpj3VK9vfhYHSjYhneiVPWF5aFSpWN/nTeCEyLMceSGYOB9jK/As+S4r7ZGz+5Rtkad3uf05G7c6kKyoz4AQFoZzB5EXJzTiOk4Uge4mJmhS3k+4bMM5Ty6LLZE3TlHicXA1b+qbEET9trT5s3Xr4WWKxGXcgztwUvak2KWl5dzQajMrR+x29qBGfbf5he9NCOpqpStpUMShD+/6dCRMTd0JCJ5D3XzuGyLZiZT1rZsdvKhJytma1jiRJbYXjYJOfB6vdq4IbLnyA41MjKuYP8WOQcrSMUQUNIxJ6tKVvOEpKpYxhXZTWQG1Vs4Fpso+T5OylDGaLaXNs6KelJDrB8cd+dzJlZeJ0Y5ys01NDVxWVrsOpKlXeyFFVBleoIUHUhO6DS5lHYVb6FDzFot9LUyr0jYroS9Z1SVBNfSP1yJe2UjSFbAWJTHqelUtadG3qpbP1yp2BfszvIi1X9PEQqHWH+Lly6Up7BBZJ8tphbXkhMmFAFwjfuwTF7Y5ZHbpAorwmu/1nLhYqqyYeFZRHaiZuHMler7hWP5l/mSxXQpu55PNC5ndjmXWF49gcazLVpr6RyXD5liM6RVYliabpFzmBVlx85VyLS5jpRaW66B8MI0GJk5x9jlMr41pJnWZzftDIp9rmCcd51JWrIYWkYjv+DILoLPHRU6AygSTXz3LjZm2oheeIZlCnyP3+i/kmMo8U109j+XIl714NW5pgwFinWpIcnFeG+bTCAUJswRRK1kyJJv1FFScLUn5FWVVzNYVMVxgZtmUvkJNIML0XclohOU15dqg6uBBdXPts78rv/4keXJ8GGYf5VJck1PjlYf0UWTCbVyRYOAzPTsL1fMVYTxX76C0VxRF2sionybMDhVyUvDMnZJS9ApD6cydPyQRRbBlT86Jv8u5TxUJK2GbYBCsLW0tEEeZBh4oRsY0U14y5u0bKCyvZsGQHqHx/lXNZkkElq+mDDrl7Sy/gIgPqre9J7Ebkzdb2UfYUBYOE8oD55i83W01lvYyOtDncVI81khC+Si2fr2md69Go259kqlvPJmiHNSjP5DqzCMI5nLRH77sZ8fgINWGZoOUa4U6wXFmYW/o8L6eGdmQemUdaxBQsRylSh3mEEfEkYwFlJkv9RMznmPOnG7C4210PMKDfQssDGjQSo3JrESQRKTBUtkqFuTIVJqdqbW5TRQ4Dpe7zJzLfQpOr3jbZS3+TG25cfVXhzG9MPoaC1FZuHz9bUATRcNXp985cTBQbBunVpqpET0UdKZ0qV6ognj0ZtZV+qVpmyfKlUS1zA6UtkLyRrriV9vUrfLfXvTTfNeLLTi+4mJZeYPUDkChC9qYNrDAiyKcwiyMc/PZUfHUV+N3VdOEwn+/Y/ME8NmGycAmQRRB6DiCM2QpeI5+Gluc9arD1/DWL6ZW3iE2MZrbvJg4epLmalk2Mpcs6MnmWLnLmiKdoSqNqrjlzWTBUKoudSJ5Naoh6JmU9xEqfP6cVadB78McTnQuKqYgZih2X5d1bjwR+DQmFkCC4X1j8nQfPJRTxa8SFp4aABHCPwAn8Aype+aABkEffFu9w2L77jd9iyeSleoyl31Ne2Y/fK+n3eIiHsYoRUwOwmZ2xboOQigfXbkMK95Yfv1qCEZOB+tWU+4VrLwCj30IXIwJu/JqJ6rkc+B3fy4lxbo+Xcv6QF2eqnr+pfokmVZi9nqCJl7e9sPw5V7344O2/2/svz3mAovS2iOpRmNoe3mCGhRxNeiNxMUcBTXjJoEnxJkTiyOxPSqBcBSn5DCNeN86WMFTcj2rD/IrtJWwPWZhpx5IhGvLFWr8XlmGNMCys1Qr5JliEhEsELiWAkWfFMMAn0PU5UKwRXFoUEQofP5wl1kXg3gJB6FMLH0LgOQiXCun8iwmyW6ZE7/yImm9y4A1Vr0AwaEtsV9xvEia5ZWx9cVer5Ipx4ak4hfpVoGhiJXa5PtnupBSAfXGYUlarXAzyL8xWRmnMovYNdOdZU1SeoXzkZ2ckVRnz2XHNKpGzWYx8Z1eqcvfX5dksXqzayaDKoXiCaqAHii2bXoS36OfYCyocINz9KFuzOFslLgpvUXIeKw6iT+Ril0zj1z3j0rdagW56WDd1XNzS9B+0WqFGfLjKYwHM72jpm0KvIp4rA2u+X4auzGqWp1Kiz+z09jdMmaKpGIq0mlq35NpVihTvi0U4MDFr+ZZZeHB3GLD2FLqcZpwyEWsBs5w0n66HZ5B/KzN5cdN4oyqwqWe8KS+6gqRLU79FuOnyzw6Lys3lGSjdZy7oSylHWArTIYpsWlTrQyjTOASLpEkYwCtxQTIPlach0EA8HGxh6s6YaEXj/BzuFkv21q3hBw7aI7L9/CTWvL6Wx7z3neNnLYXU6GkV5PNDlIPesqbt3kM+bZjyM8ilS1/fYqCqDiqHGv9nstS5oTAotnwyC/CypZGv5puvrw3BR+Khf9XAMMgiuM9qIsdgy4swM7NWMP457dEwCMXuysgcldZbZnPyax+kp52ZnspAUVlmU68sayl0VCuItwJu8oOFG/GQVHUbhl2lNsW9x1ae8qcACnMzs5jzXQ7vLlVaIp1uxP5DfNX2Qgyw7Tvsv4Y4eHjMPLfr8WRwxW//MWveHv1X+dGYchX5qZjE0m0joaoj0xCoGRK2r4pFwLDwFNRNczHSQ7BDQoNl0mDHiKLcq0PT+HB56s6mPP3Yn7eYja+Vs+120VVP07PMXm1P/7B6fk2FO6aB4kf1s1n7DJfrZvE5JZU8s4r8mZBMojunVpW0+IcJZDe3XHHK61pAeiXoqF4tK4CPVok+FY2Lb13Fp/bVk6RVO7ffOO007yidCUcpfRwAVjjgp3Wpu+MS6DD381l+kTDiL8hwVT49VPClTtfKediW4pr8L/9thEn3asj3n+ejwVXaaUvjz64rP5cAJYp/3AKR5RwbLiG9XQOMarlR8I9lnIJ4s51HWOzAd1yeq28vkH0HgQ8FQwKBbyMYDZOIocsDPcgiyMl75wyA6vX4Uod6IMkjlZqp8Wcq4V0Ljv+90eCB1PjBrEL3FZez/2DAKjJZQOxKjzA5XXwa6FRU17aR2wKAFdW1mnQ8Zn3/UGFcK0xr7SVWGZqLYImai8cVwuxHI12G8Jr5XAyN0ntNvaU1z5607Fz2ppPBIE0kyQCnd9V+3xU5JieSJ8RoJTFmdyn23IpGEQiXSd8kPeSuCUg/i4M9irUnmFTWL2PEpthUd6+BpkpFP4FjvkuyKdtV8P3ByrIR26WabhAPiIO3rqDKD8biW1fUXSKHfy4nkchWaaxdC/ggcwnjUti9M2H134v9YJI2nnNNSjITiVPPERtv+UzJiXSr301G8aAqxSSSp6okJYHITik8b/xOYN8h/LuNX5AvjP9s0LnoVqmH2FZhRK35y9f4qDtpv5d/fistfd7HnA1jhoNl1Sh4Gl6BzjdBg61rllpz5XSAXmDleUsqSTJ8Vl+5bBuuPc+hI83zVWfEZ5icB7izcH2r/N6s5Dhe95m+xGer0su+5VFanpeSbtX1+jaJixP65N7MwT+XNjaXro0DEsyoaQdL/gAq/5bURnwdSj+ODhqKhVrsVZYR2a8DQjG0gPB+ZnXtL+T0L0Q7BP34EPSTRgQxB4TilIVc/qCmb2QuYllV5gwzTBAHdTPXd2Bpp9zOAgx8irZlzrNKS1ssUn7hL9f5p3/cfK+Vfoq0qHj7O9ODVuo1JmSjOEXOQPw52rLs2C/WFzahtp8mzL1cg1LW8lAUL2mZP32TG0K0NdRZppfg5F4k5YeH0m8uvRwsM1GloMYllPBWkk5u9eOlcvGX10eMPXjpVjcQ4MA/1XS9EkpTOOISGYSxuoihoYdVgKlcImiFvi22NOLLT4LcKMxSPeXPFSjeLZdyOCo37GWpVWJv2pDzwe/uMn8YZVcGUqjIw412qukn0UF6t2/dTTZIBZ9e/6r82fx0ZPyvm+8rSg31z9P0tVd9I0k2ErfyD9j/P/vSelOqfNVw98HjIuT++Ye/7ZxDIYW8fTCMWYCXFoWDzcYcoVVAXBrgxyg63WzMiTWP/uwSkEYvVirz+6Z24KCW/h8FWNbTMviuxb8RpDrn435jWrOWizCIpVeUavUlGem1W1Wrr3C/cD0EGFmOmJGclXoxWGQ2oAzZOe8t5i4qB/NUa6uSpGRXKuhJ05V7eEEqi2R0NWYlHK28KM3vAbBNBk9DMexyywzk02hMAe2FI1B3LIoah3p9ERDKAKNxCIRamHaUrUXkQrYeoPFAAv/SrLaDMPKdCrLZ5wNHfO+AnAK3qUbGueSdy8F18ukLkT/C3NuOF4RORfD4v5cNEm5s6ngd/OFW4SkM/atwel+eJH7+hyFb4i7/eTBNkQFISl/gS/CK73CKy7fsp+b5lCBMIGfZtsqlycotYK0CVks1yjJSAXaChOoyFYDmULtURYRii0N3cp9RHe34jCpzJpIv/zioHeNuWClJ4VCML3rDJNreuey2+9fDZAsgKvTG048fzti2pnBhQy991Vd8QihJ2v744ezwcKuqx7c1efTn44czcFxCccCz3vlhmqIHRTJYFgpj1fnJWH8wmZ4Prvv5RNHz68vLNJdh1P0/171R96yVnn6mMKEQSbTloFGMIrlCkXuCh08ociCUHkdJYEXJDRPYrnuXVbJXX7zkB5XIgXngOchPgtgYJV9c1nbGRNULUgP17yk5tbTlQ3U5PzuOifKPeqpnvvBxJst3YtUEl+Q17hBmofR9Vox+CzHKMAZq+01DVKsFa4Sx66D4+02dwJ+58ywaIG43SR+k5p/WZ4Am/jTt2dx0mj8eTfkNnKmPmNfNaLASTf7Y8qZALL68b1H46afu4BzevVNUcSxqkSDENjrl1Tmqnmaxs9XKe2SdMt7jjk/j07Tu4JwN8BX7+/8FAAD//5GUOwmlgAAA + H4sIAAAAAAAC/+x9/3fbtpLvz6u/YsqwsZSYlO323u3zrbJVZSXRsy3pSXK6+xJXhyYhiTVFqgAo21H4/vZ3APALSIKSbKe33Xv23nOSRgAGg8HgM4PBAHzxTfPG9Zs3FlnUap3OdNwdfeh1utNefzq5HLaawYo2rc8hRk078Knl+giTpm0bKxzcP5gE4bVrI9P1edtB57w72bdpYN8iylv2e9POoP+292561hu1tCaidtP23aaPqOlovPznXj8uZFRZ4Y3ra7UXk8HZAFah5wFduASCkEIwAztYrgIfUZ+Yv5HABxoE/8HJnA1+6V8M2mfjAjEnuPO9wHKIVuuMep3JRVpTrohdm3qKuhlzIcFNL7AtT7DXGfQn7V6/OzpT95yIxZGJjq76HWV1HPq2XPH8h7Gy3m14g7CPKCLF2sNR70N70p0O253z9rvueNppd953dzRtrrC7tigyVpZ9a81RTGvUfdcbT0b/NR11h4OWFhDCxmxhFxGJjFa7+vmqP7majroX3fa429LrHrmZYuQhiyAwMBikURuMW3rdnYFHgE/+KyOpcPwGmg5aN302xSdvXh7/A+gC+UACTFnrQvUvMLfubuFgaVF7UdePDqH5a713Nr3onXdbdTvAKCCNL72zVt181WjozUOwGrCBFXZ9CjQIVyuE69bHk2uwPn533fgHoHuXQnTwD5i5jdq427kadaeTi/H058FgMp6M2sPp+dXP3YvuZNr9z25nOry4eseUoaw8YiFQj9wEASUUWyttf3ofuqNxb9Bvaesj89g8MixvtbDME6026V50h4PR5GxLzxR5aBVg6uQ1t3vW7U967YvpcDT40DvrjtQqjxzkU9fyVjhYuw7Cu4hka2Ft4abn3nBl8JBMy0iIKQZQuZYu2/3e2+54Mn3bu+gO25P3OcEuLd+dIUL5emcL73I46Hf7k7G6egwQPiVxgw/vz6YXg3cV1dcLx3B9Qi3PM1lTD1HEOZqe/TxtX00G06vhGVtYby/a72QSiQyWlm84N00rpIERrhyLNe9cjS6mg6vJ8GrSatLlqmmH2JuuEb4JCDKDkCZLZzCe9tuX3ZYm/s06HjFQyQriH7RaZ3g1bY8671uaVnOQ7VkYgWHBL+3x5fh973LYOxu36g25aDzs9ZnKJUU1gmhneNXG9qLegE0NACClqtfnaWmjFtVqGC2DNbq0/LObdkiDKz60t541f+t6KG2Pl2DMQN8lL0bQxsiiOwnSILQXexL0kOWHq04KtWceI0VyzOEZ6FVYzYjEc58R+cWli06qQ/+bBH5KLyAtfZOfuYgXuDP4+BGMz6DpeUzU4PpawBqvlxIZjCPpB6YZxA38lmaHGCOfarwQeQQpa6VMxL1Eov7M5X/xPzL7MxTQ3tLrv/0OmjlMkB40XbGUNPgCvN7Ha/gCBHnIpnXTt5YIWi34pGV0P2kNrQFfvggc1buj0VSScwxr017/Q/uid8Z5ik1TUsZ1MpaeSy4tzMgOcJstywvXD+9B44LS4OVLJl5N3/TG0/P2pB1pjBmN4hBVCThZR6x6fq5iKYmlGkvjg5AsYX2UJBcxUW0CkvydzEMsdf7Hi0x/DgisE3IWxtYDuATQ/QrZFDlAA1hYawSB7z1A4CNAHloin5qCTG8GLoWFRWAZYAR0YflyrUO4Q3Dneh7EastGDp5FaFIDXJ//xns2JeXUNy+K8v/403UExpzCcVmIyF4EoP3SHvV7/XenkjpB7CoUB1nJswk9wavrz3ewm1PjHWyj3+GIaZ++KZUfXUdcP34cn/eGb7SqwfX6bwf7jIxNn0sXCANarugDBJizPHOxPA4CojsTxrfuasUGK5GOp8uibuDHw+QAhWiIfTiSx917O27pB5/8A+4IIaegoq26Xhce0gf48ccfNcX4X11HWkMsrdAniDKS/F98PFPifkYtffNCSZ4Jl9dlsq/XsxbGcaMBhkfhCK6v2Ypk0zh1fQfdt/hESP8uNeQUV7meWvpGzYC+yShFMTOZJC+t3wJ86foBHjI/8EMKiXUxqXq+FwZndkjBcAwwZscNrUDufUDfuvePokLAmJ3EhJiOCtjfxaEG10xIH/eqypSXecXKRjmWc3WVWu76a8tzHVkZY/0+heIws6b7Qnqss14wJ1MaTNGa2UzQ2udjszPumkXjOgp96i5R8vuYWr5jeYGPMvjUGMuVpSDjs1p8Ua5OTloxYieCgQr2wIDysKEF+iYvr0irVXoQl7HTmvMfuMsrzURiSSRdmoGml9zh8txupZRXccltYB6AgcHMCk3kzJGyy0amDZwzhdPBde/4B/Po+zKDu3g4kJlYub6PHFM7/uHoe+1gFzuxzuW8o2pzFfcMfkBhFoQ+w2JIthSH4KCZFXqU2yZmmrFjBw7jRVZvaSArpmnycGLAKI91F/RMMVq7j6SyDXfyrCmho1hlK86k/D0BYySIUQxpO8z0+uNJ++JiOulddgdXkz8fZvJSy8NLKqRnQ0tlf5oKY2JyKbLs0S/bCY763Ul3nOu3/HOkSf6Xpm/63e7ZWJqhSINvqr3vmIHL4OYBiu6cgDflroO7FL/9DgfpBkW5AZH2H1rjAH4EFTWQAktKfY27KGxnmDoSShg+qKhKbtsee8bav/2bcO5kGWzt3QkQ4SjF2djBxU6bIylNH9G7AN8OvXDuZrZImt7JL4PReRykYagOGg+NVE8u36J1+r3c/MYc9XvwAqMZwsi3Eax4p8SEy4BQ7wFmAYbb8Ab5iMJNSMELgtWNZd/GFZkbHRLkwM2DjOFMh2VrByf57X0x+gsvgY0/CWd10ujUMA5OZeGPbbGyq9EF22vvqnPayq0Yw4c9GkUK6doYpSA5nQV4GmCLtFLjsIskMxVzjFZgBEM4WH9yXtc/mZ+c141XB3wlOXBAmr+um032zwWyHMbqcSOZRNlDYYwkgbxpiL2WfpIfoV6qUh7OTtmWieR4Wd46LgZjBfquiKaon8VZh6MBWy8ZZmUR7XF39KE7YtP6iOrKGX5Ee9VkZ5IWqpnJIVFbJpBMDR7ZY1PflCL5kQh5GpaNDUXE9nStb5QqGBme64f3hr5JooWRtnWWJ+/+Lz8m2mMdvHjxqhlp8AKuCIIbiyzgJnSZPwYv5F0yfrCXznSO6JRa+MbyvOkMB8spRnOXUPwwvXPpgvMKxydH8Lddq+WsN2rqWzjnkZ695ybS8mGwwag9ng6vLi6mbAretnsXxQ1/7MDywNcoHsMV9vYDjkpFSt3SrwQZBYzYOdtbtausQ0Ze3SKTWticf9b+7HnfA7ofN905VPuD18s+E79LCmCaJuzWnVrVHH2tudjJQiH6vK22vJsQMsq8AkjcAkiWN3KAhLaNCJmFnveQc8GrnYld25NSS7PaQ9Ggukyck1gYjPvPs73EvNki50gDo7OHjc2Z5ApNjU/4YvNgL4I7H4wR4CCgp+yP/dot1zuXIau83Zppu/pqVjWMeV8GDvz73/72PDKJi7p7NLLDOkZ2iNHkYvxzcqB8Lg5au/fILvjxAv6F+8xdNW1B6YqcNpu3P5D47JyYN15wY9oBRuad6zvBHTF9RJvWLTGoR4z03NqwPRf5tKlvHnt+HTU5vjetpfP375sqorIHpddd0h5d/v37BtvUKY4f/jrjwcut4yk7q0/KJKhJg059jJVFF8wmPIliVMF0thn/RmzHVb2WAz0pzruz6cxyvRAj+I6h/N+PwGbuvzEbX4ARVBJMfw+xVzCgKdt7D1RG80qkeZLYNIkmQwBjFIPAM6jNXLa47yyy5MfTXba/r44Js3rTmeshPv365jiS6pGFu8zcvM2JXJa47SSczdz7lr75rtiSW6dkXlp1Td/8dPp9pDVA3vzxTJ8HRYhzI3fOnCCgGEww4pgk29qzGuD6SeVcfx9/uma+qxPk48qxFm6qJBBJqVQGI2oI2sx9zLPKfsnLIFLHpWMn/BiKIWUn8JHkITBXhvECjBcSx2XYMB/D7au9+KzJp4GgPlWwyHLMhFpvyJqTLjP2TyrUIlaZ5GAwv+nenEQgWw4RjUqYI7FafMfVIj3fZqNOIulifovtytNbrXdk5foaaMRz5wuqNXIK8RE0PRegPjJ/MI8UG2j2vxLx1626dndHJJrx1BZi73zSeGCjjtaWF4fkzmIqzLXMzlVzvn9GOPXPyjMEemlWcoHwpHfQ1tlYK9cM5HXzzmK4uZHzftJD23+JaRKZGQqxDhFeukQczSskvJcwM1nKAULVInsSPitVLA/TBQj/p4E0pKY/b4nyhz650TE5yvQ00Iz1sbYN3hXRdgkRGXUOiwQsDyPLeZCD7lVsHIqUFz+gcIPSdef681ImRc4l+6fFA78B4zM8LjxXFQ9MAxvc831kyC+Xp+sgl3jWDWkqxX9aUJRtET7BGZ+ReNbnn6d0uWpVTpi6z3IfccSn9ryIz6bMWqSBvpFlGVWFbKTTOIaoKSd8e/35nrkmZfJix1w1+pQG38fuI6PUUcjPiVhqjyJQ9DTWx9ISWQpXSzGebcvo8X7dXnuFtdgs7D26aq9PLaYQe5U0WIuTNy+PGToiBLqUrgtvspz0JDbaBe3XOmP81HzV+FL/iLrXGJuvGjrPTKzbFs2TePlSUrXz0dV4wvYIxVBUA16mEpON+etWXf+mkbNT+1jEP2BDUWWNvvsaW4Yn6pYcl/k6upOTdJITsHL98/AGPd/V3tfTfrL7JgmB+Wu34Q36So5tIoRd3qzcbc4JU/qtclL6s/xWWRNKDJZUgDFprE/U/p96ulVD3MPvy8/CV/X9shyKbbxVjr0ie6ei+g4PrdTt/3hpT/DSEikq5+yrOGn50Epp1qLtK6XklMUA+jSfTCs4ZdpjvbL9XRgo3Yh4olfyiOWlVaFidZO/jBciw3LsgWTmcICtzL/gs6S4T8bmX75Bltbt/udk1O5MuqIyA05QEMoZTF6U3IzjOFkIspeYqElxO+m+AeM8tSy6TNY0TYnHyeWwpW9KHPHT1urD1q2HnyUWm3EH4sxN0Ztqk5KWd0ejwagcvd/Rixrx2eYftjctpKOZqqRNFYMytO/fmTAxcSckdAJ5/7VjiGwrVtazZnb8piIhZ2tW60iS1FY4Djb5ebDavSq44cIHOD41omL+ED8GKUfLGFXQMCKhR1v6hqOkVMoY1kVpDdRWNRuYJvs4Sc5eymC2mDbHhn5aSqITHH/odydTViZON8bJOj01dFVR6TqcqlLljRxVZXCFGhJETejeu5R5FGalT8FTLPq9NKVC36iIPmddlwTV1DdSj3xpK0VTyFaQyKTnWbmkRdemXjpbL9wZ6Mf8LtJyRR8OgVq3iJ8rl660R2CRJK8d1pYXIhMGdIHwnUtQ3O6Y1aELJMprstt/5mKhsmriUUF5pGbixpHs9Ypr9ZP558lyJbSZSz4vZH43lllXOI7NsSZTbeobmQyXbzmiU2RVkmiafpETaMXFV861uISZXlSqi/7BMBKUOMnZ5zi1Mq6V1Gk25weNfKptnnCcR125GlJIKrbjzyCIzhIfPQUqE0hy/Sw3btaGWniOaAZ1itzvb81XkXmkuH4ay5crefdy2NIEA8Y61ZLk4LwyzKcVDhBiC6ZQsmZKNOkvqjhZkPIryqqaqylkusLIsC17gZxEgum9kNMKyWnKs0PVwYXo4spne1d+/0/04Po0yDjMp7okocbP9+vHyILZvCLBwmF4dhKu5yvGeqrYR2+pKI6wk1U5SZ4dKOSi5J05IaPsFYDUnzt5TCaIYsuYmhd9k3efKhZSwjbDJlhZ2FoiijAPOlSMiG2kuGbM3TVSXljJhiU7QOX7q5zLkgwqWU0fdMjdW3oGFxlQb31PYjcib7a2j7KnKBgklAfMN3+52Woq62V0pM3hpnqskYTwVWr5dE3rXI1G3f4kU916NkE7rEF5JteZRRDO4aQ9etfNiMdHqAnLBC3XCHeC5crC3NLneTk1tCPzyDzSIqZgOUqROswjjIgnGQsoM1nqJ2I+x5w/3YDF3e56gAH9Hloe0KCRGJUbiyCJSIGhslUqzJWpMDlVa3ObKnIYKHWfP5H5Gppc9bbJXvqb3HDj6qsKZ35l8jEUpLZy+/jZgiKIhqtOv3fmYqLYMEivNlUleirqSOlUuVIF8ezJqK30S9UyS5YvjWqZGyhtgeSNdMWttC9f4Ju97qX5rhFfdnrGxbT0AqsfgEQRsjdtYIURQT6FWRzh4Len4qurwO+upguH+XzH5vfmsQmThUuALILQcwBhzFbwGvk0tDzvQYOt569ZTK+8RWxiNLN9N3HwIM3VtGxiLF3WkcmzdJEzRzxFUxpVc82Zy4KhUlnsRPJsUkPUMynrIVb6/DmtSIPegz+e6FxQTEXMUOy4LO/OeiDwW0gohATB3cLi7zx4LqGIXyMuPDUEJIA7BE7gH1DxygcNgDz4tniHw/bdr/wWSyYv1WMs/Z7yyn78Xkm/x0M8jFWMmBqAzeyMdROEVDy4dhNSuLP8+NUSjJgM1K+m3C1cewEY/R66GBFw49dMVM/lwB/4Xk6Mc3u8lPOnvDhT9fxN9Us0qcLs9QRNvLztheXPuerFB2//3d5/ecoDFKW3RVSPwtT28AYzLORo0huJizkKaMJLBk2KNyESR2Z/UgLlKkjJZxjxunG2hKHiflQb5hdsL2F7yMJMO5YM0ZAv1vqdsAxrhGFhrVbIN8EiJFwicCkBjDwrhgE+ga7PgWKN4MKiiFD48P4ssS4C9xYIQp9a+BACz0G4VEjnn02Q3TIleudH1HyVA2+oegWCQVtiu+J+kzDJDWPrs7taJVeMC0/FKdSvAkUTK7HL9cl2J6UA7LPDlLJa5WKQ3zJbGaUxi9pX0J0nTVF5hvKRn52RVGXMZ8c1q0TOZjHynV2pyt1fl2ezeLFqJ4Mqh+IRqoHuKbZseh7eoJ9jL6hwgHD7g2zN4myVuCi8Qcl5rDiIPpGLXTKNX/eMS7/TCnTTw7qp4+KWpn+v1Qo14sNVHgtgfkdL3xR6FfFcGVjz/TJ0ZVazPJUSfWant79hyhRNxVCk1dS6JdeuUqR4XyzCgYlZy7fMwoO7w4C1x9DlNOOUiVgLmOWk+XQ9PIP8W5nJi5vGK1WBTT3jVXnRFSRdmvotwk2Xf3ZYVG4uz0DpPnNBX0o5wlKYDlFk06JaH0KZxiFYJE3CAF6JC5J5qDwNgQbi4WALU3fGRCsa5+dwt1iyt24NP3DQHpHtpyex5vW1POa97xw/aSmkRk+rIJ8fohz0ljVt9x7yccOUn0EuXfr6GgNVdVA51Pg/k6XODYVBseWTWYCXLY18MV99eWkIPhIP/YsGhkEWwV1WEzkGW16EmZm1gvFPaY+GQSh2V0bmqLS+YzYnv/ZBetqZ6akMFJVlNvXKspZCR7WCeCvgJj9YuBYPSVW3YdhValPce2zlKX8KoDA3M4s53+Xw7lKlJdLpRuw/xFdtz8UA277D/muIg/uHzHO7Gk8Gl/z2H7Pm7dF/lR+NKVeRn4pJLN02Eqo6Mg2BmiFh+6pYBAwLT0HdNBcjPQQ7JDRYJg12jCjKvTo0jQ+Xp+5sytOP/XmL2fhaOdtuF131ND3J7NX29A+r59dUuGMaKH5UP5u1z3C5bhafU1LJM6vInwnJJLpzalVJi3+aQHZzyxWnvK4FpFeCjurVsgL4aJXoU9G4+NZVfGpfPUlatXP7ldNO847SmXCU0scBYIUDflqXujsugQ5zP5/kF7H/yfOVssdxqVxXxK9SdXhIHcDRRaluuaPchw4m3csh30y+HQ0u045bGn9DXfntgzLFP0/bq4QWWySxx9k12KiWGxH/CsYpiMfYeejEDnzH5Un49gLZtxD4ULAQEPg2gtEwCQW6PIKDLIKcvNvNkKVej29rqAeVvD6pmRp/fxLetOD43xsNHiGNX8IqdF9x6/pPRqIikwUornT1kmPDx6FJRXVtG7ktyFZRXatJ517W6/sKq1lhM2vPMbfQXARL1Fw8rBBmPxrpkoSXzJmaIx/hKlgonMxXahF/FLK0oyxVVIaui2vCJWBV7RldmiIjW2FsPCVkLOb8l7go77tD7LEtH7pvHSTnYh9/bV6/lpFs/fHI+F/Xrz+Zyd/m6+xAzHx9UDBHhq9SZaW9KF7KWlfolsJmKbpo/T/Q0/FUG6jkXQO+wV1hNHPvFcJ68UqSQFS2KKX7ZBsF3W+/bb5StBWz3xXIgOTHrvNUge3Ii8h5ClUTW40RKuV4/kt9hdDDafnqWsVlELGXYbqc3hfsLa159lRs56I3nQwGaYJWxlnvsv2uK3K3TqQdBqOVnN24SxHLUjSKQGxF9E3SQ+76jfSzODCnWHuEq8r6ZYzYFJvq7jXQVFc8TuCYRx9synbrfN+9smwEtz8Q0w3iAfGlryuo8gPn+DYjdZfI4Z+hSiSyVRpr1wI+yNxFDOk4qzNh9d+JOEtyHSPn8pdkJhISnyI23vKJkhNpjH+YjOJBVYpJJCVWSUrC251SeNr4ncC+RfgPG78gXxj/2aBz3q1SD7HEMaLW/PlrfNSdtN/JP38nLX3ex5wNg6NlxSh4emuBzldBg61rllpz5XSAXmDlaUsqSd59Ul+5LDauPU+hI83zZWfEZ5i8DXBn4fpW+R1nycJc9Zm+xDkL0ovZ5VFanpeSbtX1+jaJi8yX5D7awa9LG5tL18YBCWbUtIMlf1iYf6NtI766ph9HBw3FQi32KsuI7NcBoRhaQHg/s7r2LTn9lmiHoB8fgn7SiCDmgFCcspDLy9X0jcxFLKvKXHyGCeIAfOb6DiztlNtZgIFP0bYbKazS0haLlF+kzXX+8afr11rpp0iLiq8qZHrQSjdtCdkoTj01EH/muSw79ov1mU2o7aeJqM/XoJS1PBTFS1rmT9/khhBtPUIo00twci+S8oNe6bfMng+WmahSUOMSSngrSSe3+vFSufjL6yPGHrx0qxsIcOCfQLtaCaUpHB2LzNxYXcTQ0P0qwFQuEbRC3xYRBfFFNUFuFGYp1PJnQBTfA5ByoyoDYWWpVWJv2pDzwe/Es+0oyq7ipFCRhxvtVNNPooP0zuy6m2wYC9se/Yvy53gXVlFqqH+epq8o6xtJspF47eKA/f+TL603pcpXDXcfPC5C7l9/+NvODxVSyNsHw5gFeGlRONhszBFaBcSlAX6IotPNxpxY8+ivLgFp9GKlMr9vagcOaun/UYBlPS2Db1r821uq83PuN6Y1a7kAn1h6RalWXz6TXpFWtfoCdwvXQ4CR5YgZyVmpZ4NFZgPKkJ3z3mLuonIEQLW2KklKdqWCnjRduQdNpLJIRldjVsLRygcI+P0atsng6V2GXW6ZgXwaDC2gvXAE6o5FUeNQry8CQhlgNA6BUAvTjrK1CBzK1gM0HsfjX3DWdhBGvlNBNvss54jvHZBT4DbVyPiORudicJV8UkbkZTH3tuMFoVNxKPPfywYJNzZ1vA7+dKvwGIb+WTi9L08SP/9iyJa4y38dTFNk1pLSly0TvOI7nOLyLfupeT4lCBPIWbatcmmycgtYq4DVUo2yjFSAnSChukwFoDnULlURJyHFoTu5zxOPdnyemDkTyRe1HNSOcTeslKRwKMbnvWESw+5cdNv9q2GyBRAVeuPph/dnbFtTuAill76WLT7NlVyG+PD+7PBwq6rHt6B59OfD+zNwXEJxwG+T8ENqRQ+KJMssFMaq8xB6fzCZvh1c9fMJ2G+vLi7SHKFR9/9c9Ubds1aaVZDChEIk0ZYDfDGK5CQm97QVn1DkQCg9OpTAipIbJrBd95mrZK++0MwTAJAD88BzkJ8EsTFKvmSu7YyJqhekBurfU3JqacvJKvK9hzgmyj+Wq575wkfPLN+JVRNckte4Q5iF0nePMfo9xCjDGKjtNw1RrRasEcaug+LvonUCf+bOs2iAuDUofegdUbtpM0ATf5r2bG46zR+Opvxm29RHzOtmNFiJJn/EfFMgFj+KYVH48cfu4C28eaOo4ljUIkGIbXTKq3NUPc1iZ6uV98A6ZbzHHZ/Gh9ndwVs2wBfs7/8fAAD//32TM1T9gwAA - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/CustomData index 9deb08c55ee..656ce6ff098 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/+R8+3ebxvbv7/ordimt7dZIQnacxDnkFEvY4VqvC8hpruPDwmIkUyNQYHDiY+v+7XfNMMCAkGPHbW7P+borqxKzZz8++zF7ZrB//KF16QWtSye+amiGYZsfTEsbdK2+bVqqYdnHqt5X9oGOdfujSc/Wh7plW/pAG00s5UU6cqz3Nfu9anXf5SMH6ci7Ub9nv1f7+nDyu3qiDS3lZTpgaH1NNbUaglcpgTq2bH1oWmq/nzN9nQ71Rt1TzVgb7bRLw73R+2F/pPaKcbk0fqp9qKHplGiIEoQuH94rDXMYdRhIg9HRBzqtr5sFTh0G1MC0T8YnG0QfcBzWbGOwdUdDS9WHmtFbJ2HAGZNhd32QQXf6yiQEQ314ko/ttYuxNa32GGinkyONhMVwZNnHo8mwp+wxqPTBSc20vWJaX7N4pPb2y14cnNjjCafq3os1U7tWHd3BOp2hEx3XSTejR0OXM+rVGuWZZpj6aGjrwzO1r/eUPQZld6iv270v544eG6Oe3dOOaog660Tj0xNb7fVYwjH0RobKuUQzjJGh7DN40kzlDKETX2Ux1BsboyONPWUajybWEbGSWDdMh15wvlfHum1qxplm8ARyLUFvaNr90eh0MmZknVoy9f9MDG2dOAsO1VLrc+GgzVFUk/BA5gargX7AFDl716v69mA9sNYEv2xzSbQ+yiR3J6Y1Gtimphrdd3ZvNFD1oZna9ooxOBlP1ue/2uMGDZ1EFp8Zr/bXh6v2vXrB0Whnelezx/3JiT4sMTooiPTh8cg2RgO7OzKMydjSesorlg7mye8b5bxur9NwEl7LRZXuqXq/8M5rrn5Pxj3V0oqhLHNMjQT+mU7zyuwa+tiifjI0tVdwktttTggpp5PxiaH2NI6CU2M8MU5YwMvtTp4kpCAYGnGDIrcZ/l3dtFXT1E+GtjEaWfb4vSLL8toYjZ+xZgx0k2iqyDJjO1Zp6eqOxh8okSLLPOfxuP/BHqum+X5k0GQ71k8UWa4kbr6GjFhayHJW0dIythY+svyyRDAaa4ZqEQzT0iDLWfWyjJrB19BIwaJJaVpq99Q+0SxbNQa2NTrVhoqcLaFVkqFmvR8Zp8yWScpYkbMVtUpuTo6GmmWPDe1Y/12RyaKaJ+XRRO9ntUwm62IKynt1bHcNjYRLCka2KvEj+tCcHB/rXV0b0og4tc2x2tUUmaxSlNrS+tp4ZFi9UtlU5KzOFeNZwKfDmSGGpR+rXbJeGZo6IKtkxkeRsxpXQ8SYKTIpbWnjY1ljEuS/f7C7KsHtTDMsRc4KG8sMMqQZlqnIB3lzwtQ2tS4B1eqb9tFoZJmWoY7z5VT7XetmeZ9Hx0Hm4J5uHql9zdbHlnrU10xFJmUtrZnGxLQIh/XgyopbTzfJLNs03ynyyyziDX2gGh/sod619TFXVOWXLPL1oakZlq0PeqZtaKZFQpREnzEhmgytkT1Qhyd9zaY6KfLL/cfOO9b7lmbk81ga9QgQ2oZ5x6TgVeQdPHZeRd5LLngNjfjCNrT/PdENrad0shI1HNGioJ5oJgOmk9Umc6iOzXejvBryTWM7y4yxoZ+RQbJ+klaARGUnK1fkIR+unfZ+ljZ5uz5QzVPGlI11Da2nDS1d7afFtlfbE7ezDCTtTLXV6bQPoNEoWhHaVBFtmPYvoTJGnhNUyepvy0qn/apKwS2+71VzoHTarx9ksqd05PaDFPtKJ6vdGyheKB05Q4X1IVmQ5/2pZpyRRCbZqB/rXeILY2SlBdRST5SOvMdw6mvqcDIuDLH1AXG70pH3Gw1vBjMvcKGF8BQkfLtEMNv1QQqcBQLhFylCPnJiJIC0jLwAg/Qp8TB03rZcdNMKEt+He5hHaAnSJ9hqbr0BfIWCBgDAyFTE7TiMMEgRZd/KuZE5zudr2Fo4eHq1LbZ3ofWvbb1n9/VTTdmehhEK4517vadsN3/Z2RFbu+DswB2kKuAwWS5RtO2cdy7AOd+72HkD6IuHYbW1wyRngfFEDfJwerJguAccgeTClrC100B+jKgmaHoVglARHYQYZmESuEJj5jUak6PJ0JrYI9MeqgNNEdLvQmOgGtRb+QB7UIzQfrI6TB4KDbrA0T1qQVA8Expsd6S0kjhq+eHU8em2+jq5RFPsN9KlPh0lz91weo2iBvqyJGjSVu5MEcS7ovHLED9UVkKJTjMtXkpw47mewwTkbpKb8l5TluRs5vBM7+lqxprGq22+UzOR+QNeWt0ckgiZmmcrSbzbwHiNC2eY9WGsVWwlj74iWhEW06i58KZRGIcz3JyGi5ZzHZN/0nyZFKpU2BZMSU+U9sNpIe0OeoowJVEWwPWruOmFECUBSCQxbzwfzZELkhQtQJIChKWrMMYgSZ89fCUFMSw997C1jMJpS24FcWvpEeJFmJCwvl0i5dIL3N04miqtcIlb82Wy68ZYaS2C9Eu4xF4YxEpE6B6a6UwpYTE7e1DikBvJ4mDNzjTg6gwMEFaYbUvPZR9vIFP7MFM5f8gUOOS1oUAJDdKFd9XuO83u6YbSunGi1tSZXqGWQ+ZF0yvvBsWtBumo1SFp4TjiKAwxoUsnNLQzbWiRXePJCW3CMn5+OG85/04i1BrksaCS703tC0ZBTLRpdpMYhwtzGnlL3EI3KMBxq9GdGH2yAx5PLKWFF8vWNIl8+wZFl2GMmmGCG3T14CnCyInXKQztRDct4wNrhtMNAK1JhL41DYOZN2/eOgsfGo0I4eh2unBtb2bPHM9PIrS9A3e0mpExD8WKKL+Bz46H7dhHaKmInTeAvQUKE6yIe28gvvJmGH7+ufKBspiFEXjgBSBux+gTyCAypjtvwA0pCflh7EDMPgji3W8rgfC6jJBzDff38DGn9mZwDqIHEvqU84MLbinKfmg51r6gaYKRCx8F8bePAplIpMRvSqQRwkkUgJw/zGt69kONB7EAIh+defSjGwbcKrBZ7KoWdTv2fBTg/x7w/yxEebiC2A/D62SZo8QjI3PIEJRC7Pg2j1WEpmHkKuI+nRpjJ8J0XBG3XQcj+PWnOG0oPl95PgIcJagEVCYdpJxrBplEVVTaBBIiZAN40ySKULBBaoHu9jZPCBKn684OSHMEYsm6zcEvWISOc3FpWoRIMXN3n2QZiVfkCg/7mjlws5fzZHkQktSGPJWepGYYfQ3IGE3DwI0FkpJ1GRmEdowdHP8dcpKk5N8nI3O05gjb2IkuHd/PUcJOZD+EVEpOkUoiP0vH1NXiHTd7lQEubICOo63A50Qg4X/PKAmR9hjoOG7fCF/mrIM2CWsfpFls9m9ApJ/DQpm3IHKrPXTe/iyX+BC1zkH8J/ygQBsu6pShqePgEqMSAZeBz/WsPYvChR2huRfj6NYmLaZNWolnepzMmoW+iyKS916UbkEzkISd/8awILDBkmyj+aBgMJAulYEspV0aiHcbW7oVCSOuJXxeGHGM/vQwuvQCJ7r9ahQxsgcCiVEsHXxVDaZMxno8cZMqMVUWWAmrDbFVnlMOLxo20qwiszZoaNBtjphSAJZFwiY3rsVhLeevx2MJyT87JJ8Qll8NzZrwfDhEKxM2RCzdds08v9gH0SePXPvJxDQ+91l8vijFHM/rq4WMJy6H2jkNNDGTBhcXeSmrr2I8q2eWsbwnqV3jcpX+xoscJZiFUdnND3i48OoeJV06N8hlByB0sz/1w8SVvMDDEqGNm5SC0qanpcefiPczPisBREpBvMaQbz+lP8yZbv2ojY63ONgfDoPv0R5SSuSC5IHQIuq1XKFQsMgGLlTeMjgaq0Z8G2O0mGISrbRbf1r3DfHNlBT+bF341n47VwNcBy3CQIqQHzruYyYwvUFkqnyHtj2XTfYrSVyIlqQglJbOnFRyvzTnjzCJAscnk6Qkn/BN6VS4LMbh8j/OX0Tp7+msJ6PqerFz6aP/OGCZ3n9PbNMKQ0x5Gq7PBZMmnJSC9PcB5AZFsRcG9hxnYYZRjEEQt+lV2Ay2foo/BlsgiL8JcA/sku0M7uEKOS5IAcg7AigKCKIsNFaNInq1gMSAGrhmqZivlXmQ2214AXttEFN7DC29iDYt1ZqYivjPRn2pk8tFDt5C5SBelKWUtumH80YBcFkASAEifUgFZta3yTANE9+ld3mXKD1G4g/BSp5g0Hoz+AFqzpVA7hBLOy84Y1CQZor8KPEptQuXtwWLzbrw3uilKUndwZVqb8bp4nsxlpLAwzFI0ozsDSTJKV38CqLcjFF0402RUFG4vBZAZqkokxDfBGa4XPJgrlW+R7FhtIwPsxstblDUDRdLh7vXyK59VUXcTjsRGe5hmmCQXBB+FUhrLe+USI9y0s4m0vNz0uHlvFcsHfInRyuBtemlho+kEnJz9hwD4OemF85b5D+Sh1kKnkEq/MqbX6EYn6VprIjb+rGp5JuOVMZKyFUXKRNp1nlAdfGuzHRVp30ea6uGG34OSDntocvx9dwKj/neenx6kt5Ks+Qm3/M7+07+qKcbWtcaGR+yQru4dr0IpCWIpeG0CU/iKxfEu9LIKq/ka1lHYuig3QZniaU5wpApzFgQ9VZK+pmptvolFRQuSWfqLDE9zsjmMeMeWDXK579vGgD0UpxMUQh+zILStSQJcC6DH7HSuMvrOUhse04slRySuGE0RfShi2bFXQnZ9RBD/HB6HdPHGRxSCL3l9fzwcJTe3B4eKjyX0HcLxKTb6iVR42sLFzVafkOXqPVl6U1aNNn+gQBewYF9JFwbq8Yc4e54okbTqzzCnGh6pYjbSdr2LnYa3B7zjgzu7q5oRjrky8G+QARURqIFeb6+F03zKB1urK2zbHThZqO09nixagwO9vkSS1TZLlTf4YXWy5Q3SGtzNc6LDXZCM4mKQ/g00NhZDj2HkFlmsPO3CM3RF2XrX81fP7bSf4fNX8WtEmzF9BUo/5eAz0/OdYbq0tMGfh3MvAhEWz+cxzYO7fTWu6IuduJrmkfFfUk6kFKTijJ0StdEP+0NdxocIV2YLf4qSfjpGH6ymj/tDdnpH4nbTK+sq2BSAnfzVEr3RxwGdowjL5gr4jb88Yl0PkXjJklONAfCI8bOYglAi2+m0kpYIx0tUeSQbNNdQsoUqCFkNZg+EeRmZ2+dxHLia4IOpGIJljWMNIJkH90gH0DQg1kYLagCjr9OO0Bx7MxRKpQsoj7CyD0E8ZcNfMeeS2nbG8atuvGtuxywQxDzz7s8OIcgct92MzgOQWSfdnPzCQ/2cZez9hDE4stuZtohiOzTbm5BRjn23N1c7eyh5bmrNEe4o2TxjosLegZ6t/56yEq8K0fxqklmNYrCKZDiJsAPCgWoXA/48se1N1ekAbLja29ppy9a2W7kkV6+6LNJZf+SHpGH7q0ibhendiC9A2GAsOM62Dmk990CbaaXUfjlFoRfBBCuMF4etlrywetm58V+k/2/tWCzWl4QYyeYon86S09iuwil0+7IUrsjtWWWc1yqfYup1JDC1qxZEkRiEulqSCIi2GpOw8UywaiJnXnc92IM97Bwltsx8tEUbzfp2nBPtzbbgnntLU+WSY8CphMzfF94A4In7OzsnLcvmjeOnyBotUCYOX6MhHwmBSql3CrdKHA6Cpx/WGdqXyeXyEfYpq1zMLenKMLezJs6GNlRiGl0/9c6joFQ77uoxnfnF6TL5T1Hl8vrWGKsJIanxPCUODylDE9hB+4hdWXZV3dlvXZ3V0I1pdjyN/WRE3DvnPzPSanHu4Uk0xGFq5ui9VXcidQMdC8eOJEXoGgU0Xfl+l6QfKn0BmGctTCsOwljukupvDZLNin393UE/Nuz61TrL9Cut2Tlg3qvugFqoBvHHzvTa2eOeqxTnhj9ih20F7uTD6UVZ4wUgCAmkV/TBwLhCkKE4sTHinhHmjHu5Zt0AUpHG5WDIV7PFP0U7bTW/a9PTLMwwcsEK+I2cXkWcMRn6X0mUS0lKYcV8ycbanBtqjeDWo+CII7M8oFBnLghYDeYAdOKbC3++ES2FSn/Pz7BZyfORmn3UdZzrSHPtmkZwxcgw0H7W5hS6NKVNlmSltBI3+iueHSZulyhR1+lgBXETvlJtj8XxD2BHXLR3zJWBPaeUpm8H35GUdeJuap5F8Z0H48j2Do/pO+nH15skc8+IT68YNn243EYQfpq+S5xiJgLBy8G+VWzvQ9O4IIQya/a+wJ56PhxCC6aeQFyyY6TZH4YkJaFdiq7aa8vZq+1ezGthDjMeKRyTW/h+U7k39Kta6edCep0mu39JozwFYo+ezGqY9RkKDQLE1j2UuHAzXD8z85toUEGHwThZ252kdU1IOw12ykEN3vN9lMQYE7jEaAsvhb81HeV9M62hZl7WTCtWAkWmm5eSfS4SVjkQbFqfhRuyJPsgOajIOzQBSBI/NpSwgfc+ty6l/fqSl4lmN97+CpMcC/EpSjNGNPjYuTCVtz62Gy15lulnfkj7U4ukwAnzYhjXIhdPWw1Z/GG+ZntfKqzOs6I47885UsFpgxIlvRlWP+sQsF+Kyw78jKV7Z1G47mRKaRnGxs8wusruGjmJD7OPfBs2U3xjkG8arJ6Hp91Ho6RFEffwcVxZ6xsb5QvRd+iQqlzKskiqhHNaM9UGhF2dipKLiN044VJ3P+OytbKLCldS8ErTxaDm6z2kpbiroz2+W8XpDZyl2d1wfmrsi2IdzdZDhTs8xcP6mXVg/ZnyqwWyr8kjB9Oq821+uaviZLzi8zD64jfbMT4Ufjm2OZG5ZV5kPjYU6PpVaU2p6Z6C2eOrPAIjRPS2aUVugHw4x+faAuxNhtmUbigQ9MwwA5ZtnXCI26CPoNu+dm5d9FcVDmcdUgnEISYpsNupjK+cvBuetzNnjyGWWM9aiomZR6rU2Rjkftagdsgg0ZFjZznlLLHlrHnqPTMgvXUYjWY9C3dpn9r43FR/a0V6smC8o1gWpI2l4MnoZ0l/mPT/nFqZ7/tU2rANm+ksx6MnQoUpwSd2v6LXSj+zbqvdKvizeCh2gvoixdjtvuYkx3HFYKCvp+XsAixvU+Y77I2kpcFsi4M/ozO74E+i9NCef6yyHETQIqKlZleZ3OjKwEKneDnn/M1KP9zA0QhgV4J1g9V2DU2H7R8i4kM/a/a9n3sYqsVic5Vo+G47ml6zjoMXdR3LlH1krGvHml927QMfXjCndGlL4t4IIg8gQD/+Mc/QBCzv2swHPU0mxKYAryF4s8MdN7+XP8yDDv1hSB0EfhEHyhJSDfyEXLcW7LKxCjAu2R1vvKCOdmrO+76ezvlto1d6LoumVEnAYewrkXcbDaF4jyWnpvVWllNihoi4piax6td8Y5XZFVzG13HraQ9t9WN0CK8Qc9xLwJhTadnePjxULSqYls5GLxyFaLd76RcVeyjlPv/o1umWk1EHPvOvBIMx3315OFY4CjWLCJjj7eFUvNW0AetioxN0PI0u3+JIhUZj1HkO+hR9ueP77T+WDNMbXTc+H8BAAD//yXG4DBLUwAA + H4sIAAAAAAAC/+Rce3ebuLb/359Cw9BJ0gbbOGnapoeeITZJufHrAk6nN81hESPbTDC4INzmpD6f/S4JCcTDadrM9M45N7Nm1UZbe2/99kNbD/zzT61rL2hdO/GioRmGbb43LW3Qtfq2aamGZZ+qel85BKSt2x9NerY+1C3b0gfaaGIpz9OWU72v2e9Uq/s2azlKW96O+j37ndrXh5Pf1DNtaCkv0gZD62uqqdUQvEwJ1LFl60PTUvv9jOmrtKk36p5rRqW10y4090bvhv2R2svb5UL7ufa+hqZToMFKYLqs+aDQzGHUoSANRifvSbe+buY4dShQA9M+G59tEX3EcaiMjcLWHQ0tVR9qRq9KQoEzJsNutZFCd/7SxARDfXiWtR2087aKVgcUtPPJiYbdYjiy7NPRZNhTDihU+uCspttB3q2vWTxSB4dFKw7O7PGEU/XgeWWoXauO7qhKZ+hYxyrpdvSI63KDelmhvNAMUx8NbX14ofb1nnJAoewO9eq4D+XM0GNj1LN72kkNUadKND4/s9VejwYcRW9kqJxJNMMYGcohhSeNVG4gpONL5kO9sTE60ehTqvFoYp3gUeLRDdOm55zt1bFum5pxoRk8gVxL0Buadn80Op+MKVmnlkz9n4mhVYmZc6iWWh8LR22OohyERzLXWHb0I6rIxdte2bZHVceqCH7R5oKo2koldyemNRrYpqYa3bd2bzRQ9aGZju0lZXA2nlT7vzzgGg0dexYfGS8Pq83l8b18ztFoF3pXs8f9yZk+LDA6yon04enINkYDuzsyjMnY0nrKSxoO5tlvW+W8aldpOAmv5DxL91S9n1vnFZe/J+Oeaml5E4scU8OOf6GTuDK7hj62iJ0MTe3lnOR2mxOC0+lkfGaoPY2j4NQYT4wz6vByu5MFCU4IhobNoMhtin9XN23VNPWzoW2MRpY9fqfIslxpI/4z1oyBbmJNFVmmbMcqSV3d0fg9IVJkmec8Hvff22PVNN+NDBJsp/qZIsulwM3mkBENC1lmGS1NYxX3keUXBYLRWDNUC2OYpgZZZtnLMmoaX4FGChYJStNSu+f2mWbZqjGwrdG5NlRkNoWWSYaa9W5knNOxTFLGisxm1DK5OTkZapY9NrRT/TdFxpNqFpQnE73PcpmM58UUlHfq2O4aGnaXFAw2K/Et+tCcnJ7qXV0bEo84t82x2tUUGc9ShNrS+tp4ZFi9QtpUZJbn8nbm8GkzG4hh6adqF89XhqYO8CzJ+Cgyy3E1RJSZIuPUlhY+ljXGTv7be7urYtwuNMNSZJbYaGTgJs2wTEU+yooTqrapdTGoVt+0T0Yjy7QMdZxNp9pvWpfFfeYdR8zAPd08UfuarY8t9aSvmYqM01qaM42JaWEOVediya2nm7iXbZpvFfkF83hDH6jGe3uod219zCVV+QX1fH1oaoZl64OeaRuaaWEXxd5nTLAmQ2tkD9ThWV+ziU6K/OLwof1O9b6lGVk/GkY9DIS2pd8pTngleUcP7VeS94JzXkPDtrAN7b8nuqH1lA5LUcMRSQrqmWZSYDosN5lDdWy+HWXZkC8a2ywyxoZ+gRvx/IlLAeyVHZau8EPeXTvtQxY2Wbk+UM1zypS2dQ2tpw0tXe2nybZXWxO3WQTicqZc6nTaR6DRyEsRUlRhbaj2L0CpDT/HqOLZ35aVTvtlmYKbfN+p5kDptF/dy+RA6cjteykOlQ7L3VsonisdmaFC6xDm5Fl9qhkXOJBxNOqnehfbwhhZaQK11DOlIx9QnPqaOpyM84HY+gCbXenIh42GNwMzL3BBC6IpkNDtCoLZvg+kwFlCIDyVIuhDJ4YCkFaRFyAgfUw8BDpvWi5ct4LE98EXMI/gCkgfwU5z5zVACxg0AABgZCribhxGCEgRYd/KuOE+zqcbsLN00HSxK7b3Qesfu3rP7uvnmrI7DSMYxntf9J6y23y6tye29oGzB+5AqgIKk9UKRrvOZecKOJcHV3uvAfzsIbDZ2aOSmWN8owaZO32zYPAFoAhILtgRdvYa0I8h0QROFyEQSqKDEIFZmASu0Jh5jcbkZDK0JvbItIfqQFOE9LvQGKgGsVbWQB/kLaSeLDfjh0KDTHBkjZoT5M+EBl0dKa0kjlp+OHV8sqy+Sa7hFPmNdKpPW/FzN5zewKgBP68wmqSUu1AE8S4v/Bjix8pGKNBppsVLCdae6zlUQGYmuSkfNGVJZj2HF3pPVxlr4q+2+VZlIrMHvLS6PjgQmJoXG0m828K4woUbmPV+rJXGih99RbQiLKdRc+lNozAOZ6g5DZct5ybG/0vzVZKrUmKbM8U1UVoPp4m0O+gpwhR7WQBuXsZNLwRREgAJB+ba8+EcukCSoiWQpAAiaRHGCEjSJw8tpCAGK889bq2icNqSW0HcWnmYeBkm2K1vV1C59gJ3P46mSitcodZ8ley7MVJayyD9Eq6QFwaxEmG6+3o6U0KY92YPChyyQVI/qIwzdbi6AQYQKXRsK8+lH9eAqX3MVM4eUgWOeW0IUEIDV+FdtftWs3u6obTWTtSaOtMFbDm4XzRdeGsYtxq4olaHuITjiKMwRJgu7dDQLrShhVeNZ2ekCGP8/HDecv6ZRLA1yHxBxd+b2mcEgxhr0+wmMQqX5jTyVqgF1zBAcavRnRh9vAIeTyylhZar1jSJfHsNo+swhs0wQQ0ye/AUYeTEVQpDO9NNy3hPi+F0AUByEqZvTcNg5s2bt87SB41GBFF0O126tjezZ47nJxHc3QN3JJvhNg/Giii/Bp8cD9mxD+FKETuvAfKWMEyQIh68BvHCmyHwyy+lD4TFLIyAB7wAiLsx/AhkIFKme6+BGxIS/EfZAZF9EMS7XzcC5nUdQecGfPkCPmTU3gxcAtEDEvyY8QNX3FTE/kg61j7DaYKgCz4I4q8fBNwRS4lfF0gjiJIoAHL2MMvp7I8MHog5EFnrzCMf3TDgZoHtYje1qNux58MA/eeA/0chysMVxH4Y3iSrDCUeGZlDBqMUIse3eawiOA0jVxEPSdcYOREi7Yq46zoIgmdP4rSg+LTwfAhQlMACUEw6kDKuDDKJqKi0MSRYyBbwpkkUwWCL1Bzd3V2eEEicrnt7QJpDIBZGt935BQvTcSYudIsgTmbu/jeNDPsrdIX7bU0NuN3KWbDcC0k6hiyUvknNMPoakDGchoEbCzgk6yIyCO0YOSj+K8QkDsm/TkRmaM0hspETXTu+n6GEnMi+D6mUnCCVRD4Lx9TU4h3Xe8MAF7ZAx9GW4HMiIKF/zggJlvYQ6Dhu3wkfM9ZRG7u1D6RZbPbXQCSfw1yZN0DkZnvQefOLXOCD1boE4t/BTwpog6s6ZUjoOKjAqEDAReBjLWvPonBpR3DuxSi6tXGJaeNS4pEWx71moe/CCMe9F6VLUAaSsPef6BYYNrDCy2jeKSgMuEqlIEtplQbEu60l3Qa7EVcSPs6NOEZ/uBtde4ET3X7ViyjZPY5EKVYOWpSdicmo+hPXqeRTRYElt9riW8U+RfcibiPNSjJrnYY43XaPKThgUSTYZsaKH9Zy/ro/FpD8o13yG9zyq65Z4573u2ipwxaPJcuumefn6yDy5IFzP+6Y+uch9c/nBZ/jeX01kfHERVe7JI4mMmng6ipLZfVZjGf1yDSW1SS1c1ym0l94kiMEszAqmvkeC+dWPSCkK2cNXboBQhb7Uz9MXMkLPCRh2rhJKAhtult6+hFbn/HZCEAkFNhqFPn2t9SHGdOdn7XR6Q4H+/1u8CPKQ0IJXSB5QGhh9VqukCuYRwPnKm8oHI1NI76NEVxOEfZWUq1/W/UN4vUUJ342L3xvvZ2pAVwHLsNAiqAfOu5DOlC9gUhV+QFleyYbr1eSOBctSUEorZw5zuR+oc/vYRIFjo87SUnW4bvCKTdZjMLVv529sNI/0ljfjKrrxc61D//tgKV6/zWxTTMMHsq34fpYMEnASSlIfx1A1jCKvTCw54i5GYIxAoK4S47CZmDnSfwh2AGC+KsAvgB6yHYBvoAFdFwgBUDeE4CiAEGUhcamkXuvFmAfUAPXLCTzSpoHcrsNnoODNhDT8RhaehBtWqo1MRXx7436VCcXkxx4A0ob8aIspbRNP5w3coCLAoAUQFyHlGCmdZsMpmHiu+Qs7xqm20j8JljBEhRabwZ+AjX7SkDu4JF2nnODgUEaKfKDxKfULri+zVls14W3Ri8NSWIOLlV7M04X34uRlAQeioEkzfDaQJKcwsGvIMrNGEZrbwqFksLFuQCwkYoydvFtYIarFQ9mJfM9iA2lpXzouOFyDaNuuFw53LkGO/ZVFXE3rURk8AVMEwQkFwjPBFxay3sF0pOMtLON9PISV3gZ7w0Nh+zJyUagZXqh4MOhBN2MPccA8H3TA+cd/B+OQxaCFyAVvvDmCxijizSMFXFXPzWVbNGRytgImeoiYSLNOveoLt4VmW7qtM98bdNww08BTqc9eD2+mVvhKV9bj8/P0lNpGtz4e3Zm38ke9XRD61oj4z1LtMsb14uAtAJioTktwpN44QLxrtCyyTJ5JeqwDx2128BZIWkOEWAKUxZYvY2SfqaqbZ6mgsIVrkydFSLbGawfHdw9s0Zx//d1AwByKI67KBg/OoLCsSR2cC6CHzDTuKubOZDo8hyPVHJw4IbRFJKHLpzlZyV41YMH4ofTm5g8ZnBIIeitbubHx6P05Pb4WOG5hL6bIybdlg+JGl+buMig5ddkiqpOS6/TpEnXDxjwEg70I+ba2DTmEHXHEzWaLjIPc6LpQhF3k7TsXe41uDXmHW7c39+QiHTwl6NDAQsotURL/Ly6Fk3jKG1uVOZZ2rp0WSvJPV6sGoOjQz7FYlV2c9X3eKH1MuUt0tpcjvNig+7QTKJ8Ez51NLqXQ/YhZBoZdP8tgnP4Wdn5R/PZh1b6/3HzmbhTgC3vvgHKvzD4fOdMZ1CeetqAnweZFQHW1g/nsY1COz31LqmLnPiGxFF+XpI2pNQ4owydwjHRk4PhXoMjJBOzxR8lCU9OwROr+eRgSHf/sN8yvVhVQaUE7vauhO73OAzsGEVeMFfEXfD7R1z55IWbJDnRHGAeMXKWKwBI8mUqbYQK6WgFIwdHm+5iUqpADSHNweSJIDc7B1USy4lvMDogFYuxrGGkYST7cA19AAQ9mIXRkijg+FXaAYxjZw5ToXgS9SGC7jEQn27hO/ZcQtve0m7Vte/cZYAdAzH7vM+DcwxE7ts+g+MYiPTTfjZ8zIN+3OdGewzE/Ms+G9oxEOmn/WwEjHLsufuZ2uyh5bmbNEa4rWTxjvMLsgd6V70eshHvil68aeJejTxxCji5CeAnhQBUzAd8+uPKmwUugOz4xlvZ6UUr2408XMvndTbO7J/TLfLQvVXE3XzXDkhvgTCAyHEd5ByT826BFNOrKPx8C4SnAhAWCK2OWy356FWz8/ywSf9tLWmvlhfEyAmm8O/OypPoKkLptDuy1O5IbZnGHBdq3zNUMpB8rKxYEkQ8JFzV4ECEYKc5DZerBMEmcuZx34sR+AKWzmo3hj6cot0mmRu+kKXNrmDeeKuzVdIjgOl4GL4vvAaCJ+zt7V22r5prx08gaLWAMHP8GApZTwJUSrlTOFHgdBQ4+9DK1L5JrqEPkU1K52BuT2GEvJk3dRC0oxAR7/6PNRwFod52UY3tLq9wlctbjkyXN7FEWUkUT4niKXF4SgxPYQ98Aakpi7a6K+q1v78RyiFFp7+pD52Au3Py/yekHm4WHEwnBK5uitZXccdSGehePHAiL4DRKCJ35fpekHwu1QZhzEoYWp2EMVmllK7N4kXKly91BPzt2SpV9QJttSQrbtR75QVQA64df+xMb5w57NFKeWL0S+MgtdidfCxtuMFIARDEJPJr6kCAuQIhgnHiI0W8w8UYd/kmnYDS1kZpY4jXM0U/RTvNdf/1kWoWJmiVIEXcxSZnDodtlp5nYtVSkqJbUXvSpgZXpnozUGtRIIgjs7hhECduCJAbzADVCi8tfv+IlxUp/98/gk9OzFpJ9VHUs1KQs2UaY/gcyOCo/T1MCXTpTJuscElopDe6SxZdpSZXyNZXwWEFsVN8wtbngngg0E0u8paxItB7SkXyfvgJRl0n5rLmXRiTdTyKwM7lMbmffny1gz/7mPj4ikbbz6dhBNKr5fvYIGImHHgxkF8224fACVwgRPLL9qGAHzp+HAIXzrwAunjFiSM/DHDJQiqV/bTWF9m1di8mmRCFjEcq1/SWnu9E/i1ZunbaTFCn02wfNsEILWD0yYthHaMmRaGZD4FGLxEOuB6O/8m5zTVg8IEg/MT1zqO6BoSDZjuFYH3QbH8LAtRoPAKExdecn9iuFN5sWcjMS51pQ1Ow0HSzTKLHTcwic4pN84Owxk/YBs0HQdgjE0CQ+LWphHe4at+6y3t1Ka/kzO88tAgT1AtRwUsZY7JdDF2wE7c+NFut+U5hZf7AcSfXSYCSZsQxzsVu7h81N+It/dnY+VCneZwSx396yBcSTBEQFvRFWP+oREHfCmNbXqayu9doPNYzhXRvY4tFeH0FF86cxEeZBR4tuyneUYg3TZrP44vO/T6S4ug7KN/ujJXdrfKl6HtUKFROBVlYNawZqZkKLcLeXknJVQTXXpjE/R+obK3MgtK1FLzyeDJYs9yLS4q7ItqXv17h3MgdntU55zNlVxDv1iwGcvbZxYN6WfWg/ZEyy4nyT3Hj+8Nqe65e/zlecnnFLFxFfL0V4wfhm2GbDSrLzIPER54aTRel3JwO1Vs6c2iFJ3Cc4MouzdANAH7+/SMpISq9wSwKl6RpGgbIwdO2jnnETaDPQLf47NK7ai7LHC46uBIIQkTCYZ+pjBYO2k+3u+mThzBrVL2mNCRmsTpFtia5ryW4LTKIV9TIeUwqe2gae4xKj0xY35qsBpO+pdvktzYe5tXfm6G+WVC2EExT0vZ08E1os8B/aNg/TG32tk+hANu+kGY1GN0VyHcJOrX1Fz1Q/ItVX+lSxZuB+3IvgJ+9GNHVxxyvOBYQ5PT9LIVFkK59wmyVtZW8KJBWYeCPqPzuqbM4LZTHT4scNwFIUT4zk+NsrnUjgFwn8Msv2RyU/dwAVkggR4L1TSV2je0bLd8zRIr+V8f2Y8ZFZyvsnZtGw3Hd83SfdRi6sO9cw/IhY1890fq2aRn68Izbo0svi3hAEHkCAfztb38Dgsh+12A46mk2ITAF8AbkPzPQefNL/WUYuusLgtCFwMf6gIKEdCEfQce9xbNMDAO0j2fnhRfM8Vrdcav3doplGz3QdV3co04CCkFVi7jZbAr5fizZN6sdZTkoaoiwYWoeb/bFO16RTc1pdB23gvbcUjeCy3ANH2NeCISKTo+w8MOhaJXFtjIweOVKRPs/SLmy2Acp93+jG1ON3/zAHpHu5mdXC7jpl9uyJgLsE32oGu/tNCGll4QKlxJqCWtju0RFQjm7sgCSyN8HnzzfB0kMgUd23si7K3iCwwFJ7zsIBVgYv+yFFZr4KhpVYyl9Z4Lck1ggtIqPW63Lf7SunpHfzYgCiGDcWl+2pVdXzz402b/NZy2ihgfjVvPZTmmnTwpAVXT9Vh09fmInQMI67WgMNUvLfvFkI4C6tyqqIpR/kXc0Slc3Kq9bsIug5PWsVQRn3ucasH5+yiGwESpcyqpnlR7P98mT1tOavuydXxQ5UwRdptFx9mYSqzhJGVNS7BhsM+y9b0Rt9b70fgRWIwng5xXEGvm3nBcy10uxyKphJ6YYbFVf+MprSV9z3/w3t8bGiPwQXP6DPxlt+iuHm5Z4R35Xkz02tPFowzmxhGex4+y+D6vKJd8Lks+SeNcdT0j1XkgVhcnj1HfmpXnjtK+e3T9tcBSV5IfbHp72CDWf8MiDVknGtizM0+z/KYqUZDxEkR+gRzH1//xW6481w9RGp43/DQAA///7/3VVdlcAAA== @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/CustomData b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/CustomData index 352f85d64cc..6d2c4ebcf34 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/+R8+3ebxvbv7/ordimt7dZIQnacxDnkFEvY4VqvC8hpruPDwmIkUyNQYHDiY+v+7XfNMMCAkGPHbW7P+borqxKzZz8++zF7ZrB//KF16QWtSye+amiGYZsfTEsbdK2+bVqqYdnHqt5X9oGOdfujSc/Wh7plW/pAG00s5UU6cqz3Nfu9anXf5SMH6ci7Ub9nv1f7+nDyu3qiDS3lZTpgaH1NNbUaglcpgTq2bH1oWmq/nzN9nQ71Rt1TzVgb7bRLw73R+2F/pPaKcbk0fqp9qKHplGiIEoQuH94rDXMYdRhIg9HRBzqtr5sFTh0G1MC0T8YnG0QfcBzWbGOwdUdDS9WHmtFbJ2HAGZNhd32QQXf6yiQEQ314ko/ttYuxNa32GGinkyONhMVwZNnHo8mwp+wxqPTBSc20vWJaX7N4pPb2y14cnNjjCafq3os1U7tWHd3BOp2hEx3XSTejR0OXM+rVGuWZZpj6aGjrwzO1r/eUPQZld6iv270v544eG6Oe3dOOaog660Tj0xNb7fVYwjH0RobKuUQzjJGh7DN40kzlDKETX2Ux1BsboyONPWUajybWEbGSWDdMh15wvlfHum1qxplm8ARyLUFvaNr90eh0MmZknVoy9f9MDG2dOAsO1VLrc+GgzVFUk/BA5gargX7AFDl716v69mA9sNYEv2xzSbQ+yiR3J6Y1Gtimphrdd3ZvNFD1oZna9ooxOBlP1ue/2uMGDZ1EFp8Zr/bXh6v2vXrB0Whnelezx/3JiT4sMTooiPTh8cg2RgO7OzKMydjSesorlg7mye8b5bxur9NwEl7LRZXuqXq/8M5rrn5Pxj3V0oqhLHNMjQT+mU7zyuwa+tiifjI0tVdwktttTggpp5PxiaH2NI6CU2M8MU5YwMvtTp4kpCAYGnGDIrcZ/l3dtFXT1E+GtjEaWfb4vSLL8toYjZ+xZgx0k2iqyDJjO1Zp6eqOxh8okSLLPOfxuP/BHqum+X5k0GQ71k8UWa4kbr6GjFhayHJW0dIythY+svyyRDAaa4ZqEQzT0iDLWfWyjJrB19BIwaJJaVpq99Q+0SxbNQa2NTrVhoqcLaFVkqFmvR8Zp8yWScpYkbMVtUpuTo6GmmWPDe1Y/12RyaKaJ+XRRO9ntUwm62IKynt1bHcNjYRLCka2KvEj+tCcHB/rXV0b0og4tc2x2tUUmaxSlNrS+tp4ZFi9UtlU5KzOFeNZwKfDmSGGpR+rXbJeGZo6IKtkxkeRsxpXQ8SYKTIpbWnjY1ljEuS/f7C7KsHtTDMsRc4KG8sMMqQZlqnIB3lzwtQ2tS4B1eqb9tFoZJmWoY7z5VT7XetmeZ9Hx0Hm4J5uHql9zdbHlnrU10xFJmUtrZnGxLQIh/XgyopbTzfJLNs03ynyyyziDX2gGh/sod619TFXVOWXLPL1oakZlq0PeqZtaKZFQpREnzEhmgytkT1Qhyd9zaY6KfLL/cfOO9b7lmbk81ga9QgQ2oZ5x6TgVeQdPHZeRd5LLngNjfjCNrT/PdENrad0shI1HNGioJ5oJgOmk9Umc6iOzXejvBryTWM7y4yxoZ+RQbJ+klaARGUnK1fkIR+unfZ+ljZ5uz5QzVPGlI11Da2nDS1d7afFtlfbE7ezDCTtTLXV6bQPoNEoWhHaVBFtmPYvoTJGnhNUyepvy0qn/apKwS2+71VzoHTarx9ksqd05PaDFPtKJ6vdGyheKB05Q4X1IVmQ5/2pZpyRRCbZqB/rXeILY2SlBdRST5SOvMdw6mvqcDIuDLH1AXG70pH3Gw1vBjMvcKGF8BQkfLtEMNv1QQqcBQLhFylCPnJiJIC0jLwAg/Qp8TB03rZcdNMKEt+He5hHaAnSJ9hqbr0BfIWCBgDAyFTE7TiMMEgRZd/KuZE5zudr2Fo4eHq1LbZ3ofWvbb1n9/VTTdmehhEK4517vadsN3/Z2RFbu+DswB2kKuAwWS5RtO2cdy7AOd+72HkD6IuHYbW1wyRngfFEDfJwerJguAccgeTClrC100B+jKgmaHoVglARHYQYZmESuEJj5jUak6PJ0JrYI9MeqgNNEdLvQmOgGtRb+QB7UIzQfrI6TB4KDbrA0T1qQVA8Expsd6S0kjhq+eHU8em2+jq5RFPsN9KlPh0lz91weo2iBvqyJGjSVu5MEcS7ovHLED9UVkKJTjMtXkpw47mewwTkbpKb8l5TluRs5vBM7+lqxprGq22+UzOR+QNeWt0ckgiZmmcrSbzbwHiNC2eY9WGsVWwlj74iWhEW06i58KZRGIcz3JyGi5ZzHZN/0nyZFKpU2BZMSU+U9sNpIe0OeoowJVEWwPWruOmFECUBSCQxbzwfzZELkhQtQJIChKWrMMYgSZ89fCUFMSw997C1jMJpS24FcWvpEeJFmJCwvl0i5dIL3N04miqtcIlb82Wy68ZYaS2C9Eu4xF4YxEpE6B6a6UwpYTE7e1DikBvJ4mDNzjTg6gwMEFaYbUvPZR9vIFP7MFM5f8gUOOS1oUAJDdKFd9XuO83u6YbSunGi1tSZXqGWQ+ZF0yvvBsWtBumo1SFp4TjiKAwxoUsnNLQzbWiRXePJCW3CMn5+OG85/04i1BrksaCS703tC0ZBTLRpdpMYhwtzGnlL3EI3KMBxq9GdGH2yAx5PLKWFF8vWNIl8+wZFl2GMmmGCG3T14CnCyInXKQztRDct4wNrhtMNAK1JhL41DYOZN2/eOgsfGo0I4eh2unBtb2bPHM9PIrS9A3e0mpExD8WKKL+Bz46H7dhHaKmInTeAvQUKE6yIe28gvvJmGH7+ufKBspiFEXjgBSBux+gTyCAypjtvwA0pCflh7EDMPgji3W8rgfC6jJBzDff38DGn9mZwDqIHEvqU84MLbinKfmg51r6gaYKRCx8F8bePAplIpMRvSqQRwkkUgJw/zGt69kONB7EAIh+defSjGwbcKrBZ7KoWdTv2fBTg/x7w/yxEebiC2A/D62SZo8QjI3PIEJRC7Pg2j1WEpmHkKuI+nRpjJ8J0XBG3XQcj+PWnOG0oPl95PgIcJagEVCYdpJxrBplEVVTaBBIiZAN40ySKULBBaoHu9jZPCBKn684OSHMEYsm6zcEvWISOc3FpWoRIMXN3n2QZiVfkCg/7mjlws5fzZHkQktSGPJWepGYYfQ3IGE3DwI0FkpJ1GRmEdowdHP8dcpKk5N8nI3O05gjb2IkuHd/PUcJOZD+EVEpOkUoiP0vH1NXiHTd7lQEubICOo63A50Qg4X/PKAmR9hjoOG7fCF/mrIM2CWsfpFls9m9ApJ/DQpm3IHKrPXTe/iyX+BC1zkH8J/ygQBsu6pShqePgEqMSAZeBz/WsPYvChR2huRfj6NYmLaZNWolnepzMmoW+iyKS916UbkEzkISd/8awILDBkmyj+aBgMJAulYEspV0aiHcbW7oVCSOuJXxeGHGM/vQwuvQCJ7r9ahQxsgcCiVEsHXxVDaZMxno8cZMqMVUWWAmrDbFVnlMOLxo20qwiszZoaNBtjphSAJZFwiY3rsVhLeevx2MJyT87JJ8Qll8NzZrwfDhEKxM2RCzdds08v9gH0SePXPvJxDQ+91l8vijFHM/rq4WMJy6H2jkNNDGTBhcXeSmrr2I8q2eWsbwnqV3jcpX+xoscJZiFUdnND3i48OoeJV06N8hlByB0sz/1w8SVvMDDEqGNm5SC0qanpcefiPczPisBREpBvMaQbz+lP8yZbv2ojY63ONgfDoPv0R5SSuSC5IHQIuq1XKFQsMgGLlTeMjgaq0Z8G2O0mGISrbRbf1r3DfHNlBT+bF341n47VwNcBy3CQIqQHzruYyYwvUFkqnyHtj2XTfYrSVyIlqQglJbOnFRyvzTnjzCJAscnk6Qkn/BN6VS4LMbh8j/OX0Tp7+msJ6PqerFz6aP/OGCZ3n9PbNMKQ0x5Gq7PBZMmnJSC9PcB5AZFsRcG9hxnYYZRjEEQt+lV2Ay2foo/BlsgiL8JcA/sku0M7uEKOS5IAcg7AigKCKIsNFaNInq1gMSAGrhmqZivlXmQ2214AXttEFN7DC29iDYt1ZqYivjPRn2pk8tFDt5C5SBelKWUtumH80YBcFkASAEifUgFZta3yTANE9+ld3mXKD1G4g/BSp5g0Hoz+AFqzpVA7hBLOy84Y1CQZor8KPEptQuXtwWLzbrw3uilKUndwZVqb8bp4nsxlpLAwzFI0ozsDSTJKV38CqLcjFF0402RUFG4vBZAZqkokxDfBGa4XPJgrlW+R7FhtIwPsxstblDUDRdLh7vXyK59VUXcTjsRGe5hmmCQXBB+FUhrLe+USI9y0s4m0vNz0uHlvFcsHfInRyuBtemlho+kEnJz9hwD4OemF85b5D+Sh1kKnkEq/MqbX6EYn6VprIjb+rGp5JuOVMZKyFUXKRNp1nlAdfGuzHRVp30ea6uGG34OSDntocvx9dwKj/neenx6kt5Ks+Qm3/M7+07+qKcbWtcaGR+yQru4dr0IpCWIpeG0CU/iKxfEu9LIKq/ka1lHYuig3QZniaU5wpApzFgQ9VZK+pmptvolFRQuSWfqLDE9zsjmMeMeWDXK579vGgD0UpxMUQh+zILStSQJcC6DH7HSuMvrOUhse04slRySuGE0RfShi2bFXQnZ9RBD/HB6HdPHGRxSCL3l9fzwcJTe3B4eKjyX0HcLxKTb6iVR42sLFzVafkOXqPVl6U1aNNn+gQBewYF9JFwbq8Yc4e54okbTqzzCnGh6pYjbSdr2LnYa3B7zjgzu7q5oRjrky8G+QARURqIFeb6+F03zKB1urK2zbHThZqO09nixagwO9vkSS1TZLlTf4YXWy5Q3SGtzNc6LDXZCM4mKQ/g00NhZDj2HkFlmsPO3CM3RF2XrX81fP7bSf4fNX8WtEmzF9BUo/5eAz0/OdYbq0tMGfh3MvAhEWz+cxzYO7fTWu6IuduJrmkfFfUk6kFKTijJ0StdEP+0NdxocIV2YLf4qSfjpGH6ymj/tDdnpH4nbTK+sq2BSAnfzVEr3RxwGdowjL5gr4jb88Yl0PkXjJklONAfCI8bOYglAi2+m0kpYIx0tUeSQbNNdQsoUqCFkNZg+EeRmZ2+dxHLia4IOpGIJljWMNIJkH90gH0DQg1kYLagCjr9OO0Bx7MxRKpQsoj7CyD0E8ZcNfMeeS2nbG8atuvGtuxywQxDzz7s8OIcgct92MzgOQWSfdnPzCQ/2cZez9hDE4stuZtohiOzTbm5BRjn23N1c7eyh5bmrNEe4o2TxjosLegZ6t/56yEq8K0fxqklmNYrCKZDiJsAPCgWoXA/48se1N1ekAbLja29ppy9a2W7kkV6+6LNJZf+SHpGH7q0ibhendiC9A2GAsOM62Dmk990CbaaXUfjlFoRfBBCuMF4etlrywetm58V+k/2/tWCzWl4QYyeYon86S09iuwil0+7IUrsjtWWWc1yqfYup1JDC1qxZEkRiEulqSCIi2GpOw8UywaiJnXnc92IM97Bwltsx8tEUbzfp2nBPtzbbgnntLU+WSY8CphMzfF94A4In7OzsnLcvmjeOnyBotUCYOX6MhHwmBSql3CrdKHA6Cpx/WGdqXyeXyEfYpq1zMLenKMLezJs6GNlRiGl0/9c6joFQ77uoxnfnF6TL5T1Hl8vrWGKsJIanxPCUODylDE9hB+4hdWXZV3dlvXZ3V0I1pdjyN/WRE3DvnPzPSanHu4Uk0xGFq5ui9VXcidQMdC8eOJEXoGgU0Xfl+l6QfKn0BmGctTCsOwljukupvDZLNin393UE/Nuz61TrL9Cut2Tlg3qvugFqoBvHHzvTa2eOeqxTnhj9ih20F7uTD6UVZ4wUgCAmkV/TBwLhCkKE4sTHinhHmjHu5Zt0AUpHG5WDIV7PFP0U7bTW/a9PTLMwwcsEK+I2cXkWcMRn6X0mUS0lKYcV8ycbanBtqjeDWo+CII7M8oFBnLghYDeYAdOKbC3++ES2FSn/Pz7BZyfORmn3UdZzrSHPtmkZwxcgw0H7W5hS6NKVNlmSltBI3+iueHSZulyhR1+lgBXETvlJtj8XxD2BHXLR3zJWBPaeUpm8H35GUdeJuap5F8Z0H48j2Do/pO+nH15skc8+IT68YNn243EYQfpq+S5xiJgLBy8G+VWzvQ9O4IIQya/a+wJ56PhxCC6aeQFyyY6TZH4YkJaFdiq7aa8vZq+1ezGthDjMeKRyTW/h+U7k39Kta6edCep0mu39JozwFYo+ezGqY9RkKDQLE1j2UuHAzXD8z85toUEGHwThZ252kdU1IOw12ykEN3vN9lMQYE7jEaAsvhb81HeV9M62hZl7WTCtWAkWmm5eSfS4SVjkQbFqfhRuyJPsgOajIOzQBSBI/NpSwgfc+ty6l/fqSl4lmN97+CpMcC/EpSjNGNPjYuTCVtz62Gy15lulnfkj7U4ukwAnzYhjXIhdPWw1Z/GG+ZntfKqzOs6I47885UsFpgxIlvRlWP+sQsF+Kyw78jKV7Z1G47mRKaRnGxs8wusruGjmJD7OPfBs2U3xjkG8arJ6Hp91Ho6RFEffwcVxZ6xsb5QvRd+iQqlzKskiqhHNaM9UGhF2dipKLiN044VJ3P+OytbKLCldS8ErTxaDm6z2kpbiroz2+W8XpDZyl2d1wfmrsi2IdzdZDhTs8xcP6mXVg/ZnyqwWyr8kjB9Oq821+uaviZLzi8zD64jfbMT4Ufjm2OZG5ZV5kPjYU6PpVaU2p6Z6C2eOrPAIjRPS2aUVugHw4x+faAuxNhtmUbigQ9MwwA5ZtnXCI26CPoNu+dm5d9FcVDmcdUgnEISYpsNupjK+cvBuetzNnjyGWWM9aiomZR6rU2Rjkftagdsgg0ZFjZznlLLHlrHnqPTMgvXUYjWY9C3dpn9r43FR/a0V6smC8o1gWpI2l4MnoZ0l/mPT/nFqZ7/tU2rANm+ksx6MnQoUpwSd2v6LXSj+zbqvdKvizeCh2gvoixdjtvuYkx3HFYKCvp+XsAixvU+Y77I2kpcFsi4M/ozO74E+i9NCef6yyHETQIqKlZleZ3OjKwEKneDnn/M1KP9zA0QhgV4J1g9V2DU2H7R8i4kM/a/a9n3sYqsVic5Vo+G47ml6zjoMXdR3LlH1krGvHml927QMfXjCndGlL4t4IIg8gQD/+Mc/QBCzv2swHPU0mxKYAryF4s8MdN7+XP8yDDv1hSB0EfhEHyhJSDfyEXLcW7LKxCjAu2R1vvKCOdmrO+76ezvlto1d6LoumVEnAYewrkXcbDaF4jyWnpvVWllNihoi4piax6td8Y5XZFVzG13HraQ9t9WN0CK8Qc9xLwJhTadnePjxULSqYls5GLxyFaLd76RcVeyjlPv/o1umWk1EHPvOvBIMx3315OFY4CjWLCJjj7eFUvNW0AetioxN0PI0u3+JIhUZj1HkO+hR9ueP77T+WDNMbXTc+H8BAAD//yXG4DBLUwAA + H4sIAAAAAAAC/+Rce3ebuLb/359Cw9BJ0gbbOGnapoeeITZJufHrAk6nN81hESPbTDC4INzmpD6f/S4JCcTDadrM9M45N7Nm1UZbe2/99kNbD/zzT61rL2hdO/GioRmGbb43LW3Qtfq2aamGZZ+qel85BKSt2x9NerY+1C3b0gfaaGIpz9OWU72v2e9Uq/s2azlKW96O+j37ndrXh5Pf1DNtaCkv0gZD62uqqdUQvEwJ1LFl60PTUvv9jOmrtKk36p5rRqW10y4090bvhv2R2svb5UL7ufa+hqZToMFKYLqs+aDQzGHUoSANRifvSbe+buY4dShQA9M+G59tEX3EcaiMjcLWHQ0tVR9qRq9KQoEzJsNutZFCd/7SxARDfXiWtR2087aKVgcUtPPJiYbdYjiy7NPRZNhTDihU+uCspttB3q2vWTxSB4dFKw7O7PGEU/XgeWWoXauO7qhKZ+hYxyrpdvSI63KDelmhvNAMUx8NbX14ofb1nnJAoewO9eq4D+XM0GNj1LN72kkNUadKND4/s9VejwYcRW9kqJxJNMMYGcohhSeNVG4gpONL5kO9sTE60ehTqvFoYp3gUeLRDdOm55zt1bFum5pxoRk8gVxL0Buadn80Op+MKVmnlkz9n4mhVYmZc6iWWh8LR22OohyERzLXWHb0I6rIxdte2bZHVceqCH7R5oKo2koldyemNRrYpqYa3bd2bzRQ9aGZju0lZXA2nlT7vzzgGg0dexYfGS8Pq83l8b18ztFoF3pXs8f9yZk+LDA6yon04enINkYDuzsyjMnY0nrKSxoO5tlvW+W8aldpOAmv5DxL91S9n1vnFZe/J+Oeaml5E4scU8OOf6GTuDK7hj62iJ0MTe3lnOR2mxOC0+lkfGaoPY2j4NQYT4wz6vByu5MFCU4IhobNoMhtin9XN23VNPWzoW2MRpY9fqfIslxpI/4z1oyBbmJNFVmmbMcqSV3d0fg9IVJkmec8Hvff22PVNN+NDBJsp/qZIsulwM3mkBENC1lmGS1NYxX3keUXBYLRWDNUC2OYpgZZZtnLMmoaX4FGChYJStNSu+f2mWbZqjGwrdG5NlRkNoWWSYaa9W5knNOxTFLGisxm1DK5OTkZapY9NrRT/TdFxpNqFpQnE73PcpmM58UUlHfq2O4aGnaXFAw2K/Et+tCcnJ7qXV0bEo84t82x2tUUGc9ShNrS+tp4ZFi9QtpUZJbn8nbm8GkzG4hh6adqF89XhqYO8CzJ+Cgyy3E1RJSZIuPUlhY+ljXGTv7be7urYtwuNMNSZJbYaGTgJs2wTEU+yooTqrapdTGoVt+0T0Yjy7QMdZxNp9pvWpfFfeYdR8zAPd08UfuarY8t9aSvmYqM01qaM42JaWEOVediya2nm7iXbZpvFfkF83hDH6jGe3uod219zCVV+QX1fH1oaoZl64OeaRuaaWEXxd5nTLAmQ2tkD9ThWV+ziU6K/OLwof1O9b6lGVk/GkY9DIS2pd8pTngleUcP7VeS94JzXkPDtrAN7b8nuqH1lA5LUcMRSQrqmWZSYDosN5lDdWy+HWXZkC8a2ywyxoZ+gRvx/IlLAeyVHZau8EPeXTvtQxY2Wbk+UM1zypS2dQ2tpw0tXe2nybZXWxO3WQTicqZc6nTaR6DRyEsRUlRhbaj2L0CpDT/HqOLZ35aVTvtlmYKbfN+p5kDptF/dy+RA6cjteykOlQ7L3VsonisdmaFC6xDm5Fl9qhkXOJBxNOqnehfbwhhZaQK11DOlIx9QnPqaOpyM84HY+gCbXenIh42GNwMzL3BBC6IpkNDtCoLZvg+kwFlCIDyVIuhDJ4YCkFaRFyAgfUw8BDpvWi5ct4LE98EXMI/gCkgfwU5z5zVACxg0AABgZCribhxGCEgRYd/KuOE+zqcbsLN00HSxK7b3Qesfu3rP7uvnmrI7DSMYxntf9J6y23y6tye29oGzB+5AqgIKk9UKRrvOZecKOJcHV3uvAfzsIbDZ2aOSmWN8owaZO32zYPAFoAhILtgRdvYa0I8h0QROFyEQSqKDEIFZmASu0Jh5jcbkZDK0JvbItIfqQFOE9LvQGKgGsVbWQB/kLaSeLDfjh0KDTHBkjZoT5M+EBl0dKa0kjlp+OHV8sqy+Sa7hFPmNdKpPW/FzN5zewKgBP68wmqSUu1AE8S4v/Bjix8pGKNBppsVLCdae6zlUQGYmuSkfNGVJZj2HF3pPVxlr4q+2+VZlIrMHvLS6PjgQmJoXG0m828K4woUbmPV+rJXGih99RbQiLKdRc+lNozAOZ6g5DZct5ybG/0vzVZKrUmKbM8U1UVoPp4m0O+gpwhR7WQBuXsZNLwRREgAJB+ba8+EcukCSoiWQpAAiaRHGCEjSJw8tpCAGK889bq2icNqSW0HcWnmYeBkm2K1vV1C59gJ3P46mSitcodZ8ley7MVJayyD9Eq6QFwaxEmG6+3o6U0KY92YPChyyQVI/qIwzdbi6AQYQKXRsK8+lH9eAqX3MVM4eUgWOeW0IUEIDV+FdtftWs3u6obTWTtSaOtMFbDm4XzRdeGsYtxq4olaHuITjiKMwRJgu7dDQLrShhVeNZ2ekCGP8/HDecv6ZRLA1yHxBxd+b2mcEgxhr0+wmMQqX5jTyVqgF1zBAcavRnRh9vAIeTyylhZar1jSJfHsNo+swhs0wQQ0ye/AUYeTEVQpDO9NNy3hPi+F0AUByEqZvTcNg5s2bt87SB41GBFF0O126tjezZ47nJxHc3QN3JJvhNg/Giii/Bp8cD9mxD+FKETuvAfKWMEyQIh68BvHCmyHwyy+lD4TFLIyAB7wAiLsx/AhkIFKme6+BGxIS/EfZAZF9EMS7XzcC5nUdQecGfPkCPmTU3gxcAtEDEvyY8QNX3FTE/kg61j7DaYKgCz4I4q8fBNwRS4lfF0gjiJIoAHL2MMvp7I8MHog5EFnrzCMf3TDgZoHtYje1qNux58MA/eeA/0chysMVxH4Y3iSrDCUeGZlDBqMUIse3eawiOA0jVxEPSdcYOREi7Yq46zoIgmdP4rSg+LTwfAhQlMACUEw6kDKuDDKJqKi0MSRYyBbwpkkUwWCL1Bzd3V2eEEicrnt7QJpDIBZGt935BQvTcSYudIsgTmbu/jeNDPsrdIX7bU0NuN3KWbDcC0k6hiyUvknNMPoakDGchoEbCzgk6yIyCO0YOSj+K8QkDsm/TkRmaM0hspETXTu+n6GEnMi+D6mUnCCVRD4Lx9TU4h3Xe8MAF7ZAx9GW4HMiIKF/zggJlvYQ6Dhu3wkfM9ZRG7u1D6RZbPbXQCSfw1yZN0DkZnvQefOLXOCD1boE4t/BTwpog6s6ZUjoOKjAqEDAReBjLWvPonBpR3DuxSi6tXGJaeNS4pEWx71moe/CCMe9F6VLUAaSsPef6BYYNrDCy2jeKSgMuEqlIEtplQbEu60l3Qa7EVcSPs6NOEZ/uBtde4ET3X7ViyjZPY5EKVYOWpSdicmo+hPXqeRTRYElt9riW8U+RfcibiPNSjJrnYY43XaPKThgUSTYZsaKH9Zy/ro/FpD8o13yG9zyq65Z4573u2ipwxaPJcuumefn6yDy5IFzP+6Y+uch9c/nBZ/jeX01kfHERVe7JI4mMmng6ipLZfVZjGf1yDSW1SS1c1ym0l94kiMEszAqmvkeC+dWPSCkK2cNXboBQhb7Uz9MXMkLPCRh2rhJKAhtult6+hFbn/HZCEAkFNhqFPn2t9SHGdOdn7XR6Q4H+/1u8CPKQ0IJXSB5QGhh9VqukCuYRwPnKm8oHI1NI76NEVxOEfZWUq1/W/UN4vUUJ342L3xvvZ2pAVwHLsNAiqAfOu5DOlC9gUhV+QFleyYbr1eSOBctSUEorZw5zuR+oc/vYRIFjo87SUnW4bvCKTdZjMLVv529sNI/0ljfjKrrxc61D//tgKV6/zWxTTMMHsq34fpYMEnASSlIfx1A1jCKvTCw54i5GYIxAoK4S47CZmDnSfwh2AGC+KsAvgB6yHYBvoAFdFwgBUDeE4CiAEGUhcamkXuvFmAfUAPXLCTzSpoHcrsNnoODNhDT8RhaehBtWqo1MRXx7436VCcXkxx4A0ob8aIspbRNP5w3coCLAoAUQFyHlGCmdZsMpmHiu+Qs7xqm20j8JljBEhRabwZ+AjX7SkDu4JF2nnODgUEaKfKDxKfULri+zVls14W3Ri8NSWIOLlV7M04X34uRlAQeioEkzfDaQJKcwsGvIMrNGEZrbwqFksLFuQCwkYoydvFtYIarFQ9mJfM9iA2lpXzouOFyDaNuuFw53LkGO/ZVFXE3rURk8AVMEwQkFwjPBFxay3sF0pOMtLON9PISV3gZ7w0Nh+zJyUagZXqh4MOhBN2MPccA8H3TA+cd/B+OQxaCFyAVvvDmCxijizSMFXFXPzWVbNGRytgImeoiYSLNOveoLt4VmW7qtM98bdNww08BTqc9eD2+mVvhKV9bj8/P0lNpGtz4e3Zm38ke9XRD61oj4z1LtMsb14uAtAJioTktwpN44QLxrtCyyTJ5JeqwDx2128BZIWkOEWAKUxZYvY2SfqaqbZ6mgsIVrkydFSLbGawfHdw9s0Zx//d1AwByKI67KBg/OoLCsSR2cC6CHzDTuKubOZDo8hyPVHJw4IbRFJKHLpzlZyV41YMH4ofTm5g8ZnBIIeitbubHx6P05Pb4WOG5hL6bIybdlg+JGl+buMig5ddkiqpOS6/TpEnXDxjwEg70I+ba2DTmEHXHEzWaLjIPc6LpQhF3k7TsXe41uDXmHW7c39+QiHTwl6NDAQsotURL/Ly6Fk3jKG1uVOZZ2rp0WSvJPV6sGoOjQz7FYlV2c9X3eKH1MuUt0tpcjvNig+7QTKJ8Ez51NLqXQ/YhZBoZdP8tgnP4Wdn5R/PZh1b6/3HzmbhTgC3vvgHKvzD4fOdMZ1CeetqAnweZFQHW1g/nsY1COz31LqmLnPiGxFF+XpI2pNQ4owydwjHRk4PhXoMjJBOzxR8lCU9OwROr+eRgSHf/sN8yvVhVQaUE7vauhO73OAzsGEVeMFfEXfD7R1z55IWbJDnRHGAeMXKWKwBI8mUqbYQK6WgFIwdHm+5iUqpADSHNweSJIDc7B1USy4lvMDogFYuxrGGkYST7cA19AAQ9mIXRkijg+FXaAYxjZw5ToXgS9SGC7jEQn27hO/ZcQtve0m7Vte/cZYAdAzH7vM+DcwxE7ts+g+MYiPTTfjZ8zIN+3OdGewzE/Ms+G9oxEOmn/WwEjHLsufuZ2uyh5bmbNEa4rWTxjvMLsgd6V70eshHvil68aeJejTxxCji5CeAnhQBUzAd8+uPKmwUugOz4xlvZ6UUr2408XMvndTbO7J/TLfLQvVXE3XzXDkhvgTCAyHEd5ByT826BFNOrKPx8C4SnAhAWCK2OWy356FWz8/ywSf9tLWmvlhfEyAmm8O/OypPoKkLptDuy1O5IbZnGHBdq3zNUMpB8rKxYEkQ8JFzV4ECEYKc5DZerBMEmcuZx34sR+AKWzmo3hj6cot0mmRu+kKXNrmDeeKuzVdIjgOl4GL4vvAaCJ+zt7V22r5prx08gaLWAMHP8GApZTwJUSrlTOFHgdBQ4+9DK1L5JrqEPkU1K52BuT2GEvJk3dRC0oxAR7/6PNRwFod52UY3tLq9wlctbjkyXN7FEWUkUT4niKXF4SgxPYQ98Aakpi7a6K+q1v78RyiFFp7+pD52Au3Py/yekHm4WHEwnBK5uitZXccdSGehePHAiL4DRKCJ35fpekHwu1QZhzEoYWp2EMVmllK7N4kXKly91BPzt2SpV9QJttSQrbtR75QVQA64df+xMb5w57NFKeWL0S+MgtdidfCxtuMFIARDEJPJr6kCAuQIhgnHiI0W8w8UYd/kmnYDS1kZpY4jXM0U/RTvNdf/1kWoWJmiVIEXcxSZnDodtlp5nYtVSkqJbUXvSpgZXpnozUGtRIIgjs7hhECduCJAbzADVCi8tfv+IlxUp/98/gk9OzFpJ9VHUs1KQs2UaY/gcyOCo/T1MCXTpTJuscElopDe6SxZdpSZXyNZXwWEFsVN8wtbngngg0E0u8paxItB7SkXyfvgJRl0n5rLmXRiTdTyKwM7lMbmffny1gz/7mPj4ikbbz6dhBNKr5fvYIGImHHgxkF8224fACVwgRPLL9qGAHzp+HAIXzrwAunjFiSM/DHDJQiqV/bTWF9m1di8mmRCFjEcq1/SWnu9E/i1ZunbaTFCn02wfNsEILWD0yYthHaMmRaGZD4FGLxEOuB6O/8m5zTVg8IEg/MT1zqO6BoSDZjuFYH3QbH8LAtRoPAKExdecn9iuFN5sWcjMS51pQ1Ow0HSzTKLHTcwic4pN84Owxk/YBs0HQdgjE0CQ+LWphHe4at+6y3t1Ka/kzO88tAgT1AtRwUsZY7JdDF2wE7c+NFut+U5hZf7AcSfXSYCSZsQxzsVu7h81N+It/dnY+VCneZwSx396yBcSTBEQFvRFWP+oREHfCmNbXqayu9doPNYzhXRvY4tFeH0FF86cxEeZBR4tuyneUYg3TZrP44vO/T6S4ug7KN/ujJXdrfKl6HtUKFROBVlYNawZqZkKLcLeXknJVQTXXpjE/R+obK3MgtK1FLzyeDJYs9yLS4q7ItqXv17h3MgdntU55zNlVxDv1iwGcvbZxYN6WfWg/ZEyy4nyT3Hj+8Nqe65e/zlecnnFLFxFfL0V4wfhm2GbDSrLzIPER54aTRel3JwO1Vs6c2iFJ3Cc4MouzdANAH7+/SMpISq9wSwKl6RpGgbIwdO2jnnETaDPQLf47NK7ai7LHC46uBIIQkTCYZ+pjBYO2k+3u+mThzBrVL2mNCRmsTpFtia5ryW4LTKIV9TIeUwqe2gae4xKj0xY35qsBpO+pdvktzYe5tXfm6G+WVC2EExT0vZ08E1os8B/aNg/TG32tk+hANu+kGY1GN0VyHcJOrX1Fz1Q/ItVX+lSxZuB+3IvgJ+9GNHVxxyvOBYQ5PT9LIVFkK59wmyVtZW8KJBWYeCPqPzuqbM4LZTHT4scNwFIUT4zk+NsrnUjgFwn8Msv2RyU/dwAVkggR4L1TSV2je0bLd8zRIr+V8f2Y8ZFZyvsnZtGw3Hd83SfdRi6sO9cw/IhY1890fq2aRn68Izbo0svi3hAEHkCAfztb38Dgsh+12A46mk2ITAF8AbkPzPQefNL/WUYuusLgtCFwMf6gIKEdCEfQce9xbNMDAO0j2fnhRfM8Vrdcav3doplGz3QdV3co04CCkFVi7jZbAr5fizZN6sdZTkoaoiwYWoeb/bFO16RTc1pdB23gvbcUjeCy3ANH2NeCISKTo+w8MOhaJXFtjIweOVKRPs/SLmy2Acp93+jG1ON3/zAHpHu5mdXC7jpl9uyJgLsE32oGu/tNCGll4QKlxJqCWtju0RFQjm7sgCSyN8HnzzfB0kMgUd23si7K3iCwwFJ7zsIBVgYv+yFFZr4KhpVYyl9Z4Lck1ggtIqPW63Lf7SunpHfzYgCiGDcWl+2pVdXzz402b/NZy2ihgfjVvPZTmmnTwpAVXT9Vh09fmInQMI67WgMNUvLfvFkI4C6tyqqIpR/kXc0Slc3Kq9bsIug5PWsVQRn3ucasH5+yiGwESpcyqpnlR7P98mT1tOavuydXxQ5UwRdptFx9mYSqzhJGVNS7BhsM+y9b0Rt9b70fgRWIwng5xXEGvm3nBcy10uxyKphJ6YYbFVf+MprSV9z3/w3t8bGiPwQXP6DPxlt+iuHm5Z4R35Xkz02tPFowzmxhGex4+y+D6vKJd8Lks+SeNcdT0j1XkgVhcnj1HfmpXnjtK+e3T9tcBSV5IfbHp72CDWf8MiDVknGtizM0+z/KYqUZDxEkR+gRzH1//xW6481w9RGp43/DQAA///7/3VVdlcAAA== @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/CustomData b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/CustomData index 352f85d64cc..6d2c4ebcf34 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/CustomData b/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/CustomData index ec1419db9a5..1027f0bae8c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/CustomData b/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/CustomData index e612c840f37..15e3f030ebb 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/CustomData b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/CustomData index b084130818c..507a204a277 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/+R8+3ebxvbv7/ordimt7dZIQnacxDnkFEvY4VqvC8hpruPDwmIkUyNQYHDiY+v+7XfNMMCAkGPHbW7P+borqxKzZz8++zF7ZrB//KF16QWtSye+amiGYZsfTEsbdK2+bVqqYdnHqt5X9oGOdfujSc/Wh7plW/pAG00s5UU6cqz3Nfu9anXf5SMH6ci7Ub9nv1f7+nDyu3qiDS3lZTpgaH1NNbUaglcpgTq2bH1oWmq/nzN9nQ71Rt1TzVgb7bRLw73R+2F/pPaKcbk0fqp9qKHplGiIEoQuH94rDXMYdRhIg9HRBzqtr5sFTh0G1MC0T8YnG0QfcBzWbGOwdUdDS9WHmtFbJ2HAGZNhd32QQXf6yiQEQ314ko/ttYuxNa32GGinkyONhMVwZNnHo8mwp+wxqPTBSc20vWJaX7N4pPb2y14cnNjjCafq3os1U7tWHd3BOp2hEx3XSTejR0OXM+rVGuWZZpj6aGjrwzO1r/eUPQZld6iv270v544eG6Oe3dOOaog660Tj0xNb7fVYwjH0RobKuUQzjJGh7DN40kzlDKETX2Ux1BsboyONPWUajybWEbGSWDdMh15wvlfHum1qxplm8ARyLUFvaNr90eh0MmZknVoy9f9MDG2dOAsO1VLrc+GgzVFUk/BA5gargX7AFDl716v69mA9sNYEv2xzSbQ+yiR3J6Y1Gtimphrdd3ZvNFD1oZna9ooxOBlP1ue/2uMGDZ1EFp8Zr/bXh6v2vXrB0Whnelezx/3JiT4sMTooiPTh8cg2RgO7OzKMydjSesorlg7mye8b5bxur9NwEl7LRZXuqXq/8M5rrn5Pxj3V0oqhLHNMjQT+mU7zyuwa+tiifjI0tVdwktttTggpp5PxiaH2NI6CU2M8MU5YwMvtTp4kpCAYGnGDIrcZ/l3dtFXT1E+GtjEaWfb4vSLL8toYjZ+xZgx0k2iqyDJjO1Zp6eqOxh8okSLLPOfxuP/BHqum+X5k0GQ71k8UWa4kbr6GjFhayHJW0dIythY+svyyRDAaa4ZqEQzT0iDLWfWyjJrB19BIwaJJaVpq99Q+0SxbNQa2NTrVhoqcLaFVkqFmvR8Zp8yWScpYkbMVtUpuTo6GmmWPDe1Y/12RyaKaJ+XRRO9ntUwm62IKynt1bHcNjYRLCka2KvEj+tCcHB/rXV0b0og4tc2x2tUUmaxSlNrS+tp4ZFi9UtlU5KzOFeNZwKfDmSGGpR+rXbJeGZo6IKtkxkeRsxpXQ8SYKTIpbWnjY1ljEuS/f7C7KsHtTDMsRc4KG8sMMqQZlqnIB3lzwtQ2tS4B1eqb9tFoZJmWoY7z5VT7XetmeZ9Hx0Hm4J5uHql9zdbHlnrU10xFJmUtrZnGxLQIh/XgyopbTzfJLNs03ynyyyziDX2gGh/sod619TFXVOWXLPL1oakZlq0PeqZtaKZFQpREnzEhmgytkT1Qhyd9zaY6KfLL/cfOO9b7lmbk81ga9QgQ2oZ5x6TgVeQdPHZeRd5LLngNjfjCNrT/PdENrad0shI1HNGioJ5oJgOmk9Umc6iOzXejvBryTWM7y4yxoZ+RQbJ+klaARGUnK1fkIR+unfZ+ljZ5uz5QzVPGlI11Da2nDS1d7afFtlfbE7ezDCTtTLXV6bQPoNEoWhHaVBFtmPYvoTJGnhNUyepvy0qn/apKwS2+71VzoHTarx9ksqd05PaDFPtKJ6vdGyheKB05Q4X1IVmQ5/2pZpyRRCbZqB/rXeILY2SlBdRST5SOvMdw6mvqcDIuDLH1AXG70pH3Gw1vBjMvcKGF8BQkfLtEMNv1QQqcBQLhFylCPnJiJIC0jLwAg/Qp8TB03rZcdNMKEt+He5hHaAnSJ9hqbr0BfIWCBgDAyFTE7TiMMEgRZd/KuZE5zudr2Fo4eHq1LbZ3ofWvbb1n9/VTTdmehhEK4517vadsN3/Z2RFbu+DswB2kKuAwWS5RtO2cdy7AOd+72HkD6IuHYbW1wyRngfFEDfJwerJguAccgeTClrC100B+jKgmaHoVglARHYQYZmESuEJj5jUak6PJ0JrYI9MeqgNNEdLvQmOgGtRb+QB7UIzQfrI6TB4KDbrA0T1qQVA8Expsd6S0kjhq+eHU8em2+jq5RFPsN9KlPh0lz91weo2iBvqyJGjSVu5MEcS7ovHLED9UVkKJTjMtXkpw47mewwTkbpKb8l5TluRs5vBM7+lqxprGq22+UzOR+QNeWt0ckgiZmmcrSbzbwHiNC2eY9WGsVWwlj74iWhEW06i58KZRGIcz3JyGi5ZzHZN/0nyZFKpU2BZMSU+U9sNpIe0OeoowJVEWwPWruOmFECUBSCQxbzwfzZELkhQtQJIChKWrMMYgSZ89fCUFMSw997C1jMJpS24FcWvpEeJFmJCwvl0i5dIL3N04miqtcIlb82Wy68ZYaS2C9Eu4xF4YxEpE6B6a6UwpYTE7e1DikBvJ4mDNzjTg6gwMEFaYbUvPZR9vIFP7MFM5f8gUOOS1oUAJDdKFd9XuO83u6YbSunGi1tSZXqGWQ+ZF0yvvBsWtBumo1SFp4TjiKAwxoUsnNLQzbWiRXePJCW3CMn5+OG85/04i1BrksaCS703tC0ZBTLRpdpMYhwtzGnlL3EI3KMBxq9GdGH2yAx5PLKWFF8vWNIl8+wZFl2GMmmGCG3T14CnCyInXKQztRDct4wNrhtMNAK1JhL41DYOZN2/eOgsfGo0I4eh2unBtb2bPHM9PIrS9A3e0mpExD8WKKL+Bz46H7dhHaKmInTeAvQUKE6yIe28gvvJmGH7+ufKBspiFEXjgBSBux+gTyCAypjtvwA0pCflh7EDMPgji3W8rgfC6jJBzDff38DGn9mZwDqIHEvqU84MLbinKfmg51r6gaYKRCx8F8bePAplIpMRvSqQRwkkUgJw/zGt69kONB7EAIh+defSjGwbcKrBZ7KoWdTv2fBTg/x7w/yxEebiC2A/D62SZo8QjI3PIEJRC7Pg2j1WEpmHkKuI+nRpjJ8J0XBG3XQcj+PWnOG0oPl95PgIcJagEVCYdpJxrBplEVVTaBBIiZAN40ySKULBBaoHu9jZPCBKn684OSHMEYsm6zcEvWISOc3FpWoRIMXN3n2QZiVfkCg/7mjlws5fzZHkQktSGPJWepGYYfQ3IGE3DwI0FkpJ1GRmEdowdHP8dcpKk5N8nI3O05gjb2IkuHd/PUcJOZD+EVEpOkUoiP0vH1NXiHTd7lQEubICOo63A50Qg4X/PKAmR9hjoOG7fCF/mrIM2CWsfpFls9m9ApJ/DQpm3IHKrPXTe/iyX+BC1zkH8J/ygQBsu6pShqePgEqMSAZeBz/WsPYvChR2huRfj6NYmLaZNWolnepzMmoW+iyKS916UbkEzkISd/8awILDBkmyj+aBgMJAulYEspV0aiHcbW7oVCSOuJXxeGHGM/vQwuvQCJ7r9ahQxsgcCiVEsHXxVDaZMxno8cZMqMVUWWAmrDbFVnlMOLxo20qwiszZoaNBtjphSAJZFwiY3rsVhLeevx2MJyT87JJ8Qll8NzZrwfDhEKxM2RCzdds08v9gH0SePXPvJxDQ+91l8vijFHM/rq4WMJy6H2jkNNDGTBhcXeSmrr2I8q2eWsbwnqV3jcpX+xoscJZiFUdnND3i48OoeJV06N8hlByB0sz/1w8SVvMDDEqGNm5SC0qanpcefiPczPisBREpBvMaQbz+lP8yZbv2ojY63ONgfDoPv0R5SSuSC5IHQIuq1XKFQsMgGLlTeMjgaq0Z8G2O0mGISrbRbf1r3DfHNlBT+bF341n47VwNcBy3CQIqQHzruYyYwvUFkqnyHtj2XTfYrSVyIlqQglJbOnFRyvzTnjzCJAscnk6Qkn/BN6VS4LMbh8j/OX0Tp7+msJ6PqerFz6aP/OGCZ3n9PbNMKQ0x5Gq7PBZMmnJSC9PcB5AZFsRcG9hxnYYZRjEEQt+lV2Ay2foo/BlsgiL8JcA/sku0M7uEKOS5IAcg7AigKCKIsNFaNInq1gMSAGrhmqZivlXmQ2214AXttEFN7DC29iDYt1ZqYivjPRn2pk8tFDt5C5SBelKWUtumH80YBcFkASAEifUgFZta3yTANE9+ld3mXKD1G4g/BSp5g0Hoz+AFqzpVA7hBLOy84Y1CQZor8KPEptQuXtwWLzbrw3uilKUndwZVqb8bp4nsxlpLAwzFI0ozsDSTJKV38CqLcjFF0402RUFG4vBZAZqkokxDfBGa4XPJgrlW+R7FhtIwPsxstblDUDRdLh7vXyK59VUXcTjsRGe5hmmCQXBB+FUhrLe+USI9y0s4m0vNz0uHlvFcsHfInRyuBtemlho+kEnJz9hwD4OemF85b5D+Sh1kKnkEq/MqbX6EYn6VprIjb+rGp5JuOVMZKyFUXKRNp1nlAdfGuzHRVp30ea6uGG34OSDntocvx9dwKj/neenx6kt5Ks+Qm3/M7+07+qKcbWtcaGR+yQru4dr0IpCWIpeG0CU/iKxfEu9LIKq/ka1lHYuig3QZniaU5wpApzFgQ9VZK+pmptvolFRQuSWfqLDE9zsjmMeMeWDXK579vGgD0UpxMUQh+zILStSQJcC6DH7HSuMvrOUhse04slRySuGE0RfShi2bFXQnZ9RBD/HB6HdPHGRxSCL3l9fzwcJTe3B4eKjyX0HcLxKTb6iVR42sLFzVafkOXqPVl6U1aNNn+gQBewYF9JFwbq8Yc4e54okbTqzzCnGh6pYjbSdr2LnYa3B7zjgzu7q5oRjrky8G+QARURqIFeb6+F03zKB1urK2zbHThZqO09nixagwO9vkSS1TZLlTf4YXWy5Q3SGtzNc6LDXZCM4mKQ/g00NhZDj2HkFlmsPO3CM3RF2XrX81fP7bSf4fNX8WtEmzF9BUo/5eAz0/OdYbq0tMGfh3MvAhEWz+cxzYO7fTWu6IuduJrmkfFfUk6kFKTijJ0StdEP+0NdxocIV2YLf4qSfjpGH6ymj/tDdnpH4nbTK+sq2BSAnfzVEr3RxwGdowjL5gr4jb88Yl0PkXjJklONAfCI8bOYglAi2+m0kpYIx0tUeSQbNNdQsoUqCFkNZg+EeRmZ2+dxHLia4IOpGIJljWMNIJkH90gH0DQg1kYLagCjr9OO0Bx7MxRKpQsoj7CyD0E8ZcNfMeeS2nbG8atuvGtuxywQxDzz7s8OIcgct92MzgOQWSfdnPzCQ/2cZez9hDE4stuZtohiOzTbm5BRjn23N1c7eyh5bmrNEe4o2TxjosLegZ6t/56yEq8K0fxqklmNYrCKZDiJsAPCgWoXA/48se1N1ekAbLja29ppy9a2W7kkV6+6LNJZf+SHpGH7q0ibhendiC9A2GAsOM62Dmk990CbaaXUfjlFoRfBBCuMF4etlrywetm58V+k/2/tWCzWl4QYyeYon86S09iuwil0+7IUrsjtWWWc1yqfYup1JDC1qxZEkRiEulqSCIi2GpOw8UywaiJnXnc92IM97Bwltsx8tEUbzfp2nBPtzbbgnntLU+WSY8CphMzfF94A4In7OzsnLcvmjeOnyBotUCYOX6MhHwmBSql3CrdKHA6Cpx/WGdqXyeXyEfYpq1zMLenKMLezJs6GNlRiGl0/9c6joFQ77uoxnfnF6TL5T1Hl8vrWGKsJIanxPCUODylDE9hB+4hdWXZV3dlvXZ3V0I1pdjyN/WRE3DvnPzPSanHu4Uk0xGFq5ui9VXcidQMdC8eOJEXoGgU0Xfl+l6QfKn0BmGctTCsOwljukupvDZLNin393UE/Nuz61TrL9Cut2Tlg3qvugFqoBvHHzvTa2eOeqxTnhj9ih20F7uTD6UVZ4wUgCAmkV/TBwLhCkKE4sTHinhHmjHu5Zt0AUpHG5WDIV7PFP0U7bTW/a9PTLMwwcsEK+I2cXkWcMRn6X0mUS0lKYcV8ycbanBtqjeDWo+CII7M8oFBnLghYDeYAdOKbC3++ES2FSn/Pz7BZyfORmn3UdZzrSHPtmkZwxcgw0H7W5hS6NKVNlmSltBI3+iueHSZulyhR1+lgBXETvlJtj8XxD2BHXLR3zJWBPaeUpm8H35GUdeJuap5F8Z0H48j2Do/pO+nH15skc8+IT68YNn243EYQfpq+S5xiJgLBy8G+VWzvQ9O4IIQya/a+wJ56PhxCC6aeQFyyY6TZH4YkJaFdiq7aa8vZq+1ezGthDjMeKRyTW/h+U7k39Kta6edCep0mu39JozwFYo+ezGqY9RkKDQLE1j2UuHAzXD8z85toUEGHwThZ252kdU1IOw12ykEN3vN9lMQYE7jEaAsvhb81HeV9M62hZl7WTCtWAkWmm5eSfS4SVjkQbFqfhRuyJPsgOajIOzQBSBI/NpSwgfc+ty6l/fqSl4lmN97+CpMcC/EpSjNGNPjYuTCVtz62Gy15lulnfkj7U4ukwAnzYhjXIhdPWw1Z/GG+ZntfKqzOs6I47885UsFpgxIlvRlWP+sQsF+Kyw78jKV7Z1G47mRKaRnGxs8wusruGjmJD7OPfBs2U3xjkG8arJ6Hp91Ho6RFEffwcVxZ6xsb5QvRd+iQqlzKskiqhHNaM9UGhF2dipKLiN044VJ3P+OytbKLCldS8ErTxaDm6z2kpbiroz2+W8XpDZyl2d1wfmrsi2IdzdZDhTs8xcP6mXVg/ZnyqwWyr8kjB9Oq821+uaviZLzi8zD64jfbMT4Ufjm2OZG5ZV5kPjYU6PpVaU2p6Z6C2eOrPAIjRPS2aUVugHw4x+faAuxNhtmUbigQ9MwwA5ZtnXCI26CPoNu+dm5d9FcVDmcdUgnEISYpsNupjK+cvBuetzNnjyGWWM9aiomZR6rU2Rjkftagdsgg0ZFjZznlLLHlrHnqPTMgvXUYjWY9C3dpn9r43FR/a0V6smC8o1gWpI2l4MnoZ0l/mPT/nFqZ7/tU2rANm+ksx6MnQoUpwSd2v6LXSj+zbqvdKvizeCh2gvoixdjtvuYkx3HFYKCvp+XsAixvU+Y77I2kpcFsi4M/ozO74E+i9NCef6yyHETQIqKlZleZ3OjKwEKneDnn/M1KP9zA0QhgV4J1g9V2DU2H7R8i4kM/a/a9n3sYqsVic5Vo+G47ml6zjoMXdR3LlH1krGvHml927QMfXjCndGlL4t4IIg8gQD/+Mc/QBCzv2swHPU0mxKYAryF4s8MdN7+XP8yDDv1hSB0EfhEHyhJSDfyEXLcW7LKxCjAu2R1vvKCOdmrO+76ezvlto1d6LoumVEnAYewrkXcbDaF4jyWnpvVWllNihoi4piax6td8Y5XZFVzG13HraQ9t9WN0CK8Qc9xLwJhTadnePjxULSqYls5GLxyFaLd76RcVeyjlPv/o1umWk1EHPvOvBIMx3315OFY4CjWLCJjj7eFUvNW0AetioxN0PI0u3+JIhUZj1HkO+hR9ueP77T+WDNMbXTc+H8BAAD//yXG4DBLUwAA + H4sIAAAAAAAC/+Rce3ebuLb/359Cw9BJ0gbbOGnapoeeITZJufHrAk6nN81hESPbTDC4INzmpD6f/S4JCcTDadrM9M45N7Nm1UZbe2/99kNbD/zzT61rL2hdO/GioRmGbb43LW3Qtfq2aamGZZ+qel85BKSt2x9NerY+1C3b0gfaaGIpz9OWU72v2e9Uq/s2azlKW96O+j37ndrXh5Pf1DNtaCkv0gZD62uqqdUQvEwJ1LFl60PTUvv9jOmrtKk36p5rRqW10y4090bvhv2R2svb5UL7ufa+hqZToMFKYLqs+aDQzGHUoSANRifvSbe+buY4dShQA9M+G59tEX3EcaiMjcLWHQ0tVR9qRq9KQoEzJsNutZFCd/7SxARDfXiWtR2087aKVgcUtPPJiYbdYjiy7NPRZNhTDihU+uCspttB3q2vWTxSB4dFKw7O7PGEU/XgeWWoXauO7qhKZ+hYxyrpdvSI63KDelmhvNAMUx8NbX14ofb1nnJAoewO9eq4D+XM0GNj1LN72kkNUadKND4/s9VejwYcRW9kqJxJNMMYGcohhSeNVG4gpONL5kO9sTE60ehTqvFoYp3gUeLRDdOm55zt1bFum5pxoRk8gVxL0Buadn80Op+MKVmnlkz9n4mhVYmZc6iWWh8LR22OohyERzLXWHb0I6rIxdte2bZHVceqCH7R5oKo2koldyemNRrYpqYa3bd2bzRQ9aGZju0lZXA2nlT7vzzgGg0dexYfGS8Pq83l8b18ztFoF3pXs8f9yZk+LDA6yon04enINkYDuzsyjMnY0nrKSxoO5tlvW+W8aldpOAmv5DxL91S9n1vnFZe/J+Oeaml5E4scU8OOf6GTuDK7hj62iJ0MTe3lnOR2mxOC0+lkfGaoPY2j4NQYT4wz6vByu5MFCU4IhobNoMhtin9XN23VNPWzoW2MRpY9fqfIslxpI/4z1oyBbmJNFVmmbMcqSV3d0fg9IVJkmec8Hvff22PVNN+NDBJsp/qZIsulwM3mkBENC1lmGS1NYxX3keUXBYLRWDNUC2OYpgZZZtnLMmoaX4FGChYJStNSu+f2mWbZqjGwrdG5NlRkNoWWSYaa9W5knNOxTFLGisxm1DK5OTkZapY9NrRT/TdFxpNqFpQnE73PcpmM58UUlHfq2O4aGnaXFAw2K/Et+tCcnJ7qXV0bEo84t82x2tUUGc9ShNrS+tp4ZFi9QtpUZJbn8nbm8GkzG4hh6adqF89XhqYO8CzJ+Cgyy3E1RJSZIuPUlhY+ljXGTv7be7urYtwuNMNSZJbYaGTgJs2wTEU+yooTqrapdTGoVt+0T0Yjy7QMdZxNp9pvWpfFfeYdR8zAPd08UfuarY8t9aSvmYqM01qaM42JaWEOVediya2nm7iXbZpvFfkF83hDH6jGe3uod219zCVV+QX1fH1oaoZl64OeaRuaaWEXxd5nTLAmQ2tkD9ThWV+ziU6K/OLwof1O9b6lGVk/GkY9DIS2pd8pTngleUcP7VeS94JzXkPDtrAN7b8nuqH1lA5LUcMRSQrqmWZSYDosN5lDdWy+HWXZkC8a2ywyxoZ+gRvx/IlLAeyVHZau8EPeXTvtQxY2Wbk+UM1zypS2dQ2tpw0tXe2nybZXWxO3WQTicqZc6nTaR6DRyEsRUlRhbaj2L0CpDT/HqOLZ35aVTvtlmYKbfN+p5kDptF/dy+RA6cjteykOlQ7L3VsonisdmaFC6xDm5Fl9qhkXOJBxNOqnehfbwhhZaQK11DOlIx9QnPqaOpyM84HY+gCbXenIh42GNwMzL3BBC6IpkNDtCoLZvg+kwFlCIDyVIuhDJ4YCkFaRFyAgfUw8BDpvWi5ct4LE98EXMI/gCkgfwU5z5zVACxg0AABgZCribhxGCEgRYd/KuOE+zqcbsLN00HSxK7b3Qesfu3rP7uvnmrI7DSMYxntf9J6y23y6tye29oGzB+5AqgIKk9UKRrvOZecKOJcHV3uvAfzsIbDZ2aOSmWN8owaZO32zYPAFoAhILtgRdvYa0I8h0QROFyEQSqKDEIFZmASu0Jh5jcbkZDK0JvbItIfqQFOE9LvQGKgGsVbWQB/kLaSeLDfjh0KDTHBkjZoT5M+EBl0dKa0kjlp+OHV8sqy+Sa7hFPmNdKpPW/FzN5zewKgBP68wmqSUu1AE8S4v/Bjix8pGKNBppsVLCdae6zlUQGYmuSkfNGVJZj2HF3pPVxlr4q+2+VZlIrMHvLS6PjgQmJoXG0m828K4woUbmPV+rJXGih99RbQiLKdRc+lNozAOZ6g5DZct5ybG/0vzVZKrUmKbM8U1UVoPp4m0O+gpwhR7WQBuXsZNLwRREgAJB+ba8+EcukCSoiWQpAAiaRHGCEjSJw8tpCAGK889bq2icNqSW0HcWnmYeBkm2K1vV1C59gJ3P46mSitcodZ8ley7MVJayyD9Eq6QFwaxEmG6+3o6U0KY92YPChyyQVI/qIwzdbi6AQYQKXRsK8+lH9eAqX3MVM4eUgWOeW0IUEIDV+FdtftWs3u6obTWTtSaOtMFbDm4XzRdeGsYtxq4olaHuITjiKMwRJgu7dDQLrShhVeNZ2ekCGP8/HDecv6ZRLA1yHxBxd+b2mcEgxhr0+wmMQqX5jTyVqgF1zBAcavRnRh9vAIeTyylhZar1jSJfHsNo+swhs0wQQ0ye/AUYeTEVQpDO9NNy3hPi+F0AUByEqZvTcNg5s2bt87SB41GBFF0O126tjezZ47nJxHc3QN3JJvhNg/Giii/Bp8cD9mxD+FKETuvAfKWMEyQIh68BvHCmyHwyy+lD4TFLIyAB7wAiLsx/AhkIFKme6+BGxIS/EfZAZF9EMS7XzcC5nUdQecGfPkCPmTU3gxcAtEDEvyY8QNX3FTE/kg61j7DaYKgCz4I4q8fBNwRS4lfF0gjiJIoAHL2MMvp7I8MHog5EFnrzCMf3TDgZoHtYje1qNux58MA/eeA/0chysMVxH4Y3iSrDCUeGZlDBqMUIse3eawiOA0jVxEPSdcYOREi7Yq46zoIgmdP4rSg+LTwfAhQlMACUEw6kDKuDDKJqKi0MSRYyBbwpkkUwWCL1Bzd3V2eEEicrnt7QJpDIBZGt935BQvTcSYudIsgTmbu/jeNDPsrdIX7bU0NuN3KWbDcC0k6hiyUvknNMPoakDGchoEbCzgk6yIyCO0YOSj+K8QkDsm/TkRmaM0hspETXTu+n6GEnMi+D6mUnCCVRD4Lx9TU4h3Xe8MAF7ZAx9GW4HMiIKF/zggJlvYQ6Dhu3wkfM9ZRG7u1D6RZbPbXQCSfw1yZN0DkZnvQefOLXOCD1boE4t/BTwpog6s6ZUjoOKjAqEDAReBjLWvPonBpR3DuxSi6tXGJaeNS4pEWx71moe/CCMe9F6VLUAaSsPef6BYYNrDCy2jeKSgMuEqlIEtplQbEu60l3Qa7EVcSPs6NOEZ/uBtde4ET3X7ViyjZPY5EKVYOWpSdicmo+hPXqeRTRYElt9riW8U+RfcibiPNSjJrnYY43XaPKThgUSTYZsaKH9Zy/ro/FpD8o13yG9zyq65Z4573u2ipwxaPJcuumefn6yDy5IFzP+6Y+uch9c/nBZ/jeX01kfHERVe7JI4mMmng6ipLZfVZjGf1yDSW1SS1c1ym0l94kiMEszAqmvkeC+dWPSCkK2cNXboBQhb7Uz9MXMkLPCRh2rhJKAhtult6+hFbn/HZCEAkFNhqFPn2t9SHGdOdn7XR6Q4H+/1u8CPKQ0IJXSB5QGhh9VqukCuYRwPnKm8oHI1NI76NEVxOEfZWUq1/W/UN4vUUJ342L3xvvZ2pAVwHLsNAiqAfOu5DOlC9gUhV+QFleyYbr1eSOBctSUEorZw5zuR+oc/vYRIFjo87SUnW4bvCKTdZjMLVv529sNI/0ljfjKrrxc61D//tgKV6/zWxTTMMHsq34fpYMEnASSlIfx1A1jCKvTCw54i5GYIxAoK4S47CZmDnSfwh2AGC+KsAvgB6yHYBvoAFdFwgBUDeE4CiAEGUhcamkXuvFmAfUAPXLCTzSpoHcrsNnoODNhDT8RhaehBtWqo1MRXx7436VCcXkxx4A0ob8aIspbRNP5w3coCLAoAUQFyHlGCmdZsMpmHiu+Qs7xqm20j8JljBEhRabwZ+AjX7SkDu4JF2nnODgUEaKfKDxKfULri+zVls14W3Ri8NSWIOLlV7M04X34uRlAQeioEkzfDaQJKcwsGvIMrNGEZrbwqFksLFuQCwkYoydvFtYIarFQ9mJfM9iA2lpXzouOFyDaNuuFw53LkGO/ZVFXE3rURk8AVMEwQkFwjPBFxay3sF0pOMtLON9PISV3gZ7w0Nh+zJyUagZXqh4MOhBN2MPccA8H3TA+cd/B+OQxaCFyAVvvDmCxijizSMFXFXPzWVbNGRytgImeoiYSLNOveoLt4VmW7qtM98bdNww08BTqc9eD2+mVvhKV9bj8/P0lNpGtz4e3Zm38ke9XRD61oj4z1LtMsb14uAtAJioTktwpN44QLxrtCyyTJ5JeqwDx2128BZIWkOEWAKUxZYvY2SfqaqbZ6mgsIVrkydFSLbGawfHdw9s0Zx//d1AwByKI67KBg/OoLCsSR2cC6CHzDTuKubOZDo8hyPVHJw4IbRFJKHLpzlZyV41YMH4ofTm5g8ZnBIIeitbubHx6P05Pb4WOG5hL6bIybdlg+JGl+buMig5ddkiqpOS6/TpEnXDxjwEg70I+ba2DTmEHXHEzWaLjIPc6LpQhF3k7TsXe41uDXmHW7c39+QiHTwl6NDAQsotURL/Ly6Fk3jKG1uVOZZ2rp0WSvJPV6sGoOjQz7FYlV2c9X3eKH1MuUt0tpcjvNig+7QTKJ8Ez51NLqXQ/YhZBoZdP8tgnP4Wdn5R/PZh1b6/3HzmbhTgC3vvgHKvzD4fOdMZ1CeetqAnweZFQHW1g/nsY1COz31LqmLnPiGxFF+XpI2pNQ4owydwjHRk4PhXoMjJBOzxR8lCU9OwROr+eRgSHf/sN8yvVhVQaUE7vauhO73OAzsGEVeMFfEXfD7R1z55IWbJDnRHGAeMXKWKwBI8mUqbYQK6WgFIwdHm+5iUqpADSHNweSJIDc7B1USy4lvMDogFYuxrGGkYST7cA19AAQ9mIXRkijg+FXaAYxjZw5ToXgS9SGC7jEQn27hO/ZcQtve0m7Vte/cZYAdAzH7vM+DcwxE7ts+g+MYiPTTfjZ8zIN+3OdGewzE/Ms+G9oxEOmn/WwEjHLsufuZ2uyh5bmbNEa4rWTxjvMLsgd6V70eshHvil68aeJejTxxCji5CeAnhQBUzAd8+uPKmwUugOz4xlvZ6UUr2408XMvndTbO7J/TLfLQvVXE3XzXDkhvgTCAyHEd5ByT826BFNOrKPx8C4SnAhAWCK2OWy356FWz8/ywSf9tLWmvlhfEyAmm8O/OypPoKkLptDuy1O5IbZnGHBdq3zNUMpB8rKxYEkQ8JFzV4ECEYKc5DZerBMEmcuZx34sR+AKWzmo3hj6cot0mmRu+kKXNrmDeeKuzVdIjgOl4GL4vvAaCJ+zt7V22r5prx08gaLWAMHP8GApZTwJUSrlTOFHgdBQ4+9DK1L5JrqEPkU1K52BuT2GEvJk3dRC0oxAR7/6PNRwFod52UY3tLq9wlctbjkyXN7FEWUkUT4niKXF4SgxPYQ98Aakpi7a6K+q1v78RyiFFp7+pD52Au3Py/yekHm4WHEwnBK5uitZXccdSGehePHAiL4DRKCJ35fpekHwu1QZhzEoYWp2EMVmllK7N4kXKly91BPzt2SpV9QJttSQrbtR75QVQA64df+xMb5w57NFKeWL0S+MgtdidfCxtuMFIARDEJPJr6kCAuQIhgnHiI0W8w8UYd/kmnYDS1kZpY4jXM0U/RTvNdf/1kWoWJmiVIEXcxSZnDodtlp5nYtVSkqJbUXvSpgZXpnozUGtRIIgjs7hhECduCJAbzADVCi8tfv+IlxUp/98/gk9OzFpJ9VHUs1KQs2UaY/gcyOCo/T1MCXTpTJuscElopDe6SxZdpSZXyNZXwWEFsVN8wtbngngg0E0u8paxItB7SkXyfvgJRl0n5rLmXRiTdTyKwM7lMbmffny1gz/7mPj4ikbbz6dhBNKr5fvYIGImHHgxkF8224fACVwgRPLL9qGAHzp+HAIXzrwAunjFiSM/DHDJQiqV/bTWF9m1di8mmRCFjEcq1/SWnu9E/i1ZunbaTFCn02wfNsEILWD0yYthHaMmRaGZD4FGLxEOuB6O/8m5zTVg8IEg/MT1zqO6BoSDZjuFYH3QbH8LAtRoPAKExdecn9iuFN5sWcjMS51pQ1Ow0HSzTKLHTcwic4pN84Owxk/YBs0HQdgjE0CQ+LWphHe4at+6y3t1Ka/kzO88tAgT1AtRwUsZY7JdDF2wE7c+NFut+U5hZf7AcSfXSYCSZsQxzsVu7h81N+It/dnY+VCneZwSx396yBcSTBEQFvRFWP+oREHfCmNbXqayu9doPNYzhXRvY4tFeH0FF86cxEeZBR4tuyneUYg3TZrP44vO/T6S4ug7KN/ujJXdrfKl6HtUKFROBVlYNawZqZkKLcLeXknJVQTXXpjE/R+obK3MgtK1FLzyeDJYs9yLS4q7ItqXv17h3MgdntU55zNlVxDv1iwGcvbZxYN6WfWg/ZEyy4nyT3Hj+8Nqe65e/zlecnnFLFxFfL0V4wfhm2GbDSrLzIPER54aTRel3JwO1Vs6c2iFJ3Cc4MouzdANAH7+/SMpISq9wSwKl6RpGgbIwdO2jnnETaDPQLf47NK7ai7LHC46uBIIQkTCYZ+pjBYO2k+3u+mThzBrVL2mNCRmsTpFtia5ryW4LTKIV9TIeUwqe2gae4xKj0xY35qsBpO+pdvktzYe5tXfm6G+WVC2EExT0vZ08E1os8B/aNg/TG32tk+hANu+kGY1GN0VyHcJOrX1Fz1Q/ItVX+lSxZuB+3IvgJ+9GNHVxxyvOBYQ5PT9LIVFkK59wmyVtZW8KJBWYeCPqPzuqbM4LZTHT4scNwFIUT4zk+NsrnUjgFwn8Msv2RyU/dwAVkggR4L1TSV2je0bLd8zRIr+V8f2Y8ZFZyvsnZtGw3Hd83SfdRi6sO9cw/IhY1890fq2aRn68Izbo0svi3hAEHkCAfztb38Dgsh+12A46mk2ITAF8AbkPzPQefNL/WUYuusLgtCFwMf6gIKEdCEfQce9xbNMDAO0j2fnhRfM8Vrdcav3doplGz3QdV3co04CCkFVi7jZbAr5fizZN6sdZTkoaoiwYWoeb/bFO16RTc1pdB23gvbcUjeCy3ANH2NeCISKTo+w8MOhaJXFtjIweOVKRPs/SLmy2Acp93+jG1ON3/zAHpHu5mdXC7jpl9uyJgLsE32oGu/tNCGll4QKlxJqCWtju0RFQjm7sgCSyN8HnzzfB0kMgUd23si7K3iCwwFJ7zsIBVgYv+yFFZr4KhpVYyl9Z4Lck1ggtIqPW63Lf7SunpHfzYgCiGDcWl+2pVdXzz402b/NZy2ihgfjVvPZTmmnTwpAVXT9Vh09fmInQMI67WgMNUvLfvFkI4C6tyqqIpR/kXc0Slc3Kq9bsIug5PWsVQRn3ucasH5+yiGwESpcyqpnlR7P98mT1tOavuydXxQ5UwRdptFx9mYSqzhJGVNS7BhsM+y9b0Rt9b70fgRWIwng5xXEGvm3nBcy10uxyKphJ6YYbFVf+MprSV9z3/w3t8bGiPwQXP6DPxlt+iuHm5Z4R35Xkz02tPFowzmxhGex4+y+D6vKJd8Lks+SeNcdT0j1XkgVhcnj1HfmpXnjtK+e3T9tcBSV5IfbHp72CDWf8MiDVknGtizM0+z/KYqUZDxEkR+gRzH1//xW6481w9RGp43/DQAA///7/3VVdlcAAA== @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804+krustlet/CustomData b/pkg/agent/testdata/AKSUbuntu1804+krustlet/CustomData index d9bf21bd35c..981871d9973 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+krustlet/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+krustlet/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+krustlet/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+krustlet/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+krustlet/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+krustlet/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+krustlet/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+krustlet/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+krustlet/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+krustlet/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/CustomData b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/CustomData index f249624dad9..2b8f11b6435 100644 --- a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line40.sh b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line9.sh b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/CustomData b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/CustomData index 65afefc3672..3689b436a58 100644 --- a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/+R8+3ebxvbv7/ordimt7dZIQnacxDnkFEvY4VqvC8hpruPDwmIkUyNQYHDiY+v+7XfNMMCAkGPHbW7P+borqxKzZz8++zF7ZrB//KF16QWtSye+amiGYZsfTEsbdK2+bVqqYdnHqt5X9oGOdfujSc/Wh7plW/pAG00s5UU6cqz3Nfu9anXf5SMH6ci7Ub9nv1f7+nDyu3qiDS3lZTpgaH1NNbUaglcpgTq2bH1oWmq/nzN9nQ71Rt1TzVgb7bRLw73R+2F/pPaKcbk0fqp9qKHplGiIEoQuH94rDXMYdRhIg9HRBzqtr5sFTh0G1MC0T8YnG0QfcBzWbGOwdUdDS9WHmtFbJ2HAGZNhd32QQXf6yiQEQ314ko/ttYuxNa32GGinkyONhMVwZNnHo8mwp+wxqPTBSc20vWJaX7N4pPb2y14cnNjjCafq3os1U7tWHd3BOp2hEx3XSTejR0OXM+rVGuWZZpj6aGjrwzO1r/eUPQZld6iv270v544eG6Oe3dOOaog660Tj0xNb7fVYwjH0RobKuUQzjJGh7DN40kzlDKETX2Ux1BsboyONPWUajybWEbGSWDdMh15wvlfHum1qxplm8ARyLUFvaNr90eh0MmZknVoy9f9MDG2dOAsO1VLrc+GgzVFUk/BA5gargX7AFDl716v69mA9sNYEv2xzSbQ+yiR3J6Y1Gtimphrdd3ZvNFD1oZna9ooxOBlP1ue/2uMGDZ1EFp8Zr/bXh6v2vXrB0Whnelezx/3JiT4sMTooiPTh8cg2RgO7OzKMydjSesorlg7mye8b5bxur9NwEl7LRZXuqXq/8M5rrn5Pxj3V0oqhLHNMjQT+mU7zyuwa+tiifjI0tVdwktttTggpp5PxiaH2NI6CU2M8MU5YwMvtTp4kpCAYGnGDIrcZ/l3dtFXT1E+GtjEaWfb4vSLL8toYjZ+xZgx0k2iqyDJjO1Zp6eqOxh8okSLLPOfxuP/BHqum+X5k0GQ71k8UWa4kbr6GjFhayHJW0dIythY+svyyRDAaa4ZqEQzT0iDLWfWyjJrB19BIwaJJaVpq99Q+0SxbNQa2NTrVhoqcLaFVkqFmvR8Zp8yWScpYkbMVtUpuTo6GmmWPDe1Y/12RyaKaJ+XRRO9ntUwm62IKynt1bHcNjYRLCka2KvEj+tCcHB/rXV0b0og4tc2x2tUUmaxSlNrS+tp4ZFi9UtlU5KzOFeNZwKfDmSGGpR+rXbJeGZo6IKtkxkeRsxpXQ8SYKTIpbWnjY1ljEuS/f7C7KsHtTDMsRc4KG8sMMqQZlqnIB3lzwtQ2tS4B1eqb9tFoZJmWoY7z5VT7XetmeZ9Hx0Hm4J5uHql9zdbHlnrU10xFJmUtrZnGxLQIh/XgyopbTzfJLNs03ynyyyziDX2gGh/sod619TFXVOWXLPL1oakZlq0PeqZtaKZFQpREnzEhmgytkT1Qhyd9zaY6KfLL/cfOO9b7lmbk81ga9QgQ2oZ5x6TgVeQdPHZeRd5LLngNjfjCNrT/PdENrad0shI1HNGioJ5oJgOmk9Umc6iOzXejvBryTWM7y4yxoZ+RQbJ+klaARGUnK1fkIR+unfZ+ljZ5uz5QzVPGlI11Da2nDS1d7afFtlfbE7ezDCTtTLXV6bQPoNEoWhHaVBFtmPYvoTJGnhNUyepvy0qn/apKwS2+71VzoHTarx9ksqd05PaDFPtKJ6vdGyheKB05Q4X1IVmQ5/2pZpyRRCbZqB/rXeILY2SlBdRST5SOvMdw6mvqcDIuDLH1AXG70pH3Gw1vBjMvcKGF8BQkfLtEMNv1QQqcBQLhFylCPnJiJIC0jLwAg/Qp8TB03rZcdNMKEt+He5hHaAnSJ9hqbr0BfIWCBgDAyFTE7TiMMEgRZd/KuZE5zudr2Fo4eHq1LbZ3ofWvbb1n9/VTTdmehhEK4517vadsN3/Z2RFbu+DswB2kKuAwWS5RtO2cdy7AOd+72HkD6IuHYbW1wyRngfFEDfJwerJguAccgeTClrC100B+jKgmaHoVglARHYQYZmESuEJj5jUak6PJ0JrYI9MeqgNNEdLvQmOgGtRb+QB7UIzQfrI6TB4KDbrA0T1qQVA8Expsd6S0kjhq+eHU8em2+jq5RFPsN9KlPh0lz91weo2iBvqyJGjSVu5MEcS7ovHLED9UVkKJTjMtXkpw47mewwTkbpKb8l5TluRs5vBM7+lqxprGq22+UzOR+QNeWt0ckgiZmmcrSbzbwHiNC2eY9WGsVWwlj74iWhEW06i58KZRGIcz3JyGi5ZzHZN/0nyZFKpU2BZMSU+U9sNpIe0OeoowJVEWwPWruOmFECUBSCQxbzwfzZELkhQtQJIChKWrMMYgSZ89fCUFMSw997C1jMJpS24FcWvpEeJFmJCwvl0i5dIL3N04miqtcIlb82Wy68ZYaS2C9Eu4xF4YxEpE6B6a6UwpYTE7e1DikBvJ4mDNzjTg6gwMEFaYbUvPZR9vIFP7MFM5f8gUOOS1oUAJDdKFd9XuO83u6YbSunGi1tSZXqGWQ+ZF0yvvBsWtBumo1SFp4TjiKAwxoUsnNLQzbWiRXePJCW3CMn5+OG85/04i1BrksaCS703tC0ZBTLRpdpMYhwtzGnlL3EI3KMBxq9GdGH2yAx5PLKWFF8vWNIl8+wZFl2GMmmGCG3T14CnCyInXKQztRDct4wNrhtMNAK1JhL41DYOZN2/eOgsfGo0I4eh2unBtb2bPHM9PIrS9A3e0mpExD8WKKL+Bz46H7dhHaKmInTeAvQUKE6yIe28gvvJmGH7+ufKBspiFEXjgBSBux+gTyCAypjtvwA0pCflh7EDMPgji3W8rgfC6jJBzDff38DGn9mZwDqIHEvqU84MLbinKfmg51r6gaYKRCx8F8bePAplIpMRvSqQRwkkUgJw/zGt69kONB7EAIh+defSjGwbcKrBZ7KoWdTv2fBTg/x7w/yxEebiC2A/D62SZo8QjI3PIEJRC7Pg2j1WEpmHkKuI+nRpjJ8J0XBG3XQcj+PWnOG0oPl95PgIcJagEVCYdpJxrBplEVVTaBBIiZAN40ySKULBBaoHu9jZPCBKn684OSHMEYsm6zcEvWISOc3FpWoRIMXN3n2QZiVfkCg/7mjlws5fzZHkQktSGPJWepGYYfQ3IGE3DwI0FkpJ1GRmEdowdHP8dcpKk5N8nI3O05gjb2IkuHd/PUcJOZD+EVEpOkUoiP0vH1NXiHTd7lQEubICOo63A50Qg4X/PKAmR9hjoOG7fCF/mrIM2CWsfpFls9m9ApJ/DQpm3IHKrPXTe/iyX+BC1zkH8J/ygQBsu6pShqePgEqMSAZeBz/WsPYvChR2huRfj6NYmLaZNWolnepzMmoW+iyKS916UbkEzkISd/8awILDBkmyj+aBgMJAulYEspV0aiHcbW7oVCSOuJXxeGHGM/vQwuvQCJ7r9ahQxsgcCiVEsHXxVDaZMxno8cZMqMVUWWAmrDbFVnlMOLxo20qwiszZoaNBtjphSAJZFwiY3rsVhLeevx2MJyT87JJ8Qll8NzZrwfDhEKxM2RCzdds08v9gH0SePXPvJxDQ+91l8vijFHM/rq4WMJy6H2jkNNDGTBhcXeSmrr2I8q2eWsbwnqV3jcpX+xoscJZiFUdnND3i48OoeJV06N8hlByB0sz/1w8SVvMDDEqGNm5SC0qanpcefiPczPisBREpBvMaQbz+lP8yZbv2ojY63ONgfDoPv0R5SSuSC5IHQIuq1XKFQsMgGLlTeMjgaq0Z8G2O0mGISrbRbf1r3DfHNlBT+bF341n47VwNcBy3CQIqQHzruYyYwvUFkqnyHtj2XTfYrSVyIlqQglJbOnFRyvzTnjzCJAscnk6Qkn/BN6VS4LMbh8j/OX0Tp7+msJ6PqerFz6aP/OGCZ3n9PbNMKQ0x5Gq7PBZMmnJSC9PcB5AZFsRcG9hxnYYZRjEEQt+lV2Ay2foo/BlsgiL8JcA/sku0M7uEKOS5IAcg7AigKCKIsNFaNInq1gMSAGrhmqZivlXmQ2214AXttEFN7DC29iDYt1ZqYivjPRn2pk8tFDt5C5SBelKWUtumH80YBcFkASAEifUgFZta3yTANE9+ld3mXKD1G4g/BSp5g0Hoz+AFqzpVA7hBLOy84Y1CQZor8KPEptQuXtwWLzbrw3uilKUndwZVqb8bp4nsxlpLAwzFI0ozsDSTJKV38CqLcjFF0402RUFG4vBZAZqkokxDfBGa4XPJgrlW+R7FhtIwPsxstblDUDRdLh7vXyK59VUXcTjsRGe5hmmCQXBB+FUhrLe+USI9y0s4m0vNz0uHlvFcsHfInRyuBtemlho+kEnJz9hwD4OemF85b5D+Sh1kKnkEq/MqbX6EYn6VprIjb+rGp5JuOVMZKyFUXKRNp1nlAdfGuzHRVp30ea6uGG34OSDntocvx9dwKj/neenx6kt5Ks+Qm3/M7+07+qKcbWtcaGR+yQru4dr0IpCWIpeG0CU/iKxfEu9LIKq/ka1lHYuig3QZniaU5wpApzFgQ9VZK+pmptvolFRQuSWfqLDE9zsjmMeMeWDXK579vGgD0UpxMUQh+zILStSQJcC6DH7HSuMvrOUhse04slRySuGE0RfShi2bFXQnZ9RBD/HB6HdPHGRxSCL3l9fzwcJTe3B4eKjyX0HcLxKTb6iVR42sLFzVafkOXqPVl6U1aNNn+gQBewYF9JFwbq8Yc4e54okbTqzzCnGh6pYjbSdr2LnYa3B7zjgzu7q5oRjrky8G+QARURqIFeb6+F03zKB1urK2zbHThZqO09nixagwO9vkSS1TZLlTf4YXWy5Q3SGtzNc6LDXZCM4mKQ/g00NhZDj2HkFlmsPO3CM3RF2XrX81fP7bSf4fNX8WtEmzF9BUo/5eAz0/OdYbq0tMGfh3MvAhEWz+cxzYO7fTWu6IuduJrmkfFfUk6kFKTijJ0StdEP+0NdxocIV2YLf4qSfjpGH6ymj/tDdnpH4nbTK+sq2BSAnfzVEr3RxwGdowjL5gr4jb88Yl0PkXjJklONAfCI8bOYglAi2+m0kpYIx0tUeSQbNNdQsoUqCFkNZg+EeRmZ2+dxHLia4IOpGIJljWMNIJkH90gH0DQg1kYLagCjr9OO0Bx7MxRKpQsoj7CyD0E8ZcNfMeeS2nbG8atuvGtuxywQxDzz7s8OIcgct92MzgOQWSfdnPzCQ/2cZez9hDE4stuZtohiOzTbm5BRjn23N1c7eyh5bmrNEe4o2TxjosLegZ6t/56yEq8K0fxqklmNYrCKZDiJsAPCgWoXA/48se1N1ekAbLja29ppy9a2W7kkV6+6LNJZf+SHpGH7q0ibhendiC9A2GAsOM62Dmk990CbaaXUfjlFoRfBBCuMF4etlrywetm58V+k/2/tWCzWl4QYyeYon86S09iuwil0+7IUrsjtWWWc1yqfYup1JDC1qxZEkRiEulqSCIi2GpOw8UywaiJnXnc92IM97Bwltsx8tEUbzfp2nBPtzbbgnntLU+WSY8CphMzfF94A4In7OzsnLcvmjeOnyBotUCYOX6MhHwmBSql3CrdKHA6Cpx/WGdqXyeXyEfYpq1zMLenKMLezJs6GNlRiGl0/9c6joFQ77uoxnfnF6TL5T1Hl8vrWGKsJIanxPCUODylDE9hB+4hdWXZV3dlvXZ3V0I1pdjyN/WRE3DvnPzPSanHu4Uk0xGFq5ui9VXcidQMdC8eOJEXoGgU0Xfl+l6QfKn0BmGctTCsOwljukupvDZLNin393UE/Nuz61TrL9Cut2Tlg3qvugFqoBvHHzvTa2eOeqxTnhj9ih20F7uTD6UVZ4wUgCAmkV/TBwLhCkKE4sTHinhHmjHu5Zt0AUpHG5WDIV7PFP0U7bTW/a9PTLMwwcsEK+I2cXkWcMRn6X0mUS0lKYcV8ycbanBtqjeDWo+CII7M8oFBnLghYDeYAdOKbC3++ES2FSn/Pz7BZyfORmn3UdZzrSHPtmkZwxcgw0H7W5hS6NKVNlmSltBI3+iueHSZulyhR1+lgBXETvlJtj8XxD2BHXLR3zJWBPaeUpm8H35GUdeJuap5F8Z0H48j2Do/pO+nH15skc8+IT68YNn243EYQfpq+S5xiJgLBy8G+VWzvQ9O4IIQya/a+wJ56PhxCC6aeQFyyY6TZH4YkJaFdiq7aa8vZq+1ezGthDjMeKRyTW/h+U7k39Kta6edCep0mu39JozwFYo+ezGqY9RkKDQLE1j2UuHAzXD8z85toUEGHwThZ252kdU1IOw12ykEN3vN9lMQYE7jEaAsvhb81HeV9M62hZl7WTCtWAkWmm5eSfS4SVjkQbFqfhRuyJPsgOajIOzQBSBI/NpSwgfc+ty6l/fqSl4lmN97+CpMcC/EpSjNGNPjYuTCVtz62Gy15lulnfkj7U4ukwAnzYhjXIhdPWw1Z/GG+ZntfKqzOs6I47885UsFpgxIlvRlWP+sQsF+Kyw78jKV7Z1G47mRKaRnGxs8wusruGjmJD7OPfBs2U3xjkG8arJ6Hp91Ho6RFEffwcVxZ6xsb5QvRd+iQqlzKskiqhHNaM9UGhF2dipKLiN044VJ3P+OytbKLCldS8ErTxaDm6z2kpbiroz2+W8XpDZyl2d1wfmrsi2IdzdZDhTs8xcP6mXVg/ZnyqwWyr8kjB9Oq821+uaviZLzi8zD64jfbMT4Ufjm2OZG5ZV5kPjYU6PpVaU2p6Z6C2eOrPAIjRPS2aUVugHw4x+faAuxNhtmUbigQ9MwwA5ZtnXCI26CPoNu+dm5d9FcVDmcdUgnEISYpsNupjK+cvBuetzNnjyGWWM9aiomZR6rU2Rjkftagdsgg0ZFjZznlLLHlrHnqPTMgvXUYjWY9C3dpn9r43FR/a0V6smC8o1gWpI2l4MnoZ0l/mPT/nFqZ7/tU2rANm+ksx6MnQoUpwSd2v6LXSj+zbqvdKvizeCh2gvoixdjtvuYkx3HFYKCvp+XsAixvU+Y77I2kpcFsi4M/ozO74E+i9NCef6yyHETQIqKlZleZ3OjKwEKneDnn/M1KP9zA0QhgV4J1g9V2DU2H7R8i4kM/a/a9n3sYqsVic5Vo+G47ml6zjoMXdR3LlH1krGvHml927QMfXjCndGlL4t4IIg8gQD/+Mc/QBCzv2swHPU0mxKYAryF4s8MdN7+XP8yDDv1hSB0EfhEHyhJSDfyEXLcW7LKxCjAu2R1vvKCOdmrO+76ezvlto1d6LoumVEnAYewrkXcbDaF4jyWnpvVWllNihoi4piax6td8Y5XZFVzG13HraQ9t9WN0CK8Qc9xLwJhTadnePjxULSqYls5GLxyFaLd76RcVeyjlPv/o1umWk1EHPvOvBIMx3315OFY4CjWLCJjj7eFUvNW0AetioxN0PI0u3+JIhUZj1HkO+hR9ueP77T+WDNMbXTc+H8BAAD//yXG4DBLUwAA + H4sIAAAAAAAC/+Rce3ebuLb/359Cw9BJ0gbbOGnapoeeITZJufHrAk6nN81hESPbTDC4INzmpD6f/S4JCcTDadrM9M45N7Nm1UZbe2/99kNbD/zzT61rL2hdO/GioRmGbb43LW3Qtfq2aamGZZ+qel85BKSt2x9NerY+1C3b0gfaaGIpz9OWU72v2e9Uq/s2azlKW96O+j37ndrXh5Pf1DNtaCkv0gZD62uqqdUQvEwJ1LFl60PTUvv9jOmrtKk36p5rRqW10y4090bvhv2R2svb5UL7ufa+hqZToMFKYLqs+aDQzGHUoSANRifvSbe+buY4dShQA9M+G59tEX3EcaiMjcLWHQ0tVR9qRq9KQoEzJsNutZFCd/7SxARDfXiWtR2087aKVgcUtPPJiYbdYjiy7NPRZNhTDihU+uCspttB3q2vWTxSB4dFKw7O7PGEU/XgeWWoXauO7qhKZ+hYxyrpdvSI63KDelmhvNAMUx8NbX14ofb1nnJAoewO9eq4D+XM0GNj1LN72kkNUadKND4/s9VejwYcRW9kqJxJNMMYGcohhSeNVG4gpONL5kO9sTE60ehTqvFoYp3gUeLRDdOm55zt1bFum5pxoRk8gVxL0Buadn80Op+MKVmnlkz9n4mhVYmZc6iWWh8LR22OohyERzLXWHb0I6rIxdte2bZHVceqCH7R5oKo2koldyemNRrYpqYa3bd2bzRQ9aGZju0lZXA2nlT7vzzgGg0dexYfGS8Pq83l8b18ztFoF3pXs8f9yZk+LDA6yon04enINkYDuzsyjMnY0nrKSxoO5tlvW+W8aldpOAmv5DxL91S9n1vnFZe/J+Oeaml5E4scU8OOf6GTuDK7hj62iJ0MTe3lnOR2mxOC0+lkfGaoPY2j4NQYT4wz6vByu5MFCU4IhobNoMhtin9XN23VNPWzoW2MRpY9fqfIslxpI/4z1oyBbmJNFVmmbMcqSV3d0fg9IVJkmec8Hvff22PVNN+NDBJsp/qZIsulwM3mkBENC1lmGS1NYxX3keUXBYLRWDNUC2OYpgZZZtnLMmoaX4FGChYJStNSu+f2mWbZqjGwrdG5NlRkNoWWSYaa9W5knNOxTFLGisxm1DK5OTkZapY9NrRT/TdFxpNqFpQnE73PcpmM58UUlHfq2O4aGnaXFAw2K/Et+tCcnJ7qXV0bEo84t82x2tUUGc9ShNrS+tp4ZFi9QtpUZJbn8nbm8GkzG4hh6adqF89XhqYO8CzJ+Cgyy3E1RJSZIuPUlhY+ljXGTv7be7urYtwuNMNSZJbYaGTgJs2wTEU+yooTqrapdTGoVt+0T0Yjy7QMdZxNp9pvWpfFfeYdR8zAPd08UfuarY8t9aSvmYqM01qaM42JaWEOVediya2nm7iXbZpvFfkF83hDH6jGe3uod219zCVV+QX1fH1oaoZl64OeaRuaaWEXxd5nTLAmQ2tkD9ThWV+ziU6K/OLwof1O9b6lGVk/GkY9DIS2pd8pTngleUcP7VeS94JzXkPDtrAN7b8nuqH1lA5LUcMRSQrqmWZSYDosN5lDdWy+HWXZkC8a2ywyxoZ+gRvx/IlLAeyVHZau8EPeXTvtQxY2Wbk+UM1zypS2dQ2tpw0tXe2nybZXWxO3WQTicqZc6nTaR6DRyEsRUlRhbaj2L0CpDT/HqOLZ35aVTvtlmYKbfN+p5kDptF/dy+RA6cjteykOlQ7L3VsonisdmaFC6xDm5Fl9qhkXOJBxNOqnehfbwhhZaQK11DOlIx9QnPqaOpyM84HY+gCbXenIh42GNwMzL3BBC6IpkNDtCoLZvg+kwFlCIDyVIuhDJ4YCkFaRFyAgfUw8BDpvWi5ct4LE98EXMI/gCkgfwU5z5zVACxg0AABgZCribhxGCEgRYd/KuOE+zqcbsLN00HSxK7b3Qesfu3rP7uvnmrI7DSMYxntf9J6y23y6tye29oGzB+5AqgIKk9UKRrvOZecKOJcHV3uvAfzsIbDZ2aOSmWN8owaZO32zYPAFoAhILtgRdvYa0I8h0QROFyEQSqKDEIFZmASu0Jh5jcbkZDK0JvbItIfqQFOE9LvQGKgGsVbWQB/kLaSeLDfjh0KDTHBkjZoT5M+EBl0dKa0kjlp+OHV8sqy+Sa7hFPmNdKpPW/FzN5zewKgBP68wmqSUu1AE8S4v/Bjix8pGKNBppsVLCdae6zlUQGYmuSkfNGVJZj2HF3pPVxlr4q+2+VZlIrMHvLS6PjgQmJoXG0m828K4woUbmPV+rJXGih99RbQiLKdRc+lNozAOZ6g5DZct5ybG/0vzVZKrUmKbM8U1UVoPp4m0O+gpwhR7WQBuXsZNLwRREgAJB+ba8+EcukCSoiWQpAAiaRHGCEjSJw8tpCAGK889bq2icNqSW0HcWnmYeBkm2K1vV1C59gJ3P46mSitcodZ8ley7MVJayyD9Eq6QFwaxEmG6+3o6U0KY92YPChyyQVI/qIwzdbi6AQYQKXRsK8+lH9eAqX3MVM4eUgWOeW0IUEIDV+FdtftWs3u6obTWTtSaOtMFbDm4XzRdeGsYtxq4olaHuITjiKMwRJgu7dDQLrShhVeNZ2ekCGP8/HDecv6ZRLA1yHxBxd+b2mcEgxhr0+wmMQqX5jTyVqgF1zBAcavRnRh9vAIeTyylhZar1jSJfHsNo+swhs0wQQ0ye/AUYeTEVQpDO9NNy3hPi+F0AUByEqZvTcNg5s2bt87SB41GBFF0O126tjezZ47nJxHc3QN3JJvhNg/Giii/Bp8cD9mxD+FKETuvAfKWMEyQIh68BvHCmyHwyy+lD4TFLIyAB7wAiLsx/AhkIFKme6+BGxIS/EfZAZF9EMS7XzcC5nUdQecGfPkCPmTU3gxcAtEDEvyY8QNX3FTE/kg61j7DaYKgCz4I4q8fBNwRS4lfF0gjiJIoAHL2MMvp7I8MHog5EFnrzCMf3TDgZoHtYje1qNux58MA/eeA/0chysMVxH4Y3iSrDCUeGZlDBqMUIse3eawiOA0jVxEPSdcYOREi7Yq46zoIgmdP4rSg+LTwfAhQlMACUEw6kDKuDDKJqKi0MSRYyBbwpkkUwWCL1Bzd3V2eEEicrnt7QJpDIBZGt935BQvTcSYudIsgTmbu/jeNDPsrdIX7bU0NuN3KWbDcC0k6hiyUvknNMPoakDGchoEbCzgk6yIyCO0YOSj+K8QkDsm/TkRmaM0hspETXTu+n6GEnMi+D6mUnCCVRD4Lx9TU4h3Xe8MAF7ZAx9GW4HMiIKF/zggJlvYQ6Dhu3wkfM9ZRG7u1D6RZbPbXQCSfw1yZN0DkZnvQefOLXOCD1boE4t/BTwpog6s6ZUjoOKjAqEDAReBjLWvPonBpR3DuxSi6tXGJaeNS4pEWx71moe/CCMe9F6VLUAaSsPef6BYYNrDCy2jeKSgMuEqlIEtplQbEu60l3Qa7EVcSPs6NOEZ/uBtde4ET3X7ViyjZPY5EKVYOWpSdicmo+hPXqeRTRYElt9riW8U+RfcibiPNSjJrnYY43XaPKThgUSTYZsaKH9Zy/ro/FpD8o13yG9zyq65Z4573u2ipwxaPJcuumefn6yDy5IFzP+6Y+uch9c/nBZ/jeX01kfHERVe7JI4mMmng6ipLZfVZjGf1yDSW1SS1c1ym0l94kiMEszAqmvkeC+dWPSCkK2cNXboBQhb7Uz9MXMkLPCRh2rhJKAhtult6+hFbn/HZCEAkFNhqFPn2t9SHGdOdn7XR6Q4H+/1u8CPKQ0IJXSB5QGhh9VqukCuYRwPnKm8oHI1NI76NEVxOEfZWUq1/W/UN4vUUJ342L3xvvZ2pAVwHLsNAiqAfOu5DOlC9gUhV+QFleyYbr1eSOBctSUEorZw5zuR+oc/vYRIFjo87SUnW4bvCKTdZjMLVv529sNI/0ljfjKrrxc61D//tgKV6/zWxTTMMHsq34fpYMEnASSlIfx1A1jCKvTCw54i5GYIxAoK4S47CZmDnSfwh2AGC+KsAvgB6yHYBvoAFdFwgBUDeE4CiAEGUhcamkXuvFmAfUAPXLCTzSpoHcrsNnoODNhDT8RhaehBtWqo1MRXx7436VCcXkxx4A0ob8aIspbRNP5w3coCLAoAUQFyHlGCmdZsMpmHiu+Qs7xqm20j8JljBEhRabwZ+AjX7SkDu4JF2nnODgUEaKfKDxKfULri+zVls14W3Ri8NSWIOLlV7M04X34uRlAQeioEkzfDaQJKcwsGvIMrNGEZrbwqFksLFuQCwkYoydvFtYIarFQ9mJfM9iA2lpXzouOFyDaNuuFw53LkGO/ZVFXE3rURk8AVMEwQkFwjPBFxay3sF0pOMtLON9PISV3gZ7w0Nh+zJyUagZXqh4MOhBN2MPccA8H3TA+cd/B+OQxaCFyAVvvDmCxijizSMFXFXPzWVbNGRytgImeoiYSLNOveoLt4VmW7qtM98bdNww08BTqc9eD2+mVvhKV9bj8/P0lNpGtz4e3Zm38ke9XRD61oj4z1LtMsb14uAtAJioTktwpN44QLxrtCyyTJ5JeqwDx2128BZIWkOEWAKUxZYvY2SfqaqbZ6mgsIVrkydFSLbGawfHdw9s0Zx//d1AwByKI67KBg/OoLCsSR2cC6CHzDTuKubOZDo8hyPVHJw4IbRFJKHLpzlZyV41YMH4ofTm5g8ZnBIIeitbubHx6P05Pb4WOG5hL6bIybdlg+JGl+buMig5ddkiqpOS6/TpEnXDxjwEg70I+ba2DTmEHXHEzWaLjIPc6LpQhF3k7TsXe41uDXmHW7c39+QiHTwl6NDAQsotURL/Ly6Fk3jKG1uVOZZ2rp0WSvJPV6sGoOjQz7FYlV2c9X3eKH1MuUt0tpcjvNig+7QTKJ8Ez51NLqXQ/YhZBoZdP8tgnP4Wdn5R/PZh1b6/3HzmbhTgC3vvgHKvzD4fOdMZ1CeetqAnweZFQHW1g/nsY1COz31LqmLnPiGxFF+XpI2pNQ4owydwjHRk4PhXoMjJBOzxR8lCU9OwROr+eRgSHf/sN8yvVhVQaUE7vauhO73OAzsGEVeMFfEXfD7R1z55IWbJDnRHGAeMXKWKwBI8mUqbYQK6WgFIwdHm+5iUqpADSHNweSJIDc7B1USy4lvMDogFYuxrGGkYST7cA19AAQ9mIXRkijg+FXaAYxjZw5ToXgS9SGC7jEQn27hO/ZcQtve0m7Vte/cZYAdAzH7vM+DcwxE7ts+g+MYiPTTfjZ8zIN+3OdGewzE/Ms+G9oxEOmn/WwEjHLsufuZ2uyh5bmbNEa4rWTxjvMLsgd6V70eshHvil68aeJejTxxCji5CeAnhQBUzAd8+uPKmwUugOz4xlvZ6UUr2408XMvndTbO7J/TLfLQvVXE3XzXDkhvgTCAyHEd5ByT826BFNOrKPx8C4SnAhAWCK2OWy356FWz8/ywSf9tLWmvlhfEyAmm8O/OypPoKkLptDuy1O5IbZnGHBdq3zNUMpB8rKxYEkQ8JFzV4ECEYKc5DZerBMEmcuZx34sR+AKWzmo3hj6cot0mmRu+kKXNrmDeeKuzVdIjgOl4GL4vvAaCJ+zt7V22r5prx08gaLWAMHP8GApZTwJUSrlTOFHgdBQ4+9DK1L5JrqEPkU1K52BuT2GEvJk3dRC0oxAR7/6PNRwFod52UY3tLq9wlctbjkyXN7FEWUkUT4niKXF4SgxPYQ98Aakpi7a6K+q1v78RyiFFp7+pD52Au3Py/yekHm4WHEwnBK5uitZXccdSGehePHAiL4DRKCJ35fpekHwu1QZhzEoYWp2EMVmllK7N4kXKly91BPzt2SpV9QJttSQrbtR75QVQA64df+xMb5w57NFKeWL0S+MgtdidfCxtuMFIARDEJPJr6kCAuQIhgnHiI0W8w8UYd/kmnYDS1kZpY4jXM0U/RTvNdf/1kWoWJmiVIEXcxSZnDodtlp5nYtVSkqJbUXvSpgZXpnozUGtRIIgjs7hhECduCJAbzADVCi8tfv+IlxUp/98/gk9OzFpJ9VHUs1KQs2UaY/gcyOCo/T1MCXTpTJuscElopDe6SxZdpSZXyNZXwWEFsVN8wtbngngg0E0u8paxItB7SkXyfvgJRl0n5rLmXRiTdTyKwM7lMbmffny1gz/7mPj4ikbbz6dhBNKr5fvYIGImHHgxkF8224fACVwgRPLL9qGAHzp+HAIXzrwAunjFiSM/DHDJQiqV/bTWF9m1di8mmRCFjEcq1/SWnu9E/i1ZunbaTFCn02wfNsEILWD0yYthHaMmRaGZD4FGLxEOuB6O/8m5zTVg8IEg/MT1zqO6BoSDZjuFYH3QbH8LAtRoPAKExdecn9iuFN5sWcjMS51pQ1Ow0HSzTKLHTcwic4pN84Owxk/YBs0HQdgjE0CQ+LWphHe4at+6y3t1Ka/kzO88tAgT1AtRwUsZY7JdDF2wE7c+NFut+U5hZf7AcSfXSYCSZsQxzsVu7h81N+It/dnY+VCneZwSx396yBcSTBEQFvRFWP+oREHfCmNbXqayu9doPNYzhXRvY4tFeH0FF86cxEeZBR4tuyneUYg3TZrP44vO/T6S4ug7KN/ujJXdrfKl6HtUKFROBVlYNawZqZkKLcLeXknJVQTXXpjE/R+obK3MgtK1FLzyeDJYs9yLS4q7ItqXv17h3MgdntU55zNlVxDv1iwGcvbZxYN6WfWg/ZEyy4nyT3Hj+8Nqe65e/zlecnnFLFxFfL0V4wfhm2GbDSrLzIPER54aTRel3JwO1Vs6c2iFJ3Cc4MouzdANAH7+/SMpISq9wSwKl6RpGgbIwdO2jnnETaDPQLf47NK7ai7LHC46uBIIQkTCYZ+pjBYO2k+3u+mThzBrVL2mNCRmsTpFtia5ryW4LTKIV9TIeUwqe2gae4xKj0xY35qsBpO+pdvktzYe5tXfm6G+WVC2EExT0vZ08E1os8B/aNg/TG32tk+hANu+kGY1GN0VyHcJOrX1Fz1Q/ItVX+lSxZuB+3IvgJ+9GNHVxxyvOBYQ5PT9LIVFkK59wmyVtZW8KJBWYeCPqPzuqbM4LZTHT4scNwFIUT4zk+NsrnUjgFwn8Msv2RyU/dwAVkggR4L1TSV2je0bLd8zRIr+V8f2Y8ZFZyvsnZtGw3Hd83SfdRi6sO9cw/IhY1890fq2aRn68Izbo0svi3hAEHkCAfztb38Dgsh+12A46mk2ITAF8AbkPzPQefNL/WUYuusLgtCFwMf6gIKEdCEfQce9xbNMDAO0j2fnhRfM8Vrdcav3doplGz3QdV3co04CCkFVi7jZbAr5fizZN6sdZTkoaoiwYWoeb/bFO16RTc1pdB23gvbcUjeCy3ANH2NeCISKTo+w8MOhaJXFtjIweOVKRPs/SLmy2Acp93+jG1ON3/zAHpHu5mdXC7jpl9uyJgLsE32oGu/tNCGll4QKlxJqCWtju0RFQjm7sgCSyN8HnzzfB0kMgUd23si7K3iCwwFJ7zsIBVgYv+yFFZr4KhpVYyl9Z4Lck1ggtIqPW63Lf7SunpHfzYgCiGDcWl+2pVdXzz402b/NZy2ihgfjVvPZTmmnTwpAVXT9Vh09fmInQMI67WgMNUvLfvFkI4C6tyqqIpR/kXc0Slc3Kq9bsIug5PWsVQRn3ucasH5+yiGwESpcyqpnlR7P98mT1tOavuydXxQ5UwRdptFx9mYSqzhJGVNS7BhsM+y9b0Rt9b70fgRWIwng5xXEGvm3nBcy10uxyKphJ6YYbFVf+MprSV9z3/w3t8bGiPwQXP6DPxlt+iuHm5Z4R35Xkz02tPFowzmxhGex4+y+D6vKJd8Lks+SeNcdT0j1XkgVhcnj1HfmpXnjtK+e3T9tcBSV5IfbHp72CDWf8MiDVknGtizM0+z/KYqUZDxEkR+gRzH1//xW6481w9RGp43/DQAA///7/3VVdlcAAA== @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/+x9/3fbNrLvz1d/xZThxlJqUrbT3dvnrXJXleVEz7akJ8npvS/x6tAkJLGmSBUAZTsK//d3APALSIKSbKfb3nve7jlJIwCDwWDwmcFgAL76rnnr+s1biyxqtU5nOu6OPvY63WmvP51cDVvNYEWb1pcQo6Yd+NRyfYRJ07aNFQ4eHk2C8Nq1ken6vO2gc9Gd7Ns0sO8Q5S37vWln0D/vvZ+e9UYtrYmo3bR9t+kjajoaL/+5148LGVVWeOv6Wu3VZHA2gFXoeUAXLoEgpBDMwA6Wq8BH1CfmryTwgQbBf3AyZ4Nf+peD9tm4QMwJ7n0vsByi1TqjXmdymdaUK2LXpp6ibsZcSHDTC2zLE+x1Bv1Ju9fvjs7UPSdicWSio+t+R1kdh74tV7z4caysdxfeIuwjikix9nDU+9iedKfDduei/b47nnbanQ/dHU2bK+yuLYqMlWXfWXMU0xp13/fGk9F/TUfd4aClBYSwMVvYRUQio9Wuf77uT66no+5ltz3utvS6R26nGHnIIggMDAZp1Abjll53Z+AR4JP/xkgqHL+DpoPWTZ9N8cm718d/B7pAPpAAU9a6UP0rzK37OzhYWtRe1PWjQ2j+s947m172Lrqtuh1gFJDG195Zq26+aTT05iFYDdjACrs+BRqEqxXCdevTyQ1Yn97eNP4O6MGlEB38HWZuozbudq5H3enkcjz9eTCYjCej9nB6cf1z97I7mXb/s9uZDi+v3zNlKCuPWAjUI7dBQAnF1krbn97H7mjcG/Rb2vrIPDaPDMtbLSzzRKtNupfd4WA0OdvSM0UeWgWYOnnN7Z51+5Ne+3I6HA0+9s66I7XKIwf51LW8FQ7WroPwLiLZWlhbuOm5t1wZPCTTMhJiigFUrqWrdr933h1Ppue9y+6wPfmQE+zS8t0ZIpSvd7bwroaDfrc/GaurxwDhUxI3+PjhbHo5eF9Rfb1wDNcn1PI8kzX1EEWco+nZz9P29WQwvR6esYV1ftl+L5NIZLC0fMO5bVohDYxw5Viseed6dDkdXE+G15NWky5XTTvE3nSN8G1AkBmENFk6g/G0377qtjTxb9bxiIFKVhD/oNU6w+tpe9T50NK0moNsz8IIDAt+aY+vxh96V8Pe2bhVb8hF42Gvz1QuKaoRRDvD6za2F/UGbGoAAClVvT5PSxu1qFbDaBms0ZXln922Qxpc86Gde9b83PVQ2h4vwZiBvktejKCNkUV3EqRBaC/2JOghyw9XnRRqzzxGiuSYwzPQq7CaEYnnPiPyi0sXnVSH/jcJ/JReQFr6Jj9zES9wZ/DpExhfQNPzmKjBzY2ANV4vJTIYR9IPTDOIG/gtzQ4xRj7VeCHyCFLWSpmIe4lE/ZnL/+J/ZPZnKKC9pdd//Q00c5ggPWi6Yilp8BV4vU838BUI8pBN66ZvLRG0WvBZy+h+1hpaA75+FTiqd0ejqSTnGNamvf7H9mXvjPMUm6akjOtkLD2XXFmYkR3gNluWl64fPoDGBaXB69dMvJq+6Y2nF+1JO9IYMxrFIaoScLKOWPX8XMVSEks1lsZHIVnC+ihJLmKi2gQk+TuZh1jq/I9Xmf4cEFgn5CyMrUdwCaCHFbIpcoAGsLDWCALfe4TAR4A8tEQ+NQWZ3gxcCguLwDLACOjC8uVah3CP4N71PIjVlo0cPIvQpAa4Pv+N92xKyqlvXhXl/+kfNxEYcwrHZSEiexGA9kt71O/1359K6gSxq1AcZCXPJvQEr64/38FuTo13sI1+gyOmffqmVH50E3H9+Gl80Ru+06oG1+ufD/YZGZs+ly4QBrRc0UcIMGd55mJ5HAREdyaM79zVig1WIh1Pl0XdwI+HyQEK0RD7cCSPu3c+bukHn/0D7gghp6CirbpeFx7SR/jpp580xfjf3ERaQyyt0CeIMpL8X3w8U+J+QS1980pJngmX12Wyr9ezFsZxowGGR+EIbm7YimTTOHV9Bz20+ERI/y415BRXuZ5a+kbNgL7JKEUxM5kkr6xfA3zl+gEeMj/wYwqJdTGper4XBmd2SMFwDDBmxw2tQO5DQM/dhydRIWDMTmJCTEcF7O/iUIMbJqRPe1Vlysu8YmWjHMu5ukotd/215bmOrIyxfp9CcZhZ030hPdZZL5iTKQ2maM1sJmjti7HZGXfNonEdhT51lyj5fUwt37G8wEcZfGqM5cpSkPFZLb4oVycnrRixE8FABXtgQHnY0AJ9k5dXpNUqPYir2GnN+Q/c5ZVmIrEkki7NQNNL7nB5brdSyqu45DYwD8DAYGaFJnLmSNllI9MGzpnC6eC6d/yjefRDmcFdPBzITKxc30eOqR3/ePSDdrCLnVjnct5RtbmKewY/oDALQp9hMSRbikNw0MwKPcptEzPN2LEDh/Eiq7c0kBXTNHk4MWCUx7oLeqYYrd0nUtmGO3nWlNBRrLIVZ1L+noExEsQohrQdZnr98aR9eTmd9K66g+vJHw8zeanl4SUV0ouhpbI/TYUxMbkUWfbol+0ER/3upDvO9Vv+OdIk/0vTN/1u92wszVCkwXfV3nfMwFVw+whFd07Am3LXwV2KX3+Dg3SDotyASPsPrXEAP4GKGkiBJaW+xl0UtjNMHQklDB9UVCW3bY89Y+3f/k04d7IMtvbuBIhwlOJs7OBip82RlKaP6H2A74ZeOHczWyRN7+SXwegiDtIwVAeNh0aqJ5dv0Tr9Xm5+Y476PXiF0Qxh5NsIVrxTYsJVQKj3CLMAw114i3xE4Tak4AXB6tay7+KKzI0OCXLg9lHGcKbDsrWDk/z2vhj9hdfAxp+EszppdGoYB6ey8Me2WNn16JLttXfVOW3lVozhwx6NIoV0bYxSkJzOAjwNsEVaqXHYRZKZijlGKzCCIRysPzvf1z+bn53vG28O+Epy4IA0/7luNtk/F8hyGKvHjWQSZQ+FMZIE8qYh9lr6SX6EeqlKeTg7ZVsmkuNleee4GIwV6LsimqJ+FmcdjgZsvWSYlUW0x93Rx+6ITesTqitn+AntVZOdSVqoZiaHRG2ZQDI1eGKPTX1TiuRHIuRpWDY2FBHb07W+UapgZHiuHz4Y+iaJFkba1lmevP+//Jhoj3Xw6tWbZqTBK7gmCG4tsoDb0GX+GLySd8n40V460zmiU2rhW8vzpjMcLKcYzV1C8eP03qULziscnxzBX3etlrPeqKlv4ZxHevaem0jLh8EGo/Z4Ory+vJyyKThv9y6LG/7YgeWBr1E8hmvs7QcclYqUuqXfCDIKGLFztrdqV1mHjLy6RSa1sDn/ov3R874HdD9tunOo9juvl30mfpcUwDRN2K07tao5+lZzsZOFQvR5W215NyFklHkFkLgFkCxv5AAJbRsRMgs97zHnglc7E7u2J6WWZrWHokF1mTgnsTAYD19me4l5s0XOkQZGZw8bmzPJFZoan/DF5sFeBPc+GCPAQUBP2R/7tVuudy5DVnm7NdN29dWsahjzvgwc+Pe//vVlZBIXdfdoZId1jOwQo8nl+OfkQPlCHLR2H5Bd8OMF/Av3mbtq2oLSFTltNu9+JPHZOTFvveDWtAOMzHvXd4J7YvqINq07YlCPGOm5tWF7LvJpU9889fw6anJ8b1pL528/NFVEZQ9Kr7ukPbr62w8NtqlTHD/8ecaDl1vHU3ZWn5VJUJMGnfoYK4sumE14FsWogulsM/6d2I6rei0HelKcd2fTmeV6IUbwlqH8347AZu6/MRtfghFUEkx/D7FXMKAp23sPVEbzSqR5ltg0iSZDAGMUg8ALqM1ctrjvLbLkx9Ndtr+vjgmzetOZ6yE+/frmOJLqkYW7zNy8zYlclrjtJJzN3IeWvnlbbMmtUzIvrbqmb/5x+kOkNUDe/PFMn0dFiHMjd86cIKAYTDDimCTb2rMa4PpJ5Vx/n/5xw3xXJ8jHlWMt3FRJIJJSqQxG1BC0mfuYZ5X9kpdBpI5Lx074MRRDyk7gI8lDYK4M4wUYLySOy7BhPoXbN3vxWZNPA0F9qmCR5ZgJtd6QNSddZuyfVKhFrDLJwWB+0705iUC2HCIalTBHYrV4y9UiPd9mo04i6WJ+i+3K01utd2Tl+hpoxHPnC6o1cgrxCTQ9F6A+Mn80jxQbaPa/EvHvW3Xt/p5INOOpLcTe+aTxwEYdrS0vDsmdxVSYa5mdq+Z8/4xw6p+VZwj00qzkAuFJ76Cts7FWrhnI6+a9xXBzI+f9pIe2/yOmSWRmKMQ6RHjpEnE0r5DwXsLMZCkHCFWL7Fn4rFSxPEwXIPxfBtKQmv68Jcof+uRGx+Qo09NAM9bH2jZ4V0TbJURk1DksErA8jCznUQ66V7FxKFJe/IDCLUrXnevPS5kUOZfsXxYP/A6ML/C08FxVPDANbHDP94khv1yeroNc4lm3pKkU/2lBUbZF+ARnfEbiWZ9/mdLlqlU5Yeo+y33EEZ/ayyI+mzJrkQb6RpZlVBWykU7jGKKmnPDt9ZcH5pqUyYsdc9XoUxp8H7uPjFJHIT8nYqk9iUDR01gfS0tkKVwtxXi2LaOn+3V77RXWYrOw9+iqvT61mELsVdJgLU7evT5m6IgQ6FK6LrzLctKT2GgXtH/WGeOn5pvG1/on1L3B2HzT0HlmYt22aJ7E69eSql2MrscTtkcohqIa8DqVmGzMv2/V9e8aOTu1j0X8HTYUVdbo7bfYMjxTt+S4zLfRnZykk5yAletfhLfo5a72vp72s903SQjMX7sLb9E3cmwTIezyZuVuc06Y0m+Vk9Jf5LfKmlBisKQCjEljfaL2/9TTrRriHn5ffha+qe+X5VBs461y7BXZOxXVd3hopW7/v5f2DC8tkaJyzr6Jk5YPrZRmLdq+UkpOWQygz/PJtIJTpj3VK9vfhYHSjYhneiVPWF5aFSpWN/nTeCEyLMceSGYOB9jK/As+S4r7ZGz+5Rtkad3uf05G7c6kKyoz4AQFoZzB5EXJzTiOk4Uge4mJmhS3k+4bMM5Ty6LLZE3TlHicXA1b+qbEET9trT5s3Xr4WWKxGXcgztwUvak2KWl5dzQajMrR+x29qBGfbf5he9NCOpqpStpUMShD+/6dCRMTd0JCJ5D3XzuGyLZiZT1rZsdvKhJytma1jiRJbYXjYJOfB6vdq4IbLnyA41MjKuYP8WOQcrSMUQUNIxJ6tKVvOEpKpYxhXZTWQG1Vs4Fpso+T5OylDGaLaXNs6KelJDrB8cd+dzJlZeJ0Y5ys01NDVxWVrsOpKlXeyFFVBleoIUHUhO6DS5lHYVb6FDzFot9LUyr0jYroS9Z1SVBNfSP1yJe2UjSFbAWJTHqelUtadG3qpbP1yp2BfszvIi1X9PEQqHWH+Lly6Up7BBZJ8tphbXkhMmFAFwjfuwTF7Y5ZHbpAorwmu/1nLhYqqyYeFZRHaiZuHMler7hWP5l/mSxXQpu55PNC5ndjmXWF49gcazLVpr6RyXD5liM6RVYliabpFzmBVlx85VyLS5jpRaW66B8MI0GJk5x9jlMr41pJnWZzftDIp9rmCcd51JWrIYWkYjv+DILoLPHRU6AygSTXz3LjZm2oheeIZlCnyP3+i/kmMo8U109j+XIl714NW5pgwFinWpIcnFeG+bTCAUJswRRK1kyJJv1FFScLUn5FWVVzNYVMVxgZtmUvkJNIML0XclohOU15dqg6uBBdXPts78rv/4keXJ8GGYf5VJck1PjlYf0UWTCbVyRYOAzPTsL1fMVYTxX76C0VxRF2sionybMDhVyUvDMnZJS9ApD6cydPyQRRbBlT86Jv8u5TxUJK2GbYBCsLW0tEEeZBh4oRsY0U14y5u0bKCyvZsGQHqHx/lXNZkkElq+mDDrl7Sy/gIgPqre9J7Ebkzdb2UfYUBYOE8oD55i83W01lvYyOtDncVI81khC+Si2fr2md69Go259kqlvPJmiHNSjP5DqzCMI5nLRH77sZ8fgINWGZoOUa4U6wXFmYW/o8L6eGdmQemUdaxBQsRylSh3mEEfEkYwFlJkv9RMznmPOnG7C4210PMKDfQssDGjQSo3JrESQRKTBUtkqFuTIVJqdqbW5TRQ4Dpe7zJzLfQpOr3jbZS3+TG25cfVXhzG9MPoaC1FZuHz9bUATRcNXp985cTBQbBunVpqpET0UdKZ0qV6ognj0ZtZV+qVpmyfKlUS1zA6UtkLyRrriV9vUrfLfXvTTfNeLLTi+4mJZeYPUDkChC9qYNrDAiyKcwiyMc/PZUfHUV+N3VdOEwn+/Y/ME8NmGycAmQRRB6DiCM2QpeI5+Gluc9arD1/DWL6ZW3iE2MZrbvJg4epLmalk2Mpcs6MnmWLnLmiKdoSqNqrjlzWTBUKoudSJ5Naoh6JmU9xEqfP6cVadB78McTnQuKqYgZih2X5d1bjwR+DQmFkCC4X1j8nQfPJRTxa8SFp4aABHCPwAn8Aype+aABkEffFu9w2L77jd9iyeSleoyl31Ne2Y/fK+n3eIiHsYoRUwOwmZ2xboOQigfXbkMK95Yfv1qCEZOB+tWU+4VrLwCj30IXIwJu/JqJ6rkc+B3fy4lxbo+Xcv6QF2eqnr+pfokmVZi9nqCJl7e9sPw5V7344O2/2/svz3mAovS2iOpRmNoe3mCGhRxNeiNxMUcBTXjJoEnxJkTiyOxPSqBcBSn5DCNeN86WMFTcj2rD/IrtJWwPWZhpx5IhGvLFWr8XlmGNMCys1Qr5JliEhEsELiWAkWfFMMAn0PU5UKwRXFoUEQofP5wl1kXg3gJB6FMLH0LgOQiXCun8iwmyW6ZE7/yImm9y4A1Vr0AwaEtsV9xvEia5ZWx9cVer5Ipx4ak4hfpVoGhiJXa5PtnupBSAfXGYUlarXAzyL8xWRmnMovYNdOdZU1SeoXzkZ2ckVRnz2XHNKpGzWYx8Z1eqcvfX5dksXqzayaDKoXiCaqAHii2bXoS36OfYCyocINz9KFuzOFslLgpvUXIeKw6iT+Ril0zj1z3j0rdagW56WDd1XNzS9B+0WqFGfLjKYwHM72jpm0KvIp4rA2u+X4auzGqWp1Kiz+z09jdMmaKpGIq0mlq35NpVihTvi0U4MDFr+ZZZeHB3GLD2FLqcZpwyEWsBs5w0n66HZ5B/KzN5cdN4oyqwqWe8KS+6gqRLU79FuOnyzw6Lys3lGSjdZy7oSylHWArTIYpsWlTrQyjTOASLpEkYwCtxQTIPlach0EA8HGxh6s6YaEXj/BzuFkv21q3hBw7aI7L9/CTWvL6Wx7z3neNnLYXU6GkV5PNDlIPesqbt3kM+bZjyM8ilS1/fYqCqDiqHGv9nstS5oTAotnwyC/CypZGv5puvrw3BR+Khf9XAMMgiuM9qIsdgy4swM7NWMP457dEwCMXuysgcldZbZnPyax+kp52ZnspAUVlmU68sayl0VCuItwJu8oOFG/GQVHUbhl2lNsW9x1ae8qcACnMzs5jzXQ7vLlVaIp1uxP5DfNX2Qgyw7Tvsv4Y4eHjMPLfr8WRwxW//MWveHv1X+dGYchX5qZjE0m0joaoj0xCoGRK2r4pFwLDwFNRNczHSQ7BDQoNl0mDHiKLcq0PT+HB56s6mPP3Yn7eYja+Vs+120VVP07PMXm1P/7B6fk2FO6aB4kf1s1n7DJfrZvE5JZU8s4r8mZBMojunVpW0+IcJZDe3XHHK61pAeiXoqF4tK4CPVok+FY2Lb13Fp/bVk6RVO7ffOO007yidCUcpfRwAVjjgp3Wpu+MS6DD381l+kTDiL8hwVT49VPClTtfKediW4pr8L/9thEn3asj3n+ejwVXaaUvjz64rP5cAJYp/3AKR5RwbLiG9XQOMarlR8I9lnIJ4s51HWOzAd1yeq28vkH0HgQ8FQwKBbyMYDZOIocsDPcgiyMl75wyA6vX4Uod6IMkjlZqp8Wcq4V0Ljv+90eCB1PjBrEL3FZez/2DAKjJZQOxKjzA5XXwa6FRU17aR2wKAFdW1mnQ8Zn3/UGFcK0xr7SVWGZqLYImai8cVwuxHI12G8Jr5XAyN0ntNvaU1z5607Fz2ppPBIE0kyQCnd9V+3xU5JieSJ8RoJTFmdyn23IpGEQiXSd8kPeSuCUg/i4M9irUnmFTWL2PEpthUd6+BpkpFP4FjvkuyKdtV8P3ByrIR26WabhAPiIO3rqDKD8biW1fUXSKHfy4nkchWaaxdC/ggcwnjUti9M2H134v9YJI2nnNNSjITiVPPERtv+UzJiXSr301G8aAqxSSSp6okJYHITik8b/xOYN8h/LuNX5AvjP9s0LnoVqmH2FZhRK35y9f4qDtpv5d/fistfd7HnA1jhoNl1Sh4Gl6BzjdBg61rllpz5XSAXmDleUsqSTJ8Vl+5bBuuPc+hI83zVWfEZ5icB7izcH2r/N6s5Dhe95m+xGer0su+5VFanpeSbtX1+jaJixP65N7MwT+XNjaXro0DEsyoaQdL/gAq/5bURnwdSj+ODhqKhVrsVZYR2a8DQjG0gPB+ZnXtL+T0L0Q7BP34EPSTRgQxB4TilIVc/qCmb2QuYllV5gwzTBAHdTPXd2Bpp9zOAgx8irZlzrNKS1ssUn7hL9f5p3/cfK+Vfoq0qHj7O9ODVuo1JmSjOEXOQPw52rLs2C/WFzahtp8mzL1cg1LW8lAUL2mZP32TG0K0NdRZppfg5F4k5YeH0m8uvRwsM1GloMYllPBWkk5u9eOlcvGX10eMPXjpVjcQ4MA/1XS9EkpTOOISGYSxuoihoYdVgKlcImiFvi22NOLLT4LcKMxSPeXPFSjeLZdyOCo37GWpVWJv2pDzwe/uMn8YZVcGUqjIw412qukn0UF6t2/dTTZIBZ9e/6r82fx0ZPyvm+8rSg31z9P0tVd9I0k2ErfyD9j/P/vSelOqfNVw98HjIuT++Ye/7ZxDIYW8fTCMWYCXFoWDzcYcoVVAXBrgxyg63WzMiTWP/uwSkEYvVirz+6Z24KCW/h8FWNbTMviuxb8RpDrn435jWrOWizCIpVeUavUlGem1W1Wrr3C/cD0EGFmOmJGclXoxWGQ2oAzZOe8t5i4qB/NUa6uSpGRXKuhJ05V7eEEqi2R0NWYlHK28KM3vAbBNBk9DMexyywzk02hMAe2FI1B3LIoah3p9ERDKAKNxCIRamHaUrUXkQrYeoPFAAv/SrLaDMPKdCrLZ5wNHfO+AnAK3qUbGueSdy8F18ukLkT/C3NuOF4RORfD4v5cNEm5s6ngd/OFW4SkM/atwel+eJH7+hyFb4i7/eTBNkQFISl/gS/CK73CKy7fsp+b5lCBMIGfZtsqlycotYK0CVks1yjJSAXaChOoyFYDmULtURYRii0N3cp9RHe34jCpzJpIv/zioHeNuWClJ4VCML3rDJNreuey2+9fDZAsgKvTG048fzti2pnBhQy991Vd8QihJ2v744ezwcKuqx7c1efTn44czcFxCccCz3vlhmqIHRTJYFgpj1fnJWH8wmZ4Prvv5RNHz68vLNJdh1P0/171R96yVnn6mMKEQSbTloFGMIrlCkXuCh08ociCUHkdJYEXJDRPYrnuXVbJXX7zkB5XIgXngOchPgtgYJV9c1nbGRNULUgP17yk5tbTlQ3U5PzuOifKPeqpnvvBxJst3YtUEl+Q17hBmofR9Vox+CzHKMAZq+01DVKsFa4Sx66D4+02dwJ+58ywaIG43SR+k5p/WZ4Am/jTt2dx0mj8eTfkNnKmPmNfNaLASTf7Y8qZALL68b1H46afu4BzevVNUcSxqkSDENjrl1Tmqnmaxs9XKe2SdMt7jjk/j07Tu4JwN8BX7+/8FAAD//5GUOwmlgAAA + H4sIAAAAAAAC/+x9/3fbtpLvz6u/YsqwsZSYlO323u3zrbJVZSXRsy3pSXK6+xJXhyYhiTVFqgAo21H4/vZ3APALSIKSbKe33Xv23nOSRgAGg8HgM4PBAHzxTfPG9Zs3FlnUap3OdNwdfeh1utNefzq5HLaawYo2rc8hRk078Knl+giTpm0bKxzcP5gE4bVrI9P1edtB57w72bdpYN8iylv2e9POoP+292561hu1tCaidtP23aaPqOlovPznXj8uZFRZ4Y3ra7UXk8HZAFah5wFduASCkEIwAztYrgIfUZ+Yv5HABxoE/8HJnA1+6V8M2mfjAjEnuPO9wHKIVuuMep3JRVpTrohdm3qKuhlzIcFNL7AtT7DXGfQn7V6/OzpT95yIxZGJjq76HWV1HPq2XPH8h7Gy3m14g7CPKCLF2sNR70N70p0O253z9rvueNppd953dzRtrrC7tigyVpZ9a81RTGvUfdcbT0b/NR11h4OWFhDCxmxhFxGJjFa7+vmqP7majroX3fa429LrHrmZYuQhiyAwMBikURuMW3rdnYFHgE/+KyOpcPwGmg5aN302xSdvXh7/A+gC+UACTFnrQvUvMLfubuFgaVF7UdePDqH5a713Nr3onXdbdTvAKCCNL72zVt181WjozUOwGrCBFXZ9CjQIVyuE69bHk2uwPn533fgHoHuXQnTwD5i5jdq427kadaeTi/H058FgMp6M2sPp+dXP3YvuZNr9z25nOry4eseUoaw8YiFQj9wEASUUWyttf3ofuqNxb9Bvaesj89g8MixvtbDME6026V50h4PR5GxLzxR5aBVg6uQ1t3vW7U967YvpcDT40DvrjtQqjxzkU9fyVjhYuw7Cu4hka2Ft4abn3nBl8JBMy0iIKQZQuZYu2/3e2+54Mn3bu+gO25P3OcEuLd+dIUL5emcL73I46Hf7k7G6egwQPiVxgw/vz6YXg3cV1dcLx3B9Qi3PM1lTD1HEOZqe/TxtX00G06vhGVtYby/a72QSiQyWlm84N00rpIERrhyLNe9cjS6mg6vJ8GrSatLlqmmH2JuuEb4JCDKDkCZLZzCe9tuX3ZYm/s06HjFQyQriH7RaZ3g1bY8671uaVnOQ7VkYgWHBL+3x5fh973LYOxu36g25aDzs9ZnKJUU1gmhneNXG9qLegE0NACClqtfnaWmjFtVqGC2DNbq0/LObdkiDKz60t541f+t6KG2Pl2DMQN8lL0bQxsiiOwnSILQXexL0kOWHq04KtWceI0VyzOEZ6FVYzYjEc58R+cWli06qQ/+bBH5KLyAtfZOfuYgXuDP4+BGMz6DpeUzU4PpawBqvlxIZjCPpB6YZxA38lmaHGCOfarwQeQQpa6VMxL1Eov7M5X/xPzL7MxTQ3tLrv/0OmjlMkB40XbGUNPgCvN7Ha/gCBHnIpnXTt5YIWi34pGV0P2kNrQFfvggc1buj0VSScwxr017/Q/uid8Z5ik1TUsZ1MpaeSy4tzMgOcJstywvXD+9B44LS4OVLJl5N3/TG0/P2pB1pjBmN4hBVCThZR6x6fq5iKYmlGkvjg5AsYX2UJBcxUW0CkvydzEMsdf7Hi0x/DgisE3IWxtYDuATQ/QrZFDlAA1hYawSB7z1A4CNAHloin5qCTG8GLoWFRWAZYAR0YflyrUO4Q3Dneh7EastGDp5FaFIDXJ//xns2JeXUNy+K8v/403UExpzCcVmIyF4EoP3SHvV7/XenkjpB7CoUB1nJswk9wavrz3ewm1PjHWyj3+GIaZ++KZUfXUdcP34cn/eGb7SqwfX6bwf7jIxNn0sXCANarugDBJizPHOxPA4CojsTxrfuasUGK5GOp8uibuDHw+QAhWiIfTiSx917O27pB5/8A+4IIaegoq26Xhce0gf48ccfNcX4X11HWkMsrdAniDKS/F98PFPifkYtffNCSZ4Jl9dlsq/XsxbGcaMBhkfhCK6v2Ypk0zh1fQfdt/hESP8uNeQUV7meWvpGzYC+yShFMTOZJC+t3wJ86foBHjI/8EMKiXUxqXq+FwZndkjBcAwwZscNrUDufUDfuvePokLAmJ3EhJiOCtjfxaEG10xIH/eqypSXecXKRjmWc3WVWu76a8tzHVkZY/0+heIws6b7Qnqss14wJ1MaTNGa2UzQ2udjszPumkXjOgp96i5R8vuYWr5jeYGPMvjUGMuVpSDjs1p8Ua5OTloxYieCgQr2wIDysKEF+iYvr0irVXoQl7HTmvMfuMsrzURiSSRdmoGml9zh8txupZRXccltYB6AgcHMCk3kzJGyy0amDZwzhdPBde/4B/Po+zKDu3g4kJlYub6PHFM7/uHoe+1gFzuxzuW8o2pzFfcMfkBhFoQ+w2JIthSH4KCZFXqU2yZmmrFjBw7jRVZvaSArpmnycGLAKI91F/RMMVq7j6SyDXfyrCmho1hlK86k/D0BYySIUQxpO8z0+uNJ++JiOulddgdXkz8fZvJSy8NLKqRnQ0tlf5oKY2JyKbLs0S/bCY763Ul3nOu3/HOkSf6Xpm/63e7ZWJqhSINvqr3vmIHL4OYBiu6cgDflroO7FL/9DgfpBkW5AZH2H1rjAH4EFTWQAktKfY27KGxnmDoSShg+qKhKbtsee8bav/2bcO5kGWzt3QkQ4SjF2djBxU6bIylNH9G7AN8OvXDuZrZImt7JL4PReRykYagOGg+NVE8u36J1+r3c/MYc9XvwAqMZwsi3Eax4p8SEy4BQ7wFmAYbb8Ab5iMJNSMELgtWNZd/GFZkbHRLkwM2DjOFMh2VrByf57X0x+gsvgY0/CWd10ujUMA5OZeGPbbGyq9EF22vvqnPayq0Yw4c9GkUK6doYpSA5nQV4GmCLtFLjsIskMxVzjFZgBEM4WH9yXtc/mZ+c141XB3wlOXBAmr+um032zwWyHMbqcSOZRNlDYYwkgbxpiL2WfpIfoV6qUh7OTtmWieR4Wd46LgZjBfquiKaon8VZh6MBWy8ZZmUR7XF39KE7YtP6iOrKGX5Ee9VkZ5IWqpnJIVFbJpBMDR7ZY1PflCL5kQh5GpaNDUXE9nStb5QqGBme64f3hr5JooWRtnWWJ+/+Lz8m2mMdvHjxqhlp8AKuCIIbiyzgJnSZPwYv5F0yfrCXznSO6JRa+MbyvOkMB8spRnOXUPwwvXPpgvMKxydH8Lddq+WsN2rqWzjnkZ695ybS8mGwwag9ng6vLi6mbAretnsXxQ1/7MDywNcoHsMV9vYDjkpFSt3SrwQZBYzYOdtbtausQ0Ze3SKTWticf9b+7HnfA7ofN905VPuD18s+E79LCmCaJuzWnVrVHH2tudjJQiH6vK22vJsQMsq8AkjcAkiWN3KAhLaNCJmFnveQc8GrnYld25NSS7PaQ9Ggukyck1gYjPvPs73EvNki50gDo7OHjc2Z5ApNjU/4YvNgL4I7H4wR4CCgp+yP/dot1zuXIau83Zppu/pqVjWMeV8GDvz73/72PDKJi7p7NLLDOkZ2iNHkYvxzcqB8Lg5au/fILvjxAv6F+8xdNW1B6YqcNpu3P5D47JyYN15wY9oBRuad6zvBHTF9RJvWLTGoR4z03NqwPRf5tKlvHnt+HTU5vjetpfP375sqorIHpddd0h5d/v37BtvUKY4f/jrjwcut4yk7q0/KJKhJg059jJVFF8wmPIliVMF0thn/RmzHVb2WAz0pzruz6cxyvRAj+I6h/N+PwGbuvzEbX4ARVBJMfw+xVzCgKdt7D1RG80qkeZLYNIkmQwBjFIPAM6jNXLa47yyy5MfTXba/r44Js3rTmeshPv365jiS6pGFu8zcvM2JXJa47SSczdz7lr75rtiSW6dkXlp1Td/8dPp9pDVA3vzxTJ8HRYhzI3fOnCCgGEww4pgk29qzGuD6SeVcfx9/uma+qxPk48qxFm6qJBBJqVQGI2oI2sx9zLPKfsnLIFLHpWMn/BiKIWUn8JHkITBXhvECjBcSx2XYMB/D7au9+KzJp4GgPlWwyHLMhFpvyJqTLjP2TyrUIlaZ5GAwv+nenEQgWw4RjUqYI7FafMfVIj3fZqNOIulifovtytNbrXdk5foaaMRz5wuqNXIK8RE0PRegPjJ/MI8UG2j2vxLx1626dndHJJrx1BZi73zSeGCjjtaWF4fkzmIqzLXMzlVzvn9GOPXPyjMEemlWcoHwpHfQ1tlYK9cM5HXzzmK4uZHzftJD23+JaRKZGQqxDhFeukQczSskvJcwM1nKAULVInsSPitVLA/TBQj/p4E0pKY/b4nyhz650TE5yvQ00Iz1sbYN3hXRdgkRGXUOiwQsDyPLeZCD7lVsHIqUFz+gcIPSdef681ImRc4l+6fFA78B4zM8LjxXFQ9MAxvc831kyC+Xp+sgl3jWDWkqxX9aUJRtET7BGZ+ReNbnn6d0uWpVTpi6z3IfccSn9ryIz6bMWqSBvpFlGVWFbKTTOIaoKSd8e/35nrkmZfJix1w1+pQG38fuI6PUUcjPiVhqjyJQ9DTWx9ISWQpXSzGebcvo8X7dXnuFtdgs7D26aq9PLaYQe5U0WIuTNy+PGToiBLqUrgtvspz0JDbaBe3XOmP81HzV+FL/iLrXGJuvGjrPTKzbFs2TePlSUrXz0dV4wvYIxVBUA16mEpON+etWXf+mkbNT+1jEP2BDUWWNvvsaW4Yn6pYcl/k6upOTdJITsHL98/AGPd/V3tfTfrL7JgmB+Wu34Q36So5tIoRd3qzcbc4JU/qtclL6s/xWWRNKDJZUgDFprE/U/p96ulVD3MPvy8/CV/X9shyKbbxVjr0ie6ei+g4PrdTt/3hpT/DSEikq5+yrOGn50Epp1qLtK6XklMUA+jSfTCs4ZdpjvbL9XRgo3Yh4olfyiOWlVaFidZO/jBciw3LsgWTmcICtzL/gs6S4T8bmX75Bltbt/udk1O5MuqIyA05QEMoZTF6U3IzjOFkIspeYqElxO+m+AeM8tSy6TNY0TYnHyeWwpW9KHPHT1urD1q2HnyUWm3EH4sxN0Ztqk5KWd0ejwagcvd/Rixrx2eYftjctpKOZqqRNFYMytO/fmTAxcSckdAJ5/7VjiGwrVtazZnb8piIhZ2tW60iS1FY4Djb5ebDavSq44cIHOD41omL+ED8GKUfLGFXQMCKhR1v6hqOkVMoY1kVpDdRWNRuYJvs4Sc5eymC2mDbHhn5aSqITHH/odydTViZON8bJOj01dFVR6TqcqlLljRxVZXCFGhJETejeu5R5FGalT8FTLPq9NKVC36iIPmddlwTV1DdSj3xpK0VTyFaQyKTnWbmkRdemXjpbL9wZ6Mf8LtJyRR8OgVq3iJ8rl660R2CRJK8d1pYXIhMGdIHwnUtQ3O6Y1aELJMprstt/5mKhsmriUUF5pGbixpHs9Ypr9ZP558lyJbSZSz4vZH43lllXOI7NsSZTbeobmQyXbzmiU2RVkmiafpETaMXFV861uISZXlSqi/7BMBKUOMnZ5zi1Mq6V1Gk25weNfKptnnCcR125GlJIKrbjzyCIzhIfPQUqE0hy/Sw3btaGWniOaAZ1itzvb81XkXmkuH4ay5crefdy2NIEA8Y61ZLk4LwyzKcVDhBiC6ZQsmZKNOkvqjhZkPIryqqaqylkusLIsC17gZxEgum9kNMKyWnKs0PVwYXo4spne1d+/0/04Po0yDjMp7okocbP9+vHyILZvCLBwmF4dhKu5yvGeqrYR2+pKI6wk1U5SZ4dKOSi5J05IaPsFYDUnzt5TCaIYsuYmhd9k3efKhZSwjbDJlhZ2FoiijAPOlSMiG2kuGbM3TVSXljJhiU7QOX7q5zLkgwqWU0fdMjdW3oGFxlQb31PYjcib7a2j7KnKBgklAfMN3+52Woq62V0pM3hpnqskYTwVWr5dE3rXI1G3f4kU916NkE7rEF5JteZRRDO4aQ9etfNiMdHqAnLBC3XCHeC5crC3NLneTk1tCPzyDzSIqZgOUqROswjjIgnGQsoM1nqJ2I+x5w/3YDF3e56gAH9Hloe0KCRGJUbiyCJSIGhslUqzJWpMDlVa3ObKnIYKHWfP5H5Gppc9bbJXvqb3HDj6qsKZ35l8jEUpLZy+/jZgiKIhqtOv3fmYqLYMEivNlUleirqSOlUuVIF8ezJqK30S9UyS5YvjWqZGyhtgeSNdMWttC9f4Ju97qX5rhFfdnrGxbT0AqsfgEQRsjdtYIURQT6FWRzh4Len4qurwO+upguH+XzH5vfmsQmThUuALILQcwBhzFbwGvk0tDzvQYOt569ZTK+8RWxiNLN9N3HwIM3VtGxiLF3WkcmzdJEzRzxFUxpVc82Zy4KhUlnsRPJsUkPUMynrIVb6/DmtSIPegz+e6FxQTEXMUOy4LO/OeiDwW0gohATB3cLi7zx4LqGIXyMuPDUEJIA7BE7gH1DxygcNgDz4tniHw/bdr/wWSyYv1WMs/Z7yyn78Xkm/x0M8jFWMmBqAzeyMdROEVDy4dhNSuLP8+NUSjJgM1K+m3C1cewEY/R66GBFw49dMVM/lwB/4Xk6Mc3u8lPOnvDhT9fxN9Us0qcLs9QRNvLztheXPuerFB2//3d5/ecoDFKW3RVSPwtT28AYzLORo0huJizkKaMJLBk2KNyESR2Z/UgLlKkjJZxjxunG2hKHiflQb5hdsL2F7yMJMO5YM0ZAv1vqdsAxrhGFhrVbIN8EiJFwicCkBjDwrhgE+ga7PgWKN4MKiiFD48P4ssS4C9xYIQp9a+BACz0G4VEjnn02Q3TIleudH1HyVA2+oegWCQVtiu+J+kzDJDWPrs7taJVeMC0/FKdSvAkUTK7HL9cl2J6UA7LPDlLJa5WKQ3zJbGaUxi9pX0J0nTVF5hvKRn52RVGXMZ8c1q0TOZjHynV2pyt1fl2ezeLFqJ4Mqh+IRqoHuKbZseh7eoJ9jL6hwgHD7g2zN4myVuCi8Qcl5rDiIPpGLXTKNX/eMS7/TCnTTw7qp4+KWpn+v1Qo14sNVHgtgfkdL3xR6FfFcGVjz/TJ0ZVazPJUSfWant79hyhRNxVCk1dS6JdeuUqR4XyzCgYlZy7fMwoO7w4C1x9DlNOOUiVgLmOWk+XQ9PIP8W5nJi5vGK1WBTT3jVXnRFSRdmvotwk2Xf3ZYVG4uz0DpPnNBX0o5wlKYDlFk06JaH0KZxiFYJE3CAF6JC5J5qDwNgQbi4WALU3fGRCsa5+dwt1iyt24NP3DQHpHtpyex5vW1POa97xw/aSmkRk+rIJ8fohz0ljVt9x7yccOUn0EuXfr6GgNVdVA51Pg/k6XODYVBseWTWYCXLY18MV99eWkIPhIP/YsGhkEWwV1WEzkGW16EmZm1gvFPaY+GQSh2V0bmqLS+YzYnv/ZBetqZ6akMFJVlNvXKspZCR7WCeCvgJj9YuBYPSVW3YdhValPce2zlKX8KoDA3M4s53+Xw7lKlJdLpRuw/xFdtz8UA277D/muIg/uHzHO7Gk8Gl/z2H7Pm7dF/lR+NKVeRn4pJLN02Eqo6Mg2BmiFh+6pYBAwLT0HdNBcjPQQ7JDRYJg12jCjKvTo0jQ+Xp+5sytOP/XmL2fhaOdtuF131ND3J7NX29A+r59dUuGMaKH5UP5u1z3C5bhafU1LJM6vInwnJJLpzalVJi3+aQHZzyxWnvK4FpFeCjurVsgL4aJXoU9G4+NZVfGpfPUlatXP7ldNO847SmXCU0scBYIUDflqXujsugQ5zP5/kF7H/yfOVssdxqVxXxK9SdXhIHcDRRaluuaPchw4m3csh30y+HQ0u045bGn9DXfntgzLFP0/bq4QWWySxx9k12KiWGxH/CsYpiMfYeejEDnzH5Un49gLZtxD4ULAQEPg2gtEwCQW6PIKDLIKcvNvNkKVej29rqAeVvD6pmRp/fxLetOD43xsNHiGNX8IqdF9x6/pPRqIikwUornT1kmPDx6FJRXVtG7ktyFZRXatJ517W6/sKq1lhM2vPMbfQXARL1Fw8rBBmPxrpkoSXzJmaIx/hKlgonMxXahF/FLK0oyxVVIaui2vCJWBV7RldmiIjW2FsPCVkLOb8l7go77tD7LEtH7pvHSTnYh9/bV6/lpFs/fHI+F/Xrz+Zyd/m6+xAzHx9UDBHhq9SZaW9KF7KWlfolsJmKbpo/T/Q0/FUG6jkXQO+wV1hNHPvFcJ68UqSQFS2KKX7ZBsF3W+/bb5StBWz3xXIgOTHrvNUge3Ii8h5ClUTW40RKuV4/kt9hdDDafnqWsVlELGXYbqc3hfsLa159lRs56I3nQwGaYJWxlnvsv2uK3K3TqQdBqOVnN24SxHLUjSKQGxF9E3SQ+76jfSzODCnWHuEq8r6ZYzYFJvq7jXQVFc8TuCYRx9synbrfN+9smwEtz8Q0w3iAfGlryuo8gPn+DYjdZfI4Z+hSiSyVRpr1wI+yNxFDOk4qzNh9d+JOEtyHSPn8pdkJhISnyI23vKJkhNpjH+YjOJBVYpJJCVWSUrC251SeNr4ncC+RfgPG78gXxj/2aBz3q1SD7HEMaLW/PlrfNSdtN/JP38nLX3ex5wNg6NlxSh4emuBzldBg61rllpz5XSAXmDlaUsqSd59Ul+5LDauPU+hI83zZWfEZ5i8DXBn4fpW+R1nycJc9Zm+xDkL0ovZ5VFanpeSbtX1+jaJi8yX5D7awa9LG5tL18YBCWbUtIMlf1iYf6NtI766ph9HBw3FQi32KsuI7NcBoRhaQHg/s7r2LTn9lmiHoB8fgn7SiCDmgFCcspDLy9X0jcxFLKvKXHyGCeIAfOb6DiztlNtZgIFP0bYbKazS0haLlF+kzXX+8afr11rpp0iLiq8qZHrQSjdtCdkoTj01EH/muSw79ov1mU2o7aeJqM/XoJS1PBTFS1rmT9/khhBtPUIo00twci+S8oNe6bfMng+WmahSUOMSSngrSSe3+vFSufjL6yPGHrx0qxsIcOCfQLtaCaUpHB2LzNxYXcTQ0P0qwFQuEbRC3xYRBfFFNUFuFGYp1PJnQBTfA5ByoyoDYWWpVWJv2pDzwe/Es+0oyq7ipFCRhxvtVNNPooP0zuy6m2wYC9se/Yvy53gXVlFqqH+epq8o6xtJspF47eKA/f+TL603pcpXDXcfPC5C7l9/+NvODxVSyNsHw5gFeGlRONhszBFaBcSlAX6IotPNxpxY8+ivLgFp9GKlMr9vagcOaun/UYBlPS2Db1r821uq83PuN6Y1a7kAn1h6RalWXz6TXpFWtfoCdwvXQ4CR5YgZyVmpZ4NFZgPKkJ3z3mLuonIEQLW2KklKdqWCnjRduQdNpLJIRldjVsLRygcI+P0atsng6V2GXW6ZgXwaDC2gvXAE6o5FUeNQry8CQhlgNA6BUAvTjrK1CBzK1gM0HsfjX3DWdhBGvlNBNvss54jvHZBT4DbVyPiORudicJV8UkbkZTH3tuMFoVNxKPPfywYJNzZ1vA7+dKvwGIb+WTi9L08SP/9iyJa4y38dTFNk1pLSly0TvOI7nOLyLfupeT4lCBPIWbatcmmycgtYq4DVUo2yjFSAnSChukwFoDnULlURJyHFoTu5zxOPdnyemDkTyRe1HNSOcTeslKRwKMbnvWESw+5cdNv9q2GyBRAVeuPph/dnbFtTuAill76WLT7NlVyG+PD+7PBwq6rHt6B59OfD+zNwXEJxwG+T8ENqRQ+KJMssFMaq8xB6fzCZvh1c9fMJ2G+vLi7SHKFR9/9c9Ubds1aaVZDChEIk0ZYDfDGK5CQm97QVn1DkQCg9OpTAipIbJrBd95mrZK++0MwTAJAD88BzkJ8EsTFKvmSu7YyJqhekBurfU3JqacvJKvK9hzgmyj+Wq575wkfPLN+JVRNckte4Q5iF0nePMfo9xCjDGKjtNw1RrRasEcaug+LvonUCf+bOs2iAuDUofegdUbtpM0ATf5r2bG46zR+Opvxm29RHzOtmNFiJJn/EfFMgFj+KYVH48cfu4C28eaOo4ljUIkGIbXTKq3NUPc1iZ6uV98A6ZbzHHZ/Gh9ndwVs2wBfs7/8fAAD//32TM1T9gwAA - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line40.sh b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line9.sh b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/CustomData b/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/CustomData index 9deb08c55ee..656ce6ff098 100644 --- a/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line40.sh b/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line9.sh b/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2204+China/CustomData b/pkg/agent/testdata/AKSUbuntu2204+China/CustomData index 423e3dd6092..473324aad58 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+China/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+China/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+China/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+China/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+China/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+China/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+China/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+China/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+China/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+China/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/CustomData b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/CustomData index 6f117085e85..b0488435355 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/CustomData b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/CustomData index efbaafc9252..c7881323154 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/CustomData b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/CustomData index 7d6fd3131a7..2823c9d428d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/CustomData b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/CustomData index eb093817588..c4d700599f6 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/CustomData b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/CustomData index 44cc552e7e4..970d8c165b1 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/CustomData b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/CustomData index 44cc552e7e4..970d8c165b1 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/+x9/3fbNrLvz1d/xZThxlJqUrbT3dvnrXJXleVEz7akJ8npvS/x6tAkJLGmSBUAZTsK//d3APALSIKSbKfb3nve7jlJIwCDwWDwmcFgAL76rnnr+s1biyxqtU5nOu6OPvY63WmvP51cDVvNYEWb1pcQo6Yd+NRyfYRJ07aNFQ4eHk2C8Nq1ken6vO2gc9Gd7Ns0sO8Q5S37vWln0D/vvZ+e9UYtrYmo3bR9t+kjajoaL/+5148LGVVWeOv6Wu3VZHA2gFXoeUAXLoEgpBDMwA6Wq8BH1CfmryTwgQbBf3AyZ4Nf+peD9tm4QMwJ7n0vsByi1TqjXmdymdaUK2LXpp6ibsZcSHDTC2zLE+x1Bv1Ju9fvjs7UPSdicWSio+t+R1kdh74tV7z4caysdxfeIuwjikix9nDU+9iedKfDduei/b47nnbanQ/dHU2bK+yuLYqMlWXfWXMU0xp13/fGk9F/TUfd4aClBYSwMVvYRUQio9Wuf77uT66no+5ltz3utvS6R26nGHnIIggMDAZp1Abjll53Z+AR4JP/xkgqHL+DpoPWTZ9N8cm718d/B7pAPpAAU9a6UP0rzK37OzhYWtRe1PWjQ2j+s947m172Lrqtuh1gFJDG195Zq26+aTT05iFYDdjACrs+BRqEqxXCdevTyQ1Yn97eNP4O6MGlEB38HWZuozbudq5H3enkcjz9eTCYjCej9nB6cf1z97I7mXb/s9uZDi+v3zNlKCuPWAjUI7dBQAnF1krbn97H7mjcG/Rb2vrIPDaPDMtbLSzzRKtNupfd4WA0OdvSM0UeWgWYOnnN7Z51+5Ne+3I6HA0+9s66I7XKIwf51LW8FQ7WroPwLiLZWlhbuOm5t1wZPCTTMhJiigFUrqWrdr933h1Ppue9y+6wPfmQE+zS8t0ZIpSvd7bwroaDfrc/GaurxwDhUxI3+PjhbHo5eF9Rfb1wDNcn1PI8kzX1EEWco+nZz9P29WQwvR6esYV1ftl+L5NIZLC0fMO5bVohDYxw5Viseed6dDkdXE+G15NWky5XTTvE3nSN8G1AkBmENFk6g/G0377qtjTxb9bxiIFKVhD/oNU6w+tpe9T50NK0moNsz8IIDAt+aY+vxh96V8Pe2bhVb8hF42Gvz1QuKaoRRDvD6za2F/UGbGoAAClVvT5PSxu1qFbDaBms0ZXln922Qxpc86Gde9b83PVQ2h4vwZiBvktejKCNkUV3EqRBaC/2JOghyw9XnRRqzzxGiuSYwzPQq7CaEYnnPiPyi0sXnVSH/jcJ/JReQFr6Jj9zES9wZ/DpExhfQNPzmKjBzY2ANV4vJTIYR9IPTDOIG/gtzQ4xRj7VeCHyCFLWSpmIe4lE/ZnL/+J/ZPZnKKC9pdd//Q00c5ggPWi6Yilp8BV4vU838BUI8pBN66ZvLRG0WvBZy+h+1hpaA75+FTiqd0ejqSTnGNamvf7H9mXvjPMUm6akjOtkLD2XXFmYkR3gNluWl64fPoDGBaXB69dMvJq+6Y2nF+1JO9IYMxrFIaoScLKOWPX8XMVSEks1lsZHIVnC+ihJLmKi2gQk+TuZh1jq/I9Xmf4cEFgn5CyMrUdwCaCHFbIpcoAGsLDWCALfe4TAR4A8tEQ+NQWZ3gxcCguLwDLACOjC8uVah3CP4N71PIjVlo0cPIvQpAa4Pv+N92xKyqlvXhXl/+kfNxEYcwrHZSEiexGA9kt71O/1359K6gSxq1AcZCXPJvQEr64/38FuTo13sI1+gyOmffqmVH50E3H9+Gl80Ru+06oG1+ufD/YZGZs+ly4QBrRc0UcIMGd55mJ5HAREdyaM79zVig1WIh1Pl0XdwI+HyQEK0RD7cCSPu3c+bukHn/0D7gghp6CirbpeFx7SR/jpp580xfjf3ERaQyyt0CeIMpL8X3w8U+J+QS1980pJngmX12Wyr9ezFsZxowGGR+EIbm7YimTTOHV9Bz20+ERI/y415BRXuZ5a+kbNgL7JKEUxM5kkr6xfA3zl+gEeMj/wYwqJdTGper4XBmd2SMFwDDBmxw2tQO5DQM/dhydRIWDMTmJCTEcF7O/iUIMbJqRPe1Vlysu8YmWjHMu5ukotd/215bmOrIyxfp9CcZhZ030hPdZZL5iTKQ2maM1sJmjti7HZGXfNonEdhT51lyj5fUwt37G8wEcZfGqM5cpSkPFZLb4oVycnrRixE8FABXtgQHnY0AJ9k5dXpNUqPYir2GnN+Q/c5ZVmIrEkki7NQNNL7nB5brdSyqu45DYwD8DAYGaFJnLmSNllI9MGzpnC6eC6d/yjefRDmcFdPBzITKxc30eOqR3/ePSDdrCLnVjnct5RtbmKewY/oDALQp9hMSRbikNw0MwKPcptEzPN2LEDh/Eiq7c0kBXTNHk4MWCUx7oLeqYYrd0nUtmGO3nWlNBRrLIVZ1L+noExEsQohrQdZnr98aR9eTmd9K66g+vJHw8zeanl4SUV0ouhpbI/TYUxMbkUWfbol+0ER/3upDvO9Vv+OdIk/0vTN/1u92wszVCkwXfV3nfMwFVw+whFd07Am3LXwV2KX3+Dg3SDotyASPsPrXEAP4GKGkiBJaW+xl0UtjNMHQklDB9UVCW3bY89Y+3f/k04d7IMtvbuBIhwlOJs7OBip82RlKaP6H2A74ZeOHczWyRN7+SXwegiDtIwVAeNh0aqJ5dv0Tr9Xm5+Y476PXiF0Qxh5NsIVrxTYsJVQKj3CLMAw114i3xE4Tak4AXB6tay7+KKzI0OCXLg9lHGcKbDsrWDk/z2vhj9hdfAxp+EszppdGoYB6ey8Me2WNn16JLttXfVOW3lVozhwx6NIoV0bYxSkJzOAjwNsEVaqXHYRZKZijlGKzCCIRysPzvf1z+bn53vG28O+Epy4IA0/7luNtk/F8hyGKvHjWQSZQ+FMZIE8qYh9lr6SX6EeqlKeTg7ZVsmkuNleee4GIwV6LsimqJ+FmcdjgZsvWSYlUW0x93Rx+6ITesTqitn+AntVZOdSVqoZiaHRG2ZQDI1eGKPTX1TiuRHIuRpWDY2FBHb07W+UapgZHiuHz4Y+iaJFkba1lmevP+//Jhoj3Xw6tWbZqTBK7gmCG4tsoDb0GX+GLySd8n40V460zmiU2rhW8vzpjMcLKcYzV1C8eP03qULziscnxzBX3etlrPeqKlv4ZxHevaem0jLh8EGo/Z4Ory+vJyyKThv9y6LG/7YgeWBr1E8hmvs7QcclYqUuqXfCDIKGLFztrdqV1mHjLy6RSa1sDn/ov3R874HdD9tunOo9juvl30mfpcUwDRN2K07tao5+lZzsZOFQvR5W215NyFklHkFkLgFkCxv5AAJbRsRMgs97zHnglc7E7u2J6WWZrWHokF1mTgnsTAYD19me4l5s0XOkQZGZw8bmzPJFZoan/DF5sFeBPc+GCPAQUBP2R/7tVuudy5DVnm7NdN29dWsahjzvgwc+Pe//vVlZBIXdfdoZId1jOwQo8nl+OfkQPlCHLR2H5Bd8OMF/Av3mbtq2oLSFTltNu9+JPHZOTFvveDWtAOMzHvXd4J7YvqINq07YlCPGOm5tWF7LvJpU9889fw6anJ8b1pL528/NFVEZQ9Kr7ukPbr62w8NtqlTHD/8ecaDl1vHU3ZWn5VJUJMGnfoYK4sumE14FsWogulsM/6d2I6rei0HelKcd2fTmeV6IUbwlqH8347AZu6/MRtfghFUEkx/D7FXMKAp23sPVEbzSqR5ltg0iSZDAGMUg8ALqM1ctrjvLbLkx9Ndtr+vjgmzetOZ6yE+/frmOJLqkYW7zNy8zYlclrjtJJzN3IeWvnlbbMmtUzIvrbqmb/5x+kOkNUDe/PFMn0dFiHMjd86cIKAYTDDimCTb2rMa4PpJ5Vx/n/5xw3xXJ8jHlWMt3FRJIJJSqQxG1BC0mfuYZ5X9kpdBpI5Lx074MRRDyk7gI8lDYK4M4wUYLySOy7BhPoXbN3vxWZNPA0F9qmCR5ZgJtd6QNSddZuyfVKhFrDLJwWB+0705iUC2HCIalTBHYrV4y9UiPd9mo04i6WJ+i+3K01utd2Tl+hpoxHPnC6o1cgrxCTQ9F6A+Mn80jxQbaPa/EvHvW3Xt/p5INOOpLcTe+aTxwEYdrS0vDsmdxVSYa5mdq+Z8/4xw6p+VZwj00qzkAuFJ76Cts7FWrhnI6+a9xXBzI+f9pIe2/yOmSWRmKMQ6RHjpEnE0r5DwXsLMZCkHCFWL7Fn4rFSxPEwXIPxfBtKQmv68Jcof+uRGx+Qo09NAM9bH2jZ4V0TbJURk1DksErA8jCznUQ66V7FxKFJe/IDCLUrXnevPS5kUOZfsXxYP/A6ML/C08FxVPDANbHDP94khv1yeroNc4lm3pKkU/2lBUbZF+ARnfEbiWZ9/mdLlqlU5Yeo+y33EEZ/ayyI+mzJrkQb6RpZlVBWykU7jGKKmnPDt9ZcH5pqUyYsdc9XoUxp8H7uPjFJHIT8nYqk9iUDR01gfS0tkKVwtxXi2LaOn+3V77RXWYrOw9+iqvT61mELsVdJgLU7evT5m6IgQ6FK6LrzLctKT2GgXtH/WGeOn5pvG1/on1L3B2HzT0HlmYt22aJ7E69eSql2MrscTtkcohqIa8DqVmGzMv2/V9e8aOTu1j0X8HTYUVdbo7bfYMjxTt+S4zLfRnZykk5yAletfhLfo5a72vp72s903SQjMX7sLb9E3cmwTIezyZuVuc06Y0m+Vk9Jf5LfKmlBisKQCjEljfaL2/9TTrRriHn5ffha+qe+X5VBs461y7BXZOxXVd3hopW7/v5f2DC8tkaJyzr6Jk5YPrZRmLdq+UkpOWQygz/PJtIJTpj3VK9vfhYHSjYhneiVPWF5aFSpWN/nTeCEyLMceSGYOB9jK/As+S4r7ZGz+5Rtkad3uf05G7c6kKyoz4AQFoZzB5EXJzTiOk4Uge4mJmhS3k+4bMM5Ty6LLZE3TlHicXA1b+qbEET9trT5s3Xr4WWKxGXcgztwUvak2KWl5dzQajMrR+x29qBGfbf5he9NCOpqpStpUMShD+/6dCRMTd0JCJ5D3XzuGyLZiZT1rZsdvKhJytma1jiRJbYXjYJOfB6vdq4IbLnyA41MjKuYP8WOQcrSMUQUNIxJ6tKVvOEpKpYxhXZTWQG1Vs4Fpso+T5OylDGaLaXNs6KelJDrB8cd+dzJlZeJ0Y5ys01NDVxWVrsOpKlXeyFFVBleoIUHUhO6DS5lHYVb6FDzFot9LUyr0jYroS9Z1SVBNfSP1yJe2UjSFbAWJTHqelUtadG3qpbP1yp2BfszvIi1X9PEQqHWH+Lly6Up7BBZJ8tphbXkhMmFAFwjfuwTF7Y5ZHbpAorwmu/1nLhYqqyYeFZRHaiZuHMler7hWP5l/mSxXQpu55PNC5ndjmXWF49gcazLVpr6RyXD5liM6RVYliabpFzmBVlx85VyLS5jpRaW66B8MI0GJk5x9jlMr41pJnWZzftDIp9rmCcd51JWrIYWkYjv+DILoLPHRU6AygSTXz3LjZm2oheeIZlCnyP3+i/kmMo8U109j+XIl714NW5pgwFinWpIcnFeG+bTCAUJswRRK1kyJJv1FFScLUn5FWVVzNYVMVxgZtmUvkJNIML0XclohOU15dqg6uBBdXPts78rv/4keXJ8GGYf5VJck1PjlYf0UWTCbVyRYOAzPTsL1fMVYTxX76C0VxRF2sionybMDhVyUvDMnZJS9ApD6cydPyQRRbBlT86Jv8u5TxUJK2GbYBCsLW0tEEeZBh4oRsY0U14y5u0bKCyvZsGQHqHx/lXNZkkElq+mDDrl7Sy/gIgPqre9J7Ebkzdb2UfYUBYOE8oD55i83W01lvYyOtDncVI81khC+Si2fr2md69Go259kqlvPJmiHNSjP5DqzCMI5nLRH77sZ8fgINWGZoOUa4U6wXFmYW/o8L6eGdmQemUdaxBQsRylSh3mEEfEkYwFlJkv9RMznmPOnG7C4210PMKDfQssDGjQSo3JrESQRKTBUtkqFuTIVJqdqbW5TRQ4Dpe7zJzLfQpOr3jbZS3+TG25cfVXhzG9MPoaC1FZuHz9bUATRcNXp985cTBQbBunVpqpET0UdKZ0qV6ognj0ZtZV+qVpmyfKlUS1zA6UtkLyRrriV9vUrfLfXvTTfNeLLTi+4mJZeYPUDkChC9qYNrDAiyKcwiyMc/PZUfHUV+N3VdOEwn+/Y/ME8NmGycAmQRRB6DiCM2QpeI5+Gluc9arD1/DWL6ZW3iE2MZrbvJg4epLmalk2Mpcs6MnmWLnLmiKdoSqNqrjlzWTBUKoudSJ5Naoh6JmU9xEqfP6cVadB78McTnQuKqYgZih2X5d1bjwR+DQmFkCC4X1j8nQfPJRTxa8SFp4aABHCPwAn8Aype+aABkEffFu9w2L77jd9iyeSleoyl31Ne2Y/fK+n3eIiHsYoRUwOwmZ2xboOQigfXbkMK95Yfv1qCEZOB+tWU+4VrLwCj30IXIwJu/JqJ6rkc+B3fy4lxbo+Xcv6QF2eqnr+pfokmVZi9nqCJl7e9sPw5V7344O2/2/svz3mAovS2iOpRmNoe3mCGhRxNeiNxMUcBTXjJoEnxJkTiyOxPSqBcBSn5DCNeN86WMFTcj2rD/IrtJWwPWZhpx5IhGvLFWr8XlmGNMCys1Qr5JliEhEsELiWAkWfFMMAn0PU5UKwRXFoUEQofP5wl1kXg3gJB6FMLH0LgOQiXCun8iwmyW6ZE7/yImm9y4A1Vr0AwaEtsV9xvEia5ZWx9cVer5Ipx4ak4hfpVoGhiJXa5PtnupBSAfXGYUlarXAzyL8xWRmnMovYNdOdZU1SeoXzkZ2ckVRnz2XHNKpGzWYx8Z1eqcvfX5dksXqzayaDKoXiCaqAHii2bXoS36OfYCyocINz9KFuzOFslLgpvUXIeKw6iT+Ril0zj1z3j0rdagW56WDd1XNzS9B+0WqFGfLjKYwHM72jpm0KvIp4rA2u+X4auzGqWp1Kiz+z09jdMmaKpGIq0mlq35NpVihTvi0U4MDFr+ZZZeHB3GLD2FLqcZpwyEWsBs5w0n66HZ5B/KzN5cdN4oyqwqWe8KS+6gqRLU79FuOnyzw6Lys3lGSjdZy7oSylHWArTIYpsWlTrQyjTOASLpEkYwCtxQTIPlach0EA8HGxh6s6YaEXj/BzuFkv21q3hBw7aI7L9/CTWvL6Wx7z3neNnLYXU6GkV5PNDlIPesqbt3kM+bZjyM8ilS1/fYqCqDiqHGv9nstS5oTAotnwyC/CypZGv5puvrw3BR+Khf9XAMMgiuM9qIsdgy4swM7NWMP457dEwCMXuysgcldZbZnPyax+kp52ZnspAUVlmU68sayl0VCuItwJu8oOFG/GQVHUbhl2lNsW9x1ae8qcACnMzs5jzXQ7vLlVaIp1uxP5DfNX2Qgyw7Tvsv4Y4eHjMPLfr8WRwxW//MWveHv1X+dGYchX5qZjE0m0joaoj0xCoGRK2r4pFwLDwFNRNczHSQ7BDQoNl0mDHiKLcq0PT+HB56s6mPP3Yn7eYja+Vs+120VVP07PMXm1P/7B6fk2FO6aB4kf1s1n7DJfrZvE5JZU8s4r8mZBMojunVpW0+IcJZDe3XHHK61pAeiXoqF4tK4CPVok+FY2Lb13Fp/bVk6RVO7ffOO007yidCUcpfRwAVjjgp3Wpu+MS6DD381l+kTDiL8hwVT49VPClTtfKediW4pr8L/9thEn3asj3n+ejwVXaaUvjz64rP5cAJYp/3AKR5RwbLiG9XQOMarlR8I9lnIJ4s51HWOzAd1yeq28vkH0HgQ8FQwKBbyMYDZOIocsDPcgiyMl75wyA6vX4Uod6IMkjlZqp8Wcq4V0Ljv+90eCB1PjBrEL3FZez/2DAKjJZQOxKjzA5XXwa6FRU17aR2wKAFdW1mnQ8Zn3/UGFcK0xr7SVWGZqLYImai8cVwuxHI12G8Jr5XAyN0ntNvaU1z5607Fz2ppPBIE0kyQCnd9V+3xU5JieSJ8RoJTFmdyn23IpGEQiXSd8kPeSuCUg/i4M9irUnmFTWL2PEpthUd6+BpkpFP4FjvkuyKdtV8P3ByrIR26WabhAPiIO3rqDKD8biW1fUXSKHfy4nkchWaaxdC/ggcwnjUti9M2H134v9YJI2nnNNSjITiVPPERtv+UzJiXSr301G8aAqxSSSp6okJYHITik8b/xOYN8h/LuNX5AvjP9s0LnoVqmH2FZhRK35y9f4qDtpv5d/fistfd7HnA1jhoNl1Sh4Gl6BzjdBg61rllpz5XSAXmDleUsqSTJ8Vl+5bBuuPc+hI83zVWfEZ5icB7izcH2r/N6s5Dhe95m+xGer0su+5VFanpeSbtX1+jaJixP65N7MwT+XNjaXro0DEsyoaQdL/gAq/5bURnwdSj+ODhqKhVrsVZYR2a8DQjG0gPB+ZnXtL+T0L0Q7BP34EPSTRgQxB4TilIVc/qCmb2QuYllV5gwzTBAHdTPXd2Bpp9zOAgx8irZlzrNKS1ssUn7hL9f5p3/cfK+Vfoq0qHj7O9ODVuo1JmSjOEXOQPw52rLs2C/WFzahtp8mzL1cg1LW8lAUL2mZP32TG0K0NdRZppfg5F4k5YeH0m8uvRwsM1GloMYllPBWkk5u9eOlcvGX10eMPXjpVjcQ4MA/1XS9EkpTOOISGYSxuoihoYdVgKlcImiFvi22NOLLT4LcKMxSPeXPFSjeLZdyOCo37GWpVWJv2pDzwe/uMn8YZVcGUqjIw412qukn0UF6t2/dTTZIBZ9e/6r82fx0ZPyvm+8rSg31z9P0tVd9I0k2ErfyD9j/P/vSelOqfNVw98HjIuT++Ye/7ZxDIYW8fTCMWYCXFoWDzcYcoVVAXBrgxyg63WzMiTWP/uwSkEYvVirz+6Z24KCW/h8FWNbTMviuxb8RpDrn435jWrOWizCIpVeUavUlGem1W1Wrr3C/cD0EGFmOmJGclXoxWGQ2oAzZOe8t5i4qB/NUa6uSpGRXKuhJ05V7eEEqi2R0NWYlHK28KM3vAbBNBk9DMexyywzk02hMAe2FI1B3LIoah3p9ERDKAKNxCIRamHaUrUXkQrYeoPFAAv/SrLaDMPKdCrLZ5wNHfO+AnAK3qUbGueSdy8F18ukLkT/C3NuOF4RORfD4v5cNEm5s6ngd/OFW4SkM/atwel+eJH7+hyFb4i7/eTBNkQFISl/gS/CK73CKy7fsp+b5lCBMIGfZtsqlycotYK0CVks1yjJSAXaChOoyFYDmULtURYRii0N3cp9RHe34jCpzJpIv/zioHeNuWClJ4VCML3rDJNreuey2+9fDZAsgKvTG048fzti2pnBhQy991Vd8QihJ2v744ezwcKuqx7c1efTn44czcFxCccCz3vlhmqIHRTJYFgpj1fnJWH8wmZ4Prvv5RNHz68vLNJdh1P0/171R96yVnn6mMKEQSbTloFGMIrlCkXuCh08ociCUHkdJYEXJDRPYrnuXVbJXX7zkB5XIgXngOchPgtgYJV9c1nbGRNULUgP17yk5tbTlQ3U5PzuOifKPeqpnvvBxJst3YtUEl+Q17hBmofR9Vox+CzHKMAZq+01DVKsFa4Sx66D4+02dwJ+58ywaIG43SR+k5p/WZ4Am/jTt2dx0mj8eTfkNnKmPmNfNaLASTf7Y8qZALL68b1H46afu4BzevVNUcSxqkSDENjrl1Tmqnmaxs9XKe2SdMt7jjk/j07Tu4JwN8BX7+/8FAAD//5GUOwmlgAAA + H4sIAAAAAAAC/+x9/3fbtpLvz6u/YsqwsZSYlO323u3zrbJVZSXRsy3pSXK6+xJXhyYhiTVFqgAo21H4/vZ3APALSIKSbKe33Xv23nOSRgAGg8HgM4PBAHzxTfPG9Zs3FlnUap3OdNwdfeh1utNefzq5HLaawYo2rc8hRk078Knl+giTpm0bKxzcP5gE4bVrI9P1edtB57w72bdpYN8iylv2e9POoP+292561hu1tCaidtP23aaPqOlovPznXj8uZFRZ4Y3ra7UXk8HZAFah5wFduASCkEIwAztYrgIfUZ+Yv5HABxoE/8HJnA1+6V8M2mfjAjEnuPO9wHKIVuuMep3JRVpTrohdm3qKuhlzIcFNL7AtT7DXGfQn7V6/OzpT95yIxZGJjq76HWV1HPq2XPH8h7Gy3m14g7CPKCLF2sNR70N70p0O253z9rvueNppd953dzRtrrC7tigyVpZ9a81RTGvUfdcbT0b/NR11h4OWFhDCxmxhFxGJjFa7+vmqP7majroX3fa429LrHrmZYuQhiyAwMBikURuMW3rdnYFHgE/+KyOpcPwGmg5aN302xSdvXh7/A+gC+UACTFnrQvUvMLfubuFgaVF7UdePDqH5a713Nr3onXdbdTvAKCCNL72zVt181WjozUOwGrCBFXZ9CjQIVyuE69bHk2uwPn533fgHoHuXQnTwD5i5jdq427kadaeTi/H058FgMp6M2sPp+dXP3YvuZNr9z25nOry4eseUoaw8YiFQj9wEASUUWyttf3ofuqNxb9Bvaesj89g8MixvtbDME6026V50h4PR5GxLzxR5aBVg6uQ1t3vW7U967YvpcDT40DvrjtQqjxzkU9fyVjhYuw7Cu4hka2Ft4abn3nBl8JBMy0iIKQZQuZYu2/3e2+54Mn3bu+gO25P3OcEuLd+dIUL5emcL73I46Hf7k7G6egwQPiVxgw/vz6YXg3cV1dcLx3B9Qi3PM1lTD1HEOZqe/TxtX00G06vhGVtYby/a72QSiQyWlm84N00rpIERrhyLNe9cjS6mg6vJ8GrSatLlqmmH2JuuEb4JCDKDkCZLZzCe9tuX3ZYm/s06HjFQyQriH7RaZ3g1bY8671uaVnOQ7VkYgWHBL+3x5fh973LYOxu36g25aDzs9ZnKJUU1gmhneNXG9qLegE0NACClqtfnaWmjFtVqGC2DNbq0/LObdkiDKz60t541f+t6KG2Pl2DMQN8lL0bQxsiiOwnSILQXexL0kOWHq04KtWceI0VyzOEZ6FVYzYjEc58R+cWli06qQ/+bBH5KLyAtfZOfuYgXuDP4+BGMz6DpeUzU4PpawBqvlxIZjCPpB6YZxA38lmaHGCOfarwQeQQpa6VMxL1Eov7M5X/xPzL7MxTQ3tLrv/0OmjlMkB40XbGUNPgCvN7Ha/gCBHnIpnXTt5YIWi34pGV0P2kNrQFfvggc1buj0VSScwxr017/Q/uid8Z5ik1TUsZ1MpaeSy4tzMgOcJstywvXD+9B44LS4OVLJl5N3/TG0/P2pB1pjBmN4hBVCThZR6x6fq5iKYmlGkvjg5AsYX2UJBcxUW0CkvydzEMsdf7Hi0x/DgisE3IWxtYDuATQ/QrZFDlAA1hYawSB7z1A4CNAHloin5qCTG8GLoWFRWAZYAR0YflyrUO4Q3Dneh7EastGDp5FaFIDXJ//xns2JeXUNy+K8v/403UExpzCcVmIyF4EoP3SHvV7/XenkjpB7CoUB1nJswk9wavrz3ewm1PjHWyj3+GIaZ++KZUfXUdcP34cn/eGb7SqwfX6bwf7jIxNn0sXCANarugDBJizPHOxPA4CojsTxrfuasUGK5GOp8uibuDHw+QAhWiIfTiSx917O27pB5/8A+4IIaegoq26Xhce0gf48ccfNcX4X11HWkMsrdAniDKS/F98PFPifkYtffNCSZ4Jl9dlsq/XsxbGcaMBhkfhCK6v2Ypk0zh1fQfdt/hESP8uNeQUV7meWvpGzYC+yShFMTOZJC+t3wJ86foBHjI/8EMKiXUxqXq+FwZndkjBcAwwZscNrUDufUDfuvePokLAmJ3EhJiOCtjfxaEG10xIH/eqypSXecXKRjmWc3WVWu76a8tzHVkZY/0+heIws6b7Qnqss14wJ1MaTNGa2UzQ2udjszPumkXjOgp96i5R8vuYWr5jeYGPMvjUGMuVpSDjs1p8Ua5OTloxYieCgQr2wIDysKEF+iYvr0irVXoQl7HTmvMfuMsrzURiSSRdmoGml9zh8txupZRXccltYB6AgcHMCk3kzJGyy0amDZwzhdPBde/4B/Po+zKDu3g4kJlYub6PHFM7/uHoe+1gFzuxzuW8o2pzFfcMfkBhFoQ+w2JIthSH4KCZFXqU2yZmmrFjBw7jRVZvaSArpmnycGLAKI91F/RMMVq7j6SyDXfyrCmho1hlK86k/D0BYySIUQxpO8z0+uNJ++JiOulddgdXkz8fZvJSy8NLKqRnQ0tlf5oKY2JyKbLs0S/bCY763Ul3nOu3/HOkSf6Xpm/63e7ZWJqhSINvqr3vmIHL4OYBiu6cgDflroO7FL/9DgfpBkW5AZH2H1rjAH4EFTWQAktKfY27KGxnmDoSShg+qKhKbtsee8bav/2bcO5kGWzt3QkQ4SjF2djBxU6bIylNH9G7AN8OvXDuZrZImt7JL4PReRykYagOGg+NVE8u36J1+r3c/MYc9XvwAqMZwsi3Eax4p8SEy4BQ7wFmAYbb8Ab5iMJNSMELgtWNZd/GFZkbHRLkwM2DjOFMh2VrByf57X0x+gsvgY0/CWd10ujUMA5OZeGPbbGyq9EF22vvqnPayq0Yw4c9GkUK6doYpSA5nQV4GmCLtFLjsIskMxVzjFZgBEM4WH9yXtc/mZ+c141XB3wlOXBAmr+um032zwWyHMbqcSOZRNlDYYwkgbxpiL2WfpIfoV6qUh7OTtmWieR4Wd46LgZjBfquiKaon8VZh6MBWy8ZZmUR7XF39KE7YtP6iOrKGX5Ee9VkZ5IWqpnJIVFbJpBMDR7ZY1PflCL5kQh5GpaNDUXE9nStb5QqGBme64f3hr5JooWRtnWWJ+/+Lz8m2mMdvHjxqhlp8AKuCIIbiyzgJnSZPwYv5F0yfrCXznSO6JRa+MbyvOkMB8spRnOXUPwwvXPpgvMKxydH8Lddq+WsN2rqWzjnkZ695ybS8mGwwag9ng6vLi6mbAretnsXxQ1/7MDywNcoHsMV9vYDjkpFSt3SrwQZBYzYOdtbtausQ0Ze3SKTWticf9b+7HnfA7ofN905VPuD18s+E79LCmCaJuzWnVrVHH2tudjJQiH6vK22vJsQMsq8AkjcAkiWN3KAhLaNCJmFnveQc8GrnYld25NSS7PaQ9Ggukyck1gYjPvPs73EvNki50gDo7OHjc2Z5ApNjU/4YvNgL4I7H4wR4CCgp+yP/dot1zuXIau83Zppu/pqVjWMeV8GDvz73/72PDKJi7p7NLLDOkZ2iNHkYvxzcqB8Lg5au/fILvjxAv6F+8xdNW1B6YqcNpu3P5D47JyYN15wY9oBRuad6zvBHTF9RJvWLTGoR4z03NqwPRf5tKlvHnt+HTU5vjetpfP375sqorIHpddd0h5d/v37BtvUKY4f/jrjwcut4yk7q0/KJKhJg059jJVFF8wmPIliVMF0thn/RmzHVb2WAz0pzruz6cxyvRAj+I6h/N+PwGbuvzEbX4ARVBJMfw+xVzCgKdt7D1RG80qkeZLYNIkmQwBjFIPAM6jNXLa47yyy5MfTXba/r44Js3rTmeshPv365jiS6pGFu8zcvM2JXJa47SSczdz7lr75rtiSW6dkXlp1Td/8dPp9pDVA3vzxTJ8HRYhzI3fOnCCgGEww4pgk29qzGuD6SeVcfx9/uma+qxPk48qxFm6qJBBJqVQGI2oI2sx9zLPKfsnLIFLHpWMn/BiKIWUn8JHkITBXhvECjBcSx2XYMB/D7au9+KzJp4GgPlWwyHLMhFpvyJqTLjP2TyrUIlaZ5GAwv+nenEQgWw4RjUqYI7FafMfVIj3fZqNOIulifovtytNbrXdk5foaaMRz5wuqNXIK8RE0PRegPjJ/MI8UG2j2vxLx1626dndHJJrx1BZi73zSeGCjjtaWF4fkzmIqzLXMzlVzvn9GOPXPyjMEemlWcoHwpHfQ1tlYK9cM5HXzzmK4uZHzftJD23+JaRKZGQqxDhFeukQczSskvJcwM1nKAULVInsSPitVLA/TBQj/p4E0pKY/b4nyhz650TE5yvQ00Iz1sbYN3hXRdgkRGXUOiwQsDyPLeZCD7lVsHIqUFz+gcIPSdef681ImRc4l+6fFA78B4zM8LjxXFQ9MAxvc831kyC+Xp+sgl3jWDWkqxX9aUJRtET7BGZ+ReNbnn6d0uWpVTpi6z3IfccSn9ryIz6bMWqSBvpFlGVWFbKTTOIaoKSd8e/35nrkmZfJix1w1+pQG38fuI6PUUcjPiVhqjyJQ9DTWx9ISWQpXSzGebcvo8X7dXnuFtdgs7D26aq9PLaYQe5U0WIuTNy+PGToiBLqUrgtvspz0JDbaBe3XOmP81HzV+FL/iLrXGJuvGjrPTKzbFs2TePlSUrXz0dV4wvYIxVBUA16mEpON+etWXf+mkbNT+1jEP2BDUWWNvvsaW4Yn6pYcl/k6upOTdJITsHL98/AGPd/V3tfTfrL7JgmB+Wu34Q36So5tIoRd3qzcbc4JU/qtclL6s/xWWRNKDJZUgDFprE/U/p96ulVD3MPvy8/CV/X9shyKbbxVjr0ie6ei+g4PrdTt/3hpT/DSEikq5+yrOGn50Epp1qLtK6XklMUA+jSfTCs4ZdpjvbL9XRgo3Yh4olfyiOWlVaFidZO/jBciw3LsgWTmcICtzL/gs6S4T8bmX75Bltbt/udk1O5MuqIyA05QEMoZTF6U3IzjOFkIspeYqElxO+m+AeM8tSy6TNY0TYnHyeWwpW9KHPHT1urD1q2HnyUWm3EH4sxN0Ztqk5KWd0ejwagcvd/Rixrx2eYftjctpKOZqqRNFYMytO/fmTAxcSckdAJ5/7VjiGwrVtazZnb8piIhZ2tW60iS1FY4Djb5ebDavSq44cIHOD41omL+ED8GKUfLGFXQMCKhR1v6hqOkVMoY1kVpDdRWNRuYJvs4Sc5eymC2mDbHhn5aSqITHH/odydTViZON8bJOj01dFVR6TqcqlLljRxVZXCFGhJETejeu5R5FGalT8FTLPq9NKVC36iIPmddlwTV1DdSj3xpK0VTyFaQyKTnWbmkRdemXjpbL9wZ6Mf8LtJyRR8OgVq3iJ8rl660R2CRJK8d1pYXIhMGdIHwnUtQ3O6Y1aELJMprstt/5mKhsmriUUF5pGbixpHs9Ypr9ZP558lyJbSZSz4vZH43lllXOI7NsSZTbeobmQyXbzmiU2RVkmiafpETaMXFV861uISZXlSqi/7BMBKUOMnZ5zi1Mq6V1Gk25weNfKptnnCcR125GlJIKrbjzyCIzhIfPQUqE0hy/Sw3btaGWniOaAZ1itzvb81XkXmkuH4ay5crefdy2NIEA8Y61ZLk4LwyzKcVDhBiC6ZQsmZKNOkvqjhZkPIryqqaqylkusLIsC17gZxEgum9kNMKyWnKs0PVwYXo4spne1d+/0/04Po0yDjMp7okocbP9+vHyILZvCLBwmF4dhKu5yvGeqrYR2+pKI6wk1U5SZ4dKOSi5J05IaPsFYDUnzt5TCaIYsuYmhd9k3efKhZSwjbDJlhZ2FoiijAPOlSMiG2kuGbM3TVSXljJhiU7QOX7q5zLkgwqWU0fdMjdW3oGFxlQb31PYjcib7a2j7KnKBgklAfMN3+52Woq62V0pM3hpnqskYTwVWr5dE3rXI1G3f4kU916NkE7rEF5JteZRRDO4aQ9etfNiMdHqAnLBC3XCHeC5crC3NLneTk1tCPzyDzSIqZgOUqROswjjIgnGQsoM1nqJ2I+x5w/3YDF3e56gAH9Hloe0KCRGJUbiyCJSIGhslUqzJWpMDlVa3ObKnIYKHWfP5H5Gppc9bbJXvqb3HDj6qsKZ35l8jEUpLZy+/jZgiKIhqtOv3fmYqLYMEivNlUleirqSOlUuVIF8ezJqK30S9UyS5YvjWqZGyhtgeSNdMWttC9f4Ju97qX5rhFfdnrGxbT0AqsfgEQRsjdtYIURQT6FWRzh4Len4qurwO+upguH+XzH5vfmsQmThUuALILQcwBhzFbwGvk0tDzvQYOt569ZTK+8RWxiNLN9N3HwIM3VtGxiLF3WkcmzdJEzRzxFUxpVc82Zy4KhUlnsRPJsUkPUMynrIVb6/DmtSIPegz+e6FxQTEXMUOy4LO/OeiDwW0gohATB3cLi7zx4LqGIXyMuPDUEJIA7BE7gH1DxygcNgDz4tniHw/bdr/wWSyYv1WMs/Z7yyn78Xkm/x0M8jFWMmBqAzeyMdROEVDy4dhNSuLP8+NUSjJgM1K+m3C1cewEY/R66GBFw49dMVM/lwB/4Xk6Mc3u8lPOnvDhT9fxN9Us0qcLs9QRNvLztheXPuerFB2//3d5/ecoDFKW3RVSPwtT28AYzLORo0huJizkKaMJLBk2KNyESR2Z/UgLlKkjJZxjxunG2hKHiflQb5hdsL2F7yMJMO5YM0ZAv1vqdsAxrhGFhrVbIN8EiJFwicCkBjDwrhgE+ga7PgWKN4MKiiFD48P4ssS4C9xYIQp9a+BACz0G4VEjnn02Q3TIleudH1HyVA2+oegWCQVtiu+J+kzDJDWPrs7taJVeMC0/FKdSvAkUTK7HL9cl2J6UA7LPDlLJa5WKQ3zJbGaUxi9pX0J0nTVF5hvKRn52RVGXMZ8c1q0TOZjHynV2pyt1fl2ezeLFqJ4Mqh+IRqoHuKbZseh7eoJ9jL6hwgHD7g2zN4myVuCi8Qcl5rDiIPpGLXTKNX/eMS7/TCnTTw7qp4+KWpn+v1Qo14sNVHgtgfkdL3xR6FfFcGVjz/TJ0ZVazPJUSfWant79hyhRNxVCk1dS6JdeuUqR4XyzCgYlZy7fMwoO7w4C1x9DlNOOUiVgLmOWk+XQ9PIP8W5nJi5vGK1WBTT3jVXnRFSRdmvotwk2Xf3ZYVG4uz0DpPnNBX0o5wlKYDlFk06JaH0KZxiFYJE3CAF6JC5J5qDwNgQbi4WALU3fGRCsa5+dwt1iyt24NP3DQHpHtpyex5vW1POa97xw/aSmkRk+rIJ8fohz0ljVt9x7yccOUn0EuXfr6GgNVdVA51Pg/k6XODYVBseWTWYCXLY18MV99eWkIPhIP/YsGhkEWwV1WEzkGW16EmZm1gvFPaY+GQSh2V0bmqLS+YzYnv/ZBetqZ6akMFJVlNvXKspZCR7WCeCvgJj9YuBYPSVW3YdhValPce2zlKX8KoDA3M4s53+Xw7lKlJdLpRuw/xFdtz8UA277D/muIg/uHzHO7Gk8Gl/z2H7Pm7dF/lR+NKVeRn4pJLN02Eqo6Mg2BmiFh+6pYBAwLT0HdNBcjPQQ7JDRYJg12jCjKvTo0jQ+Xp+5sytOP/XmL2fhaOdtuF131ND3J7NX29A+r59dUuGMaKH5UP5u1z3C5bhafU1LJM6vInwnJJLpzalVJi3+aQHZzyxWnvK4FpFeCjurVsgL4aJXoU9G4+NZVfGpfPUlatXP7ldNO847SmXCU0scBYIUDflqXujsugQ5zP5/kF7H/yfOVssdxqVxXxK9SdXhIHcDRRaluuaPchw4m3csh30y+HQ0u045bGn9DXfntgzLFP0/bq4QWWySxx9k12KiWGxH/CsYpiMfYeejEDnzH5Un49gLZtxD4ULAQEPg2gtEwCQW6PIKDLIKcvNvNkKVej29rqAeVvD6pmRp/fxLetOD43xsNHiGNX8IqdF9x6/pPRqIikwUornT1kmPDx6FJRXVtG7ktyFZRXatJ517W6/sKq1lhM2vPMbfQXARL1Fw8rBBmPxrpkoSXzJmaIx/hKlgonMxXahF/FLK0oyxVVIaui2vCJWBV7RldmiIjW2FsPCVkLOb8l7go77tD7LEtH7pvHSTnYh9/bV6/lpFs/fHI+F/Xrz+Zyd/m6+xAzHx9UDBHhq9SZaW9KF7KWlfolsJmKbpo/T/Q0/FUG6jkXQO+wV1hNHPvFcJ68UqSQFS2KKX7ZBsF3W+/bb5StBWz3xXIgOTHrvNUge3Ii8h5ClUTW40RKuV4/kt9hdDDafnqWsVlELGXYbqc3hfsLa159lRs56I3nQwGaYJWxlnvsv2uK3K3TqQdBqOVnN24SxHLUjSKQGxF9E3SQ+76jfSzODCnWHuEq8r6ZYzYFJvq7jXQVFc8TuCYRx9synbrfN+9smwEtz8Q0w3iAfGlryuo8gPn+DYjdZfI4Z+hSiSyVRpr1wI+yNxFDOk4qzNh9d+JOEtyHSPn8pdkJhISnyI23vKJkhNpjH+YjOJBVYpJJCVWSUrC251SeNr4ncC+RfgPG78gXxj/2aBz3q1SD7HEMaLW/PlrfNSdtN/JP38nLX3ex5wNg6NlxSh4emuBzldBg61rllpz5XSAXmDlaUsqSd59Ul+5LDauPU+hI83zZWfEZ5i8DXBn4fpW+R1nycJc9Zm+xDkL0ovZ5VFanpeSbtX1+jaJi8yX5D7awa9LG5tL18YBCWbUtIMlf1iYf6NtI766ph9HBw3FQi32KsuI7NcBoRhaQHg/s7r2LTn9lmiHoB8fgn7SiCDmgFCcspDLy9X0jcxFLKvKXHyGCeIAfOb6DiztlNtZgIFP0bYbKazS0haLlF+kzXX+8afr11rpp0iLiq8qZHrQSjdtCdkoTj01EH/muSw79ov1mU2o7aeJqM/XoJS1PBTFS1rmT9/khhBtPUIo00twci+S8oNe6bfMng+WmahSUOMSSngrSSe3+vFSufjL6yPGHrx0qxsIcOCfQLtaCaUpHB2LzNxYXcTQ0P0qwFQuEbRC3xYRBfFFNUFuFGYp1PJnQBTfA5ByoyoDYWWpVWJv2pDzwe/Es+0oyq7ipFCRhxvtVNNPooP0zuy6m2wYC9se/Yvy53gXVlFqqH+epq8o6xtJspF47eKA/f+TL603pcpXDXcfPC5C7l9/+NvODxVSyNsHw5gFeGlRONhszBFaBcSlAX6IotPNxpxY8+ivLgFp9GKlMr9vagcOaun/UYBlPS2Db1r821uq83PuN6Y1a7kAn1h6RalWXz6TXpFWtfoCdwvXQ4CR5YgZyVmpZ4NFZgPKkJ3z3mLuonIEQLW2KklKdqWCnjRduQdNpLJIRldjVsLRygcI+P0atsng6V2GXW6ZgXwaDC2gvXAE6o5FUeNQry8CQhlgNA6BUAvTjrK1CBzK1gM0HsfjX3DWdhBGvlNBNvss54jvHZBT4DbVyPiORudicJV8UkbkZTH3tuMFoVNxKPPfywYJNzZ1vA7+dKvwGIb+WTi9L08SP/9iyJa4y38dTFNk1pLSly0TvOI7nOLyLfupeT4lCBPIWbatcmmycgtYq4DVUo2yjFSAnSChukwFoDnULlURJyHFoTu5zxOPdnyemDkTyRe1HNSOcTeslKRwKMbnvWESw+5cdNv9q2GyBRAVeuPph/dnbFtTuAill76WLT7NlVyG+PD+7PBwq6rHt6B59OfD+zNwXEJxwG+T8ENqRQ+KJMssFMaq8xB6fzCZvh1c9fMJ2G+vLi7SHKFR9/9c9Ubds1aaVZDChEIk0ZYDfDGK5CQm97QVn1DkQCg9OpTAipIbJrBd95mrZK++0MwTAJAD88BzkJ8EsTFKvmSu7YyJqhekBurfU3JqacvJKvK9hzgmyj+Wq575wkfPLN+JVRNckte4Q5iF0nePMfo9xCjDGKjtNw1RrRasEcaug+LvonUCf+bOs2iAuDUofegdUbtpM0ATf5r2bG46zR+Opvxm29RHzOtmNFiJJn/EfFMgFj+KYVH48cfu4C28eaOo4ljUIkGIbXTKq3NUPc1iZ6uV98A6ZbzHHZ/Gh9ndwVs2wBfs7/8fAAD//32TM1T9gwAA - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/CustomData b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/CustomData index 44cc552e7e4..970d8c165b1 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/CustomData b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/CustomData index 05d282494bd..8008775d57b 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/CustomData b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/CustomData index 423e3dd6092..473324aad58 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/CustomData b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/CustomData index 423e3dd6092..473324aad58 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/CustomData b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/CustomData index 423e3dd6092..473324aad58 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/CustomData b/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/CustomData index e612c840f37..15e3f030ebb 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/CustomData b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/CustomData index 44cc552e7e4..970d8c165b1 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/CustomData b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/CustomData index 6a987a58049..7ba50e334b1 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/+x9/3fbNrLvz1d/xZThxlJqUrbT3dvnrXJXleVEz7akJ8npvS/x6tAkJLGmSBUAZTsK//d3APALSIKSbKfb3nve7jlJIwCDwWDwmcFgAL76rnnr+s1biyxqtU5nOu6OPvY63WmvP51cDVvNYEWb1pcQo6Yd+NRyfYRJ07aNFQ4eHk2C8Nq1ken6vO2gc9Gd7Ns0sO8Q5S37vWln0D/vvZ+e9UYtrYmo3bR9t+kjajoaL/+5148LGVVWeOv6Wu3VZHA2gFXoeUAXLoEgpBDMwA6Wq8BH1CfmryTwgQbBf3AyZ4Nf+peD9tm4QMwJ7n0vsByi1TqjXmdymdaUK2LXpp6ibsZcSHDTC2zLE+x1Bv1Ju9fvjs7UPSdicWSio+t+R1kdh74tV7z4caysdxfeIuwjikix9nDU+9iedKfDduei/b47nnbanQ/dHU2bK+yuLYqMlWXfWXMU0xp13/fGk9F/TUfd4aClBYSwMVvYRUQio9Wuf77uT66no+5ltz3utvS6R26nGHnIIggMDAZp1Abjll53Z+AR4JP/xkgqHL+DpoPWTZ9N8cm718d/B7pAPpAAU9a6UP0rzK37OzhYWtRe1PWjQ2j+s947m172Lrqtuh1gFJDG195Zq26+aTT05iFYDdjACrs+BRqEqxXCdevTyQ1Yn97eNP4O6MGlEB38HWZuozbudq5H3enkcjz9eTCYjCej9nB6cf1z97I7mXb/s9uZDi+v3zNlKCuPWAjUI7dBQAnF1krbn97H7mjcG/Rb2vrIPDaPDMtbLSzzRKtNupfd4WA0OdvSM0UeWgWYOnnN7Z51+5Ne+3I6HA0+9s66I7XKIwf51LW8FQ7WroPwLiLZWlhbuOm5t1wZPCTTMhJiigFUrqWrdr933h1Ppue9y+6wPfmQE+zS8t0ZIpSvd7bwroaDfrc/GaurxwDhUxI3+PjhbHo5eF9Rfb1wDNcn1PI8kzX1EEWco+nZz9P29WQwvR6esYV1ftl+L5NIZLC0fMO5bVohDYxw5Viseed6dDkdXE+G15NWky5XTTvE3nSN8G1AkBmENFk6g/G0377qtjTxb9bxiIFKVhD/oNU6w+tpe9T50NK0moNsz8IIDAt+aY+vxh96V8Pe2bhVb8hF42Gvz1QuKaoRRDvD6za2F/UGbGoAAClVvT5PSxu1qFbDaBms0ZXln922Qxpc86Gde9b83PVQ2h4vwZiBvktejKCNkUV3EqRBaC/2JOghyw9XnRRqzzxGiuSYwzPQq7CaEYnnPiPyi0sXnVSH/jcJ/JReQFr6Jj9zES9wZ/DpExhfQNPzmKjBzY2ANV4vJTIYR9IPTDOIG/gtzQ4xRj7VeCHyCFLWSpmIe4lE/ZnL/+J/ZPZnKKC9pdd//Q00c5ggPWi6Yilp8BV4vU838BUI8pBN66ZvLRG0WvBZy+h+1hpaA75+FTiqd0ejqSTnGNamvf7H9mXvjPMUm6akjOtkLD2XXFmYkR3gNluWl64fPoDGBaXB69dMvJq+6Y2nF+1JO9IYMxrFIaoScLKOWPX8XMVSEks1lsZHIVnC+ihJLmKi2gQk+TuZh1jq/I9Xmf4cEFgn5CyMrUdwCaCHFbIpcoAGsLDWCALfe4TAR4A8tEQ+NQWZ3gxcCguLwDLACOjC8uVah3CP4N71PIjVlo0cPIvQpAa4Pv+N92xKyqlvXhXl/+kfNxEYcwrHZSEiexGA9kt71O/1359K6gSxq1AcZCXPJvQEr64/38FuTo13sI1+gyOmffqmVH50E3H9+Gl80Ru+06oG1+ufD/YZGZs+ly4QBrRc0UcIMGd55mJ5HAREdyaM79zVig1WIh1Pl0XdwI+HyQEK0RD7cCSPu3c+bukHn/0D7gghp6CirbpeFx7SR/jpp580xfjf3ERaQyyt0CeIMpL8X3w8U+J+QS1980pJngmX12Wyr9ezFsZxowGGR+EIbm7YimTTOHV9Bz20+ERI/y415BRXuZ5a+kbNgL7JKEUxM5kkr6xfA3zl+gEeMj/wYwqJdTGper4XBmd2SMFwDDBmxw2tQO5DQM/dhydRIWDMTmJCTEcF7O/iUIMbJqRPe1Vlysu8YmWjHMu5ukotd/215bmOrIyxfp9CcZhZ030hPdZZL5iTKQ2maM1sJmjti7HZGXfNonEdhT51lyj5fUwt37G8wEcZfGqM5cpSkPFZLb4oVycnrRixE8FABXtgQHnY0AJ9k5dXpNUqPYir2GnN+Q/c5ZVmIrEkki7NQNNL7nB5brdSyqu45DYwD8DAYGaFJnLmSNllI9MGzpnC6eC6d/yjefRDmcFdPBzITKxc30eOqR3/ePSDdrCLnVjnct5RtbmKewY/oDALQp9hMSRbikNw0MwKPcptEzPN2LEDh/Eiq7c0kBXTNHk4MWCUx7oLeqYYrd0nUtmGO3nWlNBRrLIVZ1L+noExEsQohrQdZnr98aR9eTmd9K66g+vJHw8zeanl4SUV0ouhpbI/TYUxMbkUWfbol+0ER/3upDvO9Vv+OdIk/0vTN/1u92wszVCkwXfV3nfMwFVw+whFd07Am3LXwV2KX3+Dg3SDotyASPsPrXEAP4GKGkiBJaW+xl0UtjNMHQklDB9UVCW3bY89Y+3f/k04d7IMtvbuBIhwlOJs7OBip82RlKaP6H2A74ZeOHczWyRN7+SXwegiDtIwVAeNh0aqJ5dv0Tr9Xm5+Y476PXiF0Qxh5NsIVrxTYsJVQKj3CLMAw114i3xE4Tak4AXB6tay7+KKzI0OCXLg9lHGcKbDsrWDk/z2vhj9hdfAxp+EszppdGoYB6ey8Me2WNn16JLttXfVOW3lVozhwx6NIoV0bYxSkJzOAjwNsEVaqXHYRZKZijlGKzCCIRysPzvf1z+bn53vG28O+Epy4IA0/7luNtk/F8hyGKvHjWQSZQ+FMZIE8qYh9lr6SX6EeqlKeTg7ZVsmkuNleee4GIwV6LsimqJ+FmcdjgZsvWSYlUW0x93Rx+6ITesTqitn+AntVZOdSVqoZiaHRG2ZQDI1eGKPTX1TiuRHIuRpWDY2FBHb07W+UapgZHiuHz4Y+iaJFkba1lmevP+//Jhoj3Xw6tWbZqTBK7gmCG4tsoDb0GX+GLySd8n40V460zmiU2rhW8vzpjMcLKcYzV1C8eP03qULziscnxzBX3etlrPeqKlv4ZxHevaem0jLh8EGo/Z4Ory+vJyyKThv9y6LG/7YgeWBr1E8hmvs7QcclYqUuqXfCDIKGLFztrdqV1mHjLy6RSa1sDn/ov3R874HdD9tunOo9juvl30mfpcUwDRN2K07tao5+lZzsZOFQvR5W215NyFklHkFkLgFkCxv5AAJbRsRMgs97zHnglc7E7u2J6WWZrWHokF1mTgnsTAYD19me4l5s0XOkQZGZw8bmzPJFZoan/DF5sFeBPc+GCPAQUBP2R/7tVuudy5DVnm7NdN29dWsahjzvgwc+Pe//vVlZBIXdfdoZId1jOwQo8nl+OfkQPlCHLR2H5Bd8OMF/Av3mbtq2oLSFTltNu9+JPHZOTFvveDWtAOMzHvXd4J7YvqINq07YlCPGOm5tWF7LvJpU9889fw6anJ8b1pL528/NFVEZQ9Kr7ukPbr62w8NtqlTHD/8ecaDl1vHU3ZWn5VJUJMGnfoYK4sumE14FsWogulsM/6d2I6rei0HelKcd2fTmeV6IUbwlqH8347AZu6/MRtfghFUEkx/D7FXMKAp23sPVEbzSqR5ltg0iSZDAGMUg8ALqM1ctrjvLbLkx9Ndtr+vjgmzetOZ6yE+/frmOJLqkYW7zNy8zYlclrjtJJzN3IeWvnlbbMmtUzIvrbqmb/5x+kOkNUDe/PFMn0dFiHMjd86cIKAYTDDimCTb2rMa4PpJ5Vx/n/5xw3xXJ8jHlWMt3FRJIJJSqQxG1BC0mfuYZ5X9kpdBpI5Lx074MRRDyk7gI8lDYK4M4wUYLySOy7BhPoXbN3vxWZNPA0F9qmCR5ZgJtd6QNSddZuyfVKhFrDLJwWB+0705iUC2HCIalTBHYrV4y9UiPd9mo04i6WJ+i+3K01utd2Tl+hpoxHPnC6o1cgrxCTQ9F6A+Mn80jxQbaPa/EvHvW3Xt/p5INOOpLcTe+aTxwEYdrS0vDsmdxVSYa5mdq+Z8/4xw6p+VZwj00qzkAuFJ76Cts7FWrhnI6+a9xXBzI+f9pIe2/yOmSWRmKMQ6RHjpEnE0r5DwXsLMZCkHCFWL7Fn4rFSxPEwXIPxfBtKQmv68Jcof+uRGx+Qo09NAM9bH2jZ4V0TbJURk1DksErA8jCznUQ66V7FxKFJe/IDCLUrXnevPS5kUOZfsXxYP/A6ML/C08FxVPDANbHDP94khv1yeroNc4lm3pKkU/2lBUbZF+ARnfEbiWZ9/mdLlqlU5Yeo+y33EEZ/ayyI+mzJrkQb6RpZlVBWykU7jGKKmnPDt9ZcH5pqUyYsdc9XoUxp8H7uPjFJHIT8nYqk9iUDR01gfS0tkKVwtxXi2LaOn+3V77RXWYrOw9+iqvT61mELsVdJgLU7evT5m6IgQ6FK6LrzLctKT2GgXtH/WGeOn5pvG1/on1L3B2HzT0HlmYt22aJ7E69eSql2MrscTtkcohqIa8DqVmGzMv2/V9e8aOTu1j0X8HTYUVdbo7bfYMjxTt+S4zLfRnZykk5yAletfhLfo5a72vp72s903SQjMX7sLb9E3cmwTIezyZuVuc06Y0m+Vk9Jf5LfKmlBisKQCjEljfaL2/9TTrRriHn5ffha+qe+X5VBs461y7BXZOxXVd3hopW7/v5f2DC8tkaJyzr6Jk5YPrZRmLdq+UkpOWQygz/PJtIJTpj3VK9vfhYHSjYhneiVPWF5aFSpWN/nTeCEyLMceSGYOB9jK/As+S4r7ZGz+5Rtkad3uf05G7c6kKyoz4AQFoZzB5EXJzTiOk4Uge4mJmhS3k+4bMM5Ty6LLZE3TlHicXA1b+qbEET9trT5s3Xr4WWKxGXcgztwUvak2KWl5dzQajMrR+x29qBGfbf5he9NCOpqpStpUMShD+/6dCRMTd0JCJ5D3XzuGyLZiZT1rZsdvKhJytma1jiRJbYXjYJOfB6vdq4IbLnyA41MjKuYP8WOQcrSMUQUNIxJ6tKVvOEpKpYxhXZTWQG1Vs4Fpso+T5OylDGaLaXNs6KelJDrB8cd+dzJlZeJ0Y5ys01NDVxWVrsOpKlXeyFFVBleoIUHUhO6DS5lHYVb6FDzFot9LUyr0jYroS9Z1SVBNfSP1yJe2UjSFbAWJTHqelUtadG3qpbP1yp2BfszvIi1X9PEQqHWH+Lly6Up7BBZJ8tphbXkhMmFAFwjfuwTF7Y5ZHbpAorwmu/1nLhYqqyYeFZRHaiZuHMler7hWP5l/mSxXQpu55PNC5ndjmXWF49gcazLVpr6RyXD5liM6RVYliabpFzmBVlx85VyLS5jpRaW66B8MI0GJk5x9jlMr41pJnWZzftDIp9rmCcd51JWrIYWkYjv+DILoLPHRU6AygSTXz3LjZm2oheeIZlCnyP3+i/kmMo8U109j+XIl714NW5pgwFinWpIcnFeG+bTCAUJswRRK1kyJJv1FFScLUn5FWVVzNYVMVxgZtmUvkJNIML0XclohOU15dqg6uBBdXPts78rv/4keXJ8GGYf5VJck1PjlYf0UWTCbVyRYOAzPTsL1fMVYTxX76C0VxRF2sionybMDhVyUvDMnZJS9ApD6cydPyQRRbBlT86Jv8u5TxUJK2GbYBCsLW0tEEeZBh4oRsY0U14y5u0bKCyvZsGQHqHx/lXNZkkElq+mDDrl7Sy/gIgPqre9J7Ebkzdb2UfYUBYOE8oD55i83W01lvYyOtDncVI81khC+Si2fr2md69Go259kqlvPJmiHNSjP5DqzCMI5nLRH77sZ8fgINWGZoOUa4U6wXFmYW/o8L6eGdmQemUdaxBQsRylSh3mEEfEkYwFlJkv9RMznmPOnG7C4210PMKDfQssDGjQSo3JrESQRKTBUtkqFuTIVJqdqbW5TRQ4Dpe7zJzLfQpOr3jbZS3+TG25cfVXhzG9MPoaC1FZuHz9bUATRcNXp985cTBQbBunVpqpET0UdKZ0qV6ognj0ZtZV+qVpmyfKlUS1zA6UtkLyRrriV9vUrfLfXvTTfNeLLTi+4mJZeYPUDkChC9qYNrDAiyKcwiyMc/PZUfHUV+N3VdOEwn+/Y/ME8NmGycAmQRRB6DiCM2QpeI5+Gluc9arD1/DWL6ZW3iE2MZrbvJg4epLmalk2Mpcs6MnmWLnLmiKdoSqNqrjlzWTBUKoudSJ5Naoh6JmU9xEqfP6cVadB78McTnQuKqYgZih2X5d1bjwR+DQmFkCC4X1j8nQfPJRTxa8SFp4aABHCPwAn8Aype+aABkEffFu9w2L77jd9iyeSleoyl31Ne2Y/fK+n3eIiHsYoRUwOwmZ2xboOQigfXbkMK95Yfv1qCEZOB+tWU+4VrLwCj30IXIwJu/JqJ6rkc+B3fy4lxbo+Xcv6QF2eqnr+pfokmVZi9nqCJl7e9sPw5V7344O2/2/svz3mAovS2iOpRmNoe3mCGhRxNeiNxMUcBTXjJoEnxJkTiyOxPSqBcBSn5DCNeN86WMFTcj2rD/IrtJWwPWZhpx5IhGvLFWr8XlmGNMCys1Qr5JliEhEsELiWAkWfFMMAn0PU5UKwRXFoUEQofP5wl1kXg3gJB6FMLH0LgOQiXCun8iwmyW6ZE7/yImm9y4A1Vr0AwaEtsV9xvEia5ZWx9cVer5Ipx4ak4hfpVoGhiJXa5PtnupBSAfXGYUlarXAzyL8xWRmnMovYNdOdZU1SeoXzkZ2ckVRnz2XHNKpGzWYx8Z1eqcvfX5dksXqzayaDKoXiCaqAHii2bXoS36OfYCyocINz9KFuzOFslLgpvUXIeKw6iT+Ril0zj1z3j0rdagW56WDd1XNzS9B+0WqFGfLjKYwHM72jpm0KvIp4rA2u+X4auzGqWp1Kiz+z09jdMmaKpGIq0mlq35NpVihTvi0U4MDFr+ZZZeHB3GLD2FLqcZpwyEWsBs5w0n66HZ5B/KzN5cdN4oyqwqWe8KS+6gqRLU79FuOnyzw6Lys3lGSjdZy7oSylHWArTIYpsWlTrQyjTOASLpEkYwCtxQTIPlach0EA8HGxh6s6YaEXj/BzuFkv21q3hBw7aI7L9/CTWvL6Wx7z3neNnLYXU6GkV5PNDlIPesqbt3kM+bZjyM8ilS1/fYqCqDiqHGv9nstS5oTAotnwyC/CypZGv5puvrw3BR+Khf9XAMMgiuM9qIsdgy4swM7NWMP457dEwCMXuysgcldZbZnPyax+kp52ZnspAUVlmU68sayl0VCuItwJu8oOFG/GQVHUbhl2lNsW9x1ae8qcACnMzs5jzXQ7vLlVaIp1uxP5DfNX2Qgyw7Tvsv4Y4eHjMPLfr8WRwxW//MWveHv1X+dGYchX5qZjE0m0joaoj0xCoGRK2r4pFwLDwFNRNczHSQ7BDQoNl0mDHiKLcq0PT+HB56s6mPP3Yn7eYja+Vs+120VVP07PMXm1P/7B6fk2FO6aB4kf1s1n7DJfrZvE5JZU8s4r8mZBMojunVpW0+IcJZDe3XHHK61pAeiXoqF4tK4CPVok+FY2Lb13Fp/bVk6RVO7ffOO007yidCUcpfRwAVjjgp3Wpu+MS6DD381l+kTDiL8hwVT49VPClTtfKediW4pr8L/9thEn3asj3n+ejwVXaaUvjz64rP5cAJYp/3AKR5RwbLiG9XQOMarlR8I9lnIJ4s51HWOzAd1yeq28vkH0HgQ8FQwKBbyMYDZOIocsDPcgiyMl75wyA6vX4Uod6IMkjlZqp8Wcq4V0Ljv+90eCB1PjBrEL3FZez/2DAKjJZQOxKjzA5XXwa6FRU17aR2wKAFdW1mnQ8Zn3/UGFcK0xr7SVWGZqLYImai8cVwuxHI12G8Jr5XAyN0ntNvaU1z5607Fz2ppPBIE0kyQCnd9V+3xU5JieSJ8RoJTFmdyn23IpGEQiXSd8kPeSuCUg/i4M9irUnmFTWL2PEpthUd6+BpkpFP4FjvkuyKdtV8P3ByrIR26WabhAPiIO3rqDKD8biW1fUXSKHfy4nkchWaaxdC/ggcwnjUti9M2H134v9YJI2nnNNSjITiVPPERtv+UzJiXSr301G8aAqxSSSp6okJYHITik8b/xOYN8h/LuNX5AvjP9s0LnoVqmH2FZhRK35y9f4qDtpv5d/fistfd7HnA1jhoNl1Sh4Gl6BzjdBg61rllpz5XSAXmDleUsqSTJ8Vl+5bBuuPc+hI83zVWfEZ5icB7izcH2r/N6s5Dhe95m+xGer0su+5VFanpeSbtX1+jaJixP65N7MwT+XNjaXro0DEsyoaQdL/gAq/5bURnwdSj+ODhqKhVrsVZYR2a8DQjG0gPB+ZnXtL+T0L0Q7BP34EPSTRgQxB4TilIVc/qCmb2QuYllV5gwzTBAHdTPXd2Bpp9zOAgx8irZlzrNKS1ssUn7hL9f5p3/cfK+Vfoq0qHj7O9ODVuo1JmSjOEXOQPw52rLs2C/WFzahtp8mzL1cg1LW8lAUL2mZP32TG0K0NdRZppfg5F4k5YeH0m8uvRwsM1GloMYllPBWkk5u9eOlcvGX10eMPXjpVjcQ4MA/1XS9EkpTOOISGYSxuoihoYdVgKlcImiFvi22NOLLT4LcKMxSPeXPFSjeLZdyOCo37GWpVWJv2pDzwe/uMn8YZVcGUqjIw412qukn0UF6t2/dTTZIBZ9e/6r82fx0ZPyvm+8rSg31z9P0tVd9I0k2ErfyD9j/P/vSelOqfNVw98HjIuT++Ye/7ZxDIYW8fTCMWYCXFoWDzcYcoVVAXBrgxyg63WzMiTWP/uwSkEYvVirz+6Z24KCW/h8FWNbTMviuxb8RpDrn435jWrOWizCIpVeUavUlGem1W1Wrr3C/cD0EGFmOmJGclXoxWGQ2oAzZOe8t5i4qB/NUa6uSpGRXKuhJ05V7eEEqi2R0NWYlHK28KM3vAbBNBk9DMexyywzk02hMAe2FI1B3LIoah3p9ERDKAKNxCIRamHaUrUXkQrYeoPFAAv/SrLaDMPKdCrLZ5wNHfO+AnAK3qUbGueSdy8F18ukLkT/C3NuOF4RORfD4v5cNEm5s6ngd/OFW4SkM/atwel+eJH7+hyFb4i7/eTBNkQFISl/gS/CK73CKy7fsp+b5lCBMIGfZtsqlycotYK0CVks1yjJSAXaChOoyFYDmULtURYRii0N3cp9RHe34jCpzJpIv/zioHeNuWClJ4VCML3rDJNreuey2+9fDZAsgKvTG048fzti2pnBhQy991Vd8QihJ2v744ezwcKuqx7c1efTn44czcFxCccCz3vlhmqIHRTJYFgpj1fnJWH8wmZ4Prvv5RNHz68vLNJdh1P0/171R96yVnn6mMKEQSbTloFGMIrlCkXuCh08ociCUHkdJYEXJDRPYrnuXVbJXX7zkB5XIgXngOchPgtgYJV9c1nbGRNULUgP17yk5tbTlQ3U5PzuOifKPeqpnvvBxJst3YtUEl+Q17hBmofR9Vox+CzHKMAZq+01DVKsFa4Sx66D4+02dwJ+58ywaIG43SR+k5p/WZ4Am/jTt2dx0mj8eTfkNnKmPmNfNaLASTf7Y8qZALL68b1H46afu4BzevVNUcSxqkSDENjrl1Tmqnmaxs9XKe2SdMt7jjk/j07Tu4JwN8BX7+/8FAAD//5GUOwmlgAAA + H4sIAAAAAAAC/+x9/3fbtpLvz6u/YsqwsZSYlO323u3zrbJVZSXRsy3pSXK6+xJXhyYhiTVFqgAo21H4/vZ3APALSIKSbKe33Xv23nOSRgAGg8HgM4PBAHzxTfPG9Zs3FlnUap3OdNwdfeh1utNefzq5HLaawYo2rc8hRk078Knl+giTpm0bKxzcP5gE4bVrI9P1edtB57w72bdpYN8iylv2e9POoP+292561hu1tCaidtP23aaPqOlovPznXj8uZFRZ4Y3ra7UXk8HZAFah5wFduASCkEIwAztYrgIfUZ+Yv5HABxoE/8HJnA1+6V8M2mfjAjEnuPO9wHKIVuuMep3JRVpTrohdm3qKuhlzIcFNL7AtT7DXGfQn7V6/OzpT95yIxZGJjq76HWV1HPq2XPH8h7Gy3m14g7CPKCLF2sNR70N70p0O253z9rvueNppd953dzRtrrC7tigyVpZ9a81RTGvUfdcbT0b/NR11h4OWFhDCxmxhFxGJjFa7+vmqP7majroX3fa429LrHrmZYuQhiyAwMBikURuMW3rdnYFHgE/+KyOpcPwGmg5aN302xSdvXh7/A+gC+UACTFnrQvUvMLfubuFgaVF7UdePDqH5a713Nr3onXdbdTvAKCCNL72zVt181WjozUOwGrCBFXZ9CjQIVyuE69bHk2uwPn533fgHoHuXQnTwD5i5jdq427kadaeTi/H058FgMp6M2sPp+dXP3YvuZNr9z25nOry4eseUoaw8YiFQj9wEASUUWyttf3ofuqNxb9Bvaesj89g8MixvtbDME6026V50h4PR5GxLzxR5aBVg6uQ1t3vW7U967YvpcDT40DvrjtQqjxzkU9fyVjhYuw7Cu4hka2Ft4abn3nBl8JBMy0iIKQZQuZYu2/3e2+54Mn3bu+gO25P3OcEuLd+dIUL5emcL73I46Hf7k7G6egwQPiVxgw/vz6YXg3cV1dcLx3B9Qi3PM1lTD1HEOZqe/TxtX00G06vhGVtYby/a72QSiQyWlm84N00rpIERrhyLNe9cjS6mg6vJ8GrSatLlqmmH2JuuEb4JCDKDkCZLZzCe9tuX3ZYm/s06HjFQyQriH7RaZ3g1bY8671uaVnOQ7VkYgWHBL+3x5fh973LYOxu36g25aDzs9ZnKJUU1gmhneNXG9qLegE0NACClqtfnaWmjFtVqGC2DNbq0/LObdkiDKz60t541f+t6KG2Pl2DMQN8lL0bQxsiiOwnSILQXexL0kOWHq04KtWceI0VyzOEZ6FVYzYjEc58R+cWli06qQ/+bBH5KLyAtfZOfuYgXuDP4+BGMz6DpeUzU4PpawBqvlxIZjCPpB6YZxA38lmaHGCOfarwQeQQpa6VMxL1Eov7M5X/xPzL7MxTQ3tLrv/0OmjlMkB40XbGUNPgCvN7Ha/gCBHnIpnXTt5YIWi34pGV0P2kNrQFfvggc1buj0VSScwxr017/Q/uid8Z5ik1TUsZ1MpaeSy4tzMgOcJstywvXD+9B44LS4OVLJl5N3/TG0/P2pB1pjBmN4hBVCThZR6x6fq5iKYmlGkvjg5AsYX2UJBcxUW0CkvydzEMsdf7Hi0x/DgisE3IWxtYDuATQ/QrZFDlAA1hYawSB7z1A4CNAHloin5qCTG8GLoWFRWAZYAR0YflyrUO4Q3Dneh7EastGDp5FaFIDXJ//xns2JeXUNy+K8v/403UExpzCcVmIyF4EoP3SHvV7/XenkjpB7CoUB1nJswk9wavrz3ewm1PjHWyj3+GIaZ++KZUfXUdcP34cn/eGb7SqwfX6bwf7jIxNn0sXCANarugDBJizPHOxPA4CojsTxrfuasUGK5GOp8uibuDHw+QAhWiIfTiSx917O27pB5/8A+4IIaegoq26Xhce0gf48ccfNcX4X11HWkMsrdAniDKS/F98PFPifkYtffNCSZ4Jl9dlsq/XsxbGcaMBhkfhCK6v2Ypk0zh1fQfdt/hESP8uNeQUV7meWvpGzYC+yShFMTOZJC+t3wJ86foBHjI/8EMKiXUxqXq+FwZndkjBcAwwZscNrUDufUDfuvePokLAmJ3EhJiOCtjfxaEG10xIH/eqypSXecXKRjmWc3WVWu76a8tzHVkZY/0+heIws6b7Qnqss14wJ1MaTNGa2UzQ2udjszPumkXjOgp96i5R8vuYWr5jeYGPMvjUGMuVpSDjs1p8Ua5OTloxYieCgQr2wIDysKEF+iYvr0irVXoQl7HTmvMfuMsrzURiSSRdmoGml9zh8txupZRXccltYB6AgcHMCk3kzJGyy0amDZwzhdPBde/4B/Po+zKDu3g4kJlYub6PHFM7/uHoe+1gFzuxzuW8o2pzFfcMfkBhFoQ+w2JIthSH4KCZFXqU2yZmmrFjBw7jRVZvaSArpmnycGLAKI91F/RMMVq7j6SyDXfyrCmho1hlK86k/D0BYySIUQxpO8z0+uNJ++JiOulddgdXkz8fZvJSy8NLKqRnQ0tlf5oKY2JyKbLs0S/bCY763Ul3nOu3/HOkSf6Xpm/63e7ZWJqhSINvqr3vmIHL4OYBiu6cgDflroO7FL/9DgfpBkW5AZH2H1rjAH4EFTWQAktKfY27KGxnmDoSShg+qKhKbtsee8bav/2bcO5kGWzt3QkQ4SjF2djBxU6bIylNH9G7AN8OvXDuZrZImt7JL4PReRykYagOGg+NVE8u36J1+r3c/MYc9XvwAqMZwsi3Eax4p8SEy4BQ7wFmAYbb8Ab5iMJNSMELgtWNZd/GFZkbHRLkwM2DjOFMh2VrByf57X0x+gsvgY0/CWd10ujUMA5OZeGPbbGyq9EF22vvqnPayq0Yw4c9GkUK6doYpSA5nQV4GmCLtFLjsIskMxVzjFZgBEM4WH9yXtc/mZ+c141XB3wlOXBAmr+um032zwWyHMbqcSOZRNlDYYwkgbxpiL2WfpIfoV6qUh7OTtmWieR4Wd46LgZjBfquiKaon8VZh6MBWy8ZZmUR7XF39KE7YtP6iOrKGX5Ee9VkZ5IWqpnJIVFbJpBMDR7ZY1PflCL5kQh5GpaNDUXE9nStb5QqGBme64f3hr5JooWRtnWWJ+/+Lz8m2mMdvHjxqhlp8AKuCIIbiyzgJnSZPwYv5F0yfrCXznSO6JRa+MbyvOkMB8spRnOXUPwwvXPpgvMKxydH8Lddq+WsN2rqWzjnkZ695ybS8mGwwag9ng6vLi6mbAretnsXxQ1/7MDywNcoHsMV9vYDjkpFSt3SrwQZBYzYOdtbtausQ0Ze3SKTWticf9b+7HnfA7ofN905VPuD18s+E79LCmCaJuzWnVrVHH2tudjJQiH6vK22vJsQMsq8AkjcAkiWN3KAhLaNCJmFnveQc8GrnYld25NSS7PaQ9Ggukyck1gYjPvPs73EvNki50gDo7OHjc2Z5ApNjU/4YvNgL4I7H4wR4CCgp+yP/dot1zuXIau83Zppu/pqVjWMeV8GDvz73/72PDKJi7p7NLLDOkZ2iNHkYvxzcqB8Lg5au/fILvjxAv6F+8xdNW1B6YqcNpu3P5D47JyYN15wY9oBRuad6zvBHTF9RJvWLTGoR4z03NqwPRf5tKlvHnt+HTU5vjetpfP375sqorIHpddd0h5d/v37BtvUKY4f/jrjwcut4yk7q0/KJKhJg059jJVFF8wmPIliVMF0thn/RmzHVb2WAz0pzruz6cxyvRAj+I6h/N+PwGbuvzEbX4ARVBJMfw+xVzCgKdt7D1RG80qkeZLYNIkmQwBjFIPAM6jNXLa47yyy5MfTXba/r44Js3rTmeshPv365jiS6pGFu8zcvM2JXJa47SSczdz7lr75rtiSW6dkXlp1Td/8dPp9pDVA3vzxTJ8HRYhzI3fOnCCgGEww4pgk29qzGuD6SeVcfx9/uma+qxPk48qxFm6qJBBJqVQGI2oI2sx9zLPKfsnLIFLHpWMn/BiKIWUn8JHkITBXhvECjBcSx2XYMB/D7au9+KzJp4GgPlWwyHLMhFpvyJqTLjP2TyrUIlaZ5GAwv+nenEQgWw4RjUqYI7FafMfVIj3fZqNOIulifovtytNbrXdk5foaaMRz5wuqNXIK8RE0PRegPjJ/MI8UG2j2vxLx1626dndHJJrx1BZi73zSeGCjjtaWF4fkzmIqzLXMzlVzvn9GOPXPyjMEemlWcoHwpHfQ1tlYK9cM5HXzzmK4uZHzftJD23+JaRKZGQqxDhFeukQczSskvJcwM1nKAULVInsSPitVLA/TBQj/p4E0pKY/b4nyhz650TE5yvQ00Iz1sbYN3hXRdgkRGXUOiwQsDyPLeZCD7lVsHIqUFz+gcIPSdef681ImRc4l+6fFA78B4zM8LjxXFQ9MAxvc831kyC+Xp+sgl3jWDWkqxX9aUJRtET7BGZ+ReNbnn6d0uWpVTpi6z3IfccSn9ryIz6bMWqSBvpFlGVWFbKTTOIaoKSd8e/35nrkmZfJix1w1+pQG38fuI6PUUcjPiVhqjyJQ9DTWx9ISWQpXSzGebcvo8X7dXnuFtdgs7D26aq9PLaYQe5U0WIuTNy+PGToiBLqUrgtvspz0JDbaBe3XOmP81HzV+FL/iLrXGJuvGjrPTKzbFs2TePlSUrXz0dV4wvYIxVBUA16mEpON+etWXf+mkbNT+1jEP2BDUWWNvvsaW4Yn6pYcl/k6upOTdJITsHL98/AGPd/V3tfTfrL7JgmB+Wu34Q36So5tIoRd3qzcbc4JU/qtclL6s/xWWRNKDJZUgDFprE/U/p96ulVD3MPvy8/CV/X9shyKbbxVjr0ie6ei+g4PrdTt/3hpT/DSEikq5+yrOGn50Epp1qLtK6XklMUA+jSfTCs4ZdpjvbL9XRgo3Yh4olfyiOWlVaFidZO/jBciw3LsgWTmcICtzL/gs6S4T8bmX75Bltbt/udk1O5MuqIyA05QEMoZTF6U3IzjOFkIspeYqElxO+m+AeM8tSy6TNY0TYnHyeWwpW9KHPHT1urD1q2HnyUWm3EH4sxN0Ztqk5KWd0ejwagcvd/Rixrx2eYftjctpKOZqqRNFYMytO/fmTAxcSckdAJ5/7VjiGwrVtazZnb8piIhZ2tW60iS1FY4Djb5ebDavSq44cIHOD41omL+ED8GKUfLGFXQMCKhR1v6hqOkVMoY1kVpDdRWNRuYJvs4Sc5eymC2mDbHhn5aSqITHH/odydTViZON8bJOj01dFVR6TqcqlLljRxVZXCFGhJETejeu5R5FGalT8FTLPq9NKVC36iIPmddlwTV1DdSj3xpK0VTyFaQyKTnWbmkRdemXjpbL9wZ6Mf8LtJyRR8OgVq3iJ8rl660R2CRJK8d1pYXIhMGdIHwnUtQ3O6Y1aELJMprstt/5mKhsmriUUF5pGbixpHs9Ypr9ZP558lyJbSZSz4vZH43lllXOI7NsSZTbeobmQyXbzmiU2RVkmiafpETaMXFV861uISZXlSqi/7BMBKUOMnZ5zi1Mq6V1Gk25weNfKptnnCcR125GlJIKrbjzyCIzhIfPQUqE0hy/Sw3btaGWniOaAZ1itzvb81XkXmkuH4ay5crefdy2NIEA8Y61ZLk4LwyzKcVDhBiC6ZQsmZKNOkvqjhZkPIryqqaqylkusLIsC17gZxEgum9kNMKyWnKs0PVwYXo4spne1d+/0/04Po0yDjMp7okocbP9+vHyILZvCLBwmF4dhKu5yvGeqrYR2+pKI6wk1U5SZ4dKOSi5J05IaPsFYDUnzt5TCaIYsuYmhd9k3efKhZSwjbDJlhZ2FoiijAPOlSMiG2kuGbM3TVSXljJhiU7QOX7q5zLkgwqWU0fdMjdW3oGFxlQb31PYjcib7a2j7KnKBgklAfMN3+52Woq62V0pM3hpnqskYTwVWr5dE3rXI1G3f4kU916NkE7rEF5JteZRRDO4aQ9etfNiMdHqAnLBC3XCHeC5crC3NLneTk1tCPzyDzSIqZgOUqROswjjIgnGQsoM1nqJ2I+x5w/3YDF3e56gAH9Hloe0KCRGJUbiyCJSIGhslUqzJWpMDlVa3ObKnIYKHWfP5H5Gppc9bbJXvqb3HDj6qsKZ35l8jEUpLZy+/jZgiKIhqtOv3fmYqLYMEivNlUleirqSOlUuVIF8ezJqK30S9UyS5YvjWqZGyhtgeSNdMWttC9f4Ju97qX5rhFfdnrGxbT0AqsfgEQRsjdtYIURQT6FWRzh4Len4qurwO+upguH+XzH5vfmsQmThUuALILQcwBhzFbwGvk0tDzvQYOt569ZTK+8RWxiNLN9N3HwIM3VtGxiLF3WkcmzdJEzRzxFUxpVc82Zy4KhUlnsRPJsUkPUMynrIVb6/DmtSIPegz+e6FxQTEXMUOy4LO/OeiDwW0gohATB3cLi7zx4LqGIXyMuPDUEJIA7BE7gH1DxygcNgDz4tniHw/bdr/wWSyYv1WMs/Z7yyn78Xkm/x0M8jFWMmBqAzeyMdROEVDy4dhNSuLP8+NUSjJgM1K+m3C1cewEY/R66GBFw49dMVM/lwB/4Xk6Mc3u8lPOnvDhT9fxN9Us0qcLs9QRNvLztheXPuerFB2//3d5/ecoDFKW3RVSPwtT28AYzLORo0huJizkKaMJLBk2KNyESR2Z/UgLlKkjJZxjxunG2hKHiflQb5hdsL2F7yMJMO5YM0ZAv1vqdsAxrhGFhrVbIN8EiJFwicCkBjDwrhgE+ga7PgWKN4MKiiFD48P4ssS4C9xYIQp9a+BACz0G4VEjnn02Q3TIleudH1HyVA2+oegWCQVtiu+J+kzDJDWPrs7taJVeMC0/FKdSvAkUTK7HL9cl2J6UA7LPDlLJa5WKQ3zJbGaUxi9pX0J0nTVF5hvKRn52RVGXMZ8c1q0TOZjHynV2pyt1fl2ezeLFqJ4Mqh+IRqoHuKbZseh7eoJ9jL6hwgHD7g2zN4myVuCi8Qcl5rDiIPpGLXTKNX/eMS7/TCnTTw7qp4+KWpn+v1Qo14sNVHgtgfkdL3xR6FfFcGVjz/TJ0ZVazPJUSfWant79hyhRNxVCk1dS6JdeuUqR4XyzCgYlZy7fMwoO7w4C1x9DlNOOUiVgLmOWk+XQ9PIP8W5nJi5vGK1WBTT3jVXnRFSRdmvotwk2Xf3ZYVG4uz0DpPnNBX0o5wlKYDlFk06JaH0KZxiFYJE3CAF6JC5J5qDwNgQbi4WALU3fGRCsa5+dwt1iyt24NP3DQHpHtpyex5vW1POa97xw/aSmkRk+rIJ8fohz0ljVt9x7yccOUn0EuXfr6GgNVdVA51Pg/k6XODYVBseWTWYCXLY18MV99eWkIPhIP/YsGhkEWwV1WEzkGW16EmZm1gvFPaY+GQSh2V0bmqLS+YzYnv/ZBetqZ6akMFJVlNvXKspZCR7WCeCvgJj9YuBYPSVW3YdhValPce2zlKX8KoDA3M4s53+Xw7lKlJdLpRuw/xFdtz8UA277D/muIg/uHzHO7Gk8Gl/z2H7Pm7dF/lR+NKVeRn4pJLN02Eqo6Mg2BmiFh+6pYBAwLT0HdNBcjPQQ7JDRYJg12jCjKvTo0jQ+Xp+5sytOP/XmL2fhaOdtuF131ND3J7NX29A+r59dUuGMaKH5UP5u1z3C5bhafU1LJM6vInwnJJLpzalVJi3+aQHZzyxWnvK4FpFeCjurVsgL4aJXoU9G4+NZVfGpfPUlatXP7ldNO847SmXCU0scBYIUDflqXujsugQ5zP5/kF7H/yfOVssdxqVxXxK9SdXhIHcDRRaluuaPchw4m3csh30y+HQ0u045bGn9DXfntgzLFP0/bq4QWWySxx9k12KiWGxH/CsYpiMfYeejEDnzH5Un49gLZtxD4ULAQEPg2gtEwCQW6PIKDLIKcvNvNkKVej29rqAeVvD6pmRp/fxLetOD43xsNHiGNX8IqdF9x6/pPRqIikwUornT1kmPDx6FJRXVtG7ktyFZRXatJ517W6/sKq1lhM2vPMbfQXARL1Fw8rBBmPxrpkoSXzJmaIx/hKlgonMxXahF/FLK0oyxVVIaui2vCJWBV7RldmiIjW2FsPCVkLOb8l7go77tD7LEtH7pvHSTnYh9/bV6/lpFs/fHI+F/Xrz+Zyd/m6+xAzHx9UDBHhq9SZaW9KF7KWlfolsJmKbpo/T/Q0/FUG6jkXQO+wV1hNHPvFcJ68UqSQFS2KKX7ZBsF3W+/bb5StBWz3xXIgOTHrvNUge3Ii8h5ClUTW40RKuV4/kt9hdDDafnqWsVlELGXYbqc3hfsLa159lRs56I3nQwGaYJWxlnvsv2uK3K3TqQdBqOVnN24SxHLUjSKQGxF9E3SQ+76jfSzODCnWHuEq8r6ZYzYFJvq7jXQVFc8TuCYRx9synbrfN+9smwEtz8Q0w3iAfGlryuo8gPn+DYjdZfI4Z+hSiSyVRpr1wI+yNxFDOk4qzNh9d+JOEtyHSPn8pdkJhISnyI23vKJkhNpjH+YjOJBVYpJJCVWSUrC251SeNr4ncC+RfgPG78gXxj/2aBz3q1SD7HEMaLW/PlrfNSdtN/JP38nLX3ex5wNg6NlxSh4emuBzldBg61rllpz5XSAXmDlaUsqSd59Ul+5LDauPU+hI83zZWfEZ5i8DXBn4fpW+R1nycJc9Zm+xDkL0ovZ5VFanpeSbtX1+jaJi8yX5D7awa9LG5tL18YBCWbUtIMlf1iYf6NtI766ph9HBw3FQi32KsuI7NcBoRhaQHg/s7r2LTn9lmiHoB8fgn7SiCDmgFCcspDLy9X0jcxFLKvKXHyGCeIAfOb6DiztlNtZgIFP0bYbKazS0haLlF+kzXX+8afr11rpp0iLiq8qZHrQSjdtCdkoTj01EH/muSw79ov1mU2o7aeJqM/XoJS1PBTFS1rmT9/khhBtPUIo00twci+S8oNe6bfMng+WmahSUOMSSngrSSe3+vFSufjL6yPGHrx0qxsIcOCfQLtaCaUpHB2LzNxYXcTQ0P0qwFQuEbRC3xYRBfFFNUFuFGYp1PJnQBTfA5ByoyoDYWWpVWJv2pDzwe/Es+0oyq7ipFCRhxvtVNNPooP0zuy6m2wYC9se/Yvy53gXVlFqqH+epq8o6xtJspF47eKA/f+TL603pcpXDXcfPC5C7l9/+NvODxVSyNsHw5gFeGlRONhszBFaBcSlAX6IotPNxpxY8+ivLgFp9GKlMr9vagcOaun/UYBlPS2Db1r821uq83PuN6Y1a7kAn1h6RalWXz6TXpFWtfoCdwvXQ4CR5YgZyVmpZ4NFZgPKkJ3z3mLuonIEQLW2KklKdqWCnjRduQdNpLJIRldjVsLRygcI+P0atsng6V2GXW6ZgXwaDC2gvXAE6o5FUeNQry8CQhlgNA6BUAvTjrK1CBzK1gM0HsfjX3DWdhBGvlNBNvss54jvHZBT4DbVyPiORudicJV8UkbkZTH3tuMFoVNxKPPfywYJNzZ1vA7+dKvwGIb+WTi9L08SP/9iyJa4y38dTFNk1pLSly0TvOI7nOLyLfupeT4lCBPIWbatcmmycgtYq4DVUo2yjFSAnSChukwFoDnULlURJyHFoTu5zxOPdnyemDkTyRe1HNSOcTeslKRwKMbnvWESw+5cdNv9q2GyBRAVeuPph/dnbFtTuAill76WLT7NlVyG+PD+7PBwq6rHt6B59OfD+zNwXEJxwG+T8ENqRQ+KJMssFMaq8xB6fzCZvh1c9fMJ2G+vLi7SHKFR9/9c9Ubds1aaVZDChEIk0ZYDfDGK5CQm97QVn1DkQCg9OpTAipIbJrBd95mrZK++0MwTAJAD88BzkJ8EsTFKvmSu7YyJqhekBurfU3JqacvJKvK9hzgmyj+Wq575wkfPLN+JVRNckte4Q5iF0nePMfo9xCjDGKjtNw1RrRasEcaug+LvonUCf+bOs2iAuDUofegdUbtpM0ATf5r2bG46zR+Opvxm29RHzOtmNFiJJn/EfFMgFj+KYVH48cfu4C28eaOo4ljUIkGIbXTKq3NUPc1iZ6uV98A6ZbzHHZ/Gh9ndwVs2wBfs7/8fAAD//32TM1T9gwAA - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/CustomData b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/CustomData index e612c840f37..15e3f030ebb 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/CustomData b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/CustomData index e612c840f37..15e3f030ebb 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/CustomData b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/CustomData index e612c840f37..15e3f030ebb 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/CustomData index 423e3dd6092..473324aad58 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/CustomData index 423e3dd6092..473324aad58 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/+x9/3fbNrLvz1d/xZThxlJqUrbT3dvnrXJXleVEz7akJ8npvS/x6tAkJLGmSBUAZTsK//d3APALSIKSbKfb3nve7jlJIwCDwWDwmcFgAL76rnnr+s1biyxqtU5nOu6OPvY63WmvP51cDVvNYEWb1pcQo6Yd+NRyfYRJ07aNFQ4eHk2C8Nq1ken6vO2gc9Gd7Ns0sO8Q5S37vWln0D/vvZ+e9UYtrYmo3bR9t+kjajoaL/+5148LGVVWeOv6Wu3VZHA2gFXoeUAXLoEgpBDMwA6Wq8BH1CfmryTwgQbBf3AyZ4Nf+peD9tm4QMwJ7n0vsByi1TqjXmdymdaUK2LXpp6ibsZcSHDTC2zLE+x1Bv1Ju9fvjs7UPSdicWSio+t+R1kdh74tV7z4caysdxfeIuwjikix9nDU+9iedKfDduei/b47nnbanQ/dHU2bK+yuLYqMlWXfWXMU0xp13/fGk9F/TUfd4aClBYSwMVvYRUQio9Wuf77uT66no+5ltz3utvS6R26nGHnIIggMDAZp1Abjll53Z+AR4JP/xkgqHL+DpoPWTZ9N8cm718d/B7pAPpAAU9a6UP0rzK37OzhYWtRe1PWjQ2j+s947m172Lrqtuh1gFJDG195Zq26+aTT05iFYDdjACrs+BRqEqxXCdevTyQ1Yn97eNP4O6MGlEB38HWZuozbudq5H3enkcjz9eTCYjCej9nB6cf1z97I7mXb/s9uZDi+v3zNlKCuPWAjUI7dBQAnF1krbn97H7mjcG/Rb2vrIPDaPDMtbLSzzRKtNupfd4WA0OdvSM0UeWgWYOnnN7Z51+5Ne+3I6HA0+9s66I7XKIwf51LW8FQ7WroPwLiLZWlhbuOm5t1wZPCTTMhJiigFUrqWrdr933h1Ppue9y+6wPfmQE+zS8t0ZIpSvd7bwroaDfrc/GaurxwDhUxI3+PjhbHo5eF9Rfb1wDNcn1PI8kzX1EEWco+nZz9P29WQwvR6esYV1ftl+L5NIZLC0fMO5bVohDYxw5Viseed6dDkdXE+G15NWky5XTTvE3nSN8G1AkBmENFk6g/G0377qtjTxb9bxiIFKVhD/oNU6w+tpe9T50NK0moNsz8IIDAt+aY+vxh96V8Pe2bhVb8hF42Gvz1QuKaoRRDvD6za2F/UGbGoAAClVvT5PSxu1qFbDaBms0ZXln922Qxpc86Gde9b83PVQ2h4vwZiBvktejKCNkUV3EqRBaC/2JOghyw9XnRRqzzxGiuSYwzPQq7CaEYnnPiPyi0sXnVSH/jcJ/JReQFr6Jj9zES9wZ/DpExhfQNPzmKjBzY2ANV4vJTIYR9IPTDOIG/gtzQ4xRj7VeCHyCFLWSpmIe4lE/ZnL/+J/ZPZnKKC9pdd//Q00c5ggPWi6Yilp8BV4vU838BUI8pBN66ZvLRG0WvBZy+h+1hpaA75+FTiqd0ejqSTnGNamvf7H9mXvjPMUm6akjOtkLD2XXFmYkR3gNluWl64fPoDGBaXB69dMvJq+6Y2nF+1JO9IYMxrFIaoScLKOWPX8XMVSEks1lsZHIVnC+ihJLmKi2gQk+TuZh1jq/I9Xmf4cEFgn5CyMrUdwCaCHFbIpcoAGsLDWCALfe4TAR4A8tEQ+NQWZ3gxcCguLwDLACOjC8uVah3CP4N71PIjVlo0cPIvQpAa4Pv+N92xKyqlvXhXl/+kfNxEYcwrHZSEiexGA9kt71O/1359K6gSxq1AcZCXPJvQEr64/38FuTo13sI1+gyOmffqmVH50E3H9+Gl80Ru+06oG1+ufD/YZGZs+ly4QBrRc0UcIMGd55mJ5HAREdyaM79zVig1WIh1Pl0XdwI+HyQEK0RD7cCSPu3c+bukHn/0D7gghp6CirbpeFx7SR/jpp580xfjf3ERaQyyt0CeIMpL8X3w8U+J+QS1980pJngmX12Wyr9ezFsZxowGGR+EIbm7YimTTOHV9Bz20+ERI/y415BRXuZ5a+kbNgL7JKEUxM5kkr6xfA3zl+gEeMj/wYwqJdTGper4XBmd2SMFwDDBmxw2tQO5DQM/dhydRIWDMTmJCTEcF7O/iUIMbJqRPe1Vlysu8YmWjHMu5ukotd/215bmOrIyxfp9CcZhZ030hPdZZL5iTKQ2maM1sJmjti7HZGXfNonEdhT51lyj5fUwt37G8wEcZfGqM5cpSkPFZLb4oVycnrRixE8FABXtgQHnY0AJ9k5dXpNUqPYir2GnN+Q/c5ZVmIrEkki7NQNNL7nB5brdSyqu45DYwD8DAYGaFJnLmSNllI9MGzpnC6eC6d/yjefRDmcFdPBzITKxc30eOqR3/ePSDdrCLnVjnct5RtbmKewY/oDALQp9hMSRbikNw0MwKPcptEzPN2LEDh/Eiq7c0kBXTNHk4MWCUx7oLeqYYrd0nUtmGO3nWlNBRrLIVZ1L+noExEsQohrQdZnr98aR9eTmd9K66g+vJHw8zeanl4SUV0ouhpbI/TYUxMbkUWfbol+0ER/3upDvO9Vv+OdIk/0vTN/1u92wszVCkwXfV3nfMwFVw+whFd07Am3LXwV2KX3+Dg3SDotyASPsPrXEAP4GKGkiBJaW+xl0UtjNMHQklDB9UVCW3bY89Y+3f/k04d7IMtvbuBIhwlOJs7OBip82RlKaP6H2A74ZeOHczWyRN7+SXwegiDtIwVAeNh0aqJ5dv0Tr9Xm5+Y476PXiF0Qxh5NsIVrxTYsJVQKj3CLMAw114i3xE4Tak4AXB6tay7+KKzI0OCXLg9lHGcKbDsrWDk/z2vhj9hdfAxp+EszppdGoYB6ey8Me2WNn16JLttXfVOW3lVozhwx6NIoV0bYxSkJzOAjwNsEVaqXHYRZKZijlGKzCCIRysPzvf1z+bn53vG28O+Epy4IA0/7luNtk/F8hyGKvHjWQSZQ+FMZIE8qYh9lr6SX6EeqlKeTg7ZVsmkuNleee4GIwV6LsimqJ+FmcdjgZsvWSYlUW0x93Rx+6ITesTqitn+AntVZOdSVqoZiaHRG2ZQDI1eGKPTX1TiuRHIuRpWDY2FBHb07W+UapgZHiuHz4Y+iaJFkba1lmevP+//Jhoj3Xw6tWbZqTBK7gmCG4tsoDb0GX+GLySd8n40V460zmiU2rhW8vzpjMcLKcYzV1C8eP03qULziscnxzBX3etlrPeqKlv4ZxHevaem0jLh8EGo/Z4Ory+vJyyKThv9y6LG/7YgeWBr1E8hmvs7QcclYqUuqXfCDIKGLFztrdqV1mHjLy6RSa1sDn/ov3R874HdD9tunOo9juvl30mfpcUwDRN2K07tao5+lZzsZOFQvR5W215NyFklHkFkLgFkCxv5AAJbRsRMgs97zHnglc7E7u2J6WWZrWHokF1mTgnsTAYD19me4l5s0XOkQZGZw8bmzPJFZoan/DF5sFeBPc+GCPAQUBP2R/7tVuudy5DVnm7NdN29dWsahjzvgwc+Pe//vVlZBIXdfdoZId1jOwQo8nl+OfkQPlCHLR2H5Bd8OMF/Av3mbtq2oLSFTltNu9+JPHZOTFvveDWtAOMzHvXd4J7YvqINq07YlCPGOm5tWF7LvJpU9889fw6anJ8b1pL528/NFVEZQ9Kr7ukPbr62w8NtqlTHD/8ecaDl1vHU3ZWn5VJUJMGnfoYK4sumE14FsWogulsM/6d2I6rei0HelKcd2fTmeV6IUbwlqH8347AZu6/MRtfghFUEkx/D7FXMKAp23sPVEbzSqR5ltg0iSZDAGMUg8ALqM1ctrjvLbLkx9Ndtr+vjgmzetOZ6yE+/frmOJLqkYW7zNy8zYlclrjtJJzN3IeWvnlbbMmtUzIvrbqmb/5x+kOkNUDe/PFMn0dFiHMjd86cIKAYTDDimCTb2rMa4PpJ5Vx/n/5xw3xXJ8jHlWMt3FRJIJJSqQxG1BC0mfuYZ5X9kpdBpI5Lx074MRRDyk7gI8lDYK4M4wUYLySOy7BhPoXbN3vxWZNPA0F9qmCR5ZgJtd6QNSddZuyfVKhFrDLJwWB+0705iUC2HCIalTBHYrV4y9UiPd9mo04i6WJ+i+3K01utd2Tl+hpoxHPnC6o1cgrxCTQ9F6A+Mn80jxQbaPa/EvHvW3Xt/p5INOOpLcTe+aTxwEYdrS0vDsmdxVSYa5mdq+Z8/4xw6p+VZwj00qzkAuFJ76Cts7FWrhnI6+a9xXBzI+f9pIe2/yOmSWRmKMQ6RHjpEnE0r5DwXsLMZCkHCFWL7Fn4rFSxPEwXIPxfBtKQmv68Jcof+uRGx+Qo09NAM9bH2jZ4V0TbJURk1DksErA8jCznUQ66V7FxKFJe/IDCLUrXnevPS5kUOZfsXxYP/A6ML/C08FxVPDANbHDP94khv1yeroNc4lm3pKkU/2lBUbZF+ARnfEbiWZ9/mdLlqlU5Yeo+y33EEZ/ayyI+mzJrkQb6RpZlVBWykU7jGKKmnPDt9ZcH5pqUyYsdc9XoUxp8H7uPjFJHIT8nYqk9iUDR01gfS0tkKVwtxXi2LaOn+3V77RXWYrOw9+iqvT61mELsVdJgLU7evT5m6IgQ6FK6LrzLctKT2GgXtH/WGeOn5pvG1/on1L3B2HzT0HlmYt22aJ7E69eSql2MrscTtkcohqIa8DqVmGzMv2/V9e8aOTu1j0X8HTYUVdbo7bfYMjxTt+S4zLfRnZykk5yAletfhLfo5a72vp72s903SQjMX7sLb9E3cmwTIezyZuVuc06Y0m+Vk9Jf5LfKmlBisKQCjEljfaL2/9TTrRriHn5ffha+qe+X5VBs461y7BXZOxXVd3hopW7/v5f2DC8tkaJyzr6Jk5YPrZRmLdq+UkpOWQygz/PJtIJTpj3VK9vfhYHSjYhneiVPWF5aFSpWN/nTeCEyLMceSGYOB9jK/As+S4r7ZGz+5Rtkad3uf05G7c6kKyoz4AQFoZzB5EXJzTiOk4Uge4mJmhS3k+4bMM5Ty6LLZE3TlHicXA1b+qbEET9trT5s3Xr4WWKxGXcgztwUvak2KWl5dzQajMrR+x29qBGfbf5he9NCOpqpStpUMShD+/6dCRMTd0JCJ5D3XzuGyLZiZT1rZsdvKhJytma1jiRJbYXjYJOfB6vdq4IbLnyA41MjKuYP8WOQcrSMUQUNIxJ6tKVvOEpKpYxhXZTWQG1Vs4Fpso+T5OylDGaLaXNs6KelJDrB8cd+dzJlZeJ0Y5ys01NDVxWVrsOpKlXeyFFVBleoIUHUhO6DS5lHYVb6FDzFot9LUyr0jYroS9Z1SVBNfSP1yJe2UjSFbAWJTHqelUtadG3qpbP1yp2BfszvIi1X9PEQqHWH+Lly6Up7BBZJ8tphbXkhMmFAFwjfuwTF7Y5ZHbpAorwmu/1nLhYqqyYeFZRHaiZuHMler7hWP5l/mSxXQpu55PNC5ndjmXWF49gcazLVpr6RyXD5liM6RVYliabpFzmBVlx85VyLS5jpRaW66B8MI0GJk5x9jlMr41pJnWZzftDIp9rmCcd51JWrIYWkYjv+DILoLPHRU6AygSTXz3LjZm2oheeIZlCnyP3+i/kmMo8U109j+XIl714NW5pgwFinWpIcnFeG+bTCAUJswRRK1kyJJv1FFScLUn5FWVVzNYVMVxgZtmUvkJNIML0XclohOU15dqg6uBBdXPts78rv/4keXJ8GGYf5VJck1PjlYf0UWTCbVyRYOAzPTsL1fMVYTxX76C0VxRF2sionybMDhVyUvDMnZJS9ApD6cydPyQRRbBlT86Jv8u5TxUJK2GbYBCsLW0tEEeZBh4oRsY0U14y5u0bKCyvZsGQHqHx/lXNZkkElq+mDDrl7Sy/gIgPqre9J7Ebkzdb2UfYUBYOE8oD55i83W01lvYyOtDncVI81khC+Si2fr2md69Go259kqlvPJmiHNSjP5DqzCMI5nLRH77sZ8fgINWGZoOUa4U6wXFmYW/o8L6eGdmQemUdaxBQsRylSh3mEEfEkYwFlJkv9RMznmPOnG7C4210PMKDfQssDGjQSo3JrESQRKTBUtkqFuTIVJqdqbW5TRQ4Dpe7zJzLfQpOr3jbZS3+TG25cfVXhzG9MPoaC1FZuHz9bUATRcNXp985cTBQbBunVpqpET0UdKZ0qV6ognj0ZtZV+qVpmyfKlUS1zA6UtkLyRrriV9vUrfLfXvTTfNeLLTi+4mJZeYPUDkChC9qYNrDAiyKcwiyMc/PZUfHUV+N3VdOEwn+/Y/ME8NmGycAmQRRB6DiCM2QpeI5+Gluc9arD1/DWL6ZW3iE2MZrbvJg4epLmalk2Mpcs6MnmWLnLmiKdoSqNqrjlzWTBUKoudSJ5Naoh6JmU9xEqfP6cVadB78McTnQuKqYgZih2X5d1bjwR+DQmFkCC4X1j8nQfPJRTxa8SFp4aABHCPwAn8Aype+aABkEffFu9w2L77jd9iyeSleoyl31Ne2Y/fK+n3eIiHsYoRUwOwmZ2xboOQigfXbkMK95Yfv1qCEZOB+tWU+4VrLwCj30IXIwJu/JqJ6rkc+B3fy4lxbo+Xcv6QF2eqnr+pfokmVZi9nqCJl7e9sPw5V7344O2/2/svz3mAovS2iOpRmNoe3mCGhRxNeiNxMUcBTXjJoEnxJkTiyOxPSqBcBSn5DCNeN86WMFTcj2rD/IrtJWwPWZhpx5IhGvLFWr8XlmGNMCys1Qr5JliEhEsELiWAkWfFMMAn0PU5UKwRXFoUEQofP5wl1kXg3gJB6FMLH0LgOQiXCun8iwmyW6ZE7/yImm9y4A1Vr0AwaEtsV9xvEia5ZWx9cVer5Ipx4ak4hfpVoGhiJXa5PtnupBSAfXGYUlarXAzyL8xWRmnMovYNdOdZU1SeoXzkZ2ckVRnz2XHNKpGzWYx8Z1eqcvfX5dksXqzayaDKoXiCaqAHii2bXoS36OfYCyocINz9KFuzOFslLgpvUXIeKw6iT+Ril0zj1z3j0rdagW56WDd1XNzS9B+0WqFGfLjKYwHM72jpm0KvIp4rA2u+X4auzGqWp1Kiz+z09jdMmaKpGIq0mlq35NpVihTvi0U4MDFr+ZZZeHB3GLD2FLqcZpwyEWsBs5w0n66HZ5B/KzN5cdN4oyqwqWe8KS+6gqRLU79FuOnyzw6Lys3lGSjdZy7oSylHWArTIYpsWlTrQyjTOASLpEkYwCtxQTIPlach0EA8HGxh6s6YaEXj/BzuFkv21q3hBw7aI7L9/CTWvL6Wx7z3neNnLYXU6GkV5PNDlIPesqbt3kM+bZjyM8ilS1/fYqCqDiqHGv9nstS5oTAotnwyC/CypZGv5puvrw3BR+Khf9XAMMgiuM9qIsdgy4swM7NWMP457dEwCMXuysgcldZbZnPyax+kp52ZnspAUVlmU68sayl0VCuItwJu8oOFG/GQVHUbhl2lNsW9x1ae8qcACnMzs5jzXQ7vLlVaIp1uxP5DfNX2Qgyw7Tvsv4Y4eHjMPLfr8WRwxW//MWveHv1X+dGYchX5qZjE0m0joaoj0xCoGRK2r4pFwLDwFNRNczHSQ7BDQoNl0mDHiKLcq0PT+HB56s6mPP3Yn7eYja+Vs+120VVP07PMXm1P/7B6fk2FO6aB4kf1s1n7DJfrZvE5JZU8s4r8mZBMojunVpW0+IcJZDe3XHHK61pAeiXoqF4tK4CPVok+FY2Lb13Fp/bVk6RVO7ffOO007yidCUcpfRwAVjjgp3Wpu+MS6DD381l+kTDiL8hwVT49VPClTtfKediW4pr8L/9thEn3asj3n+ejwVXaaUvjz64rP5cAJYp/3AKR5RwbLiG9XQOMarlR8I9lnIJ4s51HWOzAd1yeq28vkH0HgQ8FQwKBbyMYDZOIocsDPcgiyMl75wyA6vX4Uod6IMkjlZqp8Wcq4V0Ljv+90eCB1PjBrEL3FZez/2DAKjJZQOxKjzA5XXwa6FRU17aR2wKAFdW1mnQ8Zn3/UGFcK0xr7SVWGZqLYImai8cVwuxHI12G8Jr5XAyN0ntNvaU1z5607Fz2ppPBIE0kyQCnd9V+3xU5JieSJ8RoJTFmdyn23IpGEQiXSd8kPeSuCUg/i4M9irUnmFTWL2PEpthUd6+BpkpFP4FjvkuyKdtV8P3ByrIR26WabhAPiIO3rqDKD8biW1fUXSKHfy4nkchWaaxdC/ggcwnjUti9M2H134v9YJI2nnNNSjITiVPPERtv+UzJiXSr301G8aAqxSSSp6okJYHITik8b/xOYN8h/LuNX5AvjP9s0LnoVqmH2FZhRK35y9f4qDtpv5d/fistfd7HnA1jhoNl1Sh4Gl6BzjdBg61rllpz5XSAXmDleUsqSTJ8Vl+5bBuuPc+hI83zVWfEZ5icB7izcH2r/N6s5Dhe95m+xGer0su+5VFanpeSbtX1+jaJixP65N7MwT+XNjaXro0DEsyoaQdL/gAq/5bURnwdSj+ODhqKhVrsVZYR2a8DQjG0gPB+ZnXtL+T0L0Q7BP34EPSTRgQxB4TilIVc/qCmb2QuYllV5gwzTBAHdTPXd2Bpp9zOAgx8irZlzrNKS1ssUn7hL9f5p3/cfK+Vfoq0qHj7O9ODVuo1JmSjOEXOQPw52rLs2C/WFzahtp8mzL1cg1LW8lAUL2mZP32TG0K0NdRZppfg5F4k5YeH0m8uvRwsM1GloMYllPBWkk5u9eOlcvGX10eMPXjpVjcQ4MA/1XS9EkpTOOISGYSxuoihoYdVgKlcImiFvi22NOLLT4LcKMxSPeXPFSjeLZdyOCo37GWpVWJv2pDzwe/uMn8YZVcGUqjIw412qukn0UF6t2/dTTZIBZ9e/6r82fx0ZPyvm+8rSg31z9P0tVd9I0k2ErfyD9j/P/vSelOqfNVw98HjIuT++Ye/7ZxDIYW8fTCMWYCXFoWDzcYcoVVAXBrgxyg63WzMiTWP/uwSkEYvVirz+6Z24KCW/h8FWNbTMviuxb8RpDrn435jWrOWizCIpVeUavUlGem1W1Wrr3C/cD0EGFmOmJGclXoxWGQ2oAzZOe8t5i4qB/NUa6uSpGRXKuhJ05V7eEEqi2R0NWYlHK28KM3vAbBNBk9DMexyywzk02hMAe2FI1B3LIoah3p9ERDKAKNxCIRamHaUrUXkQrYeoPFAAv/SrLaDMPKdCrLZ5wNHfO+AnAK3qUbGueSdy8F18ukLkT/C3NuOF4RORfD4v5cNEm5s6ngd/OFW4SkM/atwel+eJH7+hyFb4i7/eTBNkQFISl/gS/CK73CKy7fsp+b5lCBMIGfZtsqlycotYK0CVks1yjJSAXaChOoyFYDmULtURYRii0N3cp9RHe34jCpzJpIv/zioHeNuWClJ4VCML3rDJNreuey2+9fDZAsgKvTG048fzti2pnBhQy991Vd8QihJ2v744ezwcKuqx7c1efTn44czcFxCccCz3vlhmqIHRTJYFgpj1fnJWH8wmZ4Prvv5RNHz68vLNJdh1P0/171R96yVnn6mMKEQSbTloFGMIrlCkXuCh08ociCUHkdJYEXJDRPYrnuXVbJXX7zkB5XIgXngOchPgtgYJV9c1nbGRNULUgP17yk5tbTlQ3U5PzuOifKPeqpnvvBxJst3YtUEl+Q17hBmofR9Vox+CzHKMAZq+01DVKsFa4Sx66D4+02dwJ+58ywaIG43SR+k5p/WZ4Am/jTt2dx0mj8eTfkNnKmPmNfNaLASTf7Y8qZALL68b1H46afu4BzevVNUcSxqkSDENjrl1Tmqnmaxs9XKe2SdMt7jjk/j07Tu4JwN8BX7+/8FAAD//5GUOwmlgAAA + H4sIAAAAAAAC/+x9/3fbtpLvz6u/YsqwsZSYlO323u3zrbJVZSXRsy3pSXK6+xJXhyYhiTVFqgAo21H4/vZ3APALSIKSbKe33Xv23nOSRgAGg8HgM4PBAHzxTfPG9Zs3FlnUap3OdNwdfeh1utNefzq5HLaawYo2rc8hRk078Knl+giTpm0bKxzcP5gE4bVrI9P1edtB57w72bdpYN8iylv2e9POoP+292561hu1tCaidtP23aaPqOlovPznXj8uZFRZ4Y3ra7UXk8HZAFah5wFduASCkEIwAztYrgIfUZ+Yv5HABxoE/8HJnA1+6V8M2mfjAjEnuPO9wHKIVuuMep3JRVpTrohdm3qKuhlzIcFNL7AtT7DXGfQn7V6/OzpT95yIxZGJjq76HWV1HPq2XPH8h7Gy3m14g7CPKCLF2sNR70N70p0O253z9rvueNppd953dzRtrrC7tigyVpZ9a81RTGvUfdcbT0b/NR11h4OWFhDCxmxhFxGJjFa7+vmqP7majroX3fa429LrHrmZYuQhiyAwMBikURuMW3rdnYFHgE/+KyOpcPwGmg5aN302xSdvXh7/A+gC+UACTFnrQvUvMLfubuFgaVF7UdePDqH5a713Nr3onXdbdTvAKCCNL72zVt181WjozUOwGrCBFXZ9CjQIVyuE69bHk2uwPn533fgHoHuXQnTwD5i5jdq427kadaeTi/H058FgMp6M2sPp+dXP3YvuZNr9z25nOry4eseUoaw8YiFQj9wEASUUWyttf3ofuqNxb9Bvaesj89g8MixvtbDME6026V50h4PR5GxLzxR5aBVg6uQ1t3vW7U967YvpcDT40DvrjtQqjxzkU9fyVjhYuw7Cu4hka2Ft4abn3nBl8JBMy0iIKQZQuZYu2/3e2+54Mn3bu+gO25P3OcEuLd+dIUL5emcL73I46Hf7k7G6egwQPiVxgw/vz6YXg3cV1dcLx3B9Qi3PM1lTD1HEOZqe/TxtX00G06vhGVtYby/a72QSiQyWlm84N00rpIERrhyLNe9cjS6mg6vJ8GrSatLlqmmH2JuuEb4JCDKDkCZLZzCe9tuX3ZYm/s06HjFQyQriH7RaZ3g1bY8671uaVnOQ7VkYgWHBL+3x5fh973LYOxu36g25aDzs9ZnKJUU1gmhneNXG9qLegE0NACClqtfnaWmjFtVqGC2DNbq0/LObdkiDKz60t541f+t6KG2Pl2DMQN8lL0bQxsiiOwnSILQXexL0kOWHq04KtWceI0VyzOEZ6FVYzYjEc58R+cWli06qQ/+bBH5KLyAtfZOfuYgXuDP4+BGMz6DpeUzU4PpawBqvlxIZjCPpB6YZxA38lmaHGCOfarwQeQQpa6VMxL1Eov7M5X/xPzL7MxTQ3tLrv/0OmjlMkB40XbGUNPgCvN7Ha/gCBHnIpnXTt5YIWi34pGV0P2kNrQFfvggc1buj0VSScwxr017/Q/uid8Z5ik1TUsZ1MpaeSy4tzMgOcJstywvXD+9B44LS4OVLJl5N3/TG0/P2pB1pjBmN4hBVCThZR6x6fq5iKYmlGkvjg5AsYX2UJBcxUW0CkvydzEMsdf7Hi0x/DgisE3IWxtYDuATQ/QrZFDlAA1hYawSB7z1A4CNAHloin5qCTG8GLoWFRWAZYAR0YflyrUO4Q3Dneh7EastGDp5FaFIDXJ//xns2JeXUNy+K8v/403UExpzCcVmIyF4EoP3SHvV7/XenkjpB7CoUB1nJswk9wavrz3ewm1PjHWyj3+GIaZ++KZUfXUdcP34cn/eGb7SqwfX6bwf7jIxNn0sXCANarugDBJizPHOxPA4CojsTxrfuasUGK5GOp8uibuDHw+QAhWiIfTiSx917O27pB5/8A+4IIaegoq26Xhce0gf48ccfNcX4X11HWkMsrdAniDKS/F98PFPifkYtffNCSZ4Jl9dlsq/XsxbGcaMBhkfhCK6v2Ypk0zh1fQfdt/hESP8uNeQUV7meWvpGzYC+yShFMTOZJC+t3wJ86foBHjI/8EMKiXUxqXq+FwZndkjBcAwwZscNrUDufUDfuvePokLAmJ3EhJiOCtjfxaEG10xIH/eqypSXecXKRjmWc3WVWu76a8tzHVkZY/0+heIws6b7Qnqss14wJ1MaTNGa2UzQ2udjszPumkXjOgp96i5R8vuYWr5jeYGPMvjUGMuVpSDjs1p8Ua5OTloxYieCgQr2wIDysKEF+iYvr0irVXoQl7HTmvMfuMsrzURiSSRdmoGml9zh8txupZRXccltYB6AgcHMCk3kzJGyy0amDZwzhdPBde/4B/Po+zKDu3g4kJlYub6PHFM7/uHoe+1gFzuxzuW8o2pzFfcMfkBhFoQ+w2JIthSH4KCZFXqU2yZmmrFjBw7jRVZvaSArpmnycGLAKI91F/RMMVq7j6SyDXfyrCmho1hlK86k/D0BYySIUQxpO8z0+uNJ++JiOulddgdXkz8fZvJSy8NLKqRnQ0tlf5oKY2JyKbLs0S/bCY763Ul3nOu3/HOkSf6Xpm/63e7ZWJqhSINvqr3vmIHL4OYBiu6cgDflroO7FL/9DgfpBkW5AZH2H1rjAH4EFTWQAktKfY27KGxnmDoSShg+qKhKbtsee8bav/2bcO5kGWzt3QkQ4SjF2djBxU6bIylNH9G7AN8OvXDuZrZImt7JL4PReRykYagOGg+NVE8u36J1+r3c/MYc9XvwAqMZwsi3Eax4p8SEy4BQ7wFmAYbb8Ab5iMJNSMELgtWNZd/GFZkbHRLkwM2DjOFMh2VrByf57X0x+gsvgY0/CWd10ujUMA5OZeGPbbGyq9EF22vvqnPayq0Yw4c9GkUK6doYpSA5nQV4GmCLtFLjsIskMxVzjFZgBEM4WH9yXtc/mZ+c141XB3wlOXBAmr+um032zwWyHMbqcSOZRNlDYYwkgbxpiL2WfpIfoV6qUh7OTtmWieR4Wd46LgZjBfquiKaon8VZh6MBWy8ZZmUR7XF39KE7YtP6iOrKGX5Ee9VkZ5IWqpnJIVFbJpBMDR7ZY1PflCL5kQh5GpaNDUXE9nStb5QqGBme64f3hr5JooWRtnWWJ+/+Lz8m2mMdvHjxqhlp8AKuCIIbiyzgJnSZPwYv5F0yfrCXznSO6JRa+MbyvOkMB8spRnOXUPwwvXPpgvMKxydH8Lddq+WsN2rqWzjnkZ695ybS8mGwwag9ng6vLi6mbAretnsXxQ1/7MDywNcoHsMV9vYDjkpFSt3SrwQZBYzYOdtbtausQ0Ze3SKTWticf9b+7HnfA7ofN905VPuD18s+E79LCmCaJuzWnVrVHH2tudjJQiH6vK22vJsQMsq8AkjcAkiWN3KAhLaNCJmFnveQc8GrnYld25NSS7PaQ9Ggukyck1gYjPvPs73EvNki50gDo7OHjc2Z5ApNjU/4YvNgL4I7H4wR4CCgp+yP/dot1zuXIau83Zppu/pqVjWMeV8GDvz73/72PDKJi7p7NLLDOkZ2iNHkYvxzcqB8Lg5au/fILvjxAv6F+8xdNW1B6YqcNpu3P5D47JyYN15wY9oBRuad6zvBHTF9RJvWLTGoR4z03NqwPRf5tKlvHnt+HTU5vjetpfP375sqorIHpddd0h5d/v37BtvUKY4f/jrjwcut4yk7q0/KJKhJg059jJVFF8wmPIliVMF0thn/RmzHVb2WAz0pzruz6cxyvRAj+I6h/N+PwGbuvzEbX4ARVBJMfw+xVzCgKdt7D1RG80qkeZLYNIkmQwBjFIPAM6jNXLa47yyy5MfTXba/r44Js3rTmeshPv365jiS6pGFu8zcvM2JXJa47SSczdz7lr75rtiSW6dkXlp1Td/8dPp9pDVA3vzxTJ8HRYhzI3fOnCCgGEww4pgk29qzGuD6SeVcfx9/uma+qxPk48qxFm6qJBBJqVQGI2oI2sx9zLPKfsnLIFLHpWMn/BiKIWUn8JHkITBXhvECjBcSx2XYMB/D7au9+KzJp4GgPlWwyHLMhFpvyJqTLjP2TyrUIlaZ5GAwv+nenEQgWw4RjUqYI7FafMfVIj3fZqNOIulifovtytNbrXdk5foaaMRz5wuqNXIK8RE0PRegPjJ/MI8UG2j2vxLx1626dndHJJrx1BZi73zSeGCjjtaWF4fkzmIqzLXMzlVzvn9GOPXPyjMEemlWcoHwpHfQ1tlYK9cM5HXzzmK4uZHzftJD23+JaRKZGQqxDhFeukQczSskvJcwM1nKAULVInsSPitVLA/TBQj/p4E0pKY/b4nyhz650TE5yvQ00Iz1sbYN3hXRdgkRGXUOiwQsDyPLeZCD7lVsHIqUFz+gcIPSdef681ImRc4l+6fFA78B4zM8LjxXFQ9MAxvc831kyC+Xp+sgl3jWDWkqxX9aUJRtET7BGZ+ReNbnn6d0uWpVTpi6z3IfccSn9ryIz6bMWqSBvpFlGVWFbKTTOIaoKSd8e/35nrkmZfJix1w1+pQG38fuI6PUUcjPiVhqjyJQ9DTWx9ISWQpXSzGebcvo8X7dXnuFtdgs7D26aq9PLaYQe5U0WIuTNy+PGToiBLqUrgtvspz0JDbaBe3XOmP81HzV+FL/iLrXGJuvGjrPTKzbFs2TePlSUrXz0dV4wvYIxVBUA16mEpON+etWXf+mkbNT+1jEP2BDUWWNvvsaW4Yn6pYcl/k6upOTdJITsHL98/AGPd/V3tfTfrL7JgmB+Wu34Q36So5tIoRd3qzcbc4JU/qtclL6s/xWWRNKDJZUgDFprE/U/p96ulVD3MPvy8/CV/X9shyKbbxVjr0ie6ei+g4PrdTt/3hpT/DSEikq5+yrOGn50Epp1qLtK6XklMUA+jSfTCs4ZdpjvbL9XRgo3Yh4olfyiOWlVaFidZO/jBciw3LsgWTmcICtzL/gs6S4T8bmX75Bltbt/udk1O5MuqIyA05QEMoZTF6U3IzjOFkIspeYqElxO+m+AeM8tSy6TNY0TYnHyeWwpW9KHPHT1urD1q2HnyUWm3EH4sxN0Ztqk5KWd0ejwagcvd/Rixrx2eYftjctpKOZqqRNFYMytO/fmTAxcSckdAJ5/7VjiGwrVtazZnb8piIhZ2tW60iS1FY4Djb5ebDavSq44cIHOD41omL+ED8GKUfLGFXQMCKhR1v6hqOkVMoY1kVpDdRWNRuYJvs4Sc5eymC2mDbHhn5aSqITHH/odydTViZON8bJOj01dFVR6TqcqlLljRxVZXCFGhJETejeu5R5FGalT8FTLPq9NKVC36iIPmddlwTV1DdSj3xpK0VTyFaQyKTnWbmkRdemXjpbL9wZ6Mf8LtJyRR8OgVq3iJ8rl660R2CRJK8d1pYXIhMGdIHwnUtQ3O6Y1aELJMprstt/5mKhsmriUUF5pGbixpHs9Ypr9ZP558lyJbSZSz4vZH43lllXOI7NsSZTbeobmQyXbzmiU2RVkmiafpETaMXFV861uISZXlSqi/7BMBKUOMnZ5zi1Mq6V1Gk25weNfKptnnCcR125GlJIKrbjzyCIzhIfPQUqE0hy/Sw3btaGWniOaAZ1itzvb81XkXmkuH4ay5crefdy2NIEA8Y61ZLk4LwyzKcVDhBiC6ZQsmZKNOkvqjhZkPIryqqaqylkusLIsC17gZxEgum9kNMKyWnKs0PVwYXo4spne1d+/0/04Po0yDjMp7okocbP9+vHyILZvCLBwmF4dhKu5yvGeqrYR2+pKI6wk1U5SZ4dKOSi5J05IaPsFYDUnzt5TCaIYsuYmhd9k3efKhZSwjbDJlhZ2FoiijAPOlSMiG2kuGbM3TVSXljJhiU7QOX7q5zLkgwqWU0fdMjdW3oGFxlQb31PYjcib7a2j7KnKBgklAfMN3+52Woq62V0pM3hpnqskYTwVWr5dE3rXI1G3f4kU916NkE7rEF5JteZRRDO4aQ9etfNiMdHqAnLBC3XCHeC5crC3NLneTk1tCPzyDzSIqZgOUqROswjjIgnGQsoM1nqJ2I+x5w/3YDF3e56gAH9Hloe0KCRGJUbiyCJSIGhslUqzJWpMDlVa3ObKnIYKHWfP5H5Gppc9bbJXvqb3HDj6qsKZ35l8jEUpLZy+/jZgiKIhqtOv3fmYqLYMEivNlUleirqSOlUuVIF8ezJqK30S9UyS5YvjWqZGyhtgeSNdMWttC9f4Ju97qX5rhFfdnrGxbT0AqsfgEQRsjdtYIURQT6FWRzh4Len4qurwO+upguH+XzH5vfmsQmThUuALILQcwBhzFbwGvk0tDzvQYOt569ZTK+8RWxiNLN9N3HwIM3VtGxiLF3WkcmzdJEzRzxFUxpVc82Zy4KhUlnsRPJsUkPUMynrIVb6/DmtSIPegz+e6FxQTEXMUOy4LO/OeiDwW0gohATB3cLi7zx4LqGIXyMuPDUEJIA7BE7gH1DxygcNgDz4tniHw/bdr/wWSyYv1WMs/Z7yyn78Xkm/x0M8jFWMmBqAzeyMdROEVDy4dhNSuLP8+NUSjJgM1K+m3C1cewEY/R66GBFw49dMVM/lwB/4Xk6Mc3u8lPOnvDhT9fxN9Us0qcLs9QRNvLztheXPuerFB2//3d5/ecoDFKW3RVSPwtT28AYzLORo0huJizkKaMJLBk2KNyESR2Z/UgLlKkjJZxjxunG2hKHiflQb5hdsL2F7yMJMO5YM0ZAv1vqdsAxrhGFhrVbIN8EiJFwicCkBjDwrhgE+ga7PgWKN4MKiiFD48P4ssS4C9xYIQp9a+BACz0G4VEjnn02Q3TIleudH1HyVA2+oegWCQVtiu+J+kzDJDWPrs7taJVeMC0/FKdSvAkUTK7HL9cl2J6UA7LPDlLJa5WKQ3zJbGaUxi9pX0J0nTVF5hvKRn52RVGXMZ8c1q0TOZjHynV2pyt1fl2ezeLFqJ4Mqh+IRqoHuKbZseh7eoJ9jL6hwgHD7g2zN4myVuCi8Qcl5rDiIPpGLXTKNX/eMS7/TCnTTw7qp4+KWpn+v1Qo14sNVHgtgfkdL3xR6FfFcGVjz/TJ0ZVazPJUSfWant79hyhRNxVCk1dS6JdeuUqR4XyzCgYlZy7fMwoO7w4C1x9DlNOOUiVgLmOWk+XQ9PIP8W5nJi5vGK1WBTT3jVXnRFSRdmvotwk2Xf3ZYVG4uz0DpPnNBX0o5wlKYDlFk06JaH0KZxiFYJE3CAF6JC5J5qDwNgQbi4WALU3fGRCsa5+dwt1iyt24NP3DQHpHtpyex5vW1POa97xw/aSmkRk+rIJ8fohz0ljVt9x7yccOUn0EuXfr6GgNVdVA51Pg/k6XODYVBseWTWYCXLY18MV99eWkIPhIP/YsGhkEWwV1WEzkGW16EmZm1gvFPaY+GQSh2V0bmqLS+YzYnv/ZBetqZ6akMFJVlNvXKspZCR7WCeCvgJj9YuBYPSVW3YdhValPce2zlKX8KoDA3M4s53+Xw7lKlJdLpRuw/xFdtz8UA277D/muIg/uHzHO7Gk8Gl/z2H7Pm7dF/lR+NKVeRn4pJLN02Eqo6Mg2BmiFh+6pYBAwLT0HdNBcjPQQ7JDRYJg12jCjKvTo0jQ+Xp+5sytOP/XmL2fhaOdtuF131ND3J7NX29A+r59dUuGMaKH5UP5u1z3C5bhafU1LJM6vInwnJJLpzalVJi3+aQHZzyxWnvK4FpFeCjurVsgL4aJXoU9G4+NZVfGpfPUlatXP7ldNO847SmXCU0scBYIUDflqXujsugQ5zP5/kF7H/yfOVssdxqVxXxK9SdXhIHcDRRaluuaPchw4m3csh30y+HQ0u045bGn9DXfntgzLFP0/bq4QWWySxx9k12KiWGxH/CsYpiMfYeejEDnzH5Un49gLZtxD4ULAQEPg2gtEwCQW6PIKDLIKcvNvNkKVej29rqAeVvD6pmRp/fxLetOD43xsNHiGNX8IqdF9x6/pPRqIikwUornT1kmPDx6FJRXVtG7ktyFZRXatJ517W6/sKq1lhM2vPMbfQXARL1Fw8rBBmPxrpkoSXzJmaIx/hKlgonMxXahF/FLK0oyxVVIaui2vCJWBV7RldmiIjW2FsPCVkLOb8l7go77tD7LEtH7pvHSTnYh9/bV6/lpFs/fHI+F/Xrz+Zyd/m6+xAzHx9UDBHhq9SZaW9KF7KWlfolsJmKbpo/T/Q0/FUG6jkXQO+wV1hNHPvFcJ68UqSQFS2KKX7ZBsF3W+/bb5StBWz3xXIgOTHrvNUge3Ii8h5ClUTW40RKuV4/kt9hdDDafnqWsVlELGXYbqc3hfsLa159lRs56I3nQwGaYJWxlnvsv2uK3K3TqQdBqOVnN24SxHLUjSKQGxF9E3SQ+76jfSzODCnWHuEq8r6ZYzYFJvq7jXQVFc8TuCYRx9synbrfN+9smwEtz8Q0w3iAfGlryuo8gPn+DYjdZfI4Z+hSiSyVRpr1wI+yNxFDOk4qzNh9d+JOEtyHSPn8pdkJhISnyI23vKJkhNpjH+YjOJBVYpJJCVWSUrC251SeNr4ncC+RfgPG78gXxj/2aBz3q1SD7HEMaLW/PlrfNSdtN/JP38nLX3ex5wNg6NlxSh4emuBzldBg61rllpz5XSAXmDlaUsqSd59Ul+5LDauPU+hI83zZWfEZ5i8DXBn4fpW+R1nycJc9Zm+xDkL0ovZ5VFanpeSbtX1+jaJi8yX5D7awa9LG5tL18YBCWbUtIMlf1iYf6NtI766ph9HBw3FQi32KsuI7NcBoRhaQHg/s7r2LTn9lmiHoB8fgn7SiCDmgFCcspDLy9X0jcxFLKvKXHyGCeIAfOb6DiztlNtZgIFP0bYbKazS0haLlF+kzXX+8afr11rpp0iLiq8qZHrQSjdtCdkoTj01EH/muSw79ov1mU2o7aeJqM/XoJS1PBTFS1rmT9/khhBtPUIo00twci+S8oNe6bfMng+WmahSUOMSSngrSSe3+vFSufjL6yPGHrx0qxsIcOCfQLtaCaUpHB2LzNxYXcTQ0P0qwFQuEbRC3xYRBfFFNUFuFGYp1PJnQBTfA5ByoyoDYWWpVWJv2pDzwe/Es+0oyq7ipFCRhxvtVNNPooP0zuy6m2wYC9se/Yvy53gXVlFqqH+epq8o6xtJspF47eKA/f+TL603pcpXDXcfPC5C7l9/+NvODxVSyNsHw5gFeGlRONhszBFaBcSlAX6IotPNxpxY8+ivLgFp9GKlMr9vagcOaun/UYBlPS2Db1r821uq83PuN6Y1a7kAn1h6RalWXz6TXpFWtfoCdwvXQ4CR5YgZyVmpZ4NFZgPKkJ3z3mLuonIEQLW2KklKdqWCnjRduQdNpLJIRldjVsLRygcI+P0atsng6V2GXW6ZgXwaDC2gvXAE6o5FUeNQry8CQhlgNA6BUAvTjrK1CBzK1gM0HsfjX3DWdhBGvlNBNvss54jvHZBT4DbVyPiORudicJV8UkbkZTH3tuMFoVNxKPPfywYJNzZ1vA7+dKvwGIb+WTi9L08SP/9iyJa4y38dTFNk1pLSly0TvOI7nOLyLfupeT4lCBPIWbatcmmycgtYq4DVUo2yjFSAnSChukwFoDnULlURJyHFoTu5zxOPdnyemDkTyRe1HNSOcTeslKRwKMbnvWESw+5cdNv9q2GyBRAVeuPph/dnbFtTuAill76WLT7NlVyG+PD+7PBwq6rHt6B59OfD+zNwXEJxwG+T8ENqRQ+KJMssFMaq8xB6fzCZvh1c9fMJ2G+vLi7SHKFR9/9c9Ubds1aaVZDChEIk0ZYDfDGK5CQm97QVn1DkQCg9OpTAipIbJrBd95mrZK++0MwTAJAD88BzkJ8EsTFKvmSu7YyJqhekBurfU3JqacvJKvK9hzgmyj+Wq575wkfPLN+JVRNckte4Q5iF0nePMfo9xCjDGKjtNw1RrRasEcaug+LvonUCf+bOs2iAuDUofegdUbtpM0ATf5r2bG46zR+Opvxm29RHzOtmNFiJJn/EfFMgFj+KYVH48cfu4C28eaOo4ljUIkGIbXTKq3NUPc1iZ6uV98A6ZbzHHZ/Gh9ndwVs2wBfs7/8fAAD//32TM1T9gwAA - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/CustomData index 93eb04fd575..c85c88227bc 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/CustomData index fa824875c91..909eb8b149a 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/CustomData index a24ba75d8b0..b54b062c31d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/+R8+3ebxvbv7/ordimt7dZIQnacxDnkFEvY4VqvC8hpruPDwmIkUyNQYHDiY+v+7XfNMMCAkGPHbW7P+borqxKzZz8++zF7ZrB//KF16QWtSye+amiGYZsfTEsbdK2+bVqqYdnHqt5X9oGOdfujSc/Wh7plW/pAG00s5UU6cqz3Nfu9anXf5SMH6ci7Ub9nv1f7+nDyu3qiDS3lZTpgaH1NNbUaglcpgTq2bH1oWmq/nzN9nQ71Rt1TzVgb7bRLw73R+2F/pPaKcbk0fqp9qKHplGiIEoQuH94rDXMYdRhIg9HRBzqtr5sFTh0G1MC0T8YnG0QfcBzWbGOwdUdDS9WHmtFbJ2HAGZNhd32QQXf6yiQEQ314ko/ttYuxNa32GGinkyONhMVwZNnHo8mwp+wxqPTBSc20vWJaX7N4pPb2y14cnNjjCafq3os1U7tWHd3BOp2hEx3XSTejR0OXM+rVGuWZZpj6aGjrwzO1r/eUPQZld6iv270v544eG6Oe3dOOaog660Tj0xNb7fVYwjH0RobKuUQzjJGh7DN40kzlDKETX2Ux1BsboyONPWUajybWEbGSWDdMh15wvlfHum1qxplm8ARyLUFvaNr90eh0MmZknVoy9f9MDG2dOAsO1VLrc+GgzVFUk/BA5gargX7AFDl716v69mA9sNYEv2xzSbQ+yiR3J6Y1Gtimphrdd3ZvNFD1oZna9ooxOBlP1ue/2uMGDZ1EFp8Zr/bXh6v2vXrB0Whnelezx/3JiT4sMTooiPTh8cg2RgO7OzKMydjSesorlg7mye8b5bxur9NwEl7LRZXuqXq/8M5rrn5Pxj3V0oqhLHNMjQT+mU7zyuwa+tiifjI0tVdwktttTggpp5PxiaH2NI6CU2M8MU5YwMvtTp4kpCAYGnGDIrcZ/l3dtFXT1E+GtjEaWfb4vSLL8toYjZ+xZgx0k2iqyDJjO1Zp6eqOxh8okSLLPOfxuP/BHqum+X5k0GQ71k8UWa4kbr6GjFhayHJW0dIythY+svyyRDAaa4ZqEQzT0iDLWfWyjJrB19BIwaJJaVpq99Q+0SxbNQa2NTrVhoqcLaFVkqFmvR8Zp8yWScpYkbMVtUpuTo6GmmWPDe1Y/12RyaKaJ+XRRO9ntUwm62IKynt1bHcNjYRLCka2KvEj+tCcHB/rXV0b0og4tc2x2tUUmaxSlNrS+tp4ZFi9UtlU5KzOFeNZwKfDmSGGpR+rXbJeGZo6IKtkxkeRsxpXQ8SYKTIpbWnjY1ljEuS/f7C7KsHtTDMsRc4KG8sMMqQZlqnIB3lzwtQ2tS4B1eqb9tFoZJmWoY7z5VT7XetmeZ9Hx0Hm4J5uHql9zdbHlnrU10xFJmUtrZnGxLQIh/XgyopbTzfJLNs03ynyyyziDX2gGh/sod619TFXVOWXLPL1oakZlq0PeqZtaKZFQpREnzEhmgytkT1Qhyd9zaY6KfLL/cfOO9b7lmbk81ga9QgQ2oZ5x6TgVeQdPHZeRd5LLngNjfjCNrT/PdENrad0shI1HNGioJ5oJgOmk9Umc6iOzXejvBryTWM7y4yxoZ+RQbJ+klaARGUnK1fkIR+unfZ+ljZ5uz5QzVPGlI11Da2nDS1d7afFtlfbE7ezDCTtTLXV6bQPoNEoWhHaVBFtmPYvoTJGnhNUyepvy0qn/apKwS2+71VzoHTarx9ksqd05PaDFPtKJ6vdGyheKB05Q4X1IVmQ5/2pZpyRRCbZqB/rXeILY2SlBdRST5SOvMdw6mvqcDIuDLH1AXG70pH3Gw1vBjMvcKGF8BQkfLtEMNv1QQqcBQLhFylCPnJiJIC0jLwAg/Qp8TB03rZcdNMKEt+He5hHaAnSJ9hqbr0BfIWCBgDAyFTE7TiMMEgRZd/KuZE5zudr2Fo4eHq1LbZ3ofWvbb1n9/VTTdmehhEK4517vadsN3/Z2RFbu+DswB2kKuAwWS5RtO2cdy7AOd+72HkD6IuHYbW1wyRngfFEDfJwerJguAccgeTClrC100B+jKgmaHoVglARHYQYZmESuEJj5jUak6PJ0JrYI9MeqgNNEdLvQmOgGtRb+QB7UIzQfrI6TB4KDbrA0T1qQVA8Expsd6S0kjhq+eHU8em2+jq5RFPsN9KlPh0lz91weo2iBvqyJGjSVu5MEcS7ovHLED9UVkKJTjMtXkpw47mewwTkbpKb8l5TluRs5vBM7+lqxprGq22+UzOR+QNeWt0ckgiZmmcrSbzbwHiNC2eY9WGsVWwlj74iWhEW06i58KZRGIcz3JyGi5ZzHZN/0nyZFKpU2BZMSU+U9sNpIe0OeoowJVEWwPWruOmFECUBSCQxbzwfzZELkhQtQJIChKWrMMYgSZ89fCUFMSw997C1jMJpS24FcWvpEeJFmJCwvl0i5dIL3N04miqtcIlb82Wy68ZYaS2C9Eu4xF4YxEpE6B6a6UwpYTE7e1DikBvJ4mDNzjTg6gwMEFaYbUvPZR9vIFP7MFM5f8gUOOS1oUAJDdKFd9XuO83u6YbSunGi1tSZXqGWQ+ZF0yvvBsWtBumo1SFp4TjiKAwxoUsnNLQzbWiRXePJCW3CMn5+OG85/04i1BrksaCS703tC0ZBTLRpdpMYhwtzGnlL3EI3KMBxq9GdGH2yAx5PLKWFF8vWNIl8+wZFl2GMmmGCG3T14CnCyInXKQztRDct4wNrhtMNAK1JhL41DYOZN2/eOgsfGo0I4eh2unBtb2bPHM9PIrS9A3e0mpExD8WKKL+Bz46H7dhHaKmInTeAvQUKE6yIe28gvvJmGH7+ufKBspiFEXjgBSBux+gTyCAypjtvwA0pCflh7EDMPgji3W8rgfC6jJBzDff38DGn9mZwDqIHEvqU84MLbinKfmg51r6gaYKRCx8F8bePAplIpMRvSqQRwkkUgJw/zGt69kONB7EAIh+defSjGwbcKrBZ7KoWdTv2fBTg/x7w/yxEebiC2A/D62SZo8QjI3PIEJRC7Pg2j1WEpmHkKuI+nRpjJ8J0XBG3XQcj+PWnOG0oPl95PgIcJagEVCYdpJxrBplEVVTaBBIiZAN40ySKULBBaoHu9jZPCBKn684OSHMEYsm6zcEvWISOc3FpWoRIMXN3n2QZiVfkCg/7mjlws5fzZHkQktSGPJWepGYYfQ3IGE3DwI0FkpJ1GRmEdowdHP8dcpKk5N8nI3O05gjb2IkuHd/PUcJOZD+EVEpOkUoiP0vH1NXiHTd7lQEubICOo63A50Qg4X/PKAmR9hjoOG7fCF/mrIM2CWsfpFls9m9ApJ/DQpm3IHKrPXTe/iyX+BC1zkH8J/ygQBsu6pShqePgEqMSAZeBz/WsPYvChR2huRfj6NYmLaZNWolnepzMmoW+iyKS916UbkEzkISd/8awILDBkmyj+aBgMJAulYEspV0aiHcbW7oVCSOuJXxeGHGM/vQwuvQCJ7r9ahQxsgcCiVEsHXxVDaZMxno8cZMqMVUWWAmrDbFVnlMOLxo20qwiszZoaNBtjphSAJZFwiY3rsVhLeevx2MJyT87JJ8Qll8NzZrwfDhEKxM2RCzdds08v9gH0SePXPvJxDQ+91l8vijFHM/rq4WMJy6H2jkNNDGTBhcXeSmrr2I8q2eWsbwnqV3jcpX+xoscJZiFUdnND3i48OoeJV06N8hlByB0sz/1w8SVvMDDEqGNm5SC0qanpcefiPczPisBREpBvMaQbz+lP8yZbv2ojY63ONgfDoPv0R5SSuSC5IHQIuq1XKFQsMgGLlTeMjgaq0Z8G2O0mGISrbRbf1r3DfHNlBT+bF341n47VwNcBy3CQIqQHzruYyYwvUFkqnyHtj2XTfYrSVyIlqQglJbOnFRyvzTnjzCJAscnk6Qkn/BN6VS4LMbh8j/OX0Tp7+msJ6PqerFz6aP/OGCZ3n9PbNMKQ0x5Gq7PBZMmnJSC9PcB5AZFsRcG9hxnYYZRjEEQt+lV2Ay2foo/BlsgiL8JcA/sku0M7uEKOS5IAcg7AigKCKIsNFaNInq1gMSAGrhmqZivlXmQ2214AXttEFN7DC29iDYt1ZqYivjPRn2pk8tFDt5C5SBelKWUtumH80YBcFkASAEifUgFZta3yTANE9+ld3mXKD1G4g/BSp5g0Hoz+AFqzpVA7hBLOy84Y1CQZor8KPEptQuXtwWLzbrw3uilKUndwZVqb8bp4nsxlpLAwzFI0ozsDSTJKV38CqLcjFF0402RUFG4vBZAZqkokxDfBGa4XPJgrlW+R7FhtIwPsxstblDUDRdLh7vXyK59VUXcTjsRGe5hmmCQXBB+FUhrLe+USI9y0s4m0vNz0uHlvFcsHfInRyuBtemlho+kEnJz9hwD4OemF85b5D+Sh1kKnkEq/MqbX6EYn6VprIjb+rGp5JuOVMZKyFUXKRNp1nlAdfGuzHRVp30ea6uGG34OSDntocvx9dwKj/neenx6kt5Ks+Qm3/M7+07+qKcbWtcaGR+yQru4dr0IpCWIpeG0CU/iKxfEu9LIKq/ka1lHYuig3QZniaU5wpApzFgQ9VZK+pmptvolFRQuSWfqLDE9zsjmMeMeWDXK579vGgD0UpxMUQh+zILStSQJcC6DH7HSuMvrOUhse04slRySuGE0RfShi2bFXQnZ9RBD/HB6HdPHGRxSCL3l9fzwcJTe3B4eKjyX0HcLxKTb6iVR42sLFzVafkOXqPVl6U1aNNn+gQBewYF9JFwbq8Yc4e54okbTqzzCnGh6pYjbSdr2LnYa3B7zjgzu7q5oRjrky8G+QARURqIFeb6+F03zKB1urK2zbHThZqO09nixagwO9vkSS1TZLlTf4YXWy5Q3SGtzNc6LDXZCM4mKQ/g00NhZDj2HkFlmsPO3CM3RF2XrX81fP7bSf4fNX8WtEmzF9BUo/5eAz0/OdYbq0tMGfh3MvAhEWz+cxzYO7fTWu6IuduJrmkfFfUk6kFKTijJ0StdEP+0NdxocIV2YLf4qSfjpGH6ymj/tDdnpH4nbTK+sq2BSAnfzVEr3RxwGdowjL5gr4jb88Yl0PkXjJklONAfCI8bOYglAi2+m0kpYIx0tUeSQbNNdQsoUqCFkNZg+EeRmZ2+dxHLia4IOpGIJljWMNIJkH90gH0DQg1kYLagCjr9OO0Bx7MxRKpQsoj7CyD0E8ZcNfMeeS2nbG8atuvGtuxywQxDzz7s8OIcgct92MzgOQWSfdnPzCQ/2cZez9hDE4stuZtohiOzTbm5BRjn23N1c7eyh5bmrNEe4o2TxjosLegZ6t/56yEq8K0fxqklmNYrCKZDiJsAPCgWoXA/48se1N1ekAbLja29ppy9a2W7kkV6+6LNJZf+SHpGH7q0ibhendiC9A2GAsOM62Dmk990CbaaXUfjlFoRfBBCuMF4etlrywetm58V+k/2/tWCzWl4QYyeYon86S09iuwil0+7IUrsjtWWWc1yqfYup1JDC1qxZEkRiEulqSCIi2GpOw8UywaiJnXnc92IM97Bwltsx8tEUbzfp2nBPtzbbgnntLU+WSY8CphMzfF94A4In7OzsnLcvmjeOnyBotUCYOX6MhHwmBSql3CrdKHA6Cpx/WGdqXyeXyEfYpq1zMLenKMLezJs6GNlRiGl0/9c6joFQ77uoxnfnF6TL5T1Hl8vrWGKsJIanxPCUODylDE9hB+4hdWXZV3dlvXZ3V0I1pdjyN/WRE3DvnPzPSanHu4Uk0xGFq5ui9VXcidQMdC8eOJEXoGgU0Xfl+l6QfKn0BmGctTCsOwljukupvDZLNin393UE/Nuz61TrL9Cut2Tlg3qvugFqoBvHHzvTa2eOeqxTnhj9ih20F7uTD6UVZ4wUgCAmkV/TBwLhCkKE4sTHinhHmjHu5Zt0AUpHG5WDIV7PFP0U7bTW/a9PTLMwwcsEK+I2cXkWcMRn6X0mUS0lKYcV8ycbanBtqjeDWo+CII7M8oFBnLghYDeYAdOKbC3++ES2FSn/Pz7BZyfORmn3UdZzrSHPtmkZwxcgw0H7W5hS6NKVNlmSltBI3+iueHSZulyhR1+lgBXETvlJtj8XxD2BHXLR3zJWBPaeUpm8H35GUdeJuap5F8Z0H48j2Do/pO+nH15skc8+IT68YNn243EYQfpq+S5xiJgLBy8G+VWzvQ9O4IIQya/a+wJ56PhxCC6aeQFyyY6TZH4YkJaFdiq7aa8vZq+1ezGthDjMeKRyTW/h+U7k39Kta6edCep0mu39JozwFYo+ezGqY9RkKDQLE1j2UuHAzXD8z85toUEGHwThZ252kdU1IOw12ykEN3vN9lMQYE7jEaAsvhb81HeV9M62hZl7WTCtWAkWmm5eSfS4SVjkQbFqfhRuyJPsgOajIOzQBSBI/NpSwgfc+ty6l/fqSl4lmN97+CpMcC/EpSjNGNPjYuTCVtz62Gy15lulnfkj7U4ukwAnzYhjXIhdPWw1Z/GG+ZntfKqzOs6I47885UsFpgxIlvRlWP+sQsF+Kyw78jKV7Z1G47mRKaRnGxs8wusruGjmJD7OPfBs2U3xjkG8arJ6Hp91Ho6RFEffwcVxZ6xsb5QvRd+iQqlzKskiqhHNaM9UGhF2dipKLiN044VJ3P+OytbKLCldS8ErTxaDm6z2kpbiroz2+W8XpDZyl2d1wfmrsi2IdzdZDhTs8xcP6mXVg/ZnyqwWyr8kjB9Oq821+uaviZLzi8zD64jfbMT4Ufjm2OZG5ZV5kPjYU6PpVaU2p6Z6C2eOrPAIjRPS2aUVugHw4x+faAuxNhtmUbigQ9MwwA5ZtnXCI26CPoNu+dm5d9FcVDmcdUgnEISYpsNupjK+cvBuetzNnjyGWWM9aiomZR6rU2Rjkftagdsgg0ZFjZznlLLHlrHnqPTMgvXUYjWY9C3dpn9r43FR/a0V6smC8o1gWpI2l4MnoZ0l/mPT/nFqZ7/tU2rANm+ksx6MnQoUpwSd2v6LXSj+zbqvdKvizeCh2gvoixdjtvuYkx3HFYKCvp+XsAixvU+Y77I2kpcFsi4M/ozO74E+i9NCef6yyHETQIqKlZleZ3OjKwEKneDnn/M1KP9zA0QhgV4J1g9V2DU2H7R8i4kM/a/a9n3sYqsVic5Vo+G47ml6zjoMXdR3LlH1krGvHml927QMfXjCndGlL4t4IIg8gQD/+Mc/QBCzv2swHPU0mxKYAryF4s8MdN7+XP8yDDv1hSB0EfhEHyhJSDfyEXLcW7LKxCjAu2R1vvKCOdmrO+76ezvlto1d6LoumVEnAYewrkXcbDaF4jyWnpvVWllNihoi4piax6td8Y5XZFVzG13HraQ9t9WN0CK8Qc9xLwJhTadnePjxULSqYls5GLxyFaLd76RcVeyjlPv/o1umWk1EHPvOvBIMx3315OFY4CjWLCJjj7eFUvNW0AetioxN0PI0u3+JIhUZj1HkO+hR9ueP77T+WDNMbXTc+H8BAAD//yXG4DBLUwAA + H4sIAAAAAAAC/+Rce3ebuLb/359Cw9BJ0gbbOGnapoeeITZJufHrAk6nN81hESPbTDC4INzmpD6f/S4JCcTDadrM9M45N7Nm1UZbe2/99kNbD/zzT61rL2hdO/GioRmGbb43LW3Qtfq2aamGZZ+qel85BKSt2x9NerY+1C3b0gfaaGIpz9OWU72v2e9Uq/s2azlKW96O+j37ndrXh5Pf1DNtaCkv0gZD62uqqdUQvEwJ1LFl60PTUvv9jOmrtKk36p5rRqW10y4090bvhv2R2svb5UL7ufa+hqZToMFKYLqs+aDQzGHUoSANRifvSbe+buY4dShQA9M+G59tEX3EcaiMjcLWHQ0tVR9qRq9KQoEzJsNutZFCd/7SxARDfXiWtR2087aKVgcUtPPJiYbdYjiy7NPRZNhTDihU+uCspttB3q2vWTxSB4dFKw7O7PGEU/XgeWWoXauO7qhKZ+hYxyrpdvSI63KDelmhvNAMUx8NbX14ofb1nnJAoewO9eq4D+XM0GNj1LN72kkNUadKND4/s9VejwYcRW9kqJxJNMMYGcohhSeNVG4gpONL5kO9sTE60ehTqvFoYp3gUeLRDdOm55zt1bFum5pxoRk8gVxL0Buadn80Op+MKVmnlkz9n4mhVYmZc6iWWh8LR22OohyERzLXWHb0I6rIxdte2bZHVceqCH7R5oKo2koldyemNRrYpqYa3bd2bzRQ9aGZju0lZXA2nlT7vzzgGg0dexYfGS8Pq83l8b18ztFoF3pXs8f9yZk+LDA6yon04enINkYDuzsyjMnY0nrKSxoO5tlvW+W8aldpOAmv5DxL91S9n1vnFZe/J+Oeaml5E4scU8OOf6GTuDK7hj62iJ0MTe3lnOR2mxOC0+lkfGaoPY2j4NQYT4wz6vByu5MFCU4IhobNoMhtin9XN23VNPWzoW2MRpY9fqfIslxpI/4z1oyBbmJNFVmmbMcqSV3d0fg9IVJkmec8Hvff22PVNN+NDBJsp/qZIsulwM3mkBENC1lmGS1NYxX3keUXBYLRWDNUC2OYpgZZZtnLMmoaX4FGChYJStNSu+f2mWbZqjGwrdG5NlRkNoWWSYaa9W5knNOxTFLGisxm1DK5OTkZapY9NrRT/TdFxpNqFpQnE73PcpmM58UUlHfq2O4aGnaXFAw2K/Et+tCcnJ7qXV0bEo84t82x2tUUGc9ShNrS+tp4ZFi9QtpUZJbn8nbm8GkzG4hh6adqF89XhqYO8CzJ+Cgyy3E1RJSZIuPUlhY+ljXGTv7be7urYtwuNMNSZJbYaGTgJs2wTEU+yooTqrapdTGoVt+0T0Yjy7QMdZxNp9pvWpfFfeYdR8zAPd08UfuarY8t9aSvmYqM01qaM42JaWEOVediya2nm7iXbZpvFfkF83hDH6jGe3uod219zCVV+QX1fH1oaoZl64OeaRuaaWEXxd5nTLAmQ2tkD9ThWV+ziU6K/OLwof1O9b6lGVk/GkY9DIS2pd8pTngleUcP7VeS94JzXkPDtrAN7b8nuqH1lA5LUcMRSQrqmWZSYDosN5lDdWy+HWXZkC8a2ywyxoZ+gRvx/IlLAeyVHZau8EPeXTvtQxY2Wbk+UM1zypS2dQ2tpw0tXe2nybZXWxO3WQTicqZc6nTaR6DRyEsRUlRhbaj2L0CpDT/HqOLZ35aVTvtlmYKbfN+p5kDptF/dy+RA6cjteykOlQ7L3VsonisdmaFC6xDm5Fl9qhkXOJBxNOqnehfbwhhZaQK11DOlIx9QnPqaOpyM84HY+gCbXenIh42GNwMzL3BBC6IpkNDtCoLZvg+kwFlCIDyVIuhDJ4YCkFaRFyAgfUw8BDpvWi5ct4LE98EXMI/gCkgfwU5z5zVACxg0AABgZCribhxGCEgRYd/KuOE+zqcbsLN00HSxK7b3Qesfu3rP7uvnmrI7DSMYxntf9J6y23y6tye29oGzB+5AqgIKk9UKRrvOZecKOJcHV3uvAfzsIbDZ2aOSmWN8owaZO32zYPAFoAhILtgRdvYa0I8h0QROFyEQSqKDEIFZmASu0Jh5jcbkZDK0JvbItIfqQFOE9LvQGKgGsVbWQB/kLaSeLDfjh0KDTHBkjZoT5M+EBl0dKa0kjlp+OHV8sqy+Sa7hFPmNdKpPW/FzN5zewKgBP68wmqSUu1AE8S4v/Bjix8pGKNBppsVLCdae6zlUQGYmuSkfNGVJZj2HF3pPVxlr4q+2+VZlIrMHvLS6PjgQmJoXG0m828K4woUbmPV+rJXGih99RbQiLKdRc+lNozAOZ6g5DZct5ybG/0vzVZKrUmKbM8U1UVoPp4m0O+gpwhR7WQBuXsZNLwRREgAJB+ba8+EcukCSoiWQpAAiaRHGCEjSJw8tpCAGK889bq2icNqSW0HcWnmYeBkm2K1vV1C59gJ3P46mSitcodZ8ley7MVJayyD9Eq6QFwaxEmG6+3o6U0KY92YPChyyQVI/qIwzdbi6AQYQKXRsK8+lH9eAqX3MVM4eUgWOeW0IUEIDV+FdtftWs3u6obTWTtSaOtMFbDm4XzRdeGsYtxq4olaHuITjiKMwRJgu7dDQLrShhVeNZ2ekCGP8/HDecv6ZRLA1yHxBxd+b2mcEgxhr0+wmMQqX5jTyVqgF1zBAcavRnRh9vAIeTyylhZar1jSJfHsNo+swhs0wQQ0ye/AUYeTEVQpDO9NNy3hPi+F0AUByEqZvTcNg5s2bt87SB41GBFF0O126tjezZ47nJxHc3QN3JJvhNg/Giii/Bp8cD9mxD+FKETuvAfKWMEyQIh68BvHCmyHwyy+lD4TFLIyAB7wAiLsx/AhkIFKme6+BGxIS/EfZAZF9EMS7XzcC5nUdQecGfPkCPmTU3gxcAtEDEvyY8QNX3FTE/kg61j7DaYKgCz4I4q8fBNwRS4lfF0gjiJIoAHL2MMvp7I8MHog5EFnrzCMf3TDgZoHtYje1qNux58MA/eeA/0chysMVxH4Y3iSrDCUeGZlDBqMUIse3eawiOA0jVxEPSdcYOREi7Yq46zoIgmdP4rSg+LTwfAhQlMACUEw6kDKuDDKJqKi0MSRYyBbwpkkUwWCL1Bzd3V2eEEicrnt7QJpDIBZGt935BQvTcSYudIsgTmbu/jeNDPsrdIX7bU0NuN3KWbDcC0k6hiyUvknNMPoakDGchoEbCzgk6yIyCO0YOSj+K8QkDsm/TkRmaM0hspETXTu+n6GEnMi+D6mUnCCVRD4Lx9TU4h3Xe8MAF7ZAx9GW4HMiIKF/zggJlvYQ6Dhu3wkfM9ZRG7u1D6RZbPbXQCSfw1yZN0DkZnvQefOLXOCD1boE4t/BTwpog6s6ZUjoOKjAqEDAReBjLWvPonBpR3DuxSi6tXGJaeNS4pEWx71moe/CCMe9F6VLUAaSsPef6BYYNrDCy2jeKSgMuEqlIEtplQbEu60l3Qa7EVcSPs6NOEZ/uBtde4ET3X7ViyjZPY5EKVYOWpSdicmo+hPXqeRTRYElt9riW8U+RfcibiPNSjJrnYY43XaPKThgUSTYZsaKH9Zy/ro/FpD8o13yG9zyq65Z4573u2ipwxaPJcuumefn6yDy5IFzP+6Y+uch9c/nBZ/jeX01kfHERVe7JI4mMmng6ipLZfVZjGf1yDSW1SS1c1ym0l94kiMEszAqmvkeC+dWPSCkK2cNXboBQhb7Uz9MXMkLPCRh2rhJKAhtult6+hFbn/HZCEAkFNhqFPn2t9SHGdOdn7XR6Q4H+/1u8CPKQ0IJXSB5QGhh9VqukCuYRwPnKm8oHI1NI76NEVxOEfZWUq1/W/UN4vUUJ342L3xvvZ2pAVwHLsNAiqAfOu5DOlC9gUhV+QFleyYbr1eSOBctSUEorZw5zuR+oc/vYRIFjo87SUnW4bvCKTdZjMLVv529sNI/0ljfjKrrxc61D//tgKV6/zWxTTMMHsq34fpYMEnASSlIfx1A1jCKvTCw54i5GYIxAoK4S47CZmDnSfwh2AGC+KsAvgB6yHYBvoAFdFwgBUDeE4CiAEGUhcamkXuvFmAfUAPXLCTzSpoHcrsNnoODNhDT8RhaehBtWqo1MRXx7436VCcXkxx4A0ob8aIspbRNP5w3coCLAoAUQFyHlGCmdZsMpmHiu+Qs7xqm20j8JljBEhRabwZ+AjX7SkDu4JF2nnODgUEaKfKDxKfULri+zVls14W3Ri8NSWIOLlV7M04X34uRlAQeioEkzfDaQJKcwsGvIMrNGEZrbwqFksLFuQCwkYoydvFtYIarFQ9mJfM9iA2lpXzouOFyDaNuuFw53LkGO/ZVFXE3rURk8AVMEwQkFwjPBFxay3sF0pOMtLON9PISV3gZ7w0Nh+zJyUagZXqh4MOhBN2MPccA8H3TA+cd/B+OQxaCFyAVvvDmCxijizSMFXFXPzWVbNGRytgImeoiYSLNOveoLt4VmW7qtM98bdNww08BTqc9eD2+mVvhKV9bj8/P0lNpGtz4e3Zm38ke9XRD61oj4z1LtMsb14uAtAJioTktwpN44QLxrtCyyTJ5JeqwDx2128BZIWkOEWAKUxZYvY2SfqaqbZ6mgsIVrkydFSLbGawfHdw9s0Zx//d1AwByKI67KBg/OoLCsSR2cC6CHzDTuKubOZDo8hyPVHJw4IbRFJKHLpzlZyV41YMH4ofTm5g8ZnBIIeitbubHx6P05Pb4WOG5hL6bIybdlg+JGl+buMig5ddkiqpOS6/TpEnXDxjwEg70I+ba2DTmEHXHEzWaLjIPc6LpQhF3k7TsXe41uDXmHW7c39+QiHTwl6NDAQsotURL/Ly6Fk3jKG1uVOZZ2rp0WSvJPV6sGoOjQz7FYlV2c9X3eKH1MuUt0tpcjvNig+7QTKJ8Ez51NLqXQ/YhZBoZdP8tgnP4Wdn5R/PZh1b6/3HzmbhTgC3vvgHKvzD4fOdMZ1CeetqAnweZFQHW1g/nsY1COz31LqmLnPiGxFF+XpI2pNQ4owydwjHRk4PhXoMjJBOzxR8lCU9OwROr+eRgSHf/sN8yvVhVQaUE7vauhO73OAzsGEVeMFfEXfD7R1z55IWbJDnRHGAeMXKWKwBI8mUqbYQK6WgFIwdHm+5iUqpADSHNweSJIDc7B1USy4lvMDogFYuxrGGkYST7cA19AAQ9mIXRkijg+FXaAYxjZw5ToXgS9SGC7jEQn27hO/ZcQtve0m7Vte/cZYAdAzH7vM+DcwxE7ts+g+MYiPTTfjZ8zIN+3OdGewzE/Ms+G9oxEOmn/WwEjHLsufuZ2uyh5bmbNEa4rWTxjvMLsgd6V70eshHvil68aeJejTxxCji5CeAnhQBUzAd8+uPKmwUugOz4xlvZ6UUr2408XMvndTbO7J/TLfLQvVXE3XzXDkhvgTCAyHEd5ByT826BFNOrKPx8C4SnAhAWCK2OWy356FWz8/ywSf9tLWmvlhfEyAmm8O/OypPoKkLptDuy1O5IbZnGHBdq3zNUMpB8rKxYEkQ8JFzV4ECEYKc5DZerBMEmcuZx34sR+AKWzmo3hj6cot0mmRu+kKXNrmDeeKuzVdIjgOl4GL4vvAaCJ+zt7V22r5prx08gaLWAMHP8GApZTwJUSrlTOFHgdBQ4+9DK1L5JrqEPkU1K52BuT2GEvJk3dRC0oxAR7/6PNRwFod52UY3tLq9wlctbjkyXN7FEWUkUT4niKXF4SgxPYQ98Aakpi7a6K+q1v78RyiFFp7+pD52Au3Py/yekHm4WHEwnBK5uitZXccdSGehePHAiL4DRKCJ35fpekHwu1QZhzEoYWp2EMVmllK7N4kXKly91BPzt2SpV9QJttSQrbtR75QVQA64df+xMb5w57NFKeWL0S+MgtdidfCxtuMFIARDEJPJr6kCAuQIhgnHiI0W8w8UYd/kmnYDS1kZpY4jXM0U/RTvNdf/1kWoWJmiVIEXcxSZnDodtlp5nYtVSkqJbUXvSpgZXpnozUGtRIIgjs7hhECduCJAbzADVCi8tfv+IlxUp/98/gk9OzFpJ9VHUs1KQs2UaY/gcyOCo/T1MCXTpTJuscElopDe6SxZdpSZXyNZXwWEFsVN8wtbngngg0E0u8paxItB7SkXyfvgJRl0n5rLmXRiTdTyKwM7lMbmffny1gz/7mPj4ikbbz6dhBNKr5fvYIGImHHgxkF8224fACVwgRPLL9qGAHzp+HAIXzrwAunjFiSM/DHDJQiqV/bTWF9m1di8mmRCFjEcq1/SWnu9E/i1ZunbaTFCn02wfNsEILWD0yYthHaMmRaGZD4FGLxEOuB6O/8m5zTVg8IEg/MT1zqO6BoSDZjuFYH3QbH8LAtRoPAKExdecn9iuFN5sWcjMS51pQ1Ow0HSzTKLHTcwic4pN84Owxk/YBs0HQdgjE0CQ+LWphHe4at+6y3t1Ka/kzO88tAgT1AtRwUsZY7JdDF2wE7c+NFut+U5hZf7AcSfXSYCSZsQxzsVu7h81N+It/dnY+VCneZwSx396yBcSTBEQFvRFWP+oREHfCmNbXqayu9doPNYzhXRvY4tFeH0FF86cxEeZBR4tuyneUYg3TZrP44vO/T6S4ug7KN/ujJXdrfKl6HtUKFROBVlYNawZqZkKLcLeXknJVQTXXpjE/R+obK3MgtK1FLzyeDJYs9yLS4q7ItqXv17h3MgdntU55zNlVxDv1iwGcvbZxYN6WfWg/ZEyy4nyT3Hj+8Nqe65e/zlecnnFLFxFfL0V4wfhm2GbDSrLzIPER54aTRel3JwO1Vs6c2iFJ3Cc4MouzdANAH7+/SMpISq9wSwKl6RpGgbIwdO2jnnETaDPQLf47NK7ai7LHC46uBIIQkTCYZ+pjBYO2k+3u+mThzBrVL2mNCRmsTpFtia5ryW4LTKIV9TIeUwqe2gae4xKj0xY35qsBpO+pdvktzYe5tXfm6G+WVC2EExT0vZ08E1os8B/aNg/TG32tk+hANu+kGY1GN0VyHcJOrX1Fz1Q/ItVX+lSxZuB+3IvgJ+9GNHVxxyvOBYQ5PT9LIVFkK59wmyVtZW8KJBWYeCPqPzuqbM4LZTHT4scNwFIUT4zk+NsrnUjgFwn8Msv2RyU/dwAVkggR4L1TSV2je0bLd8zRIr+V8f2Y8ZFZyvsnZtGw3Hd83SfdRi6sO9cw/IhY1890fq2aRn68Izbo0svi3hAEHkCAfztb38Dgsh+12A46mk2ITAF8AbkPzPQefNL/WUYuusLgtCFwMf6gIKEdCEfQce9xbNMDAO0j2fnhRfM8Vrdcav3doplGz3QdV3co04CCkFVi7jZbAr5fizZN6sdZTkoaoiwYWoeb/bFO16RTc1pdB23gvbcUjeCy3ANH2NeCISKTo+w8MOhaJXFtjIweOVKRPs/SLmy2Acp93+jG1ON3/zAHpHu5mdXC7jpl9uyJgLsE32oGu/tNCGll4QKlxJqCWtju0RFQjm7sgCSyN8HnzzfB0kMgUd23si7K3iCwwFJ7zsIBVgYv+yFFZr4KhpVYyl9Z4Lck1ggtIqPW63Lf7SunpHfzYgCiGDcWl+2pVdXzz402b/NZy2ihgfjVvPZTmmnTwpAVXT9Vh09fmInQMI67WgMNUvLfvFkI4C6tyqqIpR/kXc0Slc3Kq9bsIug5PWsVQRn3ucasH5+yiGwESpcyqpnlR7P98mT1tOavuydXxQ5UwRdptFx9mYSqzhJGVNS7BhsM+y9b0Rt9b70fgRWIwng5xXEGvm3nBcy10uxyKphJ6YYbFVf+MprSV9z3/w3t8bGiPwQXP6DPxlt+iuHm5Z4R35Xkz02tPFowzmxhGex4+y+D6vKJd8Lks+SeNcdT0j1XkgVhcnj1HfmpXnjtK+e3T9tcBSV5IfbHp72CDWf8MiDVknGtizM0+z/KYqUZDxEkR+gRzH1//xW6481w9RGp43/DQAA///7/3VVdlcAAA== @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/CustomData index 3ad4bf0546d..9f1e3208b9e 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/CustomData b/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/CustomData index 423e3dd6092..473324aad58 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/CustomData b/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/CustomData index 87a5f0c451c..b473905c955 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AKSUbuntu2404+CustomLinuxOSConfigUlimit/CustomData b/pkg/agent/testdata/AKSUbuntu2404+CustomLinuxOSConfigUlimit/CustomData index 7e0eb67cf6f..9216e2fc903 100644 --- a/pkg/agent/testdata/AKSUbuntu2404+CustomLinuxOSConfigUlimit/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2404+CustomLinuxOSConfigUlimit/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/+R8+3ebxvbv7/ordimt7dZIQnacxDnkFEvY4VqvC8hpruPDwmIkUyNQYHDiY+v+7XfNMMCAkGPHbW7P+borqxKzZz8++zF7ZrB//KF16QWtSye+amiGYZsfTEsbdK2+bVqqYdnHqt5X9oGOdfujSc/Wh7plW/pAG00s5UU6cqz3Nfu9anXf5SMH6ci7Ub9nv1f7+nDyu3qiDS3lZTpgaH1NNbUaglcpgTq2bH1oWmq/nzN9nQ71Rt1TzVgb7bRLw73R+2F/pPaKcbk0fqp9qKHplGiIEoQuH94rDXMYdRhIg9HRBzqtr5sFTh0G1MC0T8YnG0QfcBzWbGOwdUdDS9WHmtFbJ2HAGZNhd32QQXf6yiQEQ314ko/ttYuxNa32GGinkyONhMVwZNnHo8mwp+wxqPTBSc20vWJaX7N4pPb2y14cnNjjCafq3os1U7tWHd3BOp2hEx3XSTejR0OXM+rVGuWZZpj6aGjrwzO1r/eUPQZld6iv270v544eG6Oe3dOOaog660Tj0xNb7fVYwjH0RobKuUQzjJGh7DN40kzlDKETX2Ux1BsboyONPWUajybWEbGSWDdMh15wvlfHum1qxplm8ARyLUFvaNr90eh0MmZknVoy9f9MDG2dOAsO1VLrc+GgzVFUk/BA5gargX7AFDl716v69mA9sNYEv2xzSbQ+yiR3J6Y1Gtimphrdd3ZvNFD1oZna9ooxOBlP1ue/2uMGDZ1EFp8Zr/bXh6v2vXrB0Whnelezx/3JiT4sMTooiPTh8cg2RgO7OzKMydjSesorlg7mye8b5bxur9NwEl7LRZXuqXq/8M5rrn5Pxj3V0oqhLHNMjQT+mU7zyuwa+tiifjI0tVdwktttTggpp5PxiaH2NI6CU2M8MU5YwMvtTp4kpCAYGnGDIrcZ/l3dtFXT1E+GtjEaWfb4vSLL8toYjZ+xZgx0k2iqyDJjO1Zp6eqOxh8okSLLPOfxuP/BHqum+X5k0GQ71k8UWa4kbr6GjFhayHJW0dIythY+svyyRDAaa4ZqEQzT0iDLWfWyjJrB19BIwaJJaVpq99Q+0SxbNQa2NTrVhoqcLaFVkqFmvR8Zp8yWScpYkbMVtUpuTo6GmmWPDe1Y/12RyaKaJ+XRRO9ntUwm62IKynt1bHcNjYRLCka2KvEj+tCcHB/rXV0b0og4tc2x2tUUmaxSlNrS+tp4ZFi9UtlU5KzOFeNZwKfDmSGGpR+rXbJeGZo6IKtkxkeRsxpXQ8SYKTIpbWnjY1ljEuS/f7C7KsHtTDMsRc4KG8sMMqQZlqnIB3lzwtQ2tS4B1eqb9tFoZJmWoY7z5VT7XetmeZ9Hx0Hm4J5uHql9zdbHlnrU10xFJmUtrZnGxLQIh/XgyopbTzfJLNs03ynyyyziDX2gGh/sod619TFXVOWXLPL1oakZlq0PeqZtaKZFQpREnzEhmgytkT1Qhyd9zaY6KfLL/cfOO9b7lmbk81ga9QgQ2oZ5x6TgVeQdPHZeRd5LLngNjfjCNrT/PdENrad0shI1HNGioJ5oJgOmk9Umc6iOzXejvBryTWM7y4yxoZ+RQbJ+klaARGUnK1fkIR+unfZ+ljZ5uz5QzVPGlI11Da2nDS1d7afFtlfbE7ezDCTtTLXV6bQPoNEoWhHaVBFtmPYvoTJGnhNUyepvy0qn/apKwS2+71VzoHTarx9ksqd05PaDFPtKJ6vdGyheKB05Q4X1IVmQ5/2pZpyRRCbZqB/rXeILY2SlBdRST5SOvMdw6mvqcDIuDLH1AXG70pH3Gw1vBjMvcKGF8BQkfLtEMNv1QQqcBQLhFylCPnJiJIC0jLwAg/Qp8TB03rZcdNMKEt+He5hHaAnSJ9hqbr0BfIWCBgDAyFTE7TiMMEgRZd/KuZE5zudr2Fo4eHq1LbZ3ofWvbb1n9/VTTdmehhEK4517vadsN3/Z2RFbu+DswB2kKuAwWS5RtO2cdy7AOd+72HkD6IuHYbW1wyRngfFEDfJwerJguAccgeTClrC100B+jKgmaHoVglARHYQYZmESuEJj5jUak6PJ0JrYI9MeqgNNEdLvQmOgGtRb+QB7UIzQfrI6TB4KDbrA0T1qQVA8Expsd6S0kjhq+eHU8em2+jq5RFPsN9KlPh0lz91weo2iBvqyJGjSVu5MEcS7ovHLED9UVkKJTjMtXkpw47mewwTkbpKb8l5TluRs5vBM7+lqxprGq22+UzOR+QNeWt0ckgiZmmcrSbzbwHiNC2eY9WGsVWwlj74iWhEW06i58KZRGIcz3JyGi5ZzHZN/0nyZFKpU2BZMSU+U9sNpIe0OeoowJVEWwPWruOmFECUBSCQxbzwfzZELkhQtQJIChKWrMMYgSZ89fCUFMSw997C1jMJpS24FcWvpEeJFmJCwvl0i5dIL3N04miqtcIlb82Wy68ZYaS2C9Eu4xF4YxEpE6B6a6UwpYTE7e1DikBvJ4mDNzjTg6gwMEFaYbUvPZR9vIFP7MFM5f8gUOOS1oUAJDdKFd9XuO83u6YbSunGi1tSZXqGWQ+ZF0yvvBsWtBumo1SFp4TjiKAwxoUsnNLQzbWiRXePJCW3CMn5+OG85/04i1BrksaCS703tC0ZBTLRpdpMYhwtzGnlL3EI3KMBxq9GdGH2yAx5PLKWFF8vWNIl8+wZFl2GMmmGCG3T14CnCyInXKQztRDct4wNrhtMNAK1JhL41DYOZN2/eOgsfGo0I4eh2unBtb2bPHM9PIrS9A3e0mpExD8WKKL+Bz46H7dhHaKmInTeAvQUKE6yIe28gvvJmGH7+ufKBspiFEXjgBSBux+gTyCAypjtvwA0pCflh7EDMPgji3W8rgfC6jJBzDff38DGn9mZwDqIHEvqU84MLbinKfmg51r6gaYKRCx8F8bePAplIpMRvSqQRwkkUgJw/zGt69kONB7EAIh+defSjGwbcKrBZ7KoWdTv2fBTg/x7w/yxEebiC2A/D62SZo8QjI3PIEJRC7Pg2j1WEpmHkKuI+nRpjJ8J0XBG3XQcj+PWnOG0oPl95PgIcJagEVCYdpJxrBplEVVTaBBIiZAN40ySKULBBaoHu9jZPCBKn684OSHMEYsm6zcEvWISOc3FpWoRIMXN3n2QZiVfkCg/7mjlws5fzZHkQktSGPJWepGYYfQ3IGE3DwI0FkpJ1GRmEdowdHP8dcpKk5N8nI3O05gjb2IkuHd/PUcJOZD+EVEpOkUoiP0vH1NXiHTd7lQEubICOo63A50Qg4X/PKAmR9hjoOG7fCF/mrIM2CWsfpFls9m9ApJ/DQpm3IHKrPXTe/iyX+BC1zkH8J/ygQBsu6pShqePgEqMSAZeBz/WsPYvChR2huRfj6NYmLaZNWolnepzMmoW+iyKS916UbkEzkISd/8awILDBkmyj+aBgMJAulYEspV0aiHcbW7oVCSOuJXxeGHGM/vQwuvQCJ7r9ahQxsgcCiVEsHXxVDaZMxno8cZMqMVUWWAmrDbFVnlMOLxo20qwiszZoaNBtjphSAJZFwiY3rsVhLeevx2MJyT87JJ8Qll8NzZrwfDhEKxM2RCzdds08v9gH0SePXPvJxDQ+91l8vijFHM/rq4WMJy6H2jkNNDGTBhcXeSmrr2I8q2eWsbwnqV3jcpX+xoscJZiFUdnND3i48OoeJV06N8hlByB0sz/1w8SVvMDDEqGNm5SC0qanpcefiPczPisBREpBvMaQbz+lP8yZbv2ojY63ONgfDoPv0R5SSuSC5IHQIuq1XKFQsMgGLlTeMjgaq0Z8G2O0mGISrbRbf1r3DfHNlBT+bF341n47VwNcBy3CQIqQHzruYyYwvUFkqnyHtj2XTfYrSVyIlqQglJbOnFRyvzTnjzCJAscnk6Qkn/BN6VS4LMbh8j/OX0Tp7+msJ6PqerFz6aP/OGCZ3n9PbNMKQ0x5Gq7PBZMmnJSC9PcB5AZFsRcG9hxnYYZRjEEQt+lV2Ay2foo/BlsgiL8JcA/sku0M7uEKOS5IAcg7AigKCKIsNFaNInq1gMSAGrhmqZivlXmQ2214AXttEFN7DC29iDYt1ZqYivjPRn2pk8tFDt5C5SBelKWUtumH80YBcFkASAEifUgFZta3yTANE9+ld3mXKD1G4g/BSp5g0Hoz+AFqzpVA7hBLOy84Y1CQZor8KPEptQuXtwWLzbrw3uilKUndwZVqb8bp4nsxlpLAwzFI0ozsDSTJKV38CqLcjFF0402RUFG4vBZAZqkokxDfBGa4XPJgrlW+R7FhtIwPsxstblDUDRdLh7vXyK59VUXcTjsRGe5hmmCQXBB+FUhrLe+USI9y0s4m0vNz0uHlvFcsHfInRyuBtemlho+kEnJz9hwD4OemF85b5D+Sh1kKnkEq/MqbX6EYn6VprIjb+rGp5JuOVMZKyFUXKRNp1nlAdfGuzHRVp30ea6uGG34OSDntocvx9dwKj/neenx6kt5Ks+Qm3/M7+07+qKcbWtcaGR+yQru4dr0IpCWIpeG0CU/iKxfEu9LIKq/ka1lHYuig3QZniaU5wpApzFgQ9VZK+pmptvolFRQuSWfqLDE9zsjmMeMeWDXK579vGgD0UpxMUQh+zILStSQJcC6DH7HSuMvrOUhse04slRySuGE0RfShi2bFXQnZ9RBD/HB6HdPHGRxSCL3l9fzwcJTe3B4eKjyX0HcLxKTb6iVR42sLFzVafkOXqPVl6U1aNNn+gQBewYF9JFwbq8Yc4e54okbTqzzCnGh6pYjbSdr2LnYa3B7zjgzu7q5oRjrky8G+QARURqIFeb6+F03zKB1urK2zbHThZqO09nixagwO9vkSS1TZLlTf4YXWy5Q3SGtzNc6LDXZCM4mKQ/g00NhZDj2HkFlmsPO3CM3RF2XrX81fP7bSf4fNX8WtEmzF9BUo/5eAz0/OdYbq0tMGfh3MvAhEWz+cxzYO7fTWu6IuduJrmkfFfUk6kFKTijJ0StdEP+0NdxocIV2YLf4qSfjpGH6ymj/tDdnpH4nbTK+sq2BSAnfzVEr3RxwGdowjL5gr4jb88Yl0PkXjJklONAfCI8bOYglAi2+m0kpYIx0tUeSQbNNdQsoUqCFkNZg+EeRmZ2+dxHLia4IOpGIJljWMNIJkH90gH0DQg1kYLagCjr9OO0Bx7MxRKpQsoj7CyD0E8ZcNfMeeS2nbG8atuvGtuxywQxDzz7s8OIcgct92MzgOQWSfdnPzCQ/2cZez9hDE4stuZtohiOzTbm5BRjn23N1c7eyh5bmrNEe4o2TxjosLegZ6t/56yEq8K0fxqklmNYrCKZDiJsAPCgWoXA/48se1N1ekAbLja29ppy9a2W7kkV6+6LNJZf+SHpGH7q0ibhendiC9A2GAsOM62Dmk990CbaaXUfjlFoRfBBCuMF4etlrywetm58V+k/2/tWCzWl4QYyeYon86S09iuwil0+7IUrsjtWWWc1yqfYup1JDC1qxZEkRiEulqSCIi2GpOw8UywaiJnXnc92IM97Bwltsx8tEUbzfp2nBPtzbbgnntLU+WSY8CphMzfF94A4In7OzsnLcvmjeOnyBotUCYOX6MhHwmBSql3CrdKHA6Cpx/WGdqXyeXyEfYpq1zMLenKMLezJs6GNlRiGl0/9c6joFQ77uoxnfnF6TL5T1Hl8vrWGKsJIanxPCUODylDE9hB+4hdWXZV3dlvXZ3V0I1pdjyN/WRE3DvnPzPSanHu4Uk0xGFq5ui9VXcidQMdC8eOJEXoGgU0Xfl+l6QfKn0BmGctTCsOwljukupvDZLNin393UE/Nuz61TrL9Cut2Tlg3qvugFqoBvHHzvTa2eOeqxTnhj9ih20F7uTD6UVZ4wUgCAmkV/TBwLhCkKE4sTHinhHmjHu5Zt0AUpHG5WDIV7PFP0U7bTW/a9PTLMwwcsEK+I2cXkWcMRn6X0mUS0lKYcV8ycbanBtqjeDWo+CII7M8oFBnLghYDeYAdOKbC3++ES2FSn/Pz7BZyfORmn3UdZzrSHPtmkZwxcgw0H7W5hS6NKVNlmSltBI3+iueHSZulyhR1+lgBXETvlJtj8XxD2BHXLR3zJWBPaeUpm8H35GUdeJuap5F8Z0H48j2Do/pO+nH15skc8+IT68YNn243EYQfpq+S5xiJgLBy8G+VWzvQ9O4IIQya/a+wJ56PhxCC6aeQFyyY6TZH4YkJaFdiq7aa8vZq+1ezGthDjMeKRyTW/h+U7k39Kta6edCep0mu39JozwFYo+ezGqY9RkKDQLE1j2UuHAzXD8z85toUEGHwThZ252kdU1IOw12ykEN3vN9lMQYE7jEaAsvhb81HeV9M62hZl7WTCtWAkWmm5eSfS4SVjkQbFqfhRuyJPsgOajIOzQBSBI/NpSwgfc+ty6l/fqSl4lmN97+CpMcC/EpSjNGNPjYuTCVtz62Gy15lulnfkj7U4ukwAnzYhjXIhdPWw1Z/GG+ZntfKqzOs6I47885UsFpgxIlvRlWP+sQsF+Kyw78jKV7Z1G47mRKaRnGxs8wusruGjmJD7OPfBs2U3xjkG8arJ6Hp91Ho6RFEffwcVxZ6xsb5QvRd+iQqlzKskiqhHNaM9UGhF2dipKLiN044VJ3P+OytbKLCldS8ErTxaDm6z2kpbiroz2+W8XpDZyl2d1wfmrsi2IdzdZDhTs8xcP6mXVg/ZnyqwWyr8kjB9Oq821+uaviZLzi8zD64jfbMT4Ufjm2OZG5ZV5kPjYU6PpVaU2p6Z6C2eOrPAIjRPS2aUVugHw4x+faAuxNhtmUbigQ9MwwA5ZtnXCI26CPoNu+dm5d9FcVDmcdUgnEISYpsNupjK+cvBuetzNnjyGWWM9aiomZR6rU2Rjkftagdsgg0ZFjZznlLLHlrHnqPTMgvXUYjWY9C3dpn9r43FR/a0V6smC8o1gWpI2l4MnoZ0l/mPT/nFqZ7/tU2rANm+ksx6MnQoUpwSd2v6LXSj+zbqvdKvizeCh2gvoixdjtvuYkx3HFYKCvp+XsAixvU+Y77I2kpcFsi4M/ozO74E+i9NCef6yyHETQIqKlZleZ3OjKwEKneDnn/M1KP9zA0QhgV4J1g9V2DU2H7R8i4kM/a/a9n3sYqsVic5Vo+G47ml6zjoMXdR3LlH1krGvHml927QMfXjCndGlL4t4IIg8gQD/+Mc/QBCzv2swHPU0mxKYAryF4s8MdN7+XP8yDDv1hSB0EfhEHyhJSDfyEXLcW7LKxCjAu2R1vvKCOdmrO+76ezvlto1d6LoumVEnAYewrkXcbDaF4jyWnpvVWllNihoi4piax6td8Y5XZFVzG13HraQ9t9WN0CK8Qc9xLwJhTadnePjxULSqYls5GLxyFaLd76RcVeyjlPv/o1umWk1EHPvOvBIMx3315OFY4CjWLCJjj7eFUvNW0AetioxN0PI0u3+JIhUZj1HkO+hR9ueP77T+WDNMbXTc+H8BAAD//yXG4DBLUwAA + H4sIAAAAAAAC/+Rce3ebuLb/359Cw9BJ0gbbOGnapoeeITZJufHrAk6nN81hESPbTDC4INzmpD6f/S4JCcTDadrM9M45N7Nm1UZbe2/99kNbD/zzT61rL2hdO/GioRmGbb43LW3Qtfq2aamGZZ+qel85BKSt2x9NerY+1C3b0gfaaGIpz9OWU72v2e9Uq/s2azlKW96O+j37ndrXh5Pf1DNtaCkv0gZD62uqqdUQvEwJ1LFl60PTUvv9jOmrtKk36p5rRqW10y4090bvhv2R2svb5UL7ufa+hqZToMFKYLqs+aDQzGHUoSANRifvSbe+buY4dShQA9M+G59tEX3EcaiMjcLWHQ0tVR9qRq9KQoEzJsNutZFCd/7SxARDfXiWtR2087aKVgcUtPPJiYbdYjiy7NPRZNhTDihU+uCspttB3q2vWTxSB4dFKw7O7PGEU/XgeWWoXauO7qhKZ+hYxyrpdvSI63KDelmhvNAMUx8NbX14ofb1nnJAoewO9eq4D+XM0GNj1LN72kkNUadKND4/s9VejwYcRW9kqJxJNMMYGcohhSeNVG4gpONL5kO9sTE60ehTqvFoYp3gUeLRDdOm55zt1bFum5pxoRk8gVxL0Buadn80Op+MKVmnlkz9n4mhVYmZc6iWWh8LR22OohyERzLXWHb0I6rIxdte2bZHVceqCH7R5oKo2koldyemNRrYpqYa3bd2bzRQ9aGZju0lZXA2nlT7vzzgGg0dexYfGS8Pq83l8b18ztFoF3pXs8f9yZk+LDA6yon04enINkYDuzsyjMnY0nrKSxoO5tlvW+W8aldpOAmv5DxL91S9n1vnFZe/J+Oeaml5E4scU8OOf6GTuDK7hj62iJ0MTe3lnOR2mxOC0+lkfGaoPY2j4NQYT4wz6vByu5MFCU4IhobNoMhtin9XN23VNPWzoW2MRpY9fqfIslxpI/4z1oyBbmJNFVmmbMcqSV3d0fg9IVJkmec8Hvff22PVNN+NDBJsp/qZIsulwM3mkBENC1lmGS1NYxX3keUXBYLRWDNUC2OYpgZZZtnLMmoaX4FGChYJStNSu+f2mWbZqjGwrdG5NlRkNoWWSYaa9W5knNOxTFLGisxm1DK5OTkZapY9NrRT/TdFxpNqFpQnE73PcpmM58UUlHfq2O4aGnaXFAw2K/Et+tCcnJ7qXV0bEo84t82x2tUUGc9ShNrS+tp4ZFi9QtpUZJbn8nbm8GkzG4hh6adqF89XhqYO8CzJ+Cgyy3E1RJSZIuPUlhY+ljXGTv7be7urYtwuNMNSZJbYaGTgJs2wTEU+yooTqrapdTGoVt+0T0Yjy7QMdZxNp9pvWpfFfeYdR8zAPd08UfuarY8t9aSvmYqM01qaM42JaWEOVediya2nm7iXbZpvFfkF83hDH6jGe3uod219zCVV+QX1fH1oaoZl64OeaRuaaWEXxd5nTLAmQ2tkD9ThWV+ziU6K/OLwof1O9b6lGVk/GkY9DIS2pd8pTngleUcP7VeS94JzXkPDtrAN7b8nuqH1lA5LUcMRSQrqmWZSYDosN5lDdWy+HWXZkC8a2ywyxoZ+gRvx/IlLAeyVHZau8EPeXTvtQxY2Wbk+UM1zypS2dQ2tpw0tXe2nybZXWxO3WQTicqZc6nTaR6DRyEsRUlRhbaj2L0CpDT/HqOLZ35aVTvtlmYKbfN+p5kDptF/dy+RA6cjteykOlQ7L3VsonisdmaFC6xDm5Fl9qhkXOJBxNOqnehfbwhhZaQK11DOlIx9QnPqaOpyM84HY+gCbXenIh42GNwMzL3BBC6IpkNDtCoLZvg+kwFlCIDyVIuhDJ4YCkFaRFyAgfUw8BDpvWi5ct4LE98EXMI/gCkgfwU5z5zVACxg0AABgZCribhxGCEgRYd/KuOE+zqcbsLN00HSxK7b3Qesfu3rP7uvnmrI7DSMYxntf9J6y23y6tye29oGzB+5AqgIKk9UKRrvOZecKOJcHV3uvAfzsIbDZ2aOSmWN8owaZO32zYPAFoAhILtgRdvYa0I8h0QROFyEQSqKDEIFZmASu0Jh5jcbkZDK0JvbItIfqQFOE9LvQGKgGsVbWQB/kLaSeLDfjh0KDTHBkjZoT5M+EBl0dKa0kjlp+OHV8sqy+Sa7hFPmNdKpPW/FzN5zewKgBP68wmqSUu1AE8S4v/Bjix8pGKNBppsVLCdae6zlUQGYmuSkfNGVJZj2HF3pPVxlr4q+2+VZlIrMHvLS6PjgQmJoXG0m828K4woUbmPV+rJXGih99RbQiLKdRc+lNozAOZ6g5DZct5ybG/0vzVZKrUmKbM8U1UVoPp4m0O+gpwhR7WQBuXsZNLwRREgAJB+ba8+EcukCSoiWQpAAiaRHGCEjSJw8tpCAGK889bq2icNqSW0HcWnmYeBkm2K1vV1C59gJ3P46mSitcodZ8ley7MVJayyD9Eq6QFwaxEmG6+3o6U0KY92YPChyyQVI/qIwzdbi6AQYQKXRsK8+lH9eAqX3MVM4eUgWOeW0IUEIDV+FdtftWs3u6obTWTtSaOtMFbDm4XzRdeGsYtxq4olaHuITjiKMwRJgu7dDQLrShhVeNZ2ekCGP8/HDecv6ZRLA1yHxBxd+b2mcEgxhr0+wmMQqX5jTyVqgF1zBAcavRnRh9vAIeTyylhZar1jSJfHsNo+swhs0wQQ0ye/AUYeTEVQpDO9NNy3hPi+F0AUByEqZvTcNg5s2bt87SB41GBFF0O126tjezZ47nJxHc3QN3JJvhNg/Giii/Bp8cD9mxD+FKETuvAfKWMEyQIh68BvHCmyHwyy+lD4TFLIyAB7wAiLsx/AhkIFKme6+BGxIS/EfZAZF9EMS7XzcC5nUdQecGfPkCPmTU3gxcAtEDEvyY8QNX3FTE/kg61j7DaYKgCz4I4q8fBNwRS4lfF0gjiJIoAHL2MMvp7I8MHog5EFnrzCMf3TDgZoHtYje1qNux58MA/eeA/0chysMVxH4Y3iSrDCUeGZlDBqMUIse3eawiOA0jVxEPSdcYOREi7Yq46zoIgmdP4rSg+LTwfAhQlMACUEw6kDKuDDKJqKi0MSRYyBbwpkkUwWCL1Bzd3V2eEEicrnt7QJpDIBZGt935BQvTcSYudIsgTmbu/jeNDPsrdIX7bU0NuN3KWbDcC0k6hiyUvknNMPoakDGchoEbCzgk6yIyCO0YOSj+K8QkDsm/TkRmaM0hspETXTu+n6GEnMi+D6mUnCCVRD4Lx9TU4h3Xe8MAF7ZAx9GW4HMiIKF/zggJlvYQ6Dhu3wkfM9ZRG7u1D6RZbPbXQCSfw1yZN0DkZnvQefOLXOCD1boE4t/BTwpog6s6ZUjoOKjAqEDAReBjLWvPonBpR3DuxSi6tXGJaeNS4pEWx71moe/CCMe9F6VLUAaSsPef6BYYNrDCy2jeKSgMuEqlIEtplQbEu60l3Qa7EVcSPs6NOEZ/uBtde4ET3X7ViyjZPY5EKVYOWpSdicmo+hPXqeRTRYElt9riW8U+RfcibiPNSjJrnYY43XaPKThgUSTYZsaKH9Zy/ro/FpD8o13yG9zyq65Z4573u2ipwxaPJcuumefn6yDy5IFzP+6Y+uch9c/nBZ/jeX01kfHERVe7JI4mMmng6ipLZfVZjGf1yDSW1SS1c1ym0l94kiMEszAqmvkeC+dWPSCkK2cNXboBQhb7Uz9MXMkLPCRh2rhJKAhtult6+hFbn/HZCEAkFNhqFPn2t9SHGdOdn7XR6Q4H+/1u8CPKQ0IJXSB5QGhh9VqukCuYRwPnKm8oHI1NI76NEVxOEfZWUq1/W/UN4vUUJ342L3xvvZ2pAVwHLsNAiqAfOu5DOlC9gUhV+QFleyYbr1eSOBctSUEorZw5zuR+oc/vYRIFjo87SUnW4bvCKTdZjMLVv529sNI/0ljfjKrrxc61D//tgKV6/zWxTTMMHsq34fpYMEnASSlIfx1A1jCKvTCw54i5GYIxAoK4S47CZmDnSfwh2AGC+KsAvgB6yHYBvoAFdFwgBUDeE4CiAEGUhcamkXuvFmAfUAPXLCTzSpoHcrsNnoODNhDT8RhaehBtWqo1MRXx7436VCcXkxx4A0ob8aIspbRNP5w3coCLAoAUQFyHlGCmdZsMpmHiu+Qs7xqm20j8JljBEhRabwZ+AjX7SkDu4JF2nnODgUEaKfKDxKfULri+zVls14W3Ri8NSWIOLlV7M04X34uRlAQeioEkzfDaQJKcwsGvIMrNGEZrbwqFksLFuQCwkYoydvFtYIarFQ9mJfM9iA2lpXzouOFyDaNuuFw53LkGO/ZVFXE3rURk8AVMEwQkFwjPBFxay3sF0pOMtLON9PISV3gZ7w0Nh+zJyUagZXqh4MOhBN2MPccA8H3TA+cd/B+OQxaCFyAVvvDmCxijizSMFXFXPzWVbNGRytgImeoiYSLNOveoLt4VmW7qtM98bdNww08BTqc9eD2+mVvhKV9bj8/P0lNpGtz4e3Zm38ke9XRD61oj4z1LtMsb14uAtAJioTktwpN44QLxrtCyyTJ5JeqwDx2128BZIWkOEWAKUxZYvY2SfqaqbZ6mgsIVrkydFSLbGawfHdw9s0Zx//d1AwByKI67KBg/OoLCsSR2cC6CHzDTuKubOZDo8hyPVHJw4IbRFJKHLpzlZyV41YMH4ofTm5g8ZnBIIeitbubHx6P05Pb4WOG5hL6bIybdlg+JGl+buMig5ddkiqpOS6/TpEnXDxjwEg70I+ba2DTmEHXHEzWaLjIPc6LpQhF3k7TsXe41uDXmHW7c39+QiHTwl6NDAQsotURL/Ly6Fk3jKG1uVOZZ2rp0WSvJPV6sGoOjQz7FYlV2c9X3eKH1MuUt0tpcjvNig+7QTKJ8Ez51NLqXQ/YhZBoZdP8tgnP4Wdn5R/PZh1b6/3HzmbhTgC3vvgHKvzD4fOdMZ1CeetqAnweZFQHW1g/nsY1COz31LqmLnPiGxFF+XpI2pNQ4owydwjHRk4PhXoMjJBOzxR8lCU9OwROr+eRgSHf/sN8yvVhVQaUE7vauhO73OAzsGEVeMFfEXfD7R1z55IWbJDnRHGAeMXKWKwBI8mUqbYQK6WgFIwdHm+5iUqpADSHNweSJIDc7B1USy4lvMDogFYuxrGGkYST7cA19AAQ9mIXRkijg+FXaAYxjZw5ToXgS9SGC7jEQn27hO/ZcQtve0m7Vte/cZYAdAzH7vM+DcwxE7ts+g+MYiPTTfjZ8zIN+3OdGewzE/Ms+G9oxEOmn/WwEjHLsufuZ2uyh5bmbNEa4rWTxjvMLsgd6V70eshHvil68aeJejTxxCji5CeAnhQBUzAd8+uPKmwUugOz4xlvZ6UUr2408XMvndTbO7J/TLfLQvVXE3XzXDkhvgTCAyHEd5ByT826BFNOrKPx8C4SnAhAWCK2OWy356FWz8/ywSf9tLWmvlhfEyAmm8O/OypPoKkLptDuy1O5IbZnGHBdq3zNUMpB8rKxYEkQ8JFzV4ECEYKc5DZerBMEmcuZx34sR+AKWzmo3hj6cot0mmRu+kKXNrmDeeKuzVdIjgOl4GL4vvAaCJ+zt7V22r5prx08gaLWAMHP8GApZTwJUSrlTOFHgdBQ4+9DK1L5JrqEPkU1K52BuT2GEvJk3dRC0oxAR7/6PNRwFod52UY3tLq9wlctbjkyXN7FEWUkUT4niKXF4SgxPYQ98Aakpi7a6K+q1v78RyiFFp7+pD52Au3Py/yekHm4WHEwnBK5uitZXccdSGehePHAiL4DRKCJ35fpekHwu1QZhzEoYWp2EMVmllK7N4kXKly91BPzt2SpV9QJttSQrbtR75QVQA64df+xMb5w57NFKeWL0S+MgtdidfCxtuMFIARDEJPJr6kCAuQIhgnHiI0W8w8UYd/kmnYDS1kZpY4jXM0U/RTvNdf/1kWoWJmiVIEXcxSZnDodtlp5nYtVSkqJbUXvSpgZXpnozUGtRIIgjs7hhECduCJAbzADVCi8tfv+IlxUp/98/gk9OzFpJ9VHUs1KQs2UaY/gcyOCo/T1MCXTpTJuscElopDe6SxZdpSZXyNZXwWEFsVN8wtbngngg0E0u8paxItB7SkXyfvgJRl0n5rLmXRiTdTyKwM7lMbmffny1gz/7mPj4ikbbz6dhBNKr5fvYIGImHHgxkF8224fACVwgRPLL9qGAHzp+HAIXzrwAunjFiSM/DHDJQiqV/bTWF9m1di8mmRCFjEcq1/SWnu9E/i1ZunbaTFCn02wfNsEILWD0yYthHaMmRaGZD4FGLxEOuB6O/8m5zTVg8IEg/MT1zqO6BoSDZjuFYH3QbH8LAtRoPAKExdecn9iuFN5sWcjMS51pQ1Ow0HSzTKLHTcwic4pN84Owxk/YBs0HQdgjE0CQ+LWphHe4at+6y3t1Ka/kzO88tAgT1AtRwUsZY7JdDF2wE7c+NFut+U5hZf7AcSfXSYCSZsQxzsVu7h81N+It/dnY+VCneZwSx396yBcSTBEQFvRFWP+oREHfCmNbXqayu9doPNYzhXRvY4tFeH0FF86cxEeZBR4tuyneUYg3TZrP44vO/T6S4ug7KN/ujJXdrfKl6HtUKFROBVlYNawZqZkKLcLeXknJVQTXXpjE/R+obK3MgtK1FLzyeDJYs9yLS4q7ItqXv17h3MgdntU55zNlVxDv1iwGcvbZxYN6WfWg/ZEyy4nyT3Hj+8Nqe65e/zlecnnFLFxFfL0V4wfhm2GbDSrLzIPER54aTRel3JwO1Vs6c2iFJ3Cc4MouzdANAH7+/SMpISq9wSwKl6RpGgbIwdO2jnnETaDPQLf47NK7ai7LHC46uBIIQkTCYZ+pjBYO2k+3u+mThzBrVL2mNCRmsTpFtia5ryW4LTKIV9TIeUwqe2gae4xKj0xY35qsBpO+pdvktzYe5tXfm6G+WVC2EExT0vZ08E1os8B/aNg/TG32tk+hANu+kGY1GN0VyHcJOrX1Fz1Q/ItVX+lSxZuB+3IvgJ+9GNHVxxyvOBYQ5PT9LIVFkK59wmyVtZW8KJBWYeCPqPzuqbM4LZTHT4scNwFIUT4zk+NsrnUjgFwn8Msv2RyU/dwAVkggR4L1TSV2je0bLd8zRIr+V8f2Y8ZFZyvsnZtGw3Hd83SfdRi6sO9cw/IhY1890fq2aRn68Izbo0svi3hAEHkCAfztb38Dgsh+12A46mk2ITAF8AbkPzPQefNL/WUYuusLgtCFwMf6gIKEdCEfQce9xbNMDAO0j2fnhRfM8Vrdcav3doplGz3QdV3co04CCkFVi7jZbAr5fizZN6sdZTkoaoiwYWoeb/bFO16RTc1pdB23gvbcUjeCy3ANH2NeCISKTo+w8MOhaJXFtjIweOVKRPs/SLmy2Acp93+jG1ON3/zAHpHu5mdXC7jpl9uyJgLsE32oGu/tNCGll4QKlxJqCWtju0RFQjm7sgCSyN8HnzzfB0kMgUd23si7K3iCwwFJ7zsIBVgYv+yFFZr4KhpVYyl9Z4Lck1ggtIqPW63Lf7SunpHfzYgCiGDcWl+2pVdXzz402b/NZy2ihgfjVvPZTmmnTwpAVXT9Vh09fmInQMI67WgMNUvLfvFkI4C6tyqqIpR/kXc0Slc3Kq9bsIug5PWsVQRn3ucasH5+yiGwESpcyqpnlR7P98mT1tOavuydXxQ5UwRdptFx9mYSqzhJGVNS7BhsM+y9b0Rt9b70fgRWIwng5xXEGvm3nBcy10uxyKphJ6YYbFVf+MprSV9z3/w3t8bGiPwQXP6DPxlt+iuHm5Z4R35Xkz02tPFowzmxhGex4+y+D6vKJd8Lks+SeNcdT0j1XkgVhcnj1HfmpXnjtK+e3T9tcBSV5IfbHp72CDWf8MiDVknGtizM0+z/KYqUZDxEkR+gRzH1//xW6481w9RGp43/DQAA///7/3VVdlcAAA== @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2404+CustomLinuxOSConfigUlimit/line40.sh b/pkg/agent/testdata/AKSUbuntu2404+CustomLinuxOSConfigUlimit/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AKSUbuntu2404+CustomLinuxOSConfigUlimit/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2404+CustomLinuxOSConfigUlimit/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2404+CustomLinuxOSConfigUlimit/line9.sh b/pkg/agent/testdata/AKSUbuntu2404+CustomLinuxOSConfigUlimit/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AKSUbuntu2404+CustomLinuxOSConfigUlimit/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2404+CustomLinuxOSConfigUlimit/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AzureLinuxV2+Kata/CustomData b/pkg/agent/testdata/AzureLinuxV2+Kata/CustomData index cfec4f27446..73204872783 100644 --- a/pkg/agent/testdata/AzureLinuxV2+Kata/CustomData +++ b/pkg/agent/testdata/AzureLinuxV2+Kata/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/+R8+3ebxvbv7/ordimt7dZIQnacxDnkFEvY4VqvC8hpruPDwmIkUyNQYHDiY+v+7XfNMMCAkGPHbW7P+borqxKzZz8++zF7ZrB//KF16QWtSye+amiGYZsfTEsbdK2+bVqqYdnHqt5X9oGOdfujSc/Wh7plW/pAG00s5UU6cqz3Nfu9anXf5SMH6ci7Ub9nv1f7+nDyu3qiDS3lZTpgaH1NNbUaglcpgTq2bH1oWmq/nzN9nQ71Rt1TzVgb7bRLw73R+2F/pPaKcbk0fqp9qKHplGiIEoQuH94rDXMYdRhIg9HRBzqtr5sFTh0G1MC0T8YnG0QfcBzWbGOwdUdDS9WHmtFbJ2HAGZNhd32QQXf6yiQEQ314ko/ttYuxNa32GGinkyONhMVwZNnHo8mwp+wxqPTBSc20vWJaX7N4pPb2y14cnNjjCafq3os1U7tWHd3BOp2hEx3XSTejR0OXM+rVGuWZZpj6aGjrwzO1r/eUPQZld6iv270v544eG6Oe3dOOaog660Tj0xNb7fVYwjH0RobKuUQzjJGh7DN40kzlDKETX2Ux1BsboyONPWUajybWEbGSWDdMh15wvlfHum1qxplm8ARyLUFvaNr90eh0MmZknVoy9f9MDG2dOAsO1VLrc+GgzVFUk/BA5gargX7AFDl716v69mA9sNYEv2xzSbQ+yiR3J6Y1Gtimphrdd3ZvNFD1oZna9ooxOBlP1ue/2uMGDZ1EFp8Zr/bXh6v2vXrB0Whnelezx/3JiT4sMTooiPTh8cg2RgO7OzKMydjSesorlg7mye8b5bxur9NwEl7LRZXuqXq/8M5rrn5Pxj3V0oqhLHNMjQT+mU7zyuwa+tiifjI0tVdwktttTggpp5PxiaH2NI6CU2M8MU5YwMvtTp4kpCAYGnGDIrcZ/l3dtFXT1E+GtjEaWfb4vSLL8toYjZ+xZgx0k2iqyDJjO1Zp6eqOxh8okSLLPOfxuP/BHqum+X5k0GQ71k8UWa4kbr6GjFhayHJW0dIythY+svyyRDAaa4ZqEQzT0iDLWfWyjJrB19BIwaJJaVpq99Q+0SxbNQa2NTrVhoqcLaFVkqFmvR8Zp8yWScpYkbMVtUpuTo6GmmWPDe1Y/12RyaKaJ+XRRO9ntUwm62IKynt1bHcNjYRLCka2KvEj+tCcHB/rXV0b0og4tc2x2tUUmaxSlNrS+tp4ZFi9UtlU5KzOFeNZwKfDmSGGpR+rXbJeGZo6IKtkxkeRsxpXQ8SYKTIpbWnjY1ljEuS/f7C7KsHtTDMsRc4KG8sMMqQZlqnIB3lzwtQ2tS4B1eqb9tFoZJmWoY7z5VT7XetmeZ9Hx0Hm4J5uHql9zdbHlnrU10xFJmUtrZnGxLQIh/XgyopbTzfJLNs03ynyyyziDX2gGh/sod619TFXVOWXLPL1oakZlq0PeqZtaKZFQpREnzEhmgytkT1Qhyd9zaY6KfLL/cfOO9b7lmbk81ga9QgQ2oZ5x6TgVeQdPHZeRd5LLngNjfjCNrT/PdENrad0shI1HNGioJ5oJgOmk9Umc6iOzXejvBryTWM7y4yxoZ+RQbJ+klaARGUnK1fkIR+unfZ+ljZ5uz5QzVPGlI11Da2nDS1d7afFtlfbE7ezDCTtTLXV6bQPoNEoWhHaVBFtmPYvoTJGnhNUyepvy0qn/apKwS2+71VzoHTarx9ksqd05PaDFPtKJ6vdGyheKB05Q4X1IVmQ5/2pZpyRRCbZqB/rXeILY2SlBdRST5SOvMdw6mvqcDIuDLH1AXG70pH3Gw1vBjMvcKGF8BQkfLtEMNv1QQqcBQLhFylCPnJiJIC0jLwAg/Qp8TB03rZcdNMKEt+He5hHaAnSJ9hqbr0BfIWCBgDAyFTE7TiMMEgRZd/KuZE5zudr2Fo4eHq1LbZ3ofWvbb1n9/VTTdmehhEK4517vadsN3/Z2RFbu+DswB2kKuAwWS5RtO2cdy7AOd+72HkD6IuHYbW1wyRngfFEDfJwerJguAccgeTClrC100B+jKgmaHoVglARHYQYZmESuEJj5jUak6PJ0JrYI9MeqgNNEdLvQmOgGtRb+QB7UIzQfrI6TB4KDbrA0T1qQVA8Expsd6S0kjhq+eHU8em2+jq5RFPsN9KlPh0lz91weo2iBvqyJGjSVu5MEcS7ovHLED9UVkKJTjMtXkpw47mewwTkbpKb8l5TluRs5vBM7+lqxprGq22+UzOR+QNeWt0ckgiZmmcrSbzbwHiNC2eY9WGsVWwlj74iWhEW06i58KZRGIcz3JyGi5ZzHZN/0nyZFKpU2BZMSU+U9sNpIe0OeoowJVEWwPWruOmFECUBSCQxbzwfzZELkhQtQJIChKWrMMYgSZ89fCUFMSw997C1jMJpS24FcWvpEeJFmJCwvl0i5dIL3N04miqtcIlb82Wy68ZYaS2C9Eu4xF4YxEpE6B6a6UwpYTE7e1DikBvJ4mDNzjTg6gwMEFaYbUvPZR9vIFP7MFM5f8gUOOS1oUAJDdKFd9XuO83u6YbSunGi1tSZXqGWQ+ZF0yvvBsWtBumo1SFp4TjiKAwxoUsnNLQzbWiRXePJCW3CMn5+OG85/04i1BrksaCS703tC0ZBTLRpdpMYhwtzGnlL3EI3KMBxq9GdGH2yAx5PLKWFF8vWNIl8+wZFl2GMmmGCG3T14CnCyInXKQztRDct4wNrhtMNAK1JhL41DYOZN2/eOgsfGo0I4eh2unBtb2bPHM9PIrS9A3e0mpExD8WKKL+Bz46H7dhHaKmInTeAvQUKE6yIe28gvvJmGH7+ufKBspiFEXjgBSBux+gTyCAypjtvwA0pCflh7EDMPgji3W8rgfC6jJBzDff38DGn9mZwDqIHEvqU84MLbinKfmg51r6gaYKRCx8F8bePAplIpMRvSqQRwkkUgJw/zGt69kONB7EAIh+defSjGwbcKrBZ7KoWdTv2fBTg/x7w/yxEebiC2A/D62SZo8QjI3PIEJRC7Pg2j1WEpmHkKuI+nRpjJ8J0XBG3XQcj+PWnOG0oPl95PgIcJagEVCYdpJxrBplEVVTaBBIiZAN40ySKULBBaoHu9jZPCBKn684OSHMEYsm6zcEvWISOc3FpWoRIMXN3n2QZiVfkCg/7mjlws5fzZHkQktSGPJWepGYYfQ3IGE3DwI0FkpJ1GRmEdowdHP8dcpKk5N8nI3O05gjb2IkuHd/PUcJOZD+EVEpOkUoiP0vH1NXiHTd7lQEubICOo63A50Qg4X/PKAmR9hjoOG7fCF/mrIM2CWsfpFls9m9ApJ/DQpm3IHKrPXTe/iyX+BC1zkH8J/ygQBsu6pShqePgEqMSAZeBz/WsPYvChR2huRfj6NYmLaZNWolnepzMmoW+iyKS916UbkEzkISd/8awILDBkmyj+aBgMJAulYEspV0aiHcbW7oVCSOuJXxeGHGM/vQwuvQCJ7r9ahQxsgcCiVEsHXxVDaZMxno8cZMqMVUWWAmrDbFVnlMOLxo20qwiszZoaNBtjphSAJZFwiY3rsVhLeevx2MJyT87JJ8Qll8NzZrwfDhEKxM2RCzdds08v9gH0SePXPvJxDQ+91l8vijFHM/rq4WMJy6H2jkNNDGTBhcXeSmrr2I8q2eWsbwnqV3jcpX+xoscJZiFUdnND3i48OoeJV06N8hlByB0sz/1w8SVvMDDEqGNm5SC0qanpcefiPczPisBREpBvMaQbz+lP8yZbv2ojY63ONgfDoPv0R5SSuSC5IHQIuq1XKFQsMgGLlTeMjgaq0Z8G2O0mGISrbRbf1r3DfHNlBT+bF341n47VwNcBy3CQIqQHzruYyYwvUFkqnyHtj2XTfYrSVyIlqQglJbOnFRyvzTnjzCJAscnk6Qkn/BN6VS4LMbh8j/OX0Tp7+msJ6PqerFz6aP/OGCZ3n9PbNMKQ0x5Gq7PBZMmnJSC9PcB5AZFsRcG9hxnYYZRjEEQt+lV2Ay2foo/BlsgiL8JcA/sku0M7uEKOS5IAcg7AigKCKIsNFaNInq1gMSAGrhmqZivlXmQ2214AXttEFN7DC29iDYt1ZqYivjPRn2pk8tFDt5C5SBelKWUtumH80YBcFkASAEifUgFZta3yTANE9+ld3mXKD1G4g/BSp5g0Hoz+AFqzpVA7hBLOy84Y1CQZor8KPEptQuXtwWLzbrw3uilKUndwZVqb8bp4nsxlpLAwzFI0ozsDSTJKV38CqLcjFF0402RUFG4vBZAZqkokxDfBGa4XPJgrlW+R7FhtIwPsxstblDUDRdLh7vXyK59VUXcTjsRGe5hmmCQXBB+FUhrLe+USI9y0s4m0vNz0uHlvFcsHfInRyuBtemlho+kEnJz9hwD4OemF85b5D+Sh1kKnkEq/MqbX6EYn6VprIjb+rGp5JuOVMZKyFUXKRNp1nlAdfGuzHRVp30ea6uGG34OSDntocvx9dwKj/neenx6kt5Ks+Qm3/M7+07+qKcbWtcaGR+yQru4dr0IpCWIpeG0CU/iKxfEu9LIKq/ka1lHYuig3QZniaU5wpApzFgQ9VZK+pmptvolFRQuSWfqLDE9zsjmMeMeWDXK579vGgD0UpxMUQh+zILStSQJcC6DH7HSuMvrOUhse04slRySuGE0RfShi2bFXQnZ9RBD/HB6HdPHGRxSCL3l9fzwcJTe3B4eKjyX0HcLxKTb6iVR42sLFzVafkOXqPVl6U1aNNn+gQBewYF9JFwbq8Yc4e54okbTqzzCnGh6pYjbSdr2LnYa3B7zjgzu7q5oRjrky8G+QARURqIFeb6+F03zKB1urK2zbHThZqO09nixagwO9vkSS1TZLlTf4YXWy5Q3SGtzNc6LDXZCM4mKQ/g00NhZDj2HkFlmsPO3CM3RF2XrX81fP7bSf4fNX8WtEmzF9BUo/5eAz0/OdYbq0tMGfh3MvAhEWz+cxzYO7fTWu6IuduJrmkfFfUk6kFKTijJ0StdEP+0NdxocIV2YLf4qSfjpGH6ymj/tDdnpH4nbTK+sq2BSAnfzVEr3RxwGdowjL5gr4jb88Yl0PkXjJklONAfCI8bOYglAi2+m0kpYIx0tUeSQbNNdQsoUqCFkNZg+EeRmZ2+dxHLia4IOpGIJljWMNIJkH90gH0DQg1kYLagCjr9OO0Bx7MxRKpQsoj7CyD0E8ZcNfMeeS2nbG8atuvGtuxywQxDzz7s8OIcgct92MzgOQWSfdnPzCQ/2cZez9hDE4stuZtohiOzTbm5BRjn23N1c7eyh5bmrNEe4o2TxjosLegZ6t/56yEq8K0fxqklmNYrCKZDiJsAPCgWoXA/48se1N1ekAbLja29ppy9a2W7kkV6+6LNJZf+SHpGH7q0ibhendiC9A2GAsOM62Dmk990CbaaXUfjlFoRfBBCuMF4etlrywetm58V+k/2/tWCzWl4QYyeYon86S09iuwil0+7IUrsjtWWWc1yqfYup1JDC1qxZEkRiEulqSCIi2GpOw8UywaiJnXnc92IM97Bwltsx8tEUbzfp2nBPtzbbgnntLU+WSY8CphMzfF94A4In7OzsnLcvmjeOnyBotUCYOX6MhHwmBSql3CrdKHA6Cpx/WGdqXyeXyEfYpq1zMLenKMLezJs6GNlRiGl0/9c6joFQ77uoxnfnF6TL5T1Hl8vrWGKsJIanxPCUODylDE9hB+4hdWXZV3dlvXZ3V0I1pdjyN/WRE3DvnPzPSanHu4Uk0xGFq5ui9VXcidQMdC8eOJEXoGgU0Xfl+l6QfKn0BmGctTCsOwljukupvDZLNin393UE/Nuz61TrL9Cut2Tlg3qvugFqoBvHHzvTa2eOeqxTnhj9ih20F7uTD6UVZ4wUgCAmkV/TBwLhCkKE4sTHinhHmjHu5Zt0AUpHG5WDIV7PFP0U7bTW/a9PTLMwwcsEK+I2cXkWcMRn6X0mUS0lKYcV8ycbanBtqjeDWo+CII7M8oFBnLghYDeYAdOKbC3++ES2FSn/Pz7BZyfORmn3UdZzrSHPtmkZwxcgw0H7W5hS6NKVNlmSltBI3+iueHSZulyhR1+lgBXETvlJtj8XxD2BHXLR3zJWBPaeUpm8H35GUdeJuap5F8Z0H48j2Do/pO+nH15skc8+IT68YNn243EYQfpq+S5xiJgLBy8G+VWzvQ9O4IIQya/a+wJ56PhxCC6aeQFyyY6TZH4YkJaFdiq7aa8vZq+1ezGthDjMeKRyTW/h+U7k39Kta6edCep0mu39JozwFYo+ezGqY9RkKDQLE1j2UuHAzXD8z85toUEGHwThZ252kdU1IOw12ykEN3vN9lMQYE7jEaAsvhb81HeV9M62hZl7WTCtWAkWmm5eSfS4SVjkQbFqfhRuyJPsgOajIOzQBSBI/NpSwgfc+ty6l/fqSl4lmN97+CpMcC/EpSjNGNPjYuTCVtz62Gy15lulnfkj7U4ukwAnzYhjXIhdPWw1Z/GG+ZntfKqzOs6I47885UsFpgxIlvRlWP+sQsF+Kyw78jKV7Z1G47mRKaRnGxs8wusruGjmJD7OPfBs2U3xjkG8arJ6Hp91Ho6RFEffwcVxZ6xsb5QvRd+iQqlzKskiqhHNaM9UGhF2dipKLiN044VJ3P+OytbKLCldS8ErTxaDm6z2kpbiroz2+W8XpDZyl2d1wfmrsi2IdzdZDhTs8xcP6mXVg/ZnyqwWyr8kjB9Oq821+uaviZLzi8zD64jfbMT4Ufjm2OZG5ZV5kPjYU6PpVaU2p6Z6C2eOrPAIjRPS2aUVugHw4x+faAuxNhtmUbigQ9MwwA5ZtnXCI26CPoNu+dm5d9FcVDmcdUgnEISYpsNupjK+cvBuetzNnjyGWWM9aiomZR6rU2Rjkftagdsgg0ZFjZznlLLHlrHnqPTMgvXUYjWY9C3dpn9r43FR/a0V6smC8o1gWpI2l4MnoZ0l/mPT/nFqZ7/tU2rANm+ksx6MnQoUpwSd2v6LXSj+zbqvdKvizeCh2gvoixdjtvuYkx3HFYKCvp+XsAixvU+Y77I2kpcFsi4M/ozO74E+i9NCef6yyHETQIqKlZleZ3OjKwEKneDnn/M1KP9zA0QhgV4J1g9V2DU2H7R8i4kM/a/a9n3sYqsVic5Vo+G47ml6zjoMXdR3LlH1krGvHml927QMfXjCndGlL4t4IIg8gQD/+Mc/QBCzv2swHPU0mxKYAryF4s8MdN7+XP8yDDv1hSB0EfhEHyhJSDfyEXLcW7LKxCjAu2R1vvKCOdmrO+76ezvlto1d6LoumVEnAYewrkXcbDaF4jyWnpvVWllNihoi4piax6td8Y5XZFVzG13HraQ9t9WN0CK8Qc9xLwJhTadnePjxULSqYls5GLxyFaLd76RcVeyjlPv/o1umWk1EHPvOvBIMx3315OFY4CjWLCJjj7eFUvNW0AetioxN0PI0u3+JIhUZj1HkO+hR9ueP77T+WDNMbXTc+H8BAAD//yXG4DBLUwAA + H4sIAAAAAAAC/+Rce3ebuLb/359Cw9BJ0gbbOGnapoeeITZJufHrAk6nN81hESPbTDC4INzmpD6f/S4JCcTDadrM9M45N7Nm1UZbe2/99kNbD/zzT61rL2hdO/GioRmGbb43LW3Qtfq2aamGZZ+qel85BKSt2x9NerY+1C3b0gfaaGIpz9OWU72v2e9Uq/s2azlKW96O+j37ndrXh5Pf1DNtaCkv0gZD62uqqdUQvEwJ1LFl60PTUvv9jOmrtKk36p5rRqW10y4090bvhv2R2svb5UL7ufa+hqZToMFKYLqs+aDQzGHUoSANRifvSbe+buY4dShQA9M+G59tEX3EcaiMjcLWHQ0tVR9qRq9KQoEzJsNutZFCd/7SxARDfXiWtR2087aKVgcUtPPJiYbdYjiy7NPRZNhTDihU+uCspttB3q2vWTxSB4dFKw7O7PGEU/XgeWWoXauO7qhKZ+hYxyrpdvSI63KDelmhvNAMUx8NbX14ofb1nnJAoewO9eq4D+XM0GNj1LN72kkNUadKND4/s9VejwYcRW9kqJxJNMMYGcohhSeNVG4gpONL5kO9sTE60ehTqvFoYp3gUeLRDdOm55zt1bFum5pxoRk8gVxL0Buadn80Op+MKVmnlkz9n4mhVYmZc6iWWh8LR22OohyERzLXWHb0I6rIxdte2bZHVceqCH7R5oKo2koldyemNRrYpqYa3bd2bzRQ9aGZju0lZXA2nlT7vzzgGg0dexYfGS8Pq83l8b18ztFoF3pXs8f9yZk+LDA6yon04enINkYDuzsyjMnY0nrKSxoO5tlvW+W8aldpOAmv5DxL91S9n1vnFZe/J+Oeaml5E4scU8OOf6GTuDK7hj62iJ0MTe3lnOR2mxOC0+lkfGaoPY2j4NQYT4wz6vByu5MFCU4IhobNoMhtin9XN23VNPWzoW2MRpY9fqfIslxpI/4z1oyBbmJNFVmmbMcqSV3d0fg9IVJkmec8Hvff22PVNN+NDBJsp/qZIsulwM3mkBENC1lmGS1NYxX3keUXBYLRWDNUC2OYpgZZZtnLMmoaX4FGChYJStNSu+f2mWbZqjGwrdG5NlRkNoWWSYaa9W5knNOxTFLGisxm1DK5OTkZapY9NrRT/TdFxpNqFpQnE73PcpmM58UUlHfq2O4aGnaXFAw2K/Et+tCcnJ7qXV0bEo84t82x2tUUGc9ShNrS+tp4ZFi9QtpUZJbn8nbm8GkzG4hh6adqF89XhqYO8CzJ+Cgyy3E1RJSZIuPUlhY+ljXGTv7be7urYtwuNMNSZJbYaGTgJs2wTEU+yooTqrapdTGoVt+0T0Yjy7QMdZxNp9pvWpfFfeYdR8zAPd08UfuarY8t9aSvmYqM01qaM42JaWEOVediya2nm7iXbZpvFfkF83hDH6jGe3uod219zCVV+QX1fH1oaoZl64OeaRuaaWEXxd5nTLAmQ2tkD9ThWV+ziU6K/OLwof1O9b6lGVk/GkY9DIS2pd8pTngleUcP7VeS94JzXkPDtrAN7b8nuqH1lA5LUcMRSQrqmWZSYDosN5lDdWy+HWXZkC8a2ywyxoZ+gRvx/IlLAeyVHZau8EPeXTvtQxY2Wbk+UM1zypS2dQ2tpw0tXe2nybZXWxO3WQTicqZc6nTaR6DRyEsRUlRhbaj2L0CpDT/HqOLZ35aVTvtlmYKbfN+p5kDptF/dy+RA6cjteykOlQ7L3VsonisdmaFC6xDm5Fl9qhkXOJBxNOqnehfbwhhZaQK11DOlIx9QnPqaOpyM84HY+gCbXenIh42GNwMzL3BBC6IpkNDtCoLZvg+kwFlCIDyVIuhDJ4YCkFaRFyAgfUw8BDpvWi5ct4LE98EXMI/gCkgfwU5z5zVACxg0AABgZCribhxGCEgRYd/KuOE+zqcbsLN00HSxK7b3Qesfu3rP7uvnmrI7DSMYxntf9J6y23y6tye29oGzB+5AqgIKk9UKRrvOZecKOJcHV3uvAfzsIbDZ2aOSmWN8owaZO32zYPAFoAhILtgRdvYa0I8h0QROFyEQSqKDEIFZmASu0Jh5jcbkZDK0JvbItIfqQFOE9LvQGKgGsVbWQB/kLaSeLDfjh0KDTHBkjZoT5M+EBl0dKa0kjlp+OHV8sqy+Sa7hFPmNdKpPW/FzN5zewKgBP68wmqSUu1AE8S4v/Bjix8pGKNBppsVLCdae6zlUQGYmuSkfNGVJZj2HF3pPVxlr4q+2+VZlIrMHvLS6PjgQmJoXG0m828K4woUbmPV+rJXGih99RbQiLKdRc+lNozAOZ6g5DZct5ybG/0vzVZKrUmKbM8U1UVoPp4m0O+gpwhR7WQBuXsZNLwRREgAJB+ba8+EcukCSoiWQpAAiaRHGCEjSJw8tpCAGK889bq2icNqSW0HcWnmYeBkm2K1vV1C59gJ3P46mSitcodZ8ley7MVJayyD9Eq6QFwaxEmG6+3o6U0KY92YPChyyQVI/qIwzdbi6AQYQKXRsK8+lH9eAqX3MVM4eUgWOeW0IUEIDV+FdtftWs3u6obTWTtSaOtMFbDm4XzRdeGsYtxq4olaHuITjiKMwRJgu7dDQLrShhVeNZ2ekCGP8/HDecv6ZRLA1yHxBxd+b2mcEgxhr0+wmMQqX5jTyVqgF1zBAcavRnRh9vAIeTyylhZar1jSJfHsNo+swhs0wQQ0ye/AUYeTEVQpDO9NNy3hPi+F0AUByEqZvTcNg5s2bt87SB41GBFF0O126tjezZ47nJxHc3QN3JJvhNg/Giii/Bp8cD9mxD+FKETuvAfKWMEyQIh68BvHCmyHwyy+lD4TFLIyAB7wAiLsx/AhkIFKme6+BGxIS/EfZAZF9EMS7XzcC5nUdQecGfPkCPmTU3gxcAtEDEvyY8QNX3FTE/kg61j7DaYKgCz4I4q8fBNwRS4lfF0gjiJIoAHL2MMvp7I8MHog5EFnrzCMf3TDgZoHtYje1qNux58MA/eeA/0chysMVxH4Y3iSrDCUeGZlDBqMUIse3eawiOA0jVxEPSdcYOREi7Yq46zoIgmdP4rSg+LTwfAhQlMACUEw6kDKuDDKJqKi0MSRYyBbwpkkUwWCL1Bzd3V2eEEicrnt7QJpDIBZGt935BQvTcSYudIsgTmbu/jeNDPsrdIX7bU0NuN3KWbDcC0k6hiyUvknNMPoakDGchoEbCzgk6yIyCO0YOSj+K8QkDsm/TkRmaM0hspETXTu+n6GEnMi+D6mUnCCVRD4Lx9TU4h3Xe8MAF7ZAx9GW4HMiIKF/zggJlvYQ6Dhu3wkfM9ZRG7u1D6RZbPbXQCSfw1yZN0DkZnvQefOLXOCD1boE4t/BTwpog6s6ZUjoOKjAqEDAReBjLWvPonBpR3DuxSi6tXGJaeNS4pEWx71moe/CCMe9F6VLUAaSsPef6BYYNrDCy2jeKSgMuEqlIEtplQbEu60l3Qa7EVcSPs6NOEZ/uBtde4ET3X7ViyjZPY5EKVYOWpSdicmo+hPXqeRTRYElt9riW8U+RfcibiPNSjJrnYY43XaPKThgUSTYZsaKH9Zy/ro/FpD8o13yG9zyq65Z4573u2ipwxaPJcuumefn6yDy5IFzP+6Y+uch9c/nBZ/jeX01kfHERVe7JI4mMmng6ipLZfVZjGf1yDSW1SS1c1ym0l94kiMEszAqmvkeC+dWPSCkK2cNXboBQhb7Uz9MXMkLPCRh2rhJKAhtult6+hFbn/HZCEAkFNhqFPn2t9SHGdOdn7XR6Q4H+/1u8CPKQ0IJXSB5QGhh9VqukCuYRwPnKm8oHI1NI76NEVxOEfZWUq1/W/UN4vUUJ342L3xvvZ2pAVwHLsNAiqAfOu5DOlC9gUhV+QFleyYbr1eSOBctSUEorZw5zuR+oc/vYRIFjo87SUnW4bvCKTdZjMLVv529sNI/0ljfjKrrxc61D//tgKV6/zWxTTMMHsq34fpYMEnASSlIfx1A1jCKvTCw54i5GYIxAoK4S47CZmDnSfwh2AGC+KsAvgB6yHYBvoAFdFwgBUDeE4CiAEGUhcamkXuvFmAfUAPXLCTzSpoHcrsNnoODNhDT8RhaehBtWqo1MRXx7436VCcXkxx4A0ob8aIspbRNP5w3coCLAoAUQFyHlGCmdZsMpmHiu+Qs7xqm20j8JljBEhRabwZ+AjX7SkDu4JF2nnODgUEaKfKDxKfULri+zVls14W3Ri8NSWIOLlV7M04X34uRlAQeioEkzfDaQJKcwsGvIMrNGEZrbwqFksLFuQCwkYoydvFtYIarFQ9mJfM9iA2lpXzouOFyDaNuuFw53LkGO/ZVFXE3rURk8AVMEwQkFwjPBFxay3sF0pOMtLON9PISV3gZ7w0Nh+zJyUagZXqh4MOhBN2MPccA8H3TA+cd/B+OQxaCFyAVvvDmCxijizSMFXFXPzWVbNGRytgImeoiYSLNOveoLt4VmW7qtM98bdNww08BTqc9eD2+mVvhKV9bj8/P0lNpGtz4e3Zm38ke9XRD61oj4z1LtMsb14uAtAJioTktwpN44QLxrtCyyTJ5JeqwDx2128BZIWkOEWAKUxZYvY2SfqaqbZ6mgsIVrkydFSLbGawfHdw9s0Zx//d1AwByKI67KBg/OoLCsSR2cC6CHzDTuKubOZDo8hyPVHJw4IbRFJKHLpzlZyV41YMH4ofTm5g8ZnBIIeitbubHx6P05Pb4WOG5hL6bIybdlg+JGl+buMig5ddkiqpOS6/TpEnXDxjwEg70I+ba2DTmEHXHEzWaLjIPc6LpQhF3k7TsXe41uDXmHW7c39+QiHTwl6NDAQsotURL/Ly6Fk3jKG1uVOZZ2rp0WSvJPV6sGoOjQz7FYlV2c9X3eKH1MuUt0tpcjvNig+7QTKJ8Ez51NLqXQ/YhZBoZdP8tgnP4Wdn5R/PZh1b6/3HzmbhTgC3vvgHKvzD4fOdMZ1CeetqAnweZFQHW1g/nsY1COz31LqmLnPiGxFF+XpI2pNQ4owydwjHRk4PhXoMjJBOzxR8lCU9OwROr+eRgSHf/sN8yvVhVQaUE7vauhO73OAzsGEVeMFfEXfD7R1z55IWbJDnRHGAeMXKWKwBI8mUqbYQK6WgFIwdHm+5iUqpADSHNweSJIDc7B1USy4lvMDogFYuxrGGkYST7cA19AAQ9mIXRkijg+FXaAYxjZw5ToXgS9SGC7jEQn27hO/ZcQtve0m7Vte/cZYAdAzH7vM+DcwxE7ts+g+MYiPTTfjZ8zIN+3OdGewzE/Ms+G9oxEOmn/WwEjHLsufuZ2uyh5bmbNEa4rWTxjvMLsgd6V70eshHvil68aeJejTxxCji5CeAnhQBUzAd8+uPKmwUugOz4xlvZ6UUr2408XMvndTbO7J/TLfLQvVXE3XzXDkhvgTCAyHEd5ByT826BFNOrKPx8C4SnAhAWCK2OWy356FWz8/ywSf9tLWmvlhfEyAmm8O/OypPoKkLptDuy1O5IbZnGHBdq3zNUMpB8rKxYEkQ8JFzV4ECEYKc5DZerBMEmcuZx34sR+AKWzmo3hj6cot0mmRu+kKXNrmDeeKuzVdIjgOl4GL4vvAaCJ+zt7V22r5prx08gaLWAMHP8GApZTwJUSrlTOFHgdBQ4+9DK1L5JrqEPkU1K52BuT2GEvJk3dRC0oxAR7/6PNRwFod52UY3tLq9wlctbjkyXN7FEWUkUT4niKXF4SgxPYQ98Aakpi7a6K+q1v78RyiFFp7+pD52Au3Py/yekHm4WHEwnBK5uitZXccdSGehePHAiL4DRKCJ35fpekHwu1QZhzEoYWp2EMVmllK7N4kXKly91BPzt2SpV9QJttSQrbtR75QVQA64df+xMb5w57NFKeWL0S+MgtdidfCxtuMFIARDEJPJr6kCAuQIhgnHiI0W8w8UYd/kmnYDS1kZpY4jXM0U/RTvNdf/1kWoWJmiVIEXcxSZnDodtlp5nYtVSkqJbUXvSpgZXpnozUGtRIIgjs7hhECduCJAbzADVCi8tfv+IlxUp/98/gk9OzFpJ9VHUs1KQs2UaY/gcyOCo/T1MCXTpTJuscElopDe6SxZdpSZXyNZXwWEFsVN8wtbngngg0E0u8paxItB7SkXyfvgJRl0n5rLmXRiTdTyKwM7lMbmffny1gz/7mPj4ikbbz6dhBNKr5fvYIGImHHgxkF8224fACVwgRPLL9qGAHzp+HAIXzrwAunjFiSM/DHDJQiqV/bTWF9m1di8mmRCFjEcq1/SWnu9E/i1ZunbaTFCn02wfNsEILWD0yYthHaMmRaGZD4FGLxEOuB6O/8m5zTVg8IEg/MT1zqO6BoSDZjuFYH3QbH8LAtRoPAKExdecn9iuFN5sWcjMS51pQ1Ow0HSzTKLHTcwic4pN84Owxk/YBs0HQdgjE0CQ+LWphHe4at+6y3t1Ka/kzO88tAgT1AtRwUsZY7JdDF2wE7c+NFut+U5hZf7AcSfXSYCSZsQxzsVu7h81N+It/dnY+VCneZwSx396yBcSTBEQFvRFWP+oREHfCmNbXqayu9doPNYzhXRvY4tFeH0FF86cxEeZBR4tuyneUYg3TZrP44vO/T6S4ug7KN/ujJXdrfKl6HtUKFROBVlYNawZqZkKLcLeXknJVQTXXpjE/R+obK3MgtK1FLzyeDJYs9yLS4q7ItqXv17h3MgdntU55zNlVxDv1iwGcvbZxYN6WfWg/ZEyy4nyT3Hj+8Nqe65e/zlecnnFLFxFfL0V4wfhm2GbDSrLzIPER54aTRel3JwO1Vs6c2iFJ3Cc4MouzdANAH7+/SMpISq9wSwKl6RpGgbIwdO2jnnETaDPQLf47NK7ai7LHC46uBIIQkTCYZ+pjBYO2k+3u+mThzBrVL2mNCRmsTpFtia5ryW4LTKIV9TIeUwqe2gae4xKj0xY35qsBpO+pdvktzYe5tXfm6G+WVC2EExT0vZ08E1os8B/aNg/TG32tk+hANu+kGY1GN0VyHcJOrX1Fz1Q/ItVX+lSxZuB+3IvgJ+9GNHVxxyvOBYQ5PT9LIVFkK59wmyVtZW8KJBWYeCPqPzuqbM4LZTHT4scNwFIUT4zk+NsrnUjgFwn8Msv2RyU/dwAVkggR4L1TSV2je0bLd8zRIr+V8f2Y8ZFZyvsnZtGw3Hd83SfdRi6sO9cw/IhY1890fq2aRn68Izbo0svi3hAEHkCAfztb38Dgsh+12A46mk2ITAF8AbkPzPQefNL/WUYuusLgtCFwMf6gIKEdCEfQce9xbNMDAO0j2fnhRfM8Vrdcav3doplGz3QdV3co04CCkFVi7jZbAr5fizZN6sdZTkoaoiwYWoeb/bFO16RTc1pdB23gvbcUjeCy3ANH2NeCISKTo+w8MOhaJXFtjIweOVKRPs/SLmy2Acp93+jG1ON3/zAHpHu5mdXC7jpl9uyJgLsE32oGu/tNCGll4QKlxJqCWtju0RFQjm7sgCSyN8HnzzfB0kMgUd23si7K3iCwwFJ7zsIBVgYv+yFFZr4KhpVYyl9Z4Lck1ggtIqPW63Lf7SunpHfzYgCiGDcWl+2pVdXzz402b/NZy2ihgfjVvPZTmmnTwpAVXT9Vh09fmInQMI67WgMNUvLfvFkI4C6tyqqIpR/kXc0Slc3Kq9bsIug5PWsVQRn3ucasH5+yiGwESpcyqpnlR7P98mT1tOavuydXxQ5UwRdptFx9mYSqzhJGVNS7BhsM+y9b0Rt9b70fgRWIwng5xXEGvm3nBcy10uxyKphJ6YYbFVf+MprSV9z3/w3t8bGiPwQXP6DPxlt+iuHm5Z4R35Xkz02tPFowzmxhGex4+y+D6vKJd8Lks+SeNcdT0j1XkgVhcnj1HfmpXnjtK+e3T9tcBSV5IfbHp72CDWf8MiDVknGtizM0+z/KYqUZDxEkR+gRzH1//xW6481w9RGp43/DQAA///7/3VVdlcAAA== @@ -36,7 +36,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AzureLinuxV2+Kata/line39.sh b/pkg/agent/testdata/AzureLinuxV2+Kata/line39.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AzureLinuxV2+Kata/line39.sh +++ b/pkg/agent/testdata/AzureLinuxV2+Kata/line39.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AzureLinuxV2+Kata/line9.sh b/pkg/agent/testdata/AzureLinuxV2+Kata/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AzureLinuxV2+Kata/line9.sh +++ b/pkg/agent/testdata/AzureLinuxV2+Kata/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/CustomData b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/CustomData index cfec4f27446..73204872783 100644 --- a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/CustomData +++ b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -36,7 +36,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/+x9/3fbNrLvz1d/xZThxlJqUrbT3dvnrXJXleVEz7akJ8npvS/x6tAkJLGmSBUAZTsK//d3APALSIKSbKfb3nve7jlJIwCDwWDwmcFgAL76rnnr+s1biyxqtU5nOu6OPvY63WmvP51cDVvNYEWb1pcQo6Yd+NRyfYRJ07aNFQ4eHk2C8Nq1ken6vO2gc9Gd7Ns0sO8Q5S37vWln0D/vvZ+e9UYtrYmo3bR9t+kjajoaL/+5148LGVVWeOv6Wu3VZHA2gFXoeUAXLoEgpBDMwA6Wq8BH1CfmryTwgQbBf3AyZ4Nf+peD9tm4QMwJ7n0vsByi1TqjXmdymdaUK2LXpp6ibsZcSHDTC2zLE+x1Bv1Ju9fvjs7UPSdicWSio+t+R1kdh74tV7z4caysdxfeIuwjikix9nDU+9iedKfDduei/b47nnbanQ/dHU2bK+yuLYqMlWXfWXMU0xp13/fGk9F/TUfd4aClBYSwMVvYRUQio9Wuf77uT66no+5ltz3utvS6R26nGHnIIggMDAZp1Abjll53Z+AR4JP/xkgqHL+DpoPWTZ9N8cm718d/B7pAPpAAU9a6UP0rzK37OzhYWtRe1PWjQ2j+s947m172Lrqtuh1gFJDG195Zq26+aTT05iFYDdjACrs+BRqEqxXCdevTyQ1Yn97eNP4O6MGlEB38HWZuozbudq5H3enkcjz9eTCYjCej9nB6cf1z97I7mXb/s9uZDi+v3zNlKCuPWAjUI7dBQAnF1krbn97H7mjcG/Rb2vrIPDaPDMtbLSzzRKtNupfd4WA0OdvSM0UeWgWYOnnN7Z51+5Ne+3I6HA0+9s66I7XKIwf51LW8FQ7WroPwLiLZWlhbuOm5t1wZPCTTMhJiigFUrqWrdr933h1Ppue9y+6wPfmQE+zS8t0ZIpSvd7bwroaDfrc/GaurxwDhUxI3+PjhbHo5eF9Rfb1wDNcn1PI8kzX1EEWco+nZz9P29WQwvR6esYV1ftl+L5NIZLC0fMO5bVohDYxw5Viseed6dDkdXE+G15NWky5XTTvE3nSN8G1AkBmENFk6g/G0377qtjTxb9bxiIFKVhD/oNU6w+tpe9T50NK0moNsz8IIDAt+aY+vxh96V8Pe2bhVb8hF42Gvz1QuKaoRRDvD6za2F/UGbGoAAClVvT5PSxu1qFbDaBms0ZXln922Qxpc86Gde9b83PVQ2h4vwZiBvktejKCNkUV3EqRBaC/2JOghyw9XnRRqzzxGiuSYwzPQq7CaEYnnPiPyi0sXnVSH/jcJ/JReQFr6Jj9zES9wZ/DpExhfQNPzmKjBzY2ANV4vJTIYR9IPTDOIG/gtzQ4xRj7VeCHyCFLWSpmIe4lE/ZnL/+J/ZPZnKKC9pdd//Q00c5ggPWi6Yilp8BV4vU838BUI8pBN66ZvLRG0WvBZy+h+1hpaA75+FTiqd0ejqSTnGNamvf7H9mXvjPMUm6akjOtkLD2XXFmYkR3gNluWl64fPoDGBaXB69dMvJq+6Y2nF+1JO9IYMxrFIaoScLKOWPX8XMVSEks1lsZHIVnC+ihJLmKi2gQk+TuZh1jq/I9Xmf4cEFgn5CyMrUdwCaCHFbIpcoAGsLDWCALfe4TAR4A8tEQ+NQWZ3gxcCguLwDLACOjC8uVah3CP4N71PIjVlo0cPIvQpAa4Pv+N92xKyqlvXhXl/+kfNxEYcwrHZSEiexGA9kt71O/1359K6gSxq1AcZCXPJvQEr64/38FuTo13sI1+gyOmffqmVH50E3H9+Gl80Ru+06oG1+ufD/YZGZs+ly4QBrRc0UcIMGd55mJ5HAREdyaM79zVig1WIh1Pl0XdwI+HyQEK0RD7cCSPu3c+bukHn/0D7gghp6CirbpeFx7SR/jpp580xfjf3ERaQyyt0CeIMpL8X3w8U+J+QS1980pJngmX12Wyr9ezFsZxowGGR+EIbm7YimTTOHV9Bz20+ERI/y415BRXuZ5a+kbNgL7JKEUxM5kkr6xfA3zl+gEeMj/wYwqJdTGper4XBmd2SMFwDDBmxw2tQO5DQM/dhydRIWDMTmJCTEcF7O/iUIMbJqRPe1Vlysu8YmWjHMu5ukotd/215bmOrIyxfp9CcZhZ030hPdZZL5iTKQ2maM1sJmjti7HZGXfNonEdhT51lyj5fUwt37G8wEcZfGqM5cpSkPFZLb4oVycnrRixE8FABXtgQHnY0AJ9k5dXpNUqPYir2GnN+Q/c5ZVmIrEkki7NQNNL7nB5brdSyqu45DYwD8DAYGaFJnLmSNllI9MGzpnC6eC6d/yjefRDmcFdPBzITKxc30eOqR3/ePSDdrCLnVjnct5RtbmKewY/oDALQp9hMSRbikNw0MwKPcptEzPN2LEDh/Eiq7c0kBXTNHk4MWCUx7oLeqYYrd0nUtmGO3nWlNBRrLIVZ1L+noExEsQohrQdZnr98aR9eTmd9K66g+vJHw8zeanl4SUV0ouhpbI/TYUxMbkUWfbol+0ER/3upDvO9Vv+OdIk/0vTN/1u92wszVCkwXfV3nfMwFVw+whFd07Am3LXwV2KX3+Dg3SDotyASPsPrXEAP4GKGkiBJaW+xl0UtjNMHQklDB9UVCW3bY89Y+3f/k04d7IMtvbuBIhwlOJs7OBip82RlKaP6H2A74ZeOHczWyRN7+SXwegiDtIwVAeNh0aqJ5dv0Tr9Xm5+Y476PXiF0Qxh5NsIVrxTYsJVQKj3CLMAw114i3xE4Tak4AXB6tay7+KKzI0OCXLg9lHGcKbDsrWDk/z2vhj9hdfAxp+EszppdGoYB6ey8Me2WNn16JLttXfVOW3lVozhwx6NIoV0bYxSkJzOAjwNsEVaqXHYRZKZijlGKzCCIRysPzvf1z+bn53vG28O+Epy4IA0/7luNtk/F8hyGKvHjWQSZQ+FMZIE8qYh9lr6SX6EeqlKeTg7ZVsmkuNleee4GIwV6LsimqJ+FmcdjgZsvWSYlUW0x93Rx+6ITesTqitn+AntVZOdSVqoZiaHRG2ZQDI1eGKPTX1TiuRHIuRpWDY2FBHb07W+UapgZHiuHz4Y+iaJFkba1lmevP+//Jhoj3Xw6tWbZqTBK7gmCG4tsoDb0GX+GLySd8n40V460zmiU2rhW8vzpjMcLKcYzV1C8eP03qULziscnxzBX3etlrPeqKlv4ZxHevaem0jLh8EGo/Z4Ory+vJyyKThv9y6LG/7YgeWBr1E8hmvs7QcclYqUuqXfCDIKGLFztrdqV1mHjLy6RSa1sDn/ov3R874HdD9tunOo9juvl30mfpcUwDRN2K07tao5+lZzsZOFQvR5W215NyFklHkFkLgFkCxv5AAJbRsRMgs97zHnglc7E7u2J6WWZrWHokF1mTgnsTAYD19me4l5s0XOkQZGZw8bmzPJFZoan/DF5sFeBPc+GCPAQUBP2R/7tVuudy5DVnm7NdN29dWsahjzvgwc+Pe//vVlZBIXdfdoZId1jOwQo8nl+OfkQPlCHLR2H5Bd8OMF/Av3mbtq2oLSFTltNu9+JPHZOTFvveDWtAOMzHvXd4J7YvqINq07YlCPGOm5tWF7LvJpU9889fw6anJ8b1pL528/NFVEZQ9Kr7ukPbr62w8NtqlTHD/8ecaDl1vHU3ZWn5VJUJMGnfoYK4sumE14FsWogulsM/6d2I6rei0HelKcd2fTmeV6IUbwlqH8347AZu6/MRtfghFUEkx/D7FXMKAp23sPVEbzSqR5ltg0iSZDAGMUg8ALqM1ctrjvLbLkx9Ndtr+vjgmzetOZ6yE+/frmOJLqkYW7zNy8zYlclrjtJJzN3IeWvnlbbMmtUzIvrbqmb/5x+kOkNUDe/PFMn0dFiHMjd86cIKAYTDDimCTb2rMa4PpJ5Vx/n/5xw3xXJ8jHlWMt3FRJIJJSqQxG1BC0mfuYZ5X9kpdBpI5Lx074MRRDyk7gI8lDYK4M4wUYLySOy7BhPoXbN3vxWZNPA0F9qmCR5ZgJtd6QNSddZuyfVKhFrDLJwWB+0705iUC2HCIalTBHYrV4y9UiPd9mo04i6WJ+i+3K01utd2Tl+hpoxHPnC6o1cgrxCTQ9F6A+Mn80jxQbaPa/EvHvW3Xt/p5INOOpLcTe+aTxwEYdrS0vDsmdxVSYa5mdq+Z8/4xw6p+VZwj00qzkAuFJ76Cts7FWrhnI6+a9xXBzI+f9pIe2/yOmSWRmKMQ6RHjpEnE0r5DwXsLMZCkHCFWL7Fn4rFSxPEwXIPxfBtKQmv68Jcof+uRGx+Qo09NAM9bH2jZ4V0TbJURk1DksErA8jCznUQ66V7FxKFJe/IDCLUrXnevPS5kUOZfsXxYP/A6ML/C08FxVPDANbHDP94khv1yeroNc4lm3pKkU/2lBUbZF+ARnfEbiWZ9/mdLlqlU5Yeo+y33EEZ/ayyI+mzJrkQb6RpZlVBWykU7jGKKmnPDt9ZcH5pqUyYsdc9XoUxp8H7uPjFJHIT8nYqk9iUDR01gfS0tkKVwtxXi2LaOn+3V77RXWYrOw9+iqvT61mELsVdJgLU7evT5m6IgQ6FK6LrzLctKT2GgXtH/WGeOn5pvG1/on1L3B2HzT0HlmYt22aJ7E69eSql2MrscTtkcohqIa8DqVmGzMv2/V9e8aOTu1j0X8HTYUVdbo7bfYMjxTt+S4zLfRnZykk5yAletfhLfo5a72vp72s903SQjMX7sLb9E3cmwTIezyZuVuc06Y0m+Vk9Jf5LfKmlBisKQCjEljfaL2/9TTrRriHn5ffha+qe+X5VBs461y7BXZOxXVd3hopW7/v5f2DC8tkaJyzr6Jk5YPrZRmLdq+UkpOWQygz/PJtIJTpj3VK9vfhYHSjYhneiVPWF5aFSpWN/nTeCEyLMceSGYOB9jK/As+S4r7ZGz+5Rtkad3uf05G7c6kKyoz4AQFoZzB5EXJzTiOk4Uge4mJmhS3k+4bMM5Ty6LLZE3TlHicXA1b+qbEET9trT5s3Xr4WWKxGXcgztwUvak2KWl5dzQajMrR+x29qBGfbf5he9NCOpqpStpUMShD+/6dCRMTd0JCJ5D3XzuGyLZiZT1rZsdvKhJytma1jiRJbYXjYJOfB6vdq4IbLnyA41MjKuYP8WOQcrSMUQUNIxJ6tKVvOEpKpYxhXZTWQG1Vs4Fpso+T5OylDGaLaXNs6KelJDrB8cd+dzJlZeJ0Y5ys01NDVxWVrsOpKlXeyFFVBleoIUHUhO6DS5lHYVb6FDzFot9LUyr0jYroS9Z1SVBNfSP1yJe2UjSFbAWJTHqelUtadG3qpbP1yp2BfszvIi1X9PEQqHWH+Lly6Up7BBZJ8tphbXkhMmFAFwjfuwTF7Y5ZHbpAorwmu/1nLhYqqyYeFZRHaiZuHMler7hWP5l/mSxXQpu55PNC5ndjmXWF49gcazLVpr6RyXD5liM6RVYliabpFzmBVlx85VyLS5jpRaW66B8MI0GJk5x9jlMr41pJnWZzftDIp9rmCcd51JWrIYWkYjv+DILoLPHRU6AygSTXz3LjZm2oheeIZlCnyP3+i/kmMo8U109j+XIl714NW5pgwFinWpIcnFeG+bTCAUJswRRK1kyJJv1FFScLUn5FWVVzNYVMVxgZtmUvkJNIML0XclohOU15dqg6uBBdXPts78rv/4keXJ8GGYf5VJck1PjlYf0UWTCbVyRYOAzPTsL1fMVYTxX76C0VxRF2sionybMDhVyUvDMnZJS9ApD6cydPyQRRbBlT86Jv8u5TxUJK2GbYBCsLW0tEEeZBh4oRsY0U14y5u0bKCyvZsGQHqHx/lXNZkkElq+mDDrl7Sy/gIgPqre9J7Ebkzdb2UfYUBYOE8oD55i83W01lvYyOtDncVI81khC+Si2fr2md69Go259kqlvPJmiHNSjP5DqzCMI5nLRH77sZ8fgINWGZoOUa4U6wXFmYW/o8L6eGdmQemUdaxBQsRylSh3mEEfEkYwFlJkv9RMznmPOnG7C4210PMKDfQssDGjQSo3JrESQRKTBUtkqFuTIVJqdqbW5TRQ4Dpe7zJzLfQpOr3jbZS3+TG25cfVXhzG9MPoaC1FZuHz9bUATRcNXp985cTBQbBunVpqpET0UdKZ0qV6ognj0ZtZV+qVpmyfKlUS1zA6UtkLyRrriV9vUrfLfXvTTfNeLLTi+4mJZeYPUDkChC9qYNrDAiyKcwiyMc/PZUfHUV+N3VdOEwn+/Y/ME8NmGycAmQRRB6DiCM2QpeI5+Gluc9arD1/DWL6ZW3iE2MZrbvJg4epLmalk2Mpcs6MnmWLnLmiKdoSqNqrjlzWTBUKoudSJ5Naoh6JmU9xEqfP6cVadB78McTnQuKqYgZih2X5d1bjwR+DQmFkCC4X1j8nQfPJRTxa8SFp4aABHCPwAn8Aype+aABkEffFu9w2L77jd9iyeSleoyl31Ne2Y/fK+n3eIiHsYoRUwOwmZ2xboOQigfXbkMK95Yfv1qCEZOB+tWU+4VrLwCj30IXIwJu/JqJ6rkc+B3fy4lxbo+Xcv6QF2eqnr+pfokmVZi9nqCJl7e9sPw5V7344O2/2/svz3mAovS2iOpRmNoe3mCGhRxNeiNxMUcBTXjJoEnxJkTiyOxPSqBcBSn5DCNeN86WMFTcj2rD/IrtJWwPWZhpx5IhGvLFWr8XlmGNMCys1Qr5JliEhEsELiWAkWfFMMAn0PU5UKwRXFoUEQofP5wl1kXg3gJB6FMLH0LgOQiXCun8iwmyW6ZE7/yImm9y4A1Vr0AwaEtsV9xvEia5ZWx9cVer5Ipx4ak4hfpVoGhiJXa5PtnupBSAfXGYUlarXAzyL8xWRmnMovYNdOdZU1SeoXzkZ2ckVRnz2XHNKpGzWYx8Z1eqcvfX5dksXqzayaDKoXiCaqAHii2bXoS36OfYCyocINz9KFuzOFslLgpvUXIeKw6iT+Ril0zj1z3j0rdagW56WDd1XNzS9B+0WqFGfLjKYwHM72jpm0KvIp4rA2u+X4auzGqWp1Kiz+z09jdMmaKpGIq0mlq35NpVihTvi0U4MDFr+ZZZeHB3GLD2FLqcZpwyEWsBs5w0n66HZ5B/KzN5cdN4oyqwqWe8KS+6gqRLU79FuOnyzw6Lys3lGSjdZy7oSylHWArTIYpsWlTrQyjTOASLpEkYwCtxQTIPlach0EA8HGxh6s6YaEXj/BzuFkv21q3hBw7aI7L9/CTWvL6Wx7z3neNnLYXU6GkV5PNDlIPesqbt3kM+bZjyM8ilS1/fYqCqDiqHGv9nstS5oTAotnwyC/CypZGv5puvrw3BR+Khf9XAMMgiuM9qIsdgy4swM7NWMP457dEwCMXuysgcldZbZnPyax+kp52ZnspAUVlmU68sayl0VCuItwJu8oOFG/GQVHUbhl2lNsW9x1ae8qcACnMzs5jzXQ7vLlVaIp1uxP5DfNX2Qgyw7Tvsv4Y4eHjMPLfr8WRwxW//MWveHv1X+dGYchX5qZjE0m0joaoj0xCoGRK2r4pFwLDwFNRNczHSQ7BDQoNl0mDHiKLcq0PT+HB56s6mPP3Yn7eYja+Vs+120VVP07PMXm1P/7B6fk2FO6aB4kf1s1n7DJfrZvE5JZU8s4r8mZBMojunVpW0+IcJZDe3XHHK61pAeiXoqF4tK4CPVok+FY2Lb13Fp/bVk6RVO7ffOO007yidCUcpfRwAVjjgp3Wpu+MS6DD381l+kTDiL8hwVT49VPClTtfKediW4pr8L/9thEn3asj3n+ejwVXaaUvjz64rP5cAJYp/3AKR5RwbLiG9XQOMarlR8I9lnIJ4s51HWOzAd1yeq28vkH0HgQ8FQwKBbyMYDZOIocsDPcgiyMl75wyA6vX4Uod6IMkjlZqp8Wcq4V0Ljv+90eCB1PjBrEL3FZez/2DAKjJZQOxKjzA5XXwa6FRU17aR2wKAFdW1mnQ8Zn3/UGFcK0xr7SVWGZqLYImai8cVwuxHI12G8Jr5XAyN0ntNvaU1z5607Fz2ppPBIE0kyQCnd9V+3xU5JieSJ8RoJTFmdyn23IpGEQiXSd8kPeSuCUg/i4M9irUnmFTWL2PEpthUd6+BpkpFP4FjvkuyKdtV8P3ByrIR26WabhAPiIO3rqDKD8biW1fUXSKHfy4nkchWaaxdC/ggcwnjUti9M2H134v9YJI2nnNNSjITiVPPERtv+UzJiXSr301G8aAqxSSSp6okJYHITik8b/xOYN8h/LuNX5AvjP9s0LnoVqmH2FZhRK35y9f4qDtpv5d/fistfd7HnA1jhoNl1Sh4Gl6BzjdBg61rllpz5XSAXmDleUsqSTJ8Vl+5bBuuPc+hI83zVWfEZ5icB7izcH2r/N6s5Dhe95m+xGer0su+5VFanpeSbtX1+jaJixP65N7MwT+XNjaXro0DEsyoaQdL/gAq/5bURnwdSj+ODhqKhVrsVZYR2a8DQjG0gPB+ZnXtL+T0L0Q7BP34EPSTRgQxB4TilIVc/qCmb2QuYllV5gwzTBAHdTPXd2Bpp9zOAgx8irZlzrNKS1ssUn7hL9f5p3/cfK+Vfoq0qHj7O9ODVuo1JmSjOEXOQPw52rLs2C/WFzahtp8mzL1cg1LW8lAUL2mZP32TG0K0NdRZppfg5F4k5YeH0m8uvRwsM1GloMYllPBWkk5u9eOlcvGX10eMPXjpVjcQ4MA/1XS9EkpTOOISGYSxuoihoYdVgKlcImiFvi22NOLLT4LcKMxSPeXPFSjeLZdyOCo37GWpVWJv2pDzwe/uMn8YZVcGUqjIw412qukn0UF6t2/dTTZIBZ9e/6r82fx0ZPyvm+8rSg31z9P0tVd9I0k2ErfyD9j/P/vSelOqfNVw98HjIuT++Ye/7ZxDIYW8fTCMWYCXFoWDzcYcoVVAXBrgxyg63WzMiTWP/uwSkEYvVirz+6Z24KCW/h8FWNbTMviuxb8RpDrn435jWrOWizCIpVeUavUlGem1W1Wrr3C/cD0EGFmOmJGclXoxWGQ2oAzZOe8t5i4qB/NUa6uSpGRXKuhJ05V7eEEqi2R0NWYlHK28KM3vAbBNBk9DMexyywzk02hMAe2FI1B3LIoah3p9ERDKAKNxCIRamHaUrUXkQrYeoPFAAv/SrLaDMPKdCrLZ5wNHfO+AnAK3qUbGueSdy8F18ukLkT/C3NuOF4RORfD4v5cNEm5s6ngd/OFW4SkM/atwel+eJH7+hyFb4i7/eTBNkQFISl/gS/CK73CKy7fsp+b5lCBMIGfZtsqlycotYK0CVks1yjJSAXaChOoyFYDmULtURYRii0N3cp9RHe34jCpzJpIv/zioHeNuWClJ4VCML3rDJNreuey2+9fDZAsgKvTG048fzti2pnBhQy991Vd8QihJ2v744ezwcKuqx7c1efTn44czcFxCccCz3vlhmqIHRTJYFgpj1fnJWH8wmZ4Prvv5RNHz68vLNJdh1P0/171R96yVnn6mMKEQSbTloFGMIrlCkXuCh08ociCUHkdJYEXJDRPYrnuXVbJXX7zkB5XIgXngOchPgtgYJV9c1nbGRNULUgP17yk5tbTlQ3U5PzuOifKPeqpnvvBxJst3YtUEl+Q17hBmofR9Vox+CzHKMAZq+01DVKsFa4Sx66D4+02dwJ+58ywaIG43SR+k5p/WZ4Am/jTt2dx0mj8eTfkNnKmPmNfNaLASTf7Y8qZALL68b1H46afu4BzevVNUcSxqkSDENjrl1Tmqnmaxs9XKe2SdMt7jjk/j07Tu4JwN8BX7+/8FAAD//5GUOwmlgAAA + H4sIAAAAAAAC/+x9/3fbtpLvz6u/YsqwsZSYlO323u3zrbJVZSXRsy3pSXK6+xJXhyYhiTVFqgAo21H4/vZ3APALSIKSbKe33Xv23nOSRgAGg8HgM4PBAHzxTfPG9Zs3FlnUap3OdNwdfeh1utNefzq5HLaawYo2rc8hRk078Knl+giTpm0bKxzcP5gE4bVrI9P1edtB57w72bdpYN8iylv2e9POoP+292561hu1tCaidtP23aaPqOlovPznXj8uZFRZ4Y3ra7UXk8HZAFah5wFduASCkEIwAztYrgIfUZ+Yv5HABxoE/8HJnA1+6V8M2mfjAjEnuPO9wHKIVuuMep3JRVpTrohdm3qKuhlzIcFNL7AtT7DXGfQn7V6/OzpT95yIxZGJjq76HWV1HPq2XPH8h7Gy3m14g7CPKCLF2sNR70N70p0O253z9rvueNppd953dzRtrrC7tigyVpZ9a81RTGvUfdcbT0b/NR11h4OWFhDCxmxhFxGJjFa7+vmqP7majroX3fa429LrHrmZYuQhiyAwMBikURuMW3rdnYFHgE/+KyOpcPwGmg5aN302xSdvXh7/A+gC+UACTFnrQvUvMLfubuFgaVF7UdePDqH5a713Nr3onXdbdTvAKCCNL72zVt181WjozUOwGrCBFXZ9CjQIVyuE69bHk2uwPn533fgHoHuXQnTwD5i5jdq427kadaeTi/H058FgMp6M2sPp+dXP3YvuZNr9z25nOry4eseUoaw8YiFQj9wEASUUWyttf3ofuqNxb9Bvaesj89g8MixvtbDME6026V50h4PR5GxLzxR5aBVg6uQ1t3vW7U967YvpcDT40DvrjtQqjxzkU9fyVjhYuw7Cu4hka2Ft4abn3nBl8JBMy0iIKQZQuZYu2/3e2+54Mn3bu+gO25P3OcEuLd+dIUL5emcL73I46Hf7k7G6egwQPiVxgw/vz6YXg3cV1dcLx3B9Qi3PM1lTD1HEOZqe/TxtX00G06vhGVtYby/a72QSiQyWlm84N00rpIERrhyLNe9cjS6mg6vJ8GrSatLlqmmH2JuuEb4JCDKDkCZLZzCe9tuX3ZYm/s06HjFQyQriH7RaZ3g1bY8671uaVnOQ7VkYgWHBL+3x5fh973LYOxu36g25aDzs9ZnKJUU1gmhneNXG9qLegE0NACClqtfnaWmjFtVqGC2DNbq0/LObdkiDKz60t541f+t6KG2Pl2DMQN8lL0bQxsiiOwnSILQXexL0kOWHq04KtWceI0VyzOEZ6FVYzYjEc58R+cWli06qQ/+bBH5KLyAtfZOfuYgXuDP4+BGMz6DpeUzU4PpawBqvlxIZjCPpB6YZxA38lmaHGCOfarwQeQQpa6VMxL1Eov7M5X/xPzL7MxTQ3tLrv/0OmjlMkB40XbGUNPgCvN7Ha/gCBHnIpnXTt5YIWi34pGV0P2kNrQFfvggc1buj0VSScwxr017/Q/uid8Z5ik1TUsZ1MpaeSy4tzMgOcJstywvXD+9B44LS4OVLJl5N3/TG0/P2pB1pjBmN4hBVCThZR6x6fq5iKYmlGkvjg5AsYX2UJBcxUW0CkvydzEMsdf7Hi0x/DgisE3IWxtYDuATQ/QrZFDlAA1hYawSB7z1A4CNAHloin5qCTG8GLoWFRWAZYAR0YflyrUO4Q3Dneh7EastGDp5FaFIDXJ//xns2JeXUNy+K8v/403UExpzCcVmIyF4EoP3SHvV7/XenkjpB7CoUB1nJswk9wavrz3ewm1PjHWyj3+GIaZ++KZUfXUdcP34cn/eGb7SqwfX6bwf7jIxNn0sXCANarugDBJizPHOxPA4CojsTxrfuasUGK5GOp8uibuDHw+QAhWiIfTiSx917O27pB5/8A+4IIaegoq26Xhce0gf48ccfNcX4X11HWkMsrdAniDKS/F98PFPifkYtffNCSZ4Jl9dlsq/XsxbGcaMBhkfhCK6v2Ypk0zh1fQfdt/hESP8uNeQUV7meWvpGzYC+yShFMTOZJC+t3wJ86foBHjI/8EMKiXUxqXq+FwZndkjBcAwwZscNrUDufUDfuvePokLAmJ3EhJiOCtjfxaEG10xIH/eqypSXecXKRjmWc3WVWu76a8tzHVkZY/0+heIws6b7Qnqss14wJ1MaTNGa2UzQ2udjszPumkXjOgp96i5R8vuYWr5jeYGPMvjUGMuVpSDjs1p8Ua5OTloxYieCgQr2wIDysKEF+iYvr0irVXoQl7HTmvMfuMsrzURiSSRdmoGml9zh8txupZRXccltYB6AgcHMCk3kzJGyy0amDZwzhdPBde/4B/Po+zKDu3g4kJlYub6PHFM7/uHoe+1gFzuxzuW8o2pzFfcMfkBhFoQ+w2JIthSH4KCZFXqU2yZmmrFjBw7jRVZvaSArpmnycGLAKI91F/RMMVq7j6SyDXfyrCmho1hlK86k/D0BYySIUQxpO8z0+uNJ++JiOulddgdXkz8fZvJSy8NLKqRnQ0tlf5oKY2JyKbLs0S/bCY763Ul3nOu3/HOkSf6Xpm/63e7ZWJqhSINvqr3vmIHL4OYBiu6cgDflroO7FL/9DgfpBkW5AZH2H1rjAH4EFTWQAktKfY27KGxnmDoSShg+qKhKbtsee8bav/2bcO5kGWzt3QkQ4SjF2djBxU6bIylNH9G7AN8OvXDuZrZImt7JL4PReRykYagOGg+NVE8u36J1+r3c/MYc9XvwAqMZwsi3Eax4p8SEy4BQ7wFmAYbb8Ab5iMJNSMELgtWNZd/GFZkbHRLkwM2DjOFMh2VrByf57X0x+gsvgY0/CWd10ujUMA5OZeGPbbGyq9EF22vvqnPayq0Yw4c9GkUK6doYpSA5nQV4GmCLtFLjsIskMxVzjFZgBEM4WH9yXtc/mZ+c141XB3wlOXBAmr+um032zwWyHMbqcSOZRNlDYYwkgbxpiL2WfpIfoV6qUh7OTtmWieR4Wd46LgZjBfquiKaon8VZh6MBWy8ZZmUR7XF39KE7YtP6iOrKGX5Ee9VkZ5IWqpnJIVFbJpBMDR7ZY1PflCL5kQh5GpaNDUXE9nStb5QqGBme64f3hr5JooWRtnWWJ+/+Lz8m2mMdvHjxqhlp8AKuCIIbiyzgJnSZPwYv5F0yfrCXznSO6JRa+MbyvOkMB8spRnOXUPwwvXPpgvMKxydH8Lddq+WsN2rqWzjnkZ695ybS8mGwwag9ng6vLi6mbAretnsXxQ1/7MDywNcoHsMV9vYDjkpFSt3SrwQZBYzYOdtbtausQ0Ze3SKTWticf9b+7HnfA7ofN905VPuD18s+E79LCmCaJuzWnVrVHH2tudjJQiH6vK22vJsQMsq8AkjcAkiWN3KAhLaNCJmFnveQc8GrnYld25NSS7PaQ9Ggukyck1gYjPvPs73EvNki50gDo7OHjc2Z5ApNjU/4YvNgL4I7H4wR4CCgp+yP/dot1zuXIau83Zppu/pqVjWMeV8GDvz73/72PDKJi7p7NLLDOkZ2iNHkYvxzcqB8Lg5au/fILvjxAv6F+8xdNW1B6YqcNpu3P5D47JyYN15wY9oBRuad6zvBHTF9RJvWLTGoR4z03NqwPRf5tKlvHnt+HTU5vjetpfP375sqorIHpddd0h5d/v37BtvUKY4f/jrjwcut4yk7q0/KJKhJg059jJVFF8wmPIliVMF0thn/RmzHVb2WAz0pzruz6cxyvRAj+I6h/N+PwGbuvzEbX4ARVBJMfw+xVzCgKdt7D1RG80qkeZLYNIkmQwBjFIPAM6jNXLa47yyy5MfTXba/r44Js3rTmeshPv365jiS6pGFu8zcvM2JXJa47SSczdz7lr75rtiSW6dkXlp1Td/8dPp9pDVA3vzxTJ8HRYhzI3fOnCCgGEww4pgk29qzGuD6SeVcfx9/uma+qxPk48qxFm6qJBBJqVQGI2oI2sx9zLPKfsnLIFLHpWMn/BiKIWUn8JHkITBXhvECjBcSx2XYMB/D7au9+KzJp4GgPlWwyHLMhFpvyJqTLjP2TyrUIlaZ5GAwv+nenEQgWw4RjUqYI7FafMfVIj3fZqNOIulifovtytNbrXdk5foaaMRz5wuqNXIK8RE0PRegPjJ/MI8UG2j2vxLx1626dndHJJrx1BZi73zSeGCjjtaWF4fkzmIqzLXMzlVzvn9GOPXPyjMEemlWcoHwpHfQ1tlYK9cM5HXzzmK4uZHzftJD23+JaRKZGQqxDhFeukQczSskvJcwM1nKAULVInsSPitVLA/TBQj/p4E0pKY/b4nyhz650TE5yvQ00Iz1sbYN3hXRdgkRGXUOiwQsDyPLeZCD7lVsHIqUFz+gcIPSdef681ImRc4l+6fFA78B4zM8LjxXFQ9MAxvc831kyC+Xp+sgl3jWDWkqxX9aUJRtET7BGZ+ReNbnn6d0uWpVTpi6z3IfccSn9ryIz6bMWqSBvpFlGVWFbKTTOIaoKSd8e/35nrkmZfJix1w1+pQG38fuI6PUUcjPiVhqjyJQ9DTWx9ISWQpXSzGebcvo8X7dXnuFtdgs7D26aq9PLaYQe5U0WIuTNy+PGToiBLqUrgtvspz0JDbaBe3XOmP81HzV+FL/iLrXGJuvGjrPTKzbFs2TePlSUrXz0dV4wvYIxVBUA16mEpON+etWXf+mkbNT+1jEP2BDUWWNvvsaW4Yn6pYcl/k6upOTdJITsHL98/AGPd/V3tfTfrL7JgmB+Wu34Q36So5tIoRd3qzcbc4JU/qtclL6s/xWWRNKDJZUgDFprE/U/p96ulVD3MPvy8/CV/X9shyKbbxVjr0ie6ei+g4PrdTt/3hpT/DSEikq5+yrOGn50Epp1qLtK6XklMUA+jSfTCs4ZdpjvbL9XRgo3Yh4olfyiOWlVaFidZO/jBciw3LsgWTmcICtzL/gs6S4T8bmX75Bltbt/udk1O5MuqIyA05QEMoZTF6U3IzjOFkIspeYqElxO+m+AeM8tSy6TNY0TYnHyeWwpW9KHPHT1urD1q2HnyUWm3EH4sxN0Ztqk5KWd0ejwagcvd/Rixrx2eYftjctpKOZqqRNFYMytO/fmTAxcSckdAJ5/7VjiGwrVtazZnb8piIhZ2tW60iS1FY4Djb5ebDavSq44cIHOD41omL+ED8GKUfLGFXQMCKhR1v6hqOkVMoY1kVpDdRWNRuYJvs4Sc5eymC2mDbHhn5aSqITHH/odydTViZON8bJOj01dFVR6TqcqlLljRxVZXCFGhJETejeu5R5FGalT8FTLPq9NKVC36iIPmddlwTV1DdSj3xpK0VTyFaQyKTnWbmkRdemXjpbL9wZ6Mf8LtJyRR8OgVq3iJ8rl660R2CRJK8d1pYXIhMGdIHwnUtQ3O6Y1aELJMprstt/5mKhsmriUUF5pGbixpHs9Ypr9ZP558lyJbSZSz4vZH43lllXOI7NsSZTbeobmQyXbzmiU2RVkmiafpETaMXFV861uISZXlSqi/7BMBKUOMnZ5zi1Mq6V1Gk25weNfKptnnCcR125GlJIKrbjzyCIzhIfPQUqE0hy/Sw3btaGWniOaAZ1itzvb81XkXmkuH4ay5crefdy2NIEA8Y61ZLk4LwyzKcVDhBiC6ZQsmZKNOkvqjhZkPIryqqaqylkusLIsC17gZxEgum9kNMKyWnKs0PVwYXo4spne1d+/0/04Po0yDjMp7okocbP9+vHyILZvCLBwmF4dhKu5yvGeqrYR2+pKI6wk1U5SZ4dKOSi5J05IaPsFYDUnzt5TCaIYsuYmhd9k3efKhZSwjbDJlhZ2FoiijAPOlSMiG2kuGbM3TVSXljJhiU7QOX7q5zLkgwqWU0fdMjdW3oGFxlQb31PYjcib7a2j7KnKBgklAfMN3+52Woq62V0pM3hpnqskYTwVWr5dE3rXI1G3f4kU916NkE7rEF5JteZRRDO4aQ9etfNiMdHqAnLBC3XCHeC5crC3NLneTk1tCPzyDzSIqZgOUqROswjjIgnGQsoM1nqJ2I+x5w/3YDF3e56gAH9Hloe0KCRGJUbiyCJSIGhslUqzJWpMDlVa3ObKnIYKHWfP5H5Gppc9bbJXvqb3HDj6qsKZ35l8jEUpLZy+/jZgiKIhqtOv3fmYqLYMEivNlUleirqSOlUuVIF8ezJqK30S9UyS5YvjWqZGyhtgeSNdMWttC9f4Ju97qX5rhFfdnrGxbT0AqsfgEQRsjdtYIURQT6FWRzh4Len4qurwO+upguH+XzH5vfmsQmThUuALILQcwBhzFbwGvk0tDzvQYOt569ZTK+8RWxiNLN9N3HwIM3VtGxiLF3WkcmzdJEzRzxFUxpVc82Zy4KhUlnsRPJsUkPUMynrIVb6/DmtSIPegz+e6FxQTEXMUOy4LO/OeiDwW0gohATB3cLi7zx4LqGIXyMuPDUEJIA7BE7gH1DxygcNgDz4tniHw/bdr/wWSyYv1WMs/Z7yyn78Xkm/x0M8jFWMmBqAzeyMdROEVDy4dhNSuLP8+NUSjJgM1K+m3C1cewEY/R66GBFw49dMVM/lwB/4Xk6Mc3u8lPOnvDhT9fxN9Us0qcLs9QRNvLztheXPuerFB2//3d5/ecoDFKW3RVSPwtT28AYzLORo0huJizkKaMJLBk2KNyESR2Z/UgLlKkjJZxjxunG2hKHiflQb5hdsL2F7yMJMO5YM0ZAv1vqdsAxrhGFhrVbIN8EiJFwicCkBjDwrhgE+ga7PgWKN4MKiiFD48P4ssS4C9xYIQp9a+BACz0G4VEjnn02Q3TIleudH1HyVA2+oegWCQVtiu+J+kzDJDWPrs7taJVeMC0/FKdSvAkUTK7HL9cl2J6UA7LPDlLJa5WKQ3zJbGaUxi9pX0J0nTVF5hvKRn52RVGXMZ8c1q0TOZjHynV2pyt1fl2ezeLFqJ4Mqh+IRqoHuKbZseh7eoJ9jL6hwgHD7g2zN4myVuCi8Qcl5rDiIPpGLXTKNX/eMS7/TCnTTw7qp4+KWpn+v1Qo14sNVHgtgfkdL3xR6FfFcGVjz/TJ0ZVazPJUSfWant79hyhRNxVCk1dS6JdeuUqR4XyzCgYlZy7fMwoO7w4C1x9DlNOOUiVgLmOWk+XQ9PIP8W5nJi5vGK1WBTT3jVXnRFSRdmvotwk2Xf3ZYVG4uz0DpPnNBX0o5wlKYDlFk06JaH0KZxiFYJE3CAF6JC5J5qDwNgQbi4WALU3fGRCsa5+dwt1iyt24NP3DQHpHtpyex5vW1POa97xw/aSmkRk+rIJ8fohz0ljVt9x7yccOUn0EuXfr6GgNVdVA51Pg/k6XODYVBseWTWYCXLY18MV99eWkIPhIP/YsGhkEWwV1WEzkGW16EmZm1gvFPaY+GQSh2V0bmqLS+YzYnv/ZBetqZ6akMFJVlNvXKspZCR7WCeCvgJj9YuBYPSVW3YdhValPce2zlKX8KoDA3M4s53+Xw7lKlJdLpRuw/xFdtz8UA277D/muIg/uHzHO7Gk8Gl/z2H7Pm7dF/lR+NKVeRn4pJLN02Eqo6Mg2BmiFh+6pYBAwLT0HdNBcjPQQ7JDRYJg12jCjKvTo0jQ+Xp+5sytOP/XmL2fhaOdtuF131ND3J7NX29A+r59dUuGMaKH5UP5u1z3C5bhafU1LJM6vInwnJJLpzalVJi3+aQHZzyxWnvK4FpFeCjurVsgL4aJXoU9G4+NZVfGpfPUlatXP7ldNO847SmXCU0scBYIUDflqXujsugQ5zP5/kF7H/yfOVssdxqVxXxK9SdXhIHcDRRaluuaPchw4m3csh30y+HQ0u045bGn9DXfntgzLFP0/bq4QWWySxx9k12KiWGxH/CsYpiMfYeejEDnzH5Un49gLZtxD4ULAQEPg2gtEwCQW6PIKDLIKcvNvNkKVej29rqAeVvD6pmRp/fxLetOD43xsNHiGNX8IqdF9x6/pPRqIikwUornT1kmPDx6FJRXVtG7ktyFZRXatJ517W6/sKq1lhM2vPMbfQXARL1Fw8rBBmPxrpkoSXzJmaIx/hKlgonMxXahF/FLK0oyxVVIaui2vCJWBV7RldmiIjW2FsPCVkLOb8l7go77tD7LEtH7pvHSTnYh9/bV6/lpFs/fHI+F/Xrz+Zyd/m6+xAzHx9UDBHhq9SZaW9KF7KWlfolsJmKbpo/T/Q0/FUG6jkXQO+wV1hNHPvFcJ68UqSQFS2KKX7ZBsF3W+/bb5StBWz3xXIgOTHrvNUge3Ii8h5ClUTW40RKuV4/kt9hdDDafnqWsVlELGXYbqc3hfsLa159lRs56I3nQwGaYJWxlnvsv2uK3K3TqQdBqOVnN24SxHLUjSKQGxF9E3SQ+76jfSzODCnWHuEq8r6ZYzYFJvq7jXQVFc8TuCYRx9synbrfN+9smwEtz8Q0w3iAfGlryuo8gPn+DYjdZfI4Z+hSiSyVRpr1wI+yNxFDOk4qzNh9d+JOEtyHSPn8pdkJhISnyI23vKJkhNpjH+YjOJBVYpJJCVWSUrC251SeNr4ncC+RfgPG78gXxj/2aBz3q1SD7HEMaLW/PlrfNSdtN/JP38nLX3ex5wNg6NlxSh4emuBzldBg61rllpz5XSAXmDlaUsqSd59Ul+5LDauPU+hI83zZWfEZ5i8DXBn4fpW+R1nycJc9Zm+xDkL0ovZ5VFanpeSbtX1+jaJi8yX5D7awa9LG5tL18YBCWbUtIMlf1iYf6NtI766ph9HBw3FQi32KsuI7NcBoRhaQHg/s7r2LTn9lmiHoB8fgn7SiCDmgFCcspDLy9X0jcxFLKvKXHyGCeIAfOb6DiztlNtZgIFP0bYbKazS0haLlF+kzXX+8afr11rpp0iLiq8qZHrQSjdtCdkoTj01EH/muSw79ov1mU2o7aeJqM/XoJS1PBTFS1rmT9/khhBtPUIo00twci+S8oNe6bfMng+WmahSUOMSSngrSSe3+vFSufjL6yPGHrx0qxsIcOCfQLtaCaUpHB2LzNxYXcTQ0P0qwFQuEbRC3xYRBfFFNUFuFGYp1PJnQBTfA5ByoyoDYWWpVWJv2pDzwe/Es+0oyq7ipFCRhxvtVNNPooP0zuy6m2wYC9se/Yvy53gXVlFqqH+epq8o6xtJspF47eKA/f+TL603pcpXDXcfPC5C7l9/+NvODxVSyNsHw5gFeGlRONhszBFaBcSlAX6IotPNxpxY8+ivLgFp9GKlMr9vagcOaun/UYBlPS2Db1r821uq83PuN6Y1a7kAn1h6RalWXz6TXpFWtfoCdwvXQ4CR5YgZyVmpZ4NFZgPKkJ3z3mLuonIEQLW2KklKdqWCnjRduQdNpLJIRldjVsLRygcI+P0atsng6V2GXW6ZgXwaDC2gvXAE6o5FUeNQry8CQhlgNA6BUAvTjrK1CBzK1gM0HsfjX3DWdhBGvlNBNvss54jvHZBT4DbVyPiORudicJV8UkbkZTH3tuMFoVNxKPPfywYJNzZ1vA7+dKvwGIb+WTi9L08SP/9iyJa4y38dTFNk1pLSly0TvOI7nOLyLfupeT4lCBPIWbatcmmycgtYq4DVUo2yjFSAnSChukwFoDnULlURJyHFoTu5zxOPdnyemDkTyRe1HNSOcTeslKRwKMbnvWESw+5cdNv9q2GyBRAVeuPph/dnbFtTuAill76WLT7NlVyG+PD+7PBwq6rHt6B59OfD+zNwXEJxwG+T8ENqRQ+KJMssFMaq8xB6fzCZvh1c9fMJ2G+vLi7SHKFR9/9c9Ubds1aaVZDChEIk0ZYDfDGK5CQm97QVn1DkQCg9OpTAipIbJrBd95mrZK++0MwTAJAD88BzkJ8EsTFKvmSu7YyJqhekBurfU3JqacvJKvK9hzgmyj+Wq575wkfPLN+JVRNckte4Q5iF0nePMfo9xCjDGKjtNw1RrRasEcaug+LvonUCf+bOs2iAuDUofegdUbtpM0ATf5r2bG46zR+Opvxm29RHzOtmNFiJJn/EfFMgFj+KYVH48cfu4C28eaOo4ljUIkGIbXTKq3NUPc1iZ6uV98A6ZbzHHZ/Gh9ndwVs2wBfs7/8fAAD//32TM1T9gwAA - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line39.sh b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line39.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line39.sh +++ b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line39.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line9.sh b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line9.sh +++ b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/CustomData b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/CustomData index cfec4f27446..73204872783 100644 --- a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/CustomData +++ b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -36,7 +36,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line39.sh b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line39.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line39.sh +++ b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line39.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line9.sh b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line9.sh +++ b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/CustomData b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/CustomData index cfec4f27446..73204872783 100644 --- a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/CustomData +++ b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -36,7 +36,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line39.sh b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line39.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line39.sh +++ b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line39.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line9.sh b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line9.sh +++ b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/CustomData b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/CustomData index cfec4f27446..73204872783 100644 --- a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/CustomData +++ b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -36,7 +36,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line39.sh b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line39.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line39.sh +++ b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line39.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line9.sh b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line9.sh +++ b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/CustomizedImage/CustomData b/pkg/agent/testdata/CustomizedImage/CustomData index 17c507a3941..005f8da5c72 100644 --- a/pkg/agent/testdata/CustomizedImage/CustomData +++ b/pkg/agent/testdata/CustomizedImage/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -32,7 +32,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/CustomizedImage/line35.sh b/pkg/agent/testdata/CustomizedImage/line35.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/CustomizedImage/line35.sh +++ b/pkg/agent/testdata/CustomizedImage/line35.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/CustomizedImage/line9.sh b/pkg/agent/testdata/CustomizedImage/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/CustomizedImage/line9.sh +++ b/pkg/agent/testdata/CustomizedImage/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/CustomizedImageKata/CustomData b/pkg/agent/testdata/CustomizedImageKata/CustomData index 17c507a3941..005f8da5c72 100644 --- a/pkg/agent/testdata/CustomizedImageKata/CustomData +++ b/pkg/agent/testdata/CustomizedImageKata/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -32,7 +32,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/CustomizedImageKata/line35.sh b/pkg/agent/testdata/CustomizedImageKata/line35.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/CustomizedImageKata/line35.sh +++ b/pkg/agent/testdata/CustomizedImageKata/line35.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/CustomizedImageKata/line9.sh b/pkg/agent/testdata/CustomizedImageKata/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/CustomizedImageKata/line9.sh +++ b/pkg/agent/testdata/CustomizedImageKata/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/MarinerV2+CustomCloud/CustomData b/pkg/agent/testdata/MarinerV2+CustomCloud/CustomData index cb785628c9f..520776e830a 100644 --- a/pkg/agent/testdata/MarinerV2+CustomCloud/CustomData +++ b/pkg/agent/testdata/MarinerV2+CustomCloud/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -36,7 +36,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/MarinerV2+CustomCloud/line39.sh b/pkg/agent/testdata/MarinerV2+CustomCloud/line39.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/MarinerV2+CustomCloud/line39.sh +++ b/pkg/agent/testdata/MarinerV2+CustomCloud/line39.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/MarinerV2+CustomCloud/line9.sh b/pkg/agent/testdata/MarinerV2+CustomCloud/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/MarinerV2+CustomCloud/line9.sh +++ b/pkg/agent/testdata/MarinerV2+CustomCloud/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/MarinerV2+Kata/CustomData b/pkg/agent/testdata/MarinerV2+Kata/CustomData index 142af1d0f98..1d2d3cf0eeb 100644 --- a/pkg/agent/testdata/MarinerV2+Kata/CustomData +++ b/pkg/agent/testdata/MarinerV2+Kata/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -36,7 +36,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/+x9/3fbNrLvz1d/xZThxlJqUrbT3dvnrXJXleVEz7akJ8npvS/x6tAkJLGmSBUAZTsK//d3APALSIKSbKfb3nve7jlJIwCDwWDwmcFgAL76rnnr+s1biyxqtU5nOu6OPvY63WmvP51cDVvNYEWb1pcQo6Yd+NRyfYRJ07aNFQ4eHk2C8Nq1ken6vO2gc9Gd7Ns0sO8Q5S37vWln0D/vvZ+e9UYtrYmo3bR9t+kjajoaL/+5148LGVVWeOv6Wu3VZHA2gFXoeUAXLoEgpBDMwA6Wq8BH1CfmryTwgQbBf3AyZ4Nf+peD9tm4QMwJ7n0vsByi1TqjXmdymdaUK2LXpp6ibsZcSHDTC2zLE+x1Bv1Ju9fvjs7UPSdicWSio+t+R1kdh74tV7z4caysdxfeIuwjikix9nDU+9iedKfDduei/b47nnbanQ/dHU2bK+yuLYqMlWXfWXMU0xp13/fGk9F/TUfd4aClBYSwMVvYRUQio9Wuf77uT66no+5ltz3utvS6R26nGHnIIggMDAZp1Abjll53Z+AR4JP/xkgqHL+DpoPWTZ9N8cm718d/B7pAPpAAU9a6UP0rzK37OzhYWtRe1PWjQ2j+s947m172Lrqtuh1gFJDG195Zq26+aTT05iFYDdjACrs+BRqEqxXCdevTyQ1Yn97eNP4O6MGlEB38HWZuozbudq5H3enkcjz9eTCYjCej9nB6cf1z97I7mXb/s9uZDi+v3zNlKCuPWAjUI7dBQAnF1krbn97H7mjcG/Rb2vrIPDaPDMtbLSzzRKtNupfd4WA0OdvSM0UeWgWYOnnN7Z51+5Ne+3I6HA0+9s66I7XKIwf51LW8FQ7WroPwLiLZWlhbuOm5t1wZPCTTMhJiigFUrqWrdr933h1Ppue9y+6wPfmQE+zS8t0ZIpSvd7bwroaDfrc/GaurxwDhUxI3+PjhbHo5eF9Rfb1wDNcn1PI8kzX1EEWco+nZz9P29WQwvR6esYV1ftl+L5NIZLC0fMO5bVohDYxw5Viseed6dDkdXE+G15NWky5XTTvE3nSN8G1AkBmENFk6g/G0377qtjTxb9bxiIFKVhD/oNU6w+tpe9T50NK0moNsz8IIDAt+aY+vxh96V8Pe2bhVb8hF42Gvz1QuKaoRRDvD6za2F/UGbGoAAClVvT5PSxu1qFbDaBms0ZXln922Qxpc86Gde9b83PVQ2h4vwZiBvktejKCNkUV3EqRBaC/2JOghyw9XnRRqzzxGiuSYwzPQq7CaEYnnPiPyi0sXnVSH/jcJ/JReQFr6Jj9zES9wZ/DpExhfQNPzmKjBzY2ANV4vJTIYR9IPTDOIG/gtzQ4xRj7VeCHyCFLWSpmIe4lE/ZnL/+J/ZPZnKKC9pdd//Q00c5ggPWi6Yilp8BV4vU838BUI8pBN66ZvLRG0WvBZy+h+1hpaA75+FTiqd0ejqSTnGNamvf7H9mXvjPMUm6akjOtkLD2XXFmYkR3gNluWl64fPoDGBaXB69dMvJq+6Y2nF+1JO9IYMxrFIaoScLKOWPX8XMVSEks1lsZHIVnC+ihJLmKi2gQk+TuZh1jq/I9Xmf4cEFgn5CyMrUdwCaCHFbIpcoAGsLDWCALfe4TAR4A8tEQ+NQWZ3gxcCguLwDLACOjC8uVah3CP4N71PIjVlo0cPIvQpAa4Pv+N92xKyqlvXhXl/+kfNxEYcwrHZSEiexGA9kt71O/1359K6gSxq1AcZCXPJvQEr64/38FuTo13sI1+gyOmffqmVH50E3H9+Gl80Ru+06oG1+ufD/YZGZs+ly4QBrRc0UcIMGd55mJ5HAREdyaM79zVig1WIh1Pl0XdwI+HyQEK0RD7cCSPu3c+bukHn/0D7gghp6CirbpeFx7SR/jpp580xfjf3ERaQyyt0CeIMpL8X3w8U+J+QS1980pJngmX12Wyr9ezFsZxowGGR+EIbm7YimTTOHV9Bz20+ERI/y415BRXuZ5a+kbNgL7JKEUxM5kkr6xfA3zl+gEeMj/wYwqJdTGper4XBmd2SMFwDDBmxw2tQO5DQM/dhydRIWDMTmJCTEcF7O/iUIMbJqRPe1Vlysu8YmWjHMu5ukotd/215bmOrIyxfp9CcZhZ030hPdZZL5iTKQ2maM1sJmjti7HZGXfNonEdhT51lyj5fUwt37G8wEcZfGqM5cpSkPFZLb4oVycnrRixE8FABXtgQHnY0AJ9k5dXpNUqPYir2GnN+Q/c5ZVmIrEkki7NQNNL7nB5brdSyqu45DYwD8DAYGaFJnLmSNllI9MGzpnC6eC6d/yjefRDmcFdPBzITKxc30eOqR3/ePSDdrCLnVjnct5RtbmKewY/oDALQp9hMSRbikNw0MwKPcptEzPN2LEDh/Eiq7c0kBXTNHk4MWCUx7oLeqYYrd0nUtmGO3nWlNBRrLIVZ1L+noExEsQohrQdZnr98aR9eTmd9K66g+vJHw8zeanl4SUV0ouhpbI/TYUxMbkUWfbol+0ER/3upDvO9Vv+OdIk/0vTN/1u92wszVCkwXfV3nfMwFVw+whFd07Am3LXwV2KX3+Dg3SDotyASPsPrXEAP4GKGkiBJaW+xl0UtjNMHQklDB9UVCW3bY89Y+3f/k04d7IMtvbuBIhwlOJs7OBip82RlKaP6H2A74ZeOHczWyRN7+SXwegiDtIwVAeNh0aqJ5dv0Tr9Xm5+Y476PXiF0Qxh5NsIVrxTYsJVQKj3CLMAw114i3xE4Tak4AXB6tay7+KKzI0OCXLg9lHGcKbDsrWDk/z2vhj9hdfAxp+EszppdGoYB6ey8Me2WNn16JLttXfVOW3lVozhwx6NIoV0bYxSkJzOAjwNsEVaqXHYRZKZijlGKzCCIRysPzvf1z+bn53vG28O+Epy4IA0/7luNtk/F8hyGKvHjWQSZQ+FMZIE8qYh9lr6SX6EeqlKeTg7ZVsmkuNleee4GIwV6LsimqJ+FmcdjgZsvWSYlUW0x93Rx+6ITesTqitn+AntVZOdSVqoZiaHRG2ZQDI1eGKPTX1TiuRHIuRpWDY2FBHb07W+UapgZHiuHz4Y+iaJFkba1lmevP+//Jhoj3Xw6tWbZqTBK7gmCG4tsoDb0GX+GLySd8n40V460zmiU2rhW8vzpjMcLKcYzV1C8eP03qULziscnxzBX3etlrPeqKlv4ZxHevaem0jLh8EGo/Z4Ory+vJyyKThv9y6LG/7YgeWBr1E8hmvs7QcclYqUuqXfCDIKGLFztrdqV1mHjLy6RSa1sDn/ov3R874HdD9tunOo9juvl30mfpcUwDRN2K07tao5+lZzsZOFQvR5W215NyFklHkFkLgFkCxv5AAJbRsRMgs97zHnglc7E7u2J6WWZrWHokF1mTgnsTAYD19me4l5s0XOkQZGZw8bmzPJFZoan/DF5sFeBPc+GCPAQUBP2R/7tVuudy5DVnm7NdN29dWsahjzvgwc+Pe//vVlZBIXdfdoZId1jOwQo8nl+OfkQPlCHLR2H5Bd8OMF/Av3mbtq2oLSFTltNu9+JPHZOTFvveDWtAOMzHvXd4J7YvqINq07YlCPGOm5tWF7LvJpU9889fw6anJ8b1pL528/NFVEZQ9Kr7ukPbr62w8NtqlTHD/8ecaDl1vHU3ZWn5VJUJMGnfoYK4sumE14FsWogulsM/6d2I6rei0HelKcd2fTmeV6IUbwlqH8347AZu6/MRtfghFUEkx/D7FXMKAp23sPVEbzSqR5ltg0iSZDAGMUg8ALqM1ctrjvLbLkx9Ndtr+vjgmzetOZ6yE+/frmOJLqkYW7zNy8zYlclrjtJJzN3IeWvnlbbMmtUzIvrbqmb/5x+kOkNUDe/PFMn0dFiHMjd86cIKAYTDDimCTb2rMa4PpJ5Vx/n/5xw3xXJ8jHlWMt3FRJIJJSqQxG1BC0mfuYZ5X9kpdBpI5Lx074MRRDyk7gI8lDYK4M4wUYLySOy7BhPoXbN3vxWZNPA0F9qmCR5ZgJtd6QNSddZuyfVKhFrDLJwWB+0705iUC2HCIalTBHYrV4y9UiPd9mo04i6WJ+i+3K01utd2Tl+hpoxHPnC6o1cgrxCTQ9F6A+Mn80jxQbaPa/EvHvW3Xt/p5INOOpLcTe+aTxwEYdrS0vDsmdxVSYa5mdq+Z8/4xw6p+VZwj00qzkAuFJ76Cts7FWrhnI6+a9xXBzI+f9pIe2/yOmSWRmKMQ6RHjpEnE0r5DwXsLMZCkHCFWL7Fn4rFSxPEwXIPxfBtKQmv68Jcof+uRGx+Qo09NAM9bH2jZ4V0TbJURk1DksErA8jCznUQ66V7FxKFJe/IDCLUrXnevPS5kUOZfsXxYP/A6ML/C08FxVPDANbHDP94khv1yeroNc4lm3pKkU/2lBUbZF+ARnfEbiWZ9/mdLlqlU5Yeo+y33EEZ/ayyI+mzJrkQb6RpZlVBWykU7jGKKmnPDt9ZcH5pqUyYsdc9XoUxp8H7uPjFJHIT8nYqk9iUDR01gfS0tkKVwtxXi2LaOn+3V77RXWYrOw9+iqvT61mELsVdJgLU7evT5m6IgQ6FK6LrzLctKT2GgXtH/WGeOn5pvG1/on1L3B2HzT0HlmYt22aJ7E69eSql2MrscTtkcohqIa8DqVmGzMv2/V9e8aOTu1j0X8HTYUVdbo7bfYMjxTt+S4zLfRnZykk5yAletfhLfo5a72vp72s903SQjMX7sLb9E3cmwTIezyZuVuc06Y0m+Vk9Jf5LfKmlBisKQCjEljfaL2/9TTrRriHn5ffha+qe+X5VBs461y7BXZOxXVd3hopW7/v5f2DC8tkaJyzr6Jk5YPrZRmLdq+UkpOWQygz/PJtIJTpj3VK9vfhYHSjYhneiVPWF5aFSpWN/nTeCEyLMceSGYOB9jK/As+S4r7ZGz+5Rtkad3uf05G7c6kKyoz4AQFoZzB5EXJzTiOk4Uge4mJmhS3k+4bMM5Ty6LLZE3TlHicXA1b+qbEET9trT5s3Xr4WWKxGXcgztwUvak2KWl5dzQajMrR+x29qBGfbf5he9NCOpqpStpUMShD+/6dCRMTd0JCJ5D3XzuGyLZiZT1rZsdvKhJytma1jiRJbYXjYJOfB6vdq4IbLnyA41MjKuYP8WOQcrSMUQUNIxJ6tKVvOEpKpYxhXZTWQG1Vs4Fpso+T5OylDGaLaXNs6KelJDrB8cd+dzJlZeJ0Y5ys01NDVxWVrsOpKlXeyFFVBleoIUHUhO6DS5lHYVb6FDzFot9LUyr0jYroS9Z1SVBNfSP1yJe2UjSFbAWJTHqelUtadG3qpbP1yp2BfszvIi1X9PEQqHWH+Lly6Up7BBZJ8tphbXkhMmFAFwjfuwTF7Y5ZHbpAorwmu/1nLhYqqyYeFZRHaiZuHMler7hWP5l/mSxXQpu55PNC5ndjmXWF49gcazLVpr6RyXD5liM6RVYliabpFzmBVlx85VyLS5jpRaW66B8MI0GJk5x9jlMr41pJnWZzftDIp9rmCcd51JWrIYWkYjv+DILoLPHRU6AygSTXz3LjZm2oheeIZlCnyP3+i/kmMo8U109j+XIl714NW5pgwFinWpIcnFeG+bTCAUJswRRK1kyJJv1FFScLUn5FWVVzNYVMVxgZtmUvkJNIML0XclohOU15dqg6uBBdXPts78rv/4keXJ8GGYf5VJck1PjlYf0UWTCbVyRYOAzPTsL1fMVYTxX76C0VxRF2sionybMDhVyUvDMnZJS9ApD6cydPyQRRbBlT86Jv8u5TxUJK2GbYBCsLW0tEEeZBh4oRsY0U14y5u0bKCyvZsGQHqHx/lXNZkkElq+mDDrl7Sy/gIgPqre9J7Ebkzdb2UfYUBYOE8oD55i83W01lvYyOtDncVI81khC+Si2fr2md69Go259kqlvPJmiHNSjP5DqzCMI5nLRH77sZ8fgINWGZoOUa4U6wXFmYW/o8L6eGdmQemUdaxBQsRylSh3mEEfEkYwFlJkv9RMznmPOnG7C4210PMKDfQssDGjQSo3JrESQRKTBUtkqFuTIVJqdqbW5TRQ4Dpe7zJzLfQpOr3jbZS3+TG25cfVXhzG9MPoaC1FZuHz9bUATRcNXp985cTBQbBunVpqpET0UdKZ0qV6ognj0ZtZV+qVpmyfKlUS1zA6UtkLyRrriV9vUrfLfXvTTfNeLLTi+4mJZeYPUDkChC9qYNrDAiyKcwiyMc/PZUfHUV+N3VdOEwn+/Y/ME8NmGycAmQRRB6DiCM2QpeI5+Gluc9arD1/DWL6ZW3iE2MZrbvJg4epLmalk2Mpcs6MnmWLnLmiKdoSqNqrjlzWTBUKoudSJ5Naoh6JmU9xEqfP6cVadB78McTnQuKqYgZih2X5d1bjwR+DQmFkCC4X1j8nQfPJRTxa8SFp4aABHCPwAn8Aype+aABkEffFu9w2L77jd9iyeSleoyl31Ne2Y/fK+n3eIiHsYoRUwOwmZ2xboOQigfXbkMK95Yfv1qCEZOB+tWU+4VrLwCj30IXIwJu/JqJ6rkc+B3fy4lxbo+Xcv6QF2eqnr+pfokmVZi9nqCJl7e9sPw5V7344O2/2/svz3mAovS2iOpRmNoe3mCGhRxNeiNxMUcBTXjJoEnxJkTiyOxPSqBcBSn5DCNeN86WMFTcj2rD/IrtJWwPWZhpx5IhGvLFWr8XlmGNMCys1Qr5JliEhEsELiWAkWfFMMAn0PU5UKwRXFoUEQofP5wl1kXg3gJB6FMLH0LgOQiXCun8iwmyW6ZE7/yImm9y4A1Vr0AwaEtsV9xvEia5ZWx9cVer5Ipx4ak4hfpVoGhiJXa5PtnupBSAfXGYUlarXAzyL8xWRmnMovYNdOdZU1SeoXzkZ2ckVRnz2XHNKpGzWYx8Z1eqcvfX5dksXqzayaDKoXiCaqAHii2bXoS36OfYCyocINz9KFuzOFslLgpvUXIeKw6iT+Ril0zj1z3j0rdagW56WDd1XNzS9B+0WqFGfLjKYwHM72jpm0KvIp4rA2u+X4auzGqWp1Kiz+z09jdMmaKpGIq0mlq35NpVihTvi0U4MDFr+ZZZeHB3GLD2FLqcZpwyEWsBs5w0n66HZ5B/KzN5cdN4oyqwqWe8KS+6gqRLU79FuOnyzw6Lys3lGSjdZy7oSylHWArTIYpsWlTrQyjTOASLpEkYwCtxQTIPlach0EA8HGxh6s6YaEXj/BzuFkv21q3hBw7aI7L9/CTWvL6Wx7z3neNnLYXU6GkV5PNDlIPesqbt3kM+bZjyM8ilS1/fYqCqDiqHGv9nstS5oTAotnwyC/CypZGv5puvrw3BR+Khf9XAMMgiuM9qIsdgy4swM7NWMP457dEwCMXuysgcldZbZnPyax+kp52ZnspAUVlmU68sayl0VCuItwJu8oOFG/GQVHUbhl2lNsW9x1ae8qcACnMzs5jzXQ7vLlVaIp1uxP5DfNX2Qgyw7Tvsv4Y4eHjMPLfr8WRwxW//MWveHv1X+dGYchX5qZjE0m0joaoj0xCoGRK2r4pFwLDwFNRNczHSQ7BDQoNl0mDHiKLcq0PT+HB56s6mPP3Yn7eYja+Vs+120VVP07PMXm1P/7B6fk2FO6aB4kf1s1n7DJfrZvE5JZU8s4r8mZBMojunVpW0+IcJZDe3XHHK61pAeiXoqF4tK4CPVok+FY2Lb13Fp/bVk6RVO7ffOO007yidCUcpfRwAVjjgp3Wpu+MS6DD381l+kTDiL8hwVT49VPClTtfKediW4pr8L/9thEn3asj3n+ejwVXaaUvjz64rP5cAJYp/3AKR5RwbLiG9XQOMarlR8I9lnIJ4s51HWOzAd1yeq28vkH0HgQ8FQwKBbyMYDZOIocsDPcgiyMl75wyA6vX4Uod6IMkjlZqp8Wcq4V0Ljv+90eCB1PjBrEL3FZez/2DAKjJZQOxKjzA5XXwa6FRU17aR2wKAFdW1mnQ8Zn3/UGFcK0xr7SVWGZqLYImai8cVwuxHI12G8Jr5XAyN0ntNvaU1z5607Fz2ppPBIE0kyQCnd9V+3xU5JieSJ8RoJTFmdyn23IpGEQiXSd8kPeSuCUg/i4M9irUnmFTWL2PEpthUd6+BpkpFP4FjvkuyKdtV8P3ByrIR26WabhAPiIO3rqDKD8biW1fUXSKHfy4nkchWaaxdC/ggcwnjUti9M2H134v9YJI2nnNNSjITiVPPERtv+UzJiXSr301G8aAqxSSSp6okJYHITik8b/xOYN8h/LuNX5AvjP9s0LnoVqmH2FZhRK35y9f4qDtpv5d/fistfd7HnA1jhoNl1Sh4Gl6BzjdBg61rllpz5XSAXmDleUsqSTJ8Vl+5bBuuPc+hI83zVWfEZ5icB7izcH2r/N6s5Dhe95m+xGer0su+5VFanpeSbtX1+jaJixP65N7MwT+XNjaXro0DEsyoaQdL/gAq/5bURnwdSj+ODhqKhVrsVZYR2a8DQjG0gPB+ZnXtL+T0L0Q7BP34EPSTRgQxB4TilIVc/qCmb2QuYllV5gwzTBAHdTPXd2Bpp9zOAgx8irZlzrNKS1ssUn7hL9f5p3/cfK+Vfoq0qHj7O9ODVuo1JmSjOEXOQPw52rLs2C/WFzahtp8mzL1cg1LW8lAUL2mZP32TG0K0NdRZppfg5F4k5YeH0m8uvRwsM1GloMYllPBWkk5u9eOlcvGX10eMPXjpVjcQ4MA/1XS9EkpTOOISGYSxuoihoYdVgKlcImiFvi22NOLLT4LcKMxSPeXPFSjeLZdyOCo37GWpVWJv2pDzwe/uMn8YZVcGUqjIw412qukn0UF6t2/dTTZIBZ9e/6r82fx0ZPyvm+8rSg31z9P0tVd9I0k2ErfyD9j/P/vSelOqfNVw98HjIuT++Ye/7ZxDIYW8fTCMWYCXFoWDzcYcoVVAXBrgxyg63WzMiTWP/uwSkEYvVirz+6Z24KCW/h8FWNbTMviuxb8RpDrn435jWrOWizCIpVeUavUlGem1W1Wrr3C/cD0EGFmOmJGclXoxWGQ2oAzZOe8t5i4qB/NUa6uSpGRXKuhJ05V7eEEqi2R0NWYlHK28KM3vAbBNBk9DMexyywzk02hMAe2FI1B3LIoah3p9ERDKAKNxCIRamHaUrUXkQrYeoPFAAv/SrLaDMPKdCrLZ5wNHfO+AnAK3qUbGueSdy8F18ukLkT/C3NuOF4RORfD4v5cNEm5s6ngd/OFW4SkM/atwel+eJH7+hyFb4i7/eTBNkQFISl/gS/CK73CKy7fsp+b5lCBMIGfZtsqlycotYK0CVks1yjJSAXaChOoyFYDmULtURYRii0N3cp9RHe34jCpzJpIv/zioHeNuWClJ4VCML3rDJNreuey2+9fDZAsgKvTG048fzti2pnBhQy991Vd8QihJ2v744ezwcKuqx7c1efTn44czcFxCccCz3vlhmqIHRTJYFgpj1fnJWH8wmZ4Prvv5RNHz68vLNJdh1P0/171R96yVnn6mMKEQSbTloFGMIrlCkXuCh08ociCUHkdJYEXJDRPYrnuXVbJXX7zkB5XIgXngOchPgtgYJV9c1nbGRNULUgP17yk5tbTlQ3U5PzuOifKPeqpnvvBxJst3YtUEl+Q17hBmofR9Vox+CzHKMAZq+01DVKsFa4Sx66D4+02dwJ+58ywaIG43SR+k5p/WZ4Am/jTt2dx0mj8eTfkNnKmPmNfNaLASTf7Y8qZALL68b1H46afu4BzevVNUcSxqkSDENjrl1Tmqnmaxs9XKe2SdMt7jjk/j07Tu4JwN8BX7+/8FAAD//5GUOwmlgAAA + H4sIAAAAAAAC/+x9/3fbtpLvz6u/YsqwsZSYlO323u3zrbJVZSXRsy3pSXK6+xJXhyYhiTVFqgAo21H4/vZ3APALSIKSbKe33Xv23nOSRgAGg8HgM4PBAHzxTfPG9Zs3FlnUap3OdNwdfeh1utNefzq5HLaawYo2rc8hRk078Knl+giTpm0bKxzcP5gE4bVrI9P1edtB57w72bdpYN8iylv2e9POoP+292561hu1tCaidtP23aaPqOlovPznXj8uZFRZ4Y3ra7UXk8HZAFah5wFduASCkEIwAztYrgIfUZ+Yv5HABxoE/8HJnA1+6V8M2mfjAjEnuPO9wHKIVuuMep3JRVpTrohdm3qKuhlzIcFNL7AtT7DXGfQn7V6/OzpT95yIxZGJjq76HWV1HPq2XPH8h7Gy3m14g7CPKCLF2sNR70N70p0O253z9rvueNppd953dzRtrrC7tigyVpZ9a81RTGvUfdcbT0b/NR11h4OWFhDCxmxhFxGJjFa7+vmqP7majroX3fa429LrHrmZYuQhiyAwMBikURuMW3rdnYFHgE/+KyOpcPwGmg5aN302xSdvXh7/A+gC+UACTFnrQvUvMLfubuFgaVF7UdePDqH5a713Nr3onXdbdTvAKCCNL72zVt181WjozUOwGrCBFXZ9CjQIVyuE69bHk2uwPn533fgHoHuXQnTwD5i5jdq427kadaeTi/H058FgMp6M2sPp+dXP3YvuZNr9z25nOry4eseUoaw8YiFQj9wEASUUWyttf3ofuqNxb9Bvaesj89g8MixvtbDME6026V50h4PR5GxLzxR5aBVg6uQ1t3vW7U967YvpcDT40DvrjtQqjxzkU9fyVjhYuw7Cu4hka2Ft4abn3nBl8JBMy0iIKQZQuZYu2/3e2+54Mn3bu+gO25P3OcEuLd+dIUL5emcL73I46Hf7k7G6egwQPiVxgw/vz6YXg3cV1dcLx3B9Qi3PM1lTD1HEOZqe/TxtX00G06vhGVtYby/a72QSiQyWlm84N00rpIERrhyLNe9cjS6mg6vJ8GrSatLlqmmH2JuuEb4JCDKDkCZLZzCe9tuX3ZYm/s06HjFQyQriH7RaZ3g1bY8671uaVnOQ7VkYgWHBL+3x5fh973LYOxu36g25aDzs9ZnKJUU1gmhneNXG9qLegE0NACClqtfnaWmjFtVqGC2DNbq0/LObdkiDKz60t541f+t6KG2Pl2DMQN8lL0bQxsiiOwnSILQXexL0kOWHq04KtWceI0VyzOEZ6FVYzYjEc58R+cWli06qQ/+bBH5KLyAtfZOfuYgXuDP4+BGMz6DpeUzU4PpawBqvlxIZjCPpB6YZxA38lmaHGCOfarwQeQQpa6VMxL1Eov7M5X/xPzL7MxTQ3tLrv/0OmjlMkB40XbGUNPgCvN7Ha/gCBHnIpnXTt5YIWi34pGV0P2kNrQFfvggc1buj0VSScwxr017/Q/uid8Z5ik1TUsZ1MpaeSy4tzMgOcJstywvXD+9B44LS4OVLJl5N3/TG0/P2pB1pjBmN4hBVCThZR6x6fq5iKYmlGkvjg5AsYX2UJBcxUW0CkvydzEMsdf7Hi0x/DgisE3IWxtYDuATQ/QrZFDlAA1hYawSB7z1A4CNAHloin5qCTG8GLoWFRWAZYAR0YflyrUO4Q3Dneh7EastGDp5FaFIDXJ//xns2JeXUNy+K8v/403UExpzCcVmIyF4EoP3SHvV7/XenkjpB7CoUB1nJswk9wavrz3ewm1PjHWyj3+GIaZ++KZUfXUdcP34cn/eGb7SqwfX6bwf7jIxNn0sXCANarugDBJizPHOxPA4CojsTxrfuasUGK5GOp8uibuDHw+QAhWiIfTiSx917O27pB5/8A+4IIaegoq26Xhce0gf48ccfNcX4X11HWkMsrdAniDKS/F98PFPifkYtffNCSZ4Jl9dlsq/XsxbGcaMBhkfhCK6v2Ypk0zh1fQfdt/hESP8uNeQUV7meWvpGzYC+yShFMTOZJC+t3wJ86foBHjI/8EMKiXUxqXq+FwZndkjBcAwwZscNrUDufUDfuvePokLAmJ3EhJiOCtjfxaEG10xIH/eqypSXecXKRjmWc3WVWu76a8tzHVkZY/0+heIws6b7Qnqss14wJ1MaTNGa2UzQ2udjszPumkXjOgp96i5R8vuYWr5jeYGPMvjUGMuVpSDjs1p8Ua5OTloxYieCgQr2wIDysKEF+iYvr0irVXoQl7HTmvMfuMsrzURiSSRdmoGml9zh8txupZRXccltYB6AgcHMCk3kzJGyy0amDZwzhdPBde/4B/Po+zKDu3g4kJlYub6PHFM7/uHoe+1gFzuxzuW8o2pzFfcMfkBhFoQ+w2JIthSH4KCZFXqU2yZmmrFjBw7jRVZvaSArpmnycGLAKI91F/RMMVq7j6SyDXfyrCmho1hlK86k/D0BYySIUQxpO8z0+uNJ++JiOulddgdXkz8fZvJSy8NLKqRnQ0tlf5oKY2JyKbLs0S/bCY763Ul3nOu3/HOkSf6Xpm/63e7ZWJqhSINvqr3vmIHL4OYBiu6cgDflroO7FL/9DgfpBkW5AZH2H1rjAH4EFTWQAktKfY27KGxnmDoSShg+qKhKbtsee8bav/2bcO5kGWzt3QkQ4SjF2djBxU6bIylNH9G7AN8OvXDuZrZImt7JL4PReRykYagOGg+NVE8u36J1+r3c/MYc9XvwAqMZwsi3Eax4p8SEy4BQ7wFmAYbb8Ab5iMJNSMELgtWNZd/GFZkbHRLkwM2DjOFMh2VrByf57X0x+gsvgY0/CWd10ujUMA5OZeGPbbGyq9EF22vvqnPayq0Yw4c9GkUK6doYpSA5nQV4GmCLtFLjsIskMxVzjFZgBEM4WH9yXtc/mZ+c141XB3wlOXBAmr+um032zwWyHMbqcSOZRNlDYYwkgbxpiL2WfpIfoV6qUh7OTtmWieR4Wd46LgZjBfquiKaon8VZh6MBWy8ZZmUR7XF39KE7YtP6iOrKGX5Ee9VkZ5IWqpnJIVFbJpBMDR7ZY1PflCL5kQh5GpaNDUXE9nStb5QqGBme64f3hr5JooWRtnWWJ+/+Lz8m2mMdvHjxqhlp8AKuCIIbiyzgJnSZPwYv5F0yfrCXznSO6JRa+MbyvOkMB8spRnOXUPwwvXPpgvMKxydH8Lddq+WsN2rqWzjnkZ695ybS8mGwwag9ng6vLi6mbAretnsXxQ1/7MDywNcoHsMV9vYDjkpFSt3SrwQZBYzYOdtbtausQ0Ze3SKTWticf9b+7HnfA7ofN905VPuD18s+E79LCmCaJuzWnVrVHH2tudjJQiH6vK22vJsQMsq8AkjcAkiWN3KAhLaNCJmFnveQc8GrnYld25NSS7PaQ9Ggukyck1gYjPvPs73EvNki50gDo7OHjc2Z5ApNjU/4YvNgL4I7H4wR4CCgp+yP/dot1zuXIau83Zppu/pqVjWMeV8GDvz73/72PDKJi7p7NLLDOkZ2iNHkYvxzcqB8Lg5au/fILvjxAv6F+8xdNW1B6YqcNpu3P5D47JyYN15wY9oBRuad6zvBHTF9RJvWLTGoR4z03NqwPRf5tKlvHnt+HTU5vjetpfP375sqorIHpddd0h5d/v37BtvUKY4f/jrjwcut4yk7q0/KJKhJg059jJVFF8wmPIliVMF0thn/RmzHVb2WAz0pzruz6cxyvRAj+I6h/N+PwGbuvzEbX4ARVBJMfw+xVzCgKdt7D1RG80qkeZLYNIkmQwBjFIPAM6jNXLa47yyy5MfTXba/r44Js3rTmeshPv365jiS6pGFu8zcvM2JXJa47SSczdz7lr75rtiSW6dkXlp1Td/8dPp9pDVA3vzxTJ8HRYhzI3fOnCCgGEww4pgk29qzGuD6SeVcfx9/uma+qxPk48qxFm6qJBBJqVQGI2oI2sx9zLPKfsnLIFLHpWMn/BiKIWUn8JHkITBXhvECjBcSx2XYMB/D7au9+KzJp4GgPlWwyHLMhFpvyJqTLjP2TyrUIlaZ5GAwv+nenEQgWw4RjUqYI7FafMfVIj3fZqNOIulifovtytNbrXdk5foaaMRz5wuqNXIK8RE0PRegPjJ/MI8UG2j2vxLx1626dndHJJrx1BZi73zSeGCjjtaWF4fkzmIqzLXMzlVzvn9GOPXPyjMEemlWcoHwpHfQ1tlYK9cM5HXzzmK4uZHzftJD23+JaRKZGQqxDhFeukQczSskvJcwM1nKAULVInsSPitVLA/TBQj/p4E0pKY/b4nyhz650TE5yvQ00Iz1sbYN3hXRdgkRGXUOiwQsDyPLeZCD7lVsHIqUFz+gcIPSdef681ImRc4l+6fFA78B4zM8LjxXFQ9MAxvc831kyC+Xp+sgl3jWDWkqxX9aUJRtET7BGZ+ReNbnn6d0uWpVTpi6z3IfccSn9ryIz6bMWqSBvpFlGVWFbKTTOIaoKSd8e/35nrkmZfJix1w1+pQG38fuI6PUUcjPiVhqjyJQ9DTWx9ISWQpXSzGebcvo8X7dXnuFtdgs7D26aq9PLaYQe5U0WIuTNy+PGToiBLqUrgtvspz0JDbaBe3XOmP81HzV+FL/iLrXGJuvGjrPTKzbFs2TePlSUrXz0dV4wvYIxVBUA16mEpON+etWXf+mkbNT+1jEP2BDUWWNvvsaW4Yn6pYcl/k6upOTdJITsHL98/AGPd/V3tfTfrL7JgmB+Wu34Q36So5tIoRd3qzcbc4JU/qtclL6s/xWWRNKDJZUgDFprE/U/p96ulVD3MPvy8/CV/X9shyKbbxVjr0ie6ei+g4PrdTt/3hpT/DSEikq5+yrOGn50Epp1qLtK6XklMUA+jSfTCs4ZdpjvbL9XRgo3Yh4olfyiOWlVaFidZO/jBciw3LsgWTmcICtzL/gs6S4T8bmX75Bltbt/udk1O5MuqIyA05QEMoZTF6U3IzjOFkIspeYqElxO+m+AeM8tSy6TNY0TYnHyeWwpW9KHPHT1urD1q2HnyUWm3EH4sxN0Ztqk5KWd0ejwagcvd/Rixrx2eYftjctpKOZqqRNFYMytO/fmTAxcSckdAJ5/7VjiGwrVtazZnb8piIhZ2tW60iS1FY4Djb5ebDavSq44cIHOD41omL+ED8GKUfLGFXQMCKhR1v6hqOkVMoY1kVpDdRWNRuYJvs4Sc5eymC2mDbHhn5aSqITHH/odydTViZON8bJOj01dFVR6TqcqlLljRxVZXCFGhJETejeu5R5FGalT8FTLPq9NKVC36iIPmddlwTV1DdSj3xpK0VTyFaQyKTnWbmkRdemXjpbL9wZ6Mf8LtJyRR8OgVq3iJ8rl660R2CRJK8d1pYXIhMGdIHwnUtQ3O6Y1aELJMprstt/5mKhsmriUUF5pGbixpHs9Ypr9ZP558lyJbSZSz4vZH43lllXOI7NsSZTbeobmQyXbzmiU2RVkmiafpETaMXFV861uISZXlSqi/7BMBKUOMnZ5zi1Mq6V1Gk25weNfKptnnCcR125GlJIKrbjzyCIzhIfPQUqE0hy/Sw3btaGWniOaAZ1itzvb81XkXmkuH4ay5crefdy2NIEA8Y61ZLk4LwyzKcVDhBiC6ZQsmZKNOkvqjhZkPIryqqaqylkusLIsC17gZxEgum9kNMKyWnKs0PVwYXo4spne1d+/0/04Po0yDjMp7okocbP9+vHyILZvCLBwmF4dhKu5yvGeqrYR2+pKI6wk1U5SZ4dKOSi5J05IaPsFYDUnzt5TCaIYsuYmhd9k3efKhZSwjbDJlhZ2FoiijAPOlSMiG2kuGbM3TVSXljJhiU7QOX7q5zLkgwqWU0fdMjdW3oGFxlQb31PYjcib7a2j7KnKBgklAfMN3+52Woq62V0pM3hpnqskYTwVWr5dE3rXI1G3f4kU916NkE7rEF5JteZRRDO4aQ9etfNiMdHqAnLBC3XCHeC5crC3NLneTk1tCPzyDzSIqZgOUqROswjjIgnGQsoM1nqJ2I+x5w/3YDF3e56gAH9Hloe0KCRGJUbiyCJSIGhslUqzJWpMDlVa3ObKnIYKHWfP5H5Gppc9bbJXvqb3HDj6qsKZ35l8jEUpLZy+/jZgiKIhqtOv3fmYqLYMEivNlUleirqSOlUuVIF8ezJqK30S9UyS5YvjWqZGyhtgeSNdMWttC9f4Ju97qX5rhFfdnrGxbT0AqsfgEQRsjdtYIURQT6FWRzh4Len4qurwO+upguH+XzH5vfmsQmThUuALILQcwBhzFbwGvk0tDzvQYOt569ZTK+8RWxiNLN9N3HwIM3VtGxiLF3WkcmzdJEzRzxFUxpVc82Zy4KhUlnsRPJsUkPUMynrIVb6/DmtSIPegz+e6FxQTEXMUOy4LO/OeiDwW0gohATB3cLi7zx4LqGIXyMuPDUEJIA7BE7gH1DxygcNgDz4tniHw/bdr/wWSyYv1WMs/Z7yyn78Xkm/x0M8jFWMmBqAzeyMdROEVDy4dhNSuLP8+NUSjJgM1K+m3C1cewEY/R66GBFw49dMVM/lwB/4Xk6Mc3u8lPOnvDhT9fxN9Us0qcLs9QRNvLztheXPuerFB2//3d5/ecoDFKW3RVSPwtT28AYzLORo0huJizkKaMJLBk2KNyESR2Z/UgLlKkjJZxjxunG2hKHiflQb5hdsL2F7yMJMO5YM0ZAv1vqdsAxrhGFhrVbIN8EiJFwicCkBjDwrhgE+ga7PgWKN4MKiiFD48P4ssS4C9xYIQp9a+BACz0G4VEjnn02Q3TIleudH1HyVA2+oegWCQVtiu+J+kzDJDWPrs7taJVeMC0/FKdSvAkUTK7HL9cl2J6UA7LPDlLJa5WKQ3zJbGaUxi9pX0J0nTVF5hvKRn52RVGXMZ8c1q0TOZjHynV2pyt1fl2ezeLFqJ4Mqh+IRqoHuKbZseh7eoJ9jL6hwgHD7g2zN4myVuCi8Qcl5rDiIPpGLXTKNX/eMS7/TCnTTw7qp4+KWpn+v1Qo14sNVHgtgfkdL3xR6FfFcGVjz/TJ0ZVazPJUSfWant79hyhRNxVCk1dS6JdeuUqR4XyzCgYlZy7fMwoO7w4C1x9DlNOOUiVgLmOWk+XQ9PIP8W5nJi5vGK1WBTT3jVXnRFSRdmvotwk2Xf3ZYVG4uz0DpPnNBX0o5wlKYDlFk06JaH0KZxiFYJE3CAF6JC5J5qDwNgQbi4WALU3fGRCsa5+dwt1iyt24NP3DQHpHtpyex5vW1POa97xw/aSmkRk+rIJ8fohz0ljVt9x7yccOUn0EuXfr6GgNVdVA51Pg/k6XODYVBseWTWYCXLY18MV99eWkIPhIP/YsGhkEWwV1WEzkGW16EmZm1gvFPaY+GQSh2V0bmqLS+YzYnv/ZBetqZ6akMFJVlNvXKspZCR7WCeCvgJj9YuBYPSVW3YdhValPce2zlKX8KoDA3M4s53+Xw7lKlJdLpRuw/xFdtz8UA277D/muIg/uHzHO7Gk8Gl/z2H7Pm7dF/lR+NKVeRn4pJLN02Eqo6Mg2BmiFh+6pYBAwLT0HdNBcjPQQ7JDRYJg12jCjKvTo0jQ+Xp+5sytOP/XmL2fhaOdtuF131ND3J7NX29A+r59dUuGMaKH5UP5u1z3C5bhafU1LJM6vInwnJJLpzalVJi3+aQHZzyxWnvK4FpFeCjurVsgL4aJXoU9G4+NZVfGpfPUlatXP7ldNO847SmXCU0scBYIUDflqXujsugQ5zP5/kF7H/yfOVssdxqVxXxK9SdXhIHcDRRaluuaPchw4m3csh30y+HQ0u045bGn9DXfntgzLFP0/bq4QWWySxx9k12KiWGxH/CsYpiMfYeejEDnzH5Un49gLZtxD4ULAQEPg2gtEwCQW6PIKDLIKcvNvNkKVej29rqAeVvD6pmRp/fxLetOD43xsNHiGNX8IqdF9x6/pPRqIikwUornT1kmPDx6FJRXVtG7ktyFZRXatJ517W6/sKq1lhM2vPMbfQXARL1Fw8rBBmPxrpkoSXzJmaIx/hKlgonMxXahF/FLK0oyxVVIaui2vCJWBV7RldmiIjW2FsPCVkLOb8l7go77tD7LEtH7pvHSTnYh9/bV6/lpFs/fHI+F/Xrz+Zyd/m6+xAzHx9UDBHhq9SZaW9KF7KWlfolsJmKbpo/T/Q0/FUG6jkXQO+wV1hNHPvFcJ68UqSQFS2KKX7ZBsF3W+/bb5StBWz3xXIgOTHrvNUge3Ii8h5ClUTW40RKuV4/kt9hdDDafnqWsVlELGXYbqc3hfsLa159lRs56I3nQwGaYJWxlnvsv2uK3K3TqQdBqOVnN24SxHLUjSKQGxF9E3SQ+76jfSzODCnWHuEq8r6ZYzYFJvq7jXQVFc8TuCYRx9synbrfN+9smwEtz8Q0w3iAfGlryuo8gPn+DYjdZfI4Z+hSiSyVRpr1wI+yNxFDOk4qzNh9d+JOEtyHSPn8pdkJhISnyI23vKJkhNpjH+YjOJBVYpJJCVWSUrC251SeNr4ncC+RfgPG78gXxj/2aBz3q1SD7HEMaLW/PlrfNSdtN/JP38nLX3ex5wNg6NlxSh4emuBzldBg61rllpz5XSAXmDlaUsqSd59Ul+5LDauPU+hI83zZWfEZ5i8DXBn4fpW+R1nycJc9Zm+xDkL0ovZ5VFanpeSbtX1+jaJi8yX5D7awa9LG5tL18YBCWbUtIMlf1iYf6NtI766ph9HBw3FQi32KsuI7NcBoRhaQHg/s7r2LTn9lmiHoB8fgn7SiCDmgFCcspDLy9X0jcxFLKvKXHyGCeIAfOb6DiztlNtZgIFP0bYbKazS0haLlF+kzXX+8afr11rpp0iLiq8qZHrQSjdtCdkoTj01EH/muSw79ov1mU2o7aeJqM/XoJS1PBTFS1rmT9/khhBtPUIo00twci+S8oNe6bfMng+WmahSUOMSSngrSSe3+vFSufjL6yPGHrx0qxsIcOCfQLtaCaUpHB2LzNxYXcTQ0P0qwFQuEbRC3xYRBfFFNUFuFGYp1PJnQBTfA5ByoyoDYWWpVWJv2pDzwe/Es+0oyq7ipFCRhxvtVNNPooP0zuy6m2wYC9se/Yvy53gXVlFqqH+epq8o6xtJspF47eKA/f+TL603pcpXDXcfPC5C7l9/+NvODxVSyNsHw5gFeGlRONhszBFaBcSlAX6IotPNxpxY8+ivLgFp9GKlMr9vagcOaun/UYBlPS2Db1r821uq83PuN6Y1a7kAn1h6RalWXz6TXpFWtfoCdwvXQ4CR5YgZyVmpZ4NFZgPKkJ3z3mLuonIEQLW2KklKdqWCnjRduQdNpLJIRldjVsLRygcI+P0atsng6V2GXW6ZgXwaDC2gvXAE6o5FUeNQry8CQhlgNA6BUAvTjrK1CBzK1gM0HsfjX3DWdhBGvlNBNvss54jvHZBT4DbVyPiORudicJV8UkbkZTH3tuMFoVNxKPPfywYJNzZ1vA7+dKvwGIb+WTi9L08SP/9iyJa4y38dTFNk1pLSly0TvOI7nOLyLfupeT4lCBPIWbatcmmycgtYq4DVUo2yjFSAnSChukwFoDnULlURJyHFoTu5zxOPdnyemDkTyRe1HNSOcTeslKRwKMbnvWESw+5cdNv9q2GyBRAVeuPph/dnbFtTuAill76WLT7NlVyG+PD+7PBwq6rHt6B59OfD+zNwXEJxwG+T8ENqRQ+KJMssFMaq8xB6fzCZvh1c9fMJ2G+vLi7SHKFR9/9c9Ubds1aaVZDChEIk0ZYDfDGK5CQm97QVn1DkQCg9OpTAipIbJrBd95mrZK++0MwTAJAD88BzkJ8EsTFKvmSu7YyJqhekBurfU3JqacvJKvK9hzgmyj+Wq575wkfPLN+JVRNckte4Q5iF0nePMfo9xCjDGKjtNw1RrRasEcaug+LvonUCf+bOs2iAuDUofegdUbtpM0ATf5r2bG46zR+Opvxm29RHzOtmNFiJJn/EfFMgFj+KYVH48cfu4C28eaOo4ljUIkGIbXTKq3NUPc1iZ6uV98A6ZbzHHZ/Gh9ndwVs2wBfs7/8fAAD//32TM1T9gwAA - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/MarinerV2+Kata/line39.sh b/pkg/agent/testdata/MarinerV2+Kata/line39.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/MarinerV2+Kata/line39.sh +++ b/pkg/agent/testdata/MarinerV2+Kata/line39.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/MarinerV2+Kata/line9.sh b/pkg/agent/testdata/MarinerV2+Kata/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/MarinerV2+Kata/line9.sh +++ b/pkg/agent/testdata/MarinerV2+Kata/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/CustomData b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/CustomData index 142af1d0f98..1d2d3cf0eeb 100644 --- a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/CustomData +++ b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -36,7 +36,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line39.sh b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line39.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line39.sh +++ b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line39.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line9.sh b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line9.sh +++ b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/CustomData b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/CustomData index 142af1d0f98..1d2d3cf0eeb 100644 --- a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/CustomData +++ b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -36,7 +36,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line39.sh b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line39.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line39.sh +++ b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line39.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line9.sh b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line9.sh +++ b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/CustomData b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/CustomData index 142af1d0f98..1d2d3cf0eeb 100644 --- a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/CustomData +++ b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -36,7 +36,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line39.sh b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line39.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line39.sh +++ b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line39.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line9.sh b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line9.sh +++ b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/CustomData b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/CustomData index 142af1d0f98..1d2d3cf0eeb 100644 --- a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/CustomData +++ b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -36,7 +36,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line39.sh b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line39.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line39.sh +++ b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line39.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line9.sh b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line9.sh +++ b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/RawUbuntu/CustomData b/pkg/agent/testdata/RawUbuntu/CustomData index 2470f0f15dd..00a2d7b7ec4 100644 --- a/pkg/agent/testdata/RawUbuntu/CustomData +++ b/pkg/agent/testdata/RawUbuntu/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/RawUbuntu/line40.sh b/pkg/agent/testdata/RawUbuntu/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/RawUbuntu/line40.sh +++ b/pkg/agent/testdata/RawUbuntu/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/RawUbuntu/line9.sh b/pkg/agent/testdata/RawUbuntu/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/RawUbuntu/line9.sh +++ b/pkg/agent/testdata/RawUbuntu/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then diff --git a/pkg/agent/testdata/RawUbuntuContainerd/CustomData b/pkg/agent/testdata/RawUbuntuContainerd/CustomData index 9deb08c55ee..656ce6ff098 100644 --- a/pkg/agent/testdata/RawUbuntuContainerd/CustomData +++ b/pkg/agent/testdata/RawUbuntuContainerd/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_redact_cloud_config.py permissions: "0744" diff --git a/pkg/agent/testdata/RawUbuntuContainerd/line40.sh b/pkg/agent/testdata/RawUbuntuContainerd/line40.sh index a865d7a8738..c355a5ad737 100644 --- a/pkg/agent/testdata/RawUbuntuContainerd/line40.sh +++ b/pkg/agent/testdata/RawUbuntuContainerd/line40.sh @@ -561,9 +561,11 @@ installKubeletKubectlAndKubeProxy() { if [[ "$install_default_if_missing" == true ]]; then if [[ ! -z ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then echo "Detect Bootstrap profile artifact is Cache, will use oras to pull artifact binary" - registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:v${KUBERNETES_VERSION}-linux-${CPU_ARCH}" + KUBE_BINARY_REGISTRY_URL="" + updateKubeBinaryRegistryURL + K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY="/tmp/kubernetes/downloads" - logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $registry_url false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} + logs_to_events "AKS.CSE.installKubeletKubectlAndKubeProxy.extractKubeBinaries" extractKubeBinaries ${KUBERNETES_VERSION} $KUBE_BINARY_REGISTRY_URL false ${K8S_DOWNLOADS_TEMP_DIR_FROM_REGISTRY} #TODO: remove the condition check on KUBE_BINARY_URL once RP change is released elif (($(echo ${KUBERNETES_VERSION} | cut -d"." -f2) >= 17)) && [ -n "${KUBE_BINARY_URL}" ]; then @@ -578,6 +580,24 @@ installKubeletKubectlAndKubeProxy() { rm -rf /usr/local/bin/kubelet-* /usr/local/bin/kubectl-* /home/hyperkube-downloads & } +generateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + registry_url="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + fi + fi + registry_url="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + pullContainerImage() { CLI_TOOL=$1 CONTAINER_IMAGE_URL=$2 diff --git a/pkg/agent/testdata/RawUbuntuContainerd/line9.sh b/pkg/agent/testdata/RawUbuntuContainerd/line9.sh index f1386f044e5..1b18c5d426c 100644 --- a/pkg/agent/testdata/RawUbuntuContainerd/line9.sh +++ b/pkg/agent/testdata/RawUbuntuContainerd/line9.sh @@ -629,6 +629,26 @@ removeKubeletNodeLabel() { fi } +updateKubeBinaryRegistryURL() { + if [[ -n "${KUBE_BINARY_URL}" ]] && isRegistryUrl "${KUBE_BINARY_URL}"; then + echo "KUBE_BINARY_URL is a registry url, will use it to pull the kube binary" + KUBE_BINARY_REGISTRY_URL="${KUBE_BINARY_URL}" + else + url_regex='https://[^/]+/kubernetes/v[0-9]+\.[0-9]+\..+/binaries/.+' + if [[ -n ${KUBE_BINARY_URL} ]]; then + binary_version="v${KUBERNETES_VERSION}" + if [[ ${KUBE_BINARY_URL} =~ $url_regex ]]; then + version_with_prefix="${KUBE_BINARY_URL#*kubernetes/}" + binary_version="${version_with_prefix%%/*}" + echo "Extracted version: $binary_version from KUBE_BINARY_URL: ${KUBE_BINARY_URL}" + else + echo "KUBE_BINARY_URL is formatted unexpectedly, will use the kubernetes version as binary version: $binary_version" + fi + fi + KUBE_BINARY_REGISTRY_URL="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER}/${K8S_REGISTRY_REPO}/kubernetes-node:${binary_version}-linux-${CPU_ARCH}" + fi +} + removeKubeletFlag() { local FLAG_STRING=$1 if grep -e ",${FLAG_STRING}" <<< "$KUBELET_FLAGS" > /dev/null 2>&1; then