diff --git a/pkg/agent/testdata/AKSUbuntu1604+Containerd/CustomData b/pkg/agent/testdata/AKSUbuntu1604+Containerd/CustomData index d1b1bc66c2f..90616828415 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Containerd/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Containerd/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Containerd/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Containerd/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/CustomData b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/CustomData index 4dc51ad8ffb..8378f0d59b8 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 | - 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 - 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/CustomData b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/CustomData index 4dc51ad8ffb..8378f0d59b8 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/CustomData b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/CustomData index ef5ec694946..8e67b257bc6 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/CustomData b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/CustomData index ef5ec694946..8e67b257bc6 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 | - H4sIAAAAAAAC/9xc/1ejSLb/PX/FHYYZdUaSEG3bsZfewQRtnvn2gNjTz3Y5GCqRkUAaCrtdzfvb36migIIQW9vZebPrnj6L1K17b33u16rC+f671pUXtK6c+LqhGYZtfjAtbdC1+rZpqYZln6h6X9kHOtbtjyY9Wx/qlm3pA200sZRX6ciJ3tfs96rVfZePHKQj70b9nv1e7evDyW/qqTa0lNfpgKH1NdXUaggOUwJ1bNn60LTUfj9n+ks61Bt1zzRjbbTTLg33Ru+H/ZHaK8bl0viZ9qGGplOiIUoQunx4rzTMYdRhIA1Gxx/otL5uFjh1GFAD0z4dn24QfcBxWFsbg607GlqqPtSM3joJA86YDLvrgwy6s0OTEAz14Wk+ttcuxta02mOgnU2ONeIWw5Fln4wmw56yx6DSB6c10/aKaX3N4pHa2y9bcXBqjyecqnuv1pbateroDtbpDJ3ouE66GT3qutyiDtcozzXD1EdDWx+eq329p+wxKLtDfX3d+3Ju6LEx6tk97biGqLNOND47tdVejwUcQ29kqJxJNMMYGco+gyeNVG4hdOJh5kO9sTE61thbpvFoYh2TVZLVDdOhV5zt1bFum5pxrhk8gVxL0Buadn80OpuMGVmnlkz9n4mhrRNnzqFaan0sHLQ5imoQHsjcYNXRD5gi5+96VdserDvWmuDXbS6I1keZ5O7EtEYD29RUo/vO7o0Gqj4007UdMgan48n6/MM9btDQiWfxkXG4vz5cXd/hK45GO9e7mj3uT071YYnRQUGkD09GtjEa2N2RYUzGltZTDlk4mKe/bZTzS3udhpPwi1xk6Z6q9wvr/MLl78m4p1paMZRFjqkRxz/XaVyZXUMfW9ROhqb2Ck5yu80JIel0Mj411J7GUXBqjCfGKXN4ud3Jg4QkBEMjZlDkNsO/q5u2apr66dA2RiPLHr9XZFleG6P+M9aMgW4STRVZZmzHKk1d3dH4AyVSZJnnPB73P9hj1TTfjwwabCf6qSLLlcDNa8iIhYUsZxktTWNr7iPLr0sEo7FmqBbBME0NspxlL8uoGfwFGilYNChNS+2e2aeaZavGwLZGZ9pQkbMSWiUZatb7kXHG1jJJGStyVlGr5ObkeKhZ9tjQTvTfFJkU1Twojyd6P8tlMqmLKSjv1bHdNTTiLikYWVXiR/ShOTk50bu6NqQecWabY7WrKTKpUpTa0vraeGRYvVLaVOQszxXjmcOnw9lCDEs/UbukXhmaOiBVMuOjyFmOqyFizBSZpLa08bGsMXHy3z7YXZXgdq4ZliJniY1FBhnSDMtU5IO8OWFqm1qXgGr1Tft4NLJMy1DHeTnVftO6Wdzn3nGQGbinm8dqX7P1saUe9zVTkUlaS3OmMTEtwmHdubLk1tNNMss2zXeK/DrzeEMfqMYHe6h3bX3MJVX5NfN8fWhqhmXrg55pG5ppERcl3mdMiCZDa2QP1OFpX7OpTor8ev+p8070vqUZ+TwWRj0ChLZh3glJeBV5B0+dV5H3mnNeQyO2sA3tvye6ofWUTpaihiOaFNRTzWTAdLLcZA7VsflulGdDvmlsZ5ExNvRzMkjqJ2kFiFd2snRFXvLu2mnvZ2GTt+sD1TxjTNlY19B62tDS1X6abHu1PXE7i0DSzlRbnU77ABqNohWhTRXRhmn/Gipj5D1BlVR/W1Y67cMqBVd836vmQOm0f3mUyZ7SkduPUuwrnSx3b6B4pXTkDBXWh2ROnvenmnFOAplEo36id4ktjJGVJlBLPVU68l6j4c1g5gUutBCegoTvlghmuz5IgbNAIPwkRchHTowEkJaRF2CQPiUehs7blotuW0Hi+/AA8wgtQfoEW82tN4CvUdAAABiZirgdhxEGKaLsWzk3Msf5fANbCwdPr7fF9i60/rGt9+y+fqYp29MwQmG886D3lO3mTzs7YmsXnB24h1QFHCbLJYq2nYvOJTgXe5c7bwB98TCstnaY5Mzsz9Qgd5ZnC4YHwBFILmwJWzsN5MeIaoKm1yEIFdFBiGEWJoErNGZeozE5ngytiT0y7aE60BQh/V1oDFSDOFUxwF4UI7RbrA6Tl0KDli+6Ay0IindCg+19lFYSRy0/nDo+3TTfJFdoiv1GWsjTUfLeDac3KGqgL0uCJm3UzhVBvC/augzxI2UllOg00+KlBLee6zlMQG4muSnvNWVJzmYOz/Wermas9YF6qtnmOzUTmb/gpdXNIW6eqXm+ksT7DYzXuHALsz6MtcpayauviFaExTRqLrxpFMbhDDen4aLl3MTknzRfJoUqFbYFU9LxpN1umia7g54iTImXBXBzGDe9EKIkAIkE5q3nozlyQZKiBUhSgLB0HcYYJOmzh6+lIIal5x61llE4bcmtIG4tPUK8CBPi1ndLpFx5gbsbR1OlFS5xa75Mdt0YK61FkP4SLrEXBrESEbrHZjpTSljMzl6UOOSLZH6wts7U4eoWGCCssLUtPZc93kKm9lGmcv6SKXDEa0OBEhqkx+6q3Xea3dMNpXXrRK2pM71GLYfMi6bX3i2KWw3SL6tD0qBxxFEYYkKXTmho59rQInvC01PaYmX8/HDecv6ZRKg1yH1BJb83tS8YBTHRptlNYhwuzGnkLXEL3aIAx61Gd2L0yf52PLGUFl4sW9Mk8u1bFF2FMWqGCW7Q2sBThJETr1MY2qluWsYH1uqm7T3NSYS+NQ2DmTdv3jkLHxqNCOHobrpwbW9mzxzPTyK0vQP3NJuRMQ/Fiii/gc+Oh+3YR2ipiJ03gL0FChOsiHtvIL72Zhh+/LHyQFnMwgg88AIQt2P0CWQQGdOdN+CGlIT8MHYgZg+CeP/rSiC8riLk3MDDA3zMqb0ZXIDogYQ+5fzgkitF2Q9Nx9oXNE0wcuGjIP76USATiZT4TYk0QjiJApDzl3lOz37o4kEsgMhHZx59dMOAqwKbxa4K0IPYD8ObZJlDzsMsczATyEPs+DYPfISmYeQq4j6dGmMnwnRcEbddByP4+Yc4LZCfrz0fAY4SVEI9kw5SzjXDX6IqKm2CLxGywRLTJIpQsEFqYartbZ4QJE7XnR2Q5gjE0uo2G1OwCB3nL6VpESLB6e4+a2XE65ErPO4NzMSb/SA3/qOQpGvIXeNZaobR14CM0TQM3FgouVgR13YQ2jF2cPxXCHAS3y8N7z8qZjm05gjb2ImuHN/PUcJOZD+GVEpOkUoiPwvH1NTiPTd7lQEubICOo63A50Qg4X/OKAmR9hToOG7fCF9mrIM2cWsfpFls9m9BpM9hocxbELnqBZ23P8olPkStCxD/Dt8p0IbLOmVo6Di4xKhEwEXgSy1rz6JwYUdo7sU4urNJy2ST0vhCi5NZs9B3UUTi3ovSLVUGkrDzn+gWBDZYkm0h7xQMBtJ1MZCltOsA8X5ji7IibsS1OC9zI47RH+5GV17gRHdf9SJG9ogjMYqlg6+rzpTJWPcnblLFp8oCK261wbfKc8ruRd1GmlVk1joNdbrNHlNywLJI2GTGNT+s5fx1fywh+Ue75DPc8quuWeOej7toZcIGj6XbiJnnF309ffPE2k8mpv65z/zzVcnneF5fTWQ8cdnVLqijiZk0uLzMU1l9FuNZvTCN5T1JbY3LVSK2hwfACJWrXXE09lepeZRgFkZlqz9i8MLIe5R06dwil+3v6V526oeJK3mBhyVCGzcpBaVNDwNPPhFnyPisBBApBTEiM0T7Oe1iznTre210ssVZ4XGv+DO6RUqJXJA8EFpEvZYrFAoWwVHo/PYtg6OxasR3MUaLKSbOS5v35zXjEN9OSR3IysS3tt+5GuA6aBEGUoT80HGfMoHpDSJT5U/o4nPZZPuSxIVoSQpCaenMSWIvh9/vYRIFjk8mSUk+4ZvCqTBZjMPlv529iNJ/prGejarrxc6Vj/7tgGV6/zWxTTMMWcrzcH0pmDTgpBSkvw4gtyiKvTCw5zhzM4xiDIK4TW96ZrD1Q/wx2AJB/FWAB2B3SOfwANfIcUEKQN4RQFFAEGWhsWoU3qsFxAfUwDVLyXwtzYPcbsMr2GuDmK7H0NJbVNNSrYmpiH9v1Kc6uZzk4C1UzplFWUppm344bxQAlwWAFCDSh1RgZm2cDNMw8V16VXWF0lMl/kysZAkGrTeD76DmmAnkDllp5xW3GBSkkSI/SXxK7cLVXcFisy68NXppSFJzcKnam3G6+F6MpSTwcAySNCNbBUlySveagig3YxTdelMkVBQu1wLIVirKxMU3gRkulzyYa5nvSWwYLePD1o0Wtyjqhoulwx3bZ7eaqiJup50I6VunCQbJBeFngXTa8k6J9Dgn7WwivbggHV7Oe8XCIX9zvBJY115q+EgoITdnzzEAfm56n7pF/kfiMAvBc0iFX3vzaxTj8zSMFXFbPzGVfA+SylgJueoiZSLNOo+oLt6Xma7qtM99bdVww88BSac9dDW+mVvhCd9bj89O00tXFtzk9/xKupO/6umG1rVGxocs0S5uXC8CaQliaThtwpP42gXxvjSyyjP5WtQRHzpot8FZYmmOMGQKMxZEvZWSPjPVVj+lgsIl6UydJaanG9k8trhHqkb5OPhNA4De+ZIpCsGPraB060YcnIvgJ1Qad3kzB4nt1slKJYcEbhhNEX3pollxdUJ2PWQhfji9ienrDA4phN7yZn50NEovJo+OFJ5L6LsFYtJd9QKq8bXCRRctv6Elar0svUmTJts/EMArOLBHwrWxaswR7o4najS9zj3MiabXiridpG3vYqfB7THvyeDu7opGpEN+OdgXiIDKSLQg79f3omkcpcONtTrLRhduNkpzjxerxuBgn0+xRJXtQvUdXmi9THmDtDaX47zYYAc2k6g4k08djR3t0GMJmUUGO46L0Bx9Ubb+0fz5Yyv9d9T8WdwqwVZMX4HyvwR8fnKuM1RLTxv4OphZEYi2fjiPbRza6aVuRV3sxDc0jorrk3QgpSYZZeiUbo1+2BvuNDhCWpgt/mZJ+OEEfrCaP+wN2WEg8dtMr6yrYFICd/NUSvd7HAZ2jCMvmCviNvz+iXQ+ReMmSU40B8Ijxs5iCUCTb6bSSlgjHS1R5JBo011CyhSoIWQ5mL4R5GZnb53EcuIbgg6kYgmWNYw0gmQf3SIfQNCDWRgtqAKOv047QHHszFEqlBRRH2HkHoH40wa+Y8+ltO0N41bd+NZ9DtgRiPnzLg/OEYjcb7sZHEcgsqfdfPmEB3vc5VZ7BGLxy262tCMQ2dNuvoKMcuy5u7na2UvLc1dpjHAny+I95xf0SPR+/euHlXhf9uJVk8xqFIlTIMlNgO8UClA5H/Dpj2tvrkkDZMc33tJOvyOy3cgjvXzRZ5PM/iU9MQ/dO0XcLg7xQHoHwgBhx3Wwc0SvvwXaTC+j8MsdCD8JIFxjvDxqteSDX5qdV/tN9v+tBZvV8oIYO8EU/d1ZehLbRSiddkeW2h2pLbOY40LtW5ZKF1KsNWuWBJEsiXQ1JBARbDWn4WKZYNTEzjzuezGGB1g4y+0Y+WiKt5u0NjzQrc22YN54y9Nl0qOA6WQZvi+8AcETdnZ2LtqXzVvHTxC0WiDMHD9GQj6TApVSbpUuGDgdBc4+rDO1b5Ir5CNs09Y5mNtTFGFv5k0djOwoxNS7/2MNx0Cot11UY7uLS9Ll8paj5fImlhgrieEpMTwlDk8pw1PYgQdITVlrK8ZLSCvpwIm8AEWjiH6R1PeC5EulRIVxVklZkQxj2ixXPk4kvfLDQx0B/43iOtX6Z4rrnUH5vNir9uENdOv4Y2d648xRjzVsE6NfWQdtCe7lI2nFLUYKQBCTyK9pR4BwBSFCceJjRbwnPQH3SUiaB9PRRuV8gtczBT9FOw25//rENAsTvEywIm4Th8g8kpgsvWUjqqUkZb9j5mRDDa5b8mZQa1EQxJFZ3rfGiRsCdoMZMK1Ih/v7J9Ldpvx//wSfnTgbpUWwrOdaX5jtFjKGr0CGg/a3MKXQpQk/WZLOxEi/m61YdJmaXKEnMCWHFcRO+U22TRTEPYGdtdC/1FQE9vVMmbwffkZR14m54L0PY7qdJHvSiyP6FfDR5RZ59gnx0SULtu9PwgjSD3h3iUHEXDh4MciHzfY+OIELQiQftvcF8tLx4xBcNPMC5JKND8kLYUAqJy2Yu2nLKWYfD3sxTZU4zHikck1v4flO5N/RHVSnnQnqdJrt/SaM8DWKPnsxqmPUZCg0iyWw6KXCgZvh+J+du0KDDD4Iws/c7CKqa0DYa7ZTCG73mu3nIMCMxiNAWXzN+antKuGd7U4y8zJnWrEELTTdPJPocZOwyJ1i1fwo3JI32TnBR0HYoRUiSPzaVMI73Prcuk/K6lJexZnfe/g6THAvxCUvzRjTU0vkwlbc+thsteZbpQ3iE9edXCUBTpoRx7gQu3p81dyKN8zP1s6HOsvjjDj+l4d8KcGUAcmCvgzrH5Uo2F/WZCcvprK902i81DOFdIu9wSK8voKLZk7i49wCL5bdFO8ZxKsmy+fxeedxH0lx9B1cnLrFyvZG+VL0LSqU+qqSLKIa0Yy2TKURYWenouQyQrdemMT9P1HZWpklpWspeOVJMbjNci9pKe7LaF/8eklyI3eHU+ecPyvbgnh/m8VAwT6//66XVQ/aHymzmij/JW78eFhtztW3/xovubjMLLyO+O1GjJ+Eb45tvqg8Mw8SH3tqNL2u5OZ0qd7CmSMrPEbjhHR2aYZuAHz/+yfaQqzNhlkULujQNAywQ8q2TnjETdBn0C2/u/Aum4sqh/MO6QSCENNw2M1UxtcO3k1PXdmbpzBrrHtNZUmZxeoU2ZjkvpbgNsigXlEj5yWp7Klp7CUqvTBhPTdZDSZ9S7fpf6/gaV79rRnq2YLyjWCakjang2ehnQX+U8P+aWqzG/FyA7Z5I531YOxUoDgl6NT2X+xe6y/WfaVbFW8Gj+VeQF+8GLPdx5zsOK4RFPT9PIVFiO19wnyXtZG8LJB1YfBHdH6P9FmcFsrLyyLHTQApKiozvVXlRlcCFDrBjz/mNSj/k22ikEBvpuqHKuwamw9avmWJDP2vru3PWRerVsQ7V42G47pn6XHfMHRR37lC1buuvnqs9W3TMvThKXdGl36z4IEg8gQC/O1vfwNBzP42fDjqaTYlMAV4C8Ufc3fe/lj/TQY7fIQgdBH4RB8oSUg38hFy3DtSZWIU4F1Sna+9YE726o67/vlIuW1j94quS2bUScAhrGsRN5tNoTiwpedmtausBkUNETFMzevVrnjPK7KquRSt41bSntvqRmgR3qKXmBeBsKbTCyz8dChaVbGtHAxeuQrR7p+kXFXsk5T7/9EtUy31iO/faf2xZpja6KTxfwEAAP//TkMp6r9OAAA= + H4sIAAAAAAAC/9x8fXebSLL3//oUNQwZ24mRhOw4ibNkB0vY4YneHkDO5DpeDhYtmTECBRolXkf72e/ppoEGIceJZ+fObvbsGZmurqr+1Wt3I/38U+vKC1pXTnzd0AzDNj+YljboWn3btFTDsk9Vva8cAh3r9keTnq0Pdcu29IE2mljK83TkVO9r9nvV6r7NR47Skbejfs9+r/b14eQ39UwbWsqLdMDQ+ppqajUEL1MCdWzZ+tC01H4/Z/oqHeqNuu80Y2O00y4N90bvh/2R2ivG5dL4O+1DDU2nREOUIHT58EFpmMOow0AajE4+0Gl93Sxw6jCgBqZ9Nj7bIvqI47CxNgZbdzS0VH2oGb1NEgacMRl2NwcZdO9emoRgqA/P8rGDdjG2odUBA+3d5EQjbjEcWfbpaDLsKQcMKn1wVjPtoJjW1yweqYPDshUHZ/Z4wql68HxjqV2rju5ok87QiY6bpNvRo67LLerlBuW5Zpj6aGjrw3O1r/eUAwZld6hvrvtQzg09NkY9u6ed1BB1NonG785stddjAcfQGxkqZxLNMEaGcsjgSSOVWwid+DLzod7YGJ1o7CnTeDSxTsgqyeqG6dBzzvbqWLdNzTjXDJ5AriXoDU27Pxq9m4wZWaeWTP2fiaFtEmfOoVpqfSwctTmKahAeydxg1dGPmCLnb3tV2x5tOtaG4BdtLog2R5nk7sS0RgPb1FSj+9bujQaqPjTTtb1kDM7Gk835Lw+4QUMnnsVHxsvDzeHq+l4+52i0c72r2eP+5EwflhgdFUT68HRkG6OB3R0ZxmRsaT3lJQsH8+y3rXJetTdpOAmv5CJL91S9X1jnFZe/J+OeamnFUBY5pkYc/1yncWV2DX1sUTsZmtorOMntNieEpNPJ+MxQexpHwakxnhhnzOHldicPEpIQDI2YQZHbDP+ubtqqaepnQ9sYjSx7/F6RZXljjPrPWDMGukk0VWSZsR2rNHV1R+MPlEiRZZ7zeNz/YI9V03w/MmiwnepniixXAjevISMWFrKcZbQ0jW24jyy/KBGMxpqhWgTDNDXIcpa9LKNm8BU0UrBoUJqW2n1nn2mWrRoD2xq904aKnJXQKslQs96PjHdsLZOUsSJnFbVKbk5Ohppljw3tVP9NkUlRzYPyZKL3s1wmk7qYgvJeHdtdQyPukoKRVSV+RB+ak9NTvatrQ+oR72xzrHY1RSZVilJbWl8bjwyrV0qbipzluWI8c/h0OFuIYemnapfUK0NTB6RKZnwUOctxNUSMmSKT1JY2PpY1Jk7+2we7qxLczjXDUuQssbHIIEOaYZmKfJQ3J0xtU+sSUK2+aZ+MRpZpGeo4L6fab1o3i/vcO44yA/d080Tta7Y+ttSTvmYqMklrac40JqZFOGw6V5bcerpJZtmm+VaRX2Qeb+gD1fhgD/WurY+5pCq/YJ6vD03NsGx90DNtQzMt4qLE+4wJ0WRojeyBOjzrazbVSZFfHD503qnetzQjn8fCqEeA0LbMOyUJryLv6KHzKvJecM5raMQWtqH9/4luaD2lk6Wo4YgmBfVMMxkwnSw3mUN1bL4d5dmQbxrbWWSMDf2cDJL6SVoB4pWdLF2Rh7y7dtqHWdjk7fpANd8xpmysa2g9bWjpaj9Ntr3anridRSBpZ6qtTqd9BI1G0YrQpopow7R/AZUx8pygSqq/LSud9ssqBVd836vmQOm0X93L5EDpyO17KQ6VTpa7t1A8VzpyhgrrQzInz/tTzTgngUyiUT/Vu8QWxshKE6ilnikd+aDR8GYw8wIXWghPQcK3SwSzfR+kwFkgEJ5KEfKREyMBpGXkBRikT4mHofOm5aJVK0h8H77CPEJLkD7BTnPnNeBrFDQAAEamIu7GYYRBiij7Vs6NzHE+38DOwsHT612xvQ+tf+zqPbuvv9OU3WkYoTDe+6r3lN3m0709sbUPzh7cQaoCDpPlEkW7zkXnEpyLg8u914C+eBjWO3tMcmb279Qgd5bvFgxfAUcgubAj7Ow1kB8jqgmaXocgVEQHIYZZmASu0Jh5jcbkZDK0JvbItIfqQFOE9G+hMVAN4lTFAHtQjNBusTpMHgoNWr7oDrQgKJ4JDbb3UVpJHLX8cOr4dNN8k1yhKfYbaSFPR8lzN5zeoKiBviwJmrRRO1cE8a5o6zLEj5W1UKLTTIuXEqw813OYgNxMclM+aMqSnM0cnus9Xc1Y6wP1TLPNt2omMn/AS6ubQ9w8U/N8LYl3WxhvcOEWZn0Ya5W1kkffEK0Ii2nUXHjTKIzDGW5Ow0XLuYnJ/6X5MilUqbAtmJKOJ+120zTZHfQUYUq8LICbl3HTCyFKApBIYK48H82RC5IULUCSAoSl6zDGIEmfPXwtBTEsPfe4tYzCaUtuBXFr6RHiRZgQt75dIuXKC9z9OJoqrXCJW/Nlsu/GWGktgvSPcIm9MIiViNDdN9OZUsJidvagxCFfJPODjXWmDle3wABhha1t6bns4woytY8zlfOHTIFjXhsKlNAgPXZX7b7V7J5uKK2VE7WmzvQatRwyL5peeysUtxqkX1aHpEHjiKMwxIQundDQzrWhRfaEZ2e0xcr4+eG85fwziVBrkPuCSv5ual8wCmKiTbObxDhcmNPIW+IWWqEAx61Gd2L0yf52PLGUFl4sW9Mk8u0Viq7CGDXDBDdobeApwsiJNykM7Uw3LeMDa3XT9p7mJELfmobBzJs3b52FD41GhHB0O124tjezZ47nJxHa3YM7ms3ImIdiRZRfw2fHw3bsI7RUxM5rwN4ChQlWxIPXEF97Mwy//FL5QFnMwgg88AIQd2P0CWQQGdO91+CGlIT8Y+xAzD4I4t2va4HwuoqQcwNfv8LHnNqbwQWIHkjoU84PLrlSlP2j6Vj7gqYJRi58FMRfPwpkIpESvy6RRggnUQBy/jDP6dk/ungQCyDy0ZlHP7phwFWB7WLXBehB7IfhTbLMIedhljmYCeQhdnybBz5C0zByFfGQTo2xE2E6roi7roMRPHsSpwXy87XnI8BRgkqoZ9JByrlm+EtURaVN8CVCtlhimkQRCrZILUy1u8sTgsTpurcH0hyBWFrddmMKFqHj/KU0LUIkON3971oZ8XrkCvd7AzPxdj/IjX8vJOkactf4LjXD6FtAxmgaBm4slFysiGs7CO0YOzj+KwQ4ie/HhvcfFbMcWnOEbexEV47v5yhhJ7LvQyolp0glkZ+FY2pq8Y6bvc4AF7ZAx9FW4HMikPA/Z5SESHsIdBy3H4QvM9ZRm7i1D9IsNvsrEOnnsFDmDYhc9YLOm1/kEh+i1gWIf4efFGjDZZ0yNHQcXGJUIuAi8LGWtWdRuLAjNPdiHN3apGWySWl8pMXJrFnouygice9F6ZYqA0nY+290CwIbLMm2kHcKBgPpuhjIUtp1gHi3tUVZEzfiWpzHuRHH6A93oysvcKLbb3oRI7vHkRjF0sHXVWfKZGz6Ezep4lNlgRW32uJb5Tll96JuI80qMmudhjrddo8pOWBZJGwz44Yf1nL+tj+WkPyjXfI73PKbrlnjnve7aGXCFo+l24iZ5xd9PX3ywNpPJqb+ecj883nJ53he30xkPHHZ1S6oo4mZNLi8zFNZfRbjWT0yjeU9SW2Ny1UitoevgBEqV7viaOyvUvMowSyMyla/x+CFkQ8o6dJZIZft7+leduqHiSt5gYclQhs3KQWlTQ8DTz8RZ8j4rAUQKQUxIjNE+3vaxZzpzs/a6HSHs8L9XvFndIuUErkgeSC0iHotVygULIKj0PnNGwZHY92Ib2OMFlNMnJc279/XjEO8mpI6kJWJH22/czXAddAiDKQI+aHjPmQC0xtEpsqf0MXnssn2JYkL0ZIUhNLSmZPEXg6/38MkChyfTJKSfMIPhVNhshiHy/84exGl/0xjfTeqrhc7Vz76jwOW6f3XxDbNMGQp34frY8GkASelIP11AFmhKPbCwJ7jzM0wijEI4i696ZnBzpP4Y7ADgvirAF+B3SGdw1e4Ro4LUgDyngCKAoIoC411o/BeLSA+oAauWUrmG2ke5HYbnsNBG8R0PYaW3qKalmpNTEX8e6M+1cnlJAdvoHLOLMpSStv0w3mjALgsAKQAkT6kAjNr42SYhonv0quqK5SeKvFnYiVLMGi9GfwENcdMIHfISjvPucWgII0U+UHiU2oXrm4LFtt14a3RS0OSmoNL1d6M08X3YiwlgYdjkKQZ2SpIklO61xREuRmjaOVNkVBRuFwLIFupKBMX3wZmuFzyYG5kvgexYbSMD1s3WqxQ1A0XS4c7ts9uNVVF3E07EdK3ThMMkgvCM4F02vJeifQkJ+1sI724IB1eznvNwiF/crIWWNdeavhIKCE3Z88xAH5uep+6Q/5H4jALwXNIhV9782sU4/M0jBVxVz81lXwPkspYC7nqImUizTr3qC7elZmu67TPfW3dcMPPAUmnPXQ1vplb4SnfW4/fnaWXriy4yd/5lXQnf9TTDa1rjYwPWaJd3LheBNISxNJw2oQn8bUL4l1pZJ1n8o2oIz501G6Ds8TSHGHIFGYsiHprJf3MVFs/TQWFS9KZOktMTzeyeWxx91SN8nHw6wYAvfMlUxSCH1tB6daNODgXwQ+oNO7yZg4S262TlUoOCdwwmiL60EWz4uqE7HrIQvxwehPTxxkcUgi95c38+HiUXkweHys8l9B3C8Sk2+oFVONbhYsuWn5NS9RmWXqdJk22fyCAV3BgHwnXxroxR7g7nqjR9Dr3MCeaXivibpK2vYu9BrfHvCOD+/trGpEO+ePoUCACKiPRgjzf3IumcZQONzbqLBtduNkozT1erBqDo0M+xRJVdgvV93ih9TLlLdLaXI7zYoMd2Eyi4kw+dTR2tEOPJWQWGew4LkJz9EXZ+Ufz2cdW+v/j5jNxpwRbMX0Nyr8I+PzkXGeolp428HUwsyIQbf1wHts4tNNL3Yq62IlvaBwV1yfpQEpNMsrQKd0aPTkY7jU4QlqYLf5mSXhyCk+s5pODITsMJH6b6ZV1FUxK4G6fSul+j8PAjnHkBXNF3IXfP5HOp2jcJMmJ5kB4xNhZLAFo8s1UWgsbpKMlihwSbbpLSJkCNYQsB9MngtzsHGySWE58Q9CBVCzBsoaRRpDsoxXyAQQ9mIXRgirg+Ju0AxTHzhylQkkR9RFG7jGIT7fwHXsupW1vGbfqxnfucsCOQcw/7/PgHIPI/bWfwXEMIvu0ny+f8GAf97nVHoNY/LGfLe0YRPZpP19BRjn23P1c7eyh5bnrNEa4k2XxjvMLeiR6t/n2w1q8K3vxuklmNYrEKZDkJsBPCgWonA/49Me1N9ekAbLjG29pp+8R2W7kkV6+6LNJZv+SnpiH7q0i7haHeCC9BWGAsOM62Dmm198CbaaXUfjlFoSnAgjXGC+PWy356FWz8/ywyf7bWrBZLS+IsRNM0d+dpSexXYTSaXdkqd2R2jKLOS7UfmSpdCHFWrNmSRDJkkhXQwIRwU5zGi6WCUZN7Mzjvhdj+AoLZ7kbIx9N8W6T1oavdGuzK5g33vJsmfQoYDpZhu8Lr0HwhL29vYv2ZXPl+AmCVguEmePHSMhnUqBSyp3SBQOno8DZh3Wm9k1yhXyEbdo6B3N7iiLszbypg5EdhZh693+t4RgI9baLamx3cUm6XN5ytFzexBJjJTE8JYanxOEpZXgKe/AVUlPW2orxEtJKOnAiL0DRKKJvJPW9IPlSKVFhnFVSViTDmDbLlZcTSa/89WsdAf+O4ibV5muKm51B+bzYq/bhDbRy/LEzvXHmqMcatonRr6yDtgR38rG05hYjBSCISeTXtCNAuIIQoTjxsSLekZ6AeyUkzYPpaKNyPsHrmYKfop2G3P/7xDQLE7xMsCLuEofIPJKYLL1lI6qlJGW/Y+ZkQw2uW/JmUGtREMSRWd63xokbAnaDGTCtSIf7+yfS3ab8f/8En504G6VFsKznRl+Y7RYyhs9BhqP2jzCl0KUJP1mSzsRI35utWHSZmlyhJzAlhxXETvlJtk0UxAOBnbXQb2oqAnt7pkzeDz+jqOvEXPDehTHdTpI96cUxfQv4+HKHfPYJ8fElC7afT8MI0hd494lBxFw4eDHIL5vtQ3ACF4RIftk+FMhDx49DcNHMC5BLNj4kL4QBqZy0YO6nLaeYvTzsxTRV4jDjkco1vYXnO5F/S3dQnXYmqNNptg+bMMLXKPrsxaiOUZOh0CyWwKKXCgduhuN/dm4LDTL4IAg/c7OLqK4B4aDZTiFYHTTb34MAMxqPAGXxLeentquEd7Y7yczLnGnNErTQdPNMosdNwiJ3inXzo7AiT7Jzgo+CsEcrRJD4tamEd7jNuXWvlNWlvIozv/fwdZjgXohLXpoxpqeWyIWduPWx2WrNd0obxAeuO7lKApw0I45xIXZ9/6q5FW+Zn62dD3WWxxlx/G8P+VKCKQOSBX0Z1j8qUbBv1mQnL6ayu9doPNYzhXSLvcUivL6Ci2ZO4uPcAo+W3RTvGMTrJsvn8Xnnfh9JcfQdXJy6xcruVvlS9CMqlPqqkiyiGtGMtkylEWFvr6LkMkIrL0zi/p+obK3MktK1FLzypBisstxLWoq7MtoXv16S3Mjd4dQ55zNlVxDvVlkMFOzz++96WfWg/ZEyq4ny3+LG94fV9ly9+vd4ycVlZuFNxFdbMX4Qvjm2+aLyzDxIfOyp0fS6kpvTpXoLZ46s8ASNE9LZpRm6AfDz759oC7ExG2ZRuKBD0zDADinbOuERN0GfQbf87MK7bC6qHM47pBMIQkzDYT9TGV87eD89dWVPHsKssek1lSVlFqtTZGuS+1aC2yKDekWNnMeksoemsceo9MiE9b3JajDpW7pNf6/gYV79oxnquwXlG8E0JW1PB9+Fdhb4Dw37h6nNbsTLDdj2jXTWg7FTgeKUoFPbf7F7rb9Y95VuVbwZ3Jd7AX3xYsx2H3Oy47hGUND38xQWIbb3CfNd1lbyskDWhcEf0fnd02dxWiiPL4scNwGkqKjM9FaVG10LUOgEv/yS16D8K9tEIYHeTNUPVdg1th+0/MgSGfrfXNufsy5WrYh3rhsNx3Xfpcd9w9BFfecKVe+6+uqJ1rdNy9CHZ9wZXfrOggeCyBMI8Le//Q0EMftu+HDU02xKYArwBoovc3fe/FL/TgY7fIQgdBH4RB8oSUg38hFy3FtSZWIU4H1Sna+9YE726o67+fpIuW1j94quS2bUScAhbGoRN5tNoTiwpedmtausBkUNETFMzeP1vnjHK7KuuRSt41bSntvqRmgRrtBjzItA2NDpERZ+OBStqthWDgavXIVo/09Srir2Qcr93+iWqcYffhCPOKFX0PkNN1d+uSNrKsA+0Yeq8cFOE1L6rkrpbryWsDa2K1Q0lPObc0gifx8+e74PSYzAoydv9BsVpMCRgGTX7kIJloxf/jUKlvg2NNqMpfRNfnpdf43xMj5utS7+0bp8Rn+dIAoQRnFrddGWXl0++9jM/tt81qJqeChuNZ/tVE76pAA2Rdcf1bGXALIrImGVTjSGmqXlvyuxFqDu5f5NEcq/6DcHKm8QbLz1n72PSL80tIzQzPtSA9bPTzkE1sIGl6rqeafH833ypPW0Zm72TVQcOVOM3Eyj4/z7MlnHSduYimLHsM2w935PZ6v3pdf0RI0kQF+WiGjk33JemLleikXeDTsxw2Cr+sI3vizzLfctfrdobIzoj2nlv/5S0Ka/FLduiXf0twmzx4Y2Hq05J5ZIFTvOXzvJunLJ94LkiyTedccT2r2XUsXPb7X+WDNMbXTa+N8AAAD//5eBO8/qUgAA @@ -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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+Docker/CustomData b/pkg/agent/testdata/AKSUbuntu1604+Docker/CustomData index d1b1bc66c2f..90616828415 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Docker/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Docker/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Docker/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Docker/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/CustomData b/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/CustomData index 5fffba576b5..6c40ba58302 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/CustomData b/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/CustomData index 6ecb163da25..e3bca21a733 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/9xc/1ejSLb/PX/FHYYZdUaSEG3bsZfewQRtnvn2gNjTz3Y5GCqRkUAaCrtdzfvb36migIIQW9vZebPrnj6L1K17b33u16rC+f671pUXtK6c+LqhGYZtfjAtbdC1+rZpqYZln6h6X9kHOtbtjyY9Wx/qlm3pA200sZRX6ciJ3tfs96rVfZePHKQj70b9nv1e7evDyW/qqTa0lNfpgKH1NdXUaggOUwJ1bNn60LTUfj9n+ks61Bt1zzRjbbTTLg33Ru+H/ZHaK8bl0viZ9qGGplOiIUoQunx4rzTMYdRhIA1Gxx/otL5uFjh1GFAD0z4dn24QfcBxWFsbg607GlqqPtSM3joJA86YDLvrgwy6s0OTEAz14Wk+ttcuxta02mOgnU2ONeIWw5Fln4wmw56yx6DSB6c10/aKaX3N4pHa2y9bcXBqjyecqnuv1pbateroDtbpDJ3ouE66GT3qutyiDtcozzXD1EdDWx+eq329p+wxKLtDfX3d+3Ju6LEx6tk97biGqLNOND47tdVejwUcQ29kqJxJNMMYGco+gyeNVG4hdOJh5kO9sTE61thbpvFoYh2TVZLVDdOhV5zt1bFum5pxrhk8gVxL0Buadn80OpuMGVmnlkz9n4mhrRNnzqFaan0sHLQ5imoQHsjcYNXRD5gi5+96VdserDvWmuDXbS6I1keZ5O7EtEYD29RUo/vO7o0Gqj4007UdMgan48n6/MM9btDQiWfxkXG4vz5cXd/hK45GO9e7mj3uT071YYnRQUGkD09GtjEa2N2RYUzGltZTDlk4mKe/bZTzS3udhpPwi1xk6Z6q9wvr/MLl78m4p1paMZRFjqkRxz/XaVyZXUMfW9ROhqb2Ck5yu80JIel0Mj411J7GUXBqjCfGKXN4ud3Jg4QkBEMjZlDkNsO/q5u2apr66dA2RiPLHr9XZFleG6P+M9aMgW4STRVZZmzHKk1d3dH4AyVSZJnnPB73P9hj1TTfjwwabCf6qSLLlcDNa8iIhYUsZxktTWNr7iPLr0sEo7FmqBbBME0NspxlL8uoGfwFGilYNChNS+2e2aeaZavGwLZGZ9pQkbMSWiUZatb7kXHG1jJJGStyVlGr5ObkeKhZ9tjQTvTfFJkU1Twojyd6P8tlMqmLKSjv1bHdNTTiLikYWVXiR/ShOTk50bu6NqQecWabY7WrKTKpUpTa0vraeGRYvVLaVOQszxXjmcOnw9lCDEs/UbukXhmaOiBVMuOjyFmOqyFizBSZpLa08bGsMXHy3z7YXZXgdq4ZliJniY1FBhnSDMtU5IO8OWFqm1qXgGr1Tft4NLJMy1DHeTnVftO6Wdzn3nGQGbinm8dqX7P1saUe9zVTkUlaS3OmMTEtwmHdubLk1tNNMss2zXeK/DrzeEMfqMYHe6h3bX3MJVX5NfN8fWhqhmXrg55pG5ppERcl3mdMiCZDa2QP1OFpX7OpTor8ev+p8070vqUZ+TwWRj0ChLZh3glJeBV5B0+dV5H3mnNeQyO2sA3tvye6ofWUTpaihiOaFNRTzWTAdLLcZA7VsflulGdDvmlsZ5ExNvRzMkjqJ2kFiFd2snRFXvLu2mnvZ2GTt+sD1TxjTNlY19B62tDS1X6abHu1PXE7i0DSzlRbnU77ABqNohWhTRXRhmn/Gipj5D1BlVR/W1Y67cMqBVd836vmQOm0f3mUyZ7SkduPUuwrnSx3b6B4pXTkDBXWh2ROnvenmnFOAplEo36id4ktjJGVJlBLPVU68l6j4c1g5gUutBCegoTvlghmuz5IgbNAIPwkRchHTowEkJaRF2CQPiUehs7blotuW0Hi+/AA8wgtQfoEW82tN4CvUdAAABiZirgdhxEGKaLsWzk3Msf5fANbCwdPr7fF9i60/rGt9+y+fqYp29MwQmG886D3lO3mTzs7YmsXnB24h1QFHCbLJYq2nYvOJTgXe5c7bwB98TCstnaY5Mzsz9Qgd5ZnC4YHwBFILmwJWzsN5MeIaoKm1yEIFdFBiGEWJoErNGZeozE5ngytiT0y7aE60BQh/V1oDFSDOFUxwF4UI7RbrA6Tl0KDli+6Ay0IindCg+19lFYSRy0/nDo+3TTfJFdoiv1GWsjTUfLeDac3KGqgL0uCJm3UzhVBvC/augzxI2UllOg00+KlBLee6zlMQG4muSnvNWVJzmYOz/Wermas9YF6qtnmOzUTmb/gpdXNIW6eqXm+ksT7DYzXuHALsz6MtcpayauviFaExTRqLrxpFMbhDDen4aLl3MTknzRfJoUqFbYFU9LxpN1umia7g54iTImXBXBzGDe9EKIkAIkE5q3nozlyQZKiBUhSgLB0HcYYJOmzh6+lIIal5x61llE4bcmtIG4tPUK8CBPi1ndLpFx5gbsbR1OlFS5xa75Mdt0YK61FkP4SLrEXBrESEbrHZjpTSljMzl6UOOSLZH6wts7U4eoWGCCssLUtPZc93kKm9lGmcv6SKXDEa0OBEhqkx+6q3Xea3dMNpXXrRK2pM71GLYfMi6bX3i2KWw3SL6tD0qBxxFEYYkKXTmho59rQInvC01PaYmX8/HDecv6ZRKg1yH1BJb83tS8YBTHRptlNYhwuzGnkLXEL3aIAx61Gd2L0yf52PLGUFl4sW9Mk8u1bFF2FMWqGCW7Q2sBThJETr1MY2qluWsYH1uqm7T3NSYS+NQ2DmTdv3jkLHxqNCOHobrpwbW9mzxzPTyK0vQP3NJuRMQ/Fiii/gc+Oh+3YR2ipiJ03gL0FChOsiHtvIL72Zhh+/LHyQFnMwgg88AIQt2P0CWQQGdOdN+CGlIT8MHYgZg+CeP/rSiC8riLk3MDDA3zMqb0ZXIDogYQ+5fzgkitF2Q9Nx9oXNE0wcuGjIP76USATiZT4TYk0QjiJApDzl3lOz37o4kEsgMhHZx59dMOAqwKbxa4K0IPYD8ObZJlDzsMsczATyEPs+DYPfISmYeQq4j6dGmMnwnRcEbddByP4+Yc4LZCfrz0fAY4SVEI9kw5SzjXDX6IqKm2CLxGywRLTJIpQsEFqYartbZ4QJE7XnR2Q5gjE0uo2G1OwCB3nL6VpESLB6e4+a2XE65ErPO4NzMSb/SA3/qOQpGvIXeNZaobR14CM0TQM3FgouVgR13YQ2jF2cPxXCHAS3y8N7z8qZjm05gjb2ImuHN/PUcJOZD+GVEpOkUoiPwvH1NTiPTd7lQEubICOo63A50Qg4X/OKAmR9hToOG7fCF9mrIM2cWsfpFls9m9BpM9hocxbELnqBZ23P8olPkStCxD/Dt8p0IbLOmVo6Di4xKhEwEXgSy1rz6JwYUdo7sU4urNJy2ST0vhCi5NZs9B3UUTi3ovSLVUGkrDzn+gWBDZYkm0h7xQMBtJ1MZCltOsA8X5ji7IibsS1OC9zI47RH+5GV17gRHdf9SJG9ogjMYqlg6+rzpTJWPcnblLFp8oCK261wbfKc8ruRd1GmlVk1joNdbrNHlNywLJI2GTGNT+s5fx1fywh+Ue75DPc8quuWeOej7toZcIGj6XbiJnnF309ffPE2k8mpv65z/zzVcnneF5fTWQ8cdnVLqijiZk0uLzMU1l9FuNZvTCN5T1JbY3LVSK2hwfACJWrXXE09lepeZRgFkZlqz9i8MLIe5R06dwil+3v6V526oeJK3mBhyVCGzcpBaVNDwNPPhFnyPisBBApBTEiM0T7Oe1iznTre210ssVZ4XGv+DO6RUqJXJA8EFpEvZYrFAoWwVHo/PYtg6OxasR3MUaLKSbOS5v35zXjEN9OSR3IysS3tt+5GuA6aBEGUoT80HGfMoHpDSJT5U/o4nPZZPuSxIVoSQpCaenMSWIvh9/vYRIFjk8mSUk+4ZvCqTBZjMPlv529iNJ/prGejarrxc6Vj/7tgGV6/zWxTTMMWcrzcH0pmDTgpBSkvw4gtyiKvTCw5zhzM4xiDIK4TW96ZrD1Q/wx2AJB/FWAB2B3SOfwANfIcUEKQN4RQFFAEGWhsWoU3qsFxAfUwDVLyXwtzYPcbsMr2GuDmK7H0NJbVNNSrYmpiH9v1Kc6uZzk4C1UzplFWUppm344bxQAlwWAFCDSh1RgZm2cDNMw8V16VXWF0lMl/kysZAkGrTeD76DmmAnkDllp5xW3GBSkkSI/SXxK7cLVXcFisy68NXppSFJzcKnam3G6+F6MpSTwcAySNCNbBUlySveagig3YxTdelMkVBQu1wLIVirKxMU3gRkulzyYa5nvSWwYLePD1o0Wtyjqhoulwx3bZ7eaqiJup50I6VunCQbJBeFngXTa8k6J9Dgn7WwivbggHV7Oe8XCIX9zvBJY115q+EgoITdnzzEAfm56n7pF/kfiMAvBc0iFX3vzaxTj8zSMFXFbPzGVfA+SylgJueoiZSLNOo+oLt6Xma7qtM99bdVww88BSac9dDW+mVvhCd9bj89O00tXFtzk9/xKupO/6umG1rVGxocs0S5uXC8CaQliaThtwpP42gXxvjSyyjP5WtQRHzpot8FZYmmOMGQKMxZEvZWSPjPVVj+lgsIl6UydJaanG9k8trhHqkb5OPhNA4De+ZIpCsGPraB060YcnIvgJ1Qad3kzB4nt1slKJYcEbhhNEX3pollxdUJ2PWQhfji9ienrDA4phN7yZn50NEovJo+OFJ5L6LsFYtJd9QKq8bXCRRctv6Elar0svUmTJts/EMArOLBHwrWxaswR7o4najS9zj3MiabXiridpG3vYqfB7THvyeDu7opGpEN+OdgXiIDKSLQg79f3omkcpcONtTrLRhduNkpzjxerxuBgn0+xRJXtQvUdXmi9THmDtDaX47zYYAc2k6g4k08djR3t0GMJmUUGO46L0Bx9Ubb+0fz5Yyv9d9T8WdwqwVZMX4HyvwR8fnKuM1RLTxv4OphZEYi2fjiPbRza6aVuRV3sxDc0jorrk3QgpSYZZeiUbo1+2BvuNDhCWpgt/mZJ+OEEfrCaP+wN2WEg8dtMr6yrYFICd/NUSvd7HAZ2jCMvmCviNvz+iXQ+ReMmSU40B8Ijxs5iCUCTb6bSSlgjHS1R5JBo011CyhSoIWQ5mL4R5GZnb53EcuIbgg6kYgmWNYw0gmQf3SIfQNCDWRgtqAKOv047QHHszFEqlBRRH2HkHoH40wa+Y8+ltO0N41bd+NZ9DtgRiPnzLg/OEYjcb7sZHEcgsqfdfPmEB3vc5VZ7BGLxy262tCMQ2dNuvoKMcuy5u7na2UvLc1dpjHAny+I95xf0SPR+/euHlXhf9uJVk8xqFIlTIMlNgO8UClA5H/Dpj2tvrkkDZMc33tJOvyOy3cgjvXzRZ5PM/iU9MQ/dO0XcLg7xQHoHwgBhx3Wwc0SvvwXaTC+j8MsdCD8JIFxjvDxqteSDX5qdV/tN9v+tBZvV8oIYO8EU/d1ZehLbRSiddkeW2h2pLbOY40LtW5ZKF1KsNWuWBJEsiXQ1JBARbDWn4WKZYNTEzjzuezGGB1g4y+0Y+WiKt5u0NjzQrc22YN54y9Nl0qOA6WQZvi+8AcETdnZ2LtqXzVvHTxC0WiDMHD9GQj6TApVSbpUuGDgdBc4+rDO1b5Ir5CNs09Y5mNtTFGFv5k0djOwoxNS7/2MNx0Cot11UY7uLS9Ll8paj5fImlhgrieEpMTwlDk8pw1PYgQdITVlrK8ZLSCvpwIm8AEWjiH6R1PeC5EulRIVxVklZkQxj2ixXPk4kvfLDQx0B/43iOtX6Z4rrnUH5vNir9uENdOv4Y2d648xRjzVsE6NfWQdtCe7lI2nFLUYKQBCTyK9pR4BwBSFCceJjRbwnPQH3SUiaB9PRRuV8gtczBT9FOw25//rENAsTvEywIm4Th8g8kpgsvWUjqqUkZb9j5mRDDa5b8mZQa1EQxJFZ3rfGiRsCdoMZMK1Ih/v7J9Ldpvx//wSfnTgbpUWwrOdaX5jtFjKGr0CGg/a3MKXQpQk/WZLOxEi/m61YdJmaXKEnMCWHFcRO+U22TRTEPYGdtdC/1FQE9vVMmbwffkZR14m54L0PY7qdJHvSiyP6FfDR5RZ59gnx0SULtu9PwgjSD3h3iUHEXDh4MciHzfY+OIELQiQftvcF8tLx4xBcNPMC5JKND8kLYUAqJy2Yu2nLKWYfD3sxTZU4zHikck1v4flO5N/RHVSnnQnqdJrt/SaM8DWKPnsxqmPUZCg0iyWw6KXCgZvh+J+du0KDDD4Iws/c7CKqa0DYa7ZTCG73mu3nIMCMxiNAWXzN+antKuGd7U4y8zJnWrEELTTdPJPocZOwyJ1i1fwo3JI32TnBR0HYoRUiSPzaVMI73Prcuk/K6lJexZnfe/g6THAvxCUvzRjTU0vkwlbc+thsteZbpQ3iE9edXCUBTpoRx7gQu3p81dyKN8zP1s6HOsvjjDj+l4d8KcGUAcmCvgzrH5Uo2F/WZCcvprK902i81DOFdIu9wSK8voKLZk7i49wCL5bdFO8ZxKsmy+fxeedxH0lx9B1cnLrFyvZG+VL0LSqU+qqSLKIa0Yy2TKURYWenouQyQrdemMT9P1HZWpklpWspeOVJMbjNci9pKe7LaF/8eklyI3eHU+ecPyvbgnh/m8VAwT6//66XVQ/aHymzmij/JW78eFhtztW3/xovubjMLLyO+O1GjJ+Eb45tvqg8Mw8SH3tqNL2u5OZ0qd7CmSMrPEbjhHR2aYZuAHz/+yfaQqzNhlkULujQNAywQ8q2TnjETdBn0C2/u/Aum4sqh/MO6QSCENNw2M1UxtcO3k1PXdmbpzBrrHtNZUmZxeoU2ZjkvpbgNsigXlEj5yWp7Klp7CUqvTBhPTdZDSZ9S7fpf6/gaV79rRnq2YLyjWCakjang2ehnQX+U8P+aWqzG/FyA7Z5I531YOxUoDgl6NT2X+xe6y/WfaVbFW8Gj+VeQF+8GLPdx5zsOK4RFPT9PIVFiO19wnyXtZG8LJB1YfBHdH6P9FmcFsrLyyLHTQApKiozvVXlRlcCFDrBjz/mNSj/k22ikEBvpuqHKuwamw9avmWJDP2vru3PWRerVsQ7V42G47pn6XHfMHRR37lC1buuvnqs9W3TMvThKXdGl36z4IEg8gQC/O1vfwNBzP42fDjqaTYlMAV4C8Ufc3fe/lj/TQY7fIQgdBH4RB8oSUg38hFy3DtSZWIU4F1Sna+9YE726o67/vlIuW1j94quS2bUScAhrGsRN5tNoTiwpedmtausBkUNETFMzevVrnjPK7KquRSt41bSntvqRmgR3qKXmBeBsKbTCyz8dChaVbGtHAxeuQrR7p+kXFXsk5T7/9EtUy31iO/faf2xZpja6KTxfwEAAP//TkMp6r9OAAA= + H4sIAAAAAAAC/9x8fXebSLL3//oUNQwZ24mRhOw4ibNkB0vY4YneHkDO5DpeDhYtmTECBRolXkf72e/ppoEGIceJZ+fObvbsGZmurqr+1Wt3I/38U+vKC1pXTnzd0AzDNj+YljboWn3btFTDsk9Vva8cAh3r9keTnq0Pdcu29IE2mljK83TkVO9r9nvV6r7NR47Skbejfs9+r/b14eQ39UwbWsqLdMDQ+ppqajUEL1MCdWzZ+tC01H4/Z/oqHeqNuu80Y2O00y4N90bvh/2R2ivG5dL4O+1DDU2nREOUIHT58EFpmMOow0AajE4+0Gl93Sxw6jCgBqZ9Nj7bIvqI47CxNgZbdzS0VH2oGb1NEgacMRl2NwcZdO9emoRgqA/P8rGDdjG2odUBA+3d5EQjbjEcWfbpaDLsKQcMKn1wVjPtoJjW1yweqYPDshUHZ/Z4wql68HxjqV2rju5ok87QiY6bpNvRo67LLerlBuW5Zpj6aGjrw3O1r/eUAwZld6hvrvtQzg09NkY9u6ed1BB1NonG785stddjAcfQGxkqZxLNMEaGcsjgSSOVWwid+DLzod7YGJ1o7CnTeDSxTsgqyeqG6dBzzvbqWLdNzTjXDJ5AriXoDU27Pxq9m4wZWaeWTP2fiaFtEmfOoVpqfSwctTmKahAeydxg1dGPmCLnb3tV2x5tOtaG4BdtLog2R5nk7sS0RgPb1FSj+9bujQaqPjTTtb1kDM7Gk835Lw+4QUMnnsVHxsvDzeHq+l4+52i0c72r2eP+5EwflhgdFUT68HRkG6OB3R0ZxmRsaT3lJQsH8+y3rXJetTdpOAmv5CJL91S9X1jnFZe/J+OeamnFUBY5pkYc/1yncWV2DX1sUTsZmtorOMntNieEpNPJ+MxQexpHwakxnhhnzOHldicPEpIQDI2YQZHbDP+ubtqqaepnQ9sYjSx7/F6RZXljjPrPWDMGukk0VWSZsR2rNHV1R+MPlEiRZZ7zeNz/YI9V03w/MmiwnepniixXAjevISMWFrKcZbQ0jW24jyy/KBGMxpqhWgTDNDXIcpa9LKNm8BU0UrBoUJqW2n1nn2mWrRoD2xq904aKnJXQKslQs96PjHdsLZOUsSJnFbVKbk5Ohppljw3tVP9NkUlRzYPyZKL3s1wmk7qYgvJeHdtdQyPukoKRVSV+RB+ak9NTvatrQ+oR72xzrHY1RSZVilJbWl8bjwyrV0qbipzluWI8c/h0OFuIYemnapfUK0NTB6RKZnwUOctxNUSMmSKT1JY2PpY1Jk7+2we7qxLczjXDUuQssbHIIEOaYZmKfJQ3J0xtU+sSUK2+aZ+MRpZpGeo4L6fab1o3i/vcO44yA/d080Tta7Y+ttSTvmYqMklrac40JqZFOGw6V5bcerpJZtmm+VaRX2Qeb+gD1fhgD/WurY+5pCq/YJ6vD03NsGx90DNtQzMt4qLE+4wJ0WRojeyBOjzrazbVSZFfHD503qnetzQjn8fCqEeA0LbMOyUJryLv6KHzKvJecM5raMQWtqH9/4luaD2lk6Wo4YgmBfVMMxkwnSw3mUN1bL4d5dmQbxrbWWSMDf2cDJL6SVoB4pWdLF2Rh7y7dtqHWdjk7fpANd8xpmysa2g9bWjpaj9Ntr3anridRSBpZ6qtTqd9BI1G0YrQpopow7R/AZUx8pygSqq/LSud9ssqBVd836vmQOm0X93L5EDpyO17KQ6VTpa7t1A8VzpyhgrrQzInz/tTzTgngUyiUT/Vu8QWxshKE6ilnikd+aDR8GYw8wIXWghPQcK3SwSzfR+kwFkgEJ5KEfKREyMBpGXkBRikT4mHofOm5aJVK0h8H77CPEJLkD7BTnPnNeBrFDQAAEamIu7GYYRBiij7Vs6NzHE+38DOwsHT612xvQ+tf+zqPbuvv9OU3WkYoTDe+6r3lN3m0709sbUPzh7cQaoCDpPlEkW7zkXnEpyLg8u914C+eBjWO3tMcmb279Qgd5bvFgxfAUcgubAj7Ow1kB8jqgmaXocgVEQHIYZZmASu0Jh5jcbkZDK0JvbItIfqQFOE9G+hMVAN4lTFAHtQjNBusTpMHgoNWr7oDrQgKJ4JDbb3UVpJHLX8cOr4dNN8k1yhKfYbaSFPR8lzN5zeoKiBviwJmrRRO1cE8a5o6zLEj5W1UKLTTIuXEqw813OYgNxMclM+aMqSnM0cnus9Xc1Y6wP1TLPNt2omMn/AS6ubQ9w8U/N8LYl3WxhvcOEWZn0Ya5W1kkffEK0Ii2nUXHjTKIzDGW5Ow0XLuYnJ/6X5MilUqbAtmJKOJ+120zTZHfQUYUq8LICbl3HTCyFKApBIYK48H82RC5IULUCSAoSl6zDGIEmfPXwtBTEsPfe4tYzCaUtuBXFr6RHiRZgQt75dIuXKC9z9OJoqrXCJW/Nlsu/GWGktgvSPcIm9MIiViNDdN9OZUsJidvagxCFfJPODjXWmDle3wABhha1t6bns4woytY8zlfOHTIFjXhsKlNAgPXZX7b7V7J5uKK2VE7WmzvQatRwyL5peeysUtxqkX1aHpEHjiKMwxIQundDQzrWhRfaEZ2e0xcr4+eG85fwziVBrkPuCSv5ual8wCmKiTbObxDhcmNPIW+IWWqEAx61Gd2L0yf52PLGUFl4sW9Mk8u0Viq7CGDXDBDdobeApwsiJNykM7Uw3LeMDa3XT9p7mJELfmobBzJs3b52FD41GhHB0O124tjezZ47nJxHa3YM7ms3ImIdiRZRfw2fHw3bsI7RUxM5rwN4ChQlWxIPXEF97Mwy//FL5QFnMwgg88AIQd2P0CWQQGdO91+CGlIT8Y+xAzD4I4t2va4HwuoqQcwNfv8LHnNqbwQWIHkjoU84PLrlSlP2j6Vj7gqYJRi58FMRfPwpkIpESvy6RRggnUQBy/jDP6dk/ungQCyDy0ZlHP7phwFWB7WLXBehB7IfhTbLMIedhljmYCeQhdnybBz5C0zByFfGQTo2xE2E6roi7roMRPHsSpwXy87XnI8BRgkqoZ9JByrlm+EtURaVN8CVCtlhimkQRCrZILUy1u8sTgsTpurcH0hyBWFrddmMKFqHj/KU0LUIkON3971oZ8XrkCvd7AzPxdj/IjX8vJOkactf4LjXD6FtAxmgaBm4slFysiGs7CO0YOzj+KwQ4ie/HhvcfFbMcWnOEbexEV47v5yhhJ7LvQyolp0glkZ+FY2pq8Y6bvc4AF7ZAx9FW4HMikPA/Z5SESHsIdBy3H4QvM9ZRm7i1D9IsNvsrEOnnsFDmDYhc9YLOm1/kEh+i1gWIf4efFGjDZZ0yNHQcXGJUIuAi8LGWtWdRuLAjNPdiHN3apGWySWl8pMXJrFnouygice9F6ZYqA0nY+290CwIbLMm2kHcKBgPpuhjIUtp1gHi3tUVZEzfiWpzHuRHH6A93oysvcKLbb3oRI7vHkRjF0sHXVWfKZGz6Ezep4lNlgRW32uJb5Tll96JuI80qMmudhjrddo8pOWBZJGwz44Yf1nL+tj+WkPyjXfI73PKbrlnjnve7aGXCFo+l24iZ5xd9PX3ywNpPJqb+ecj883nJ53he30xkPHHZ1S6oo4mZNLi8zFNZfRbjWT0yjeU9SW2Ny1UitoevgBEqV7viaOyvUvMowSyMyla/x+CFkQ8o6dJZIZft7+leduqHiSt5gYclQhs3KQWlTQ8DTz8RZ8j4rAUQKQUxIjNE+3vaxZzpzs/a6HSHs8L9XvFndIuUErkgeSC0iHotVygULIKj0PnNGwZHY92Ib2OMFlNMnJc279/XjEO8mpI6kJWJH22/czXAddAiDKQI+aHjPmQC0xtEpsqf0MXnssn2JYkL0ZIUhNLSmZPEXg6/38MkChyfTJKSfMIPhVNhshiHy/84exGl/0xjfTeqrhc7Vz76jwOW6f3XxDbNMGQp34frY8GkASelIP11AFmhKPbCwJ7jzM0wijEI4i696ZnBzpP4Y7ADgvirAF+B3SGdw1e4Ro4LUgDyngCKAoIoC411o/BeLSA+oAauWUrmG2ke5HYbnsNBG8R0PYaW3qKalmpNTEX8e6M+1cnlJAdvoHLOLMpSStv0w3mjALgsAKQAkT6kAjNr42SYhonv0quqK5SeKvFnYiVLMGi9GfwENcdMIHfISjvPucWgII0U+UHiU2oXrm4LFtt14a3RS0OSmoNL1d6M08X3YiwlgYdjkKQZ2SpIklO61xREuRmjaOVNkVBRuFwLIFupKBMX3wZmuFzyYG5kvgexYbSMD1s3WqxQ1A0XS4c7ts9uNVVF3E07EdK3ThMMkgvCM4F02vJeifQkJ+1sI724IB1eznvNwiF/crIWWNdeavhIKCE3Z88xAH5uep+6Q/5H4jALwXNIhV9782sU4/M0jBVxVz81lXwPkspYC7nqImUizTr3qC7elZmu67TPfW3dcMPPAUmnPXQ1vplb4SnfW4/fnaWXriy4yd/5lXQnf9TTDa1rjYwPWaJd3LheBNISxNJw2oQn8bUL4l1pZJ1n8o2oIz501G6Ds8TSHGHIFGYsiHprJf3MVFs/TQWFS9KZOktMTzeyeWxx91SN8nHw6wYAvfMlUxSCH1tB6daNODgXwQ+oNO7yZg4S262TlUoOCdwwmiL60EWz4uqE7HrIQvxwehPTxxkcUgi95c38+HiUXkweHys8l9B3C8Sk2+oFVONbhYsuWn5NS9RmWXqdJk22fyCAV3BgHwnXxroxR7g7nqjR9Dr3MCeaXivibpK2vYu9BrfHvCOD+/trGpEO+ePoUCACKiPRgjzf3IumcZQONzbqLBtduNkozT1erBqDo0M+xRJVdgvV93ih9TLlLdLaXI7zYoMd2Eyi4kw+dTR2tEOPJWQWGew4LkJz9EXZ+Ufz2cdW+v/j5jNxpwRbMX0Nyr8I+PzkXGeolp428HUwsyIQbf1wHts4tNNL3Yq62IlvaBwV1yfpQEpNMsrQKd0aPTkY7jU4QlqYLf5mSXhyCk+s5pODITsMJH6b6ZV1FUxK4G6fSul+j8PAjnHkBXNF3IXfP5HOp2jcJMmJ5kB4xNhZLAFo8s1UWgsbpKMlihwSbbpLSJkCNYQsB9MngtzsHGySWE58Q9CBVCzBsoaRRpDsoxXyAQQ9mIXRgirg+Ju0AxTHzhylQkkR9RFG7jGIT7fwHXsupW1vGbfqxnfucsCOQcw/7/PgHIPI/bWfwXEMIvu0ny+f8GAf97nVHoNY/LGfLe0YRPZpP19BRjn23P1c7eyh5bnrNEa4k2XxjvMLeiR6t/n2w1q8K3vxuklmNYrEKZDkJsBPCgWonA/49Me1N9ekAbLjG29pp+8R2W7kkV6+6LNJZv+SnpiH7q0i7haHeCC9BWGAsOM62Dmm198CbaaXUfjlFoSnAgjXGC+PWy356FWz8/ywyf7bWrBZLS+IsRNM0d+dpSexXYTSaXdkqd2R2jKLOS7UfmSpdCHFWrNmSRDJkkhXQwIRwU5zGi6WCUZN7Mzjvhdj+AoLZ7kbIx9N8W6T1oavdGuzK5g33vJsmfQoYDpZhu8Lr0HwhL29vYv2ZXPl+AmCVguEmePHSMhnUqBSyp3SBQOno8DZh3Wm9k1yhXyEbdo6B3N7iiLszbypg5EdhZh693+t4RgI9baLamx3cUm6XN5ytFzexBJjJTE8JYanxOEpZXgKe/AVUlPW2orxEtJKOnAiL0DRKKJvJPW9IPlSKVFhnFVSViTDmDbLlZcTSa/89WsdAf+O4ibV5muKm51B+bzYq/bhDbRy/LEzvXHmqMcatonRr6yDtgR38rG05hYjBSCISeTXtCNAuIIQoTjxsSLekZ6AeyUkzYPpaKNyPsHrmYKfop2G3P/7xDQLE7xMsCLuEofIPJKYLL1lI6qlJGW/Y+ZkQw2uW/JmUGtREMSRWd63xokbAnaDGTCtSIf7+yfS3ab8f/8En504G6VFsKznRl+Y7RYyhs9BhqP2jzCl0KUJP1mSzsRI35utWHSZmlyhJzAlhxXETvlJtk0UxAOBnbXQb2oqAnt7pkzeDz+jqOvEXPDehTHdTpI96cUxfQv4+HKHfPYJ8fElC7afT8MI0hd494lBxFw4eDHIL5vtQ3ACF4RIftk+FMhDx49DcNHMC5BLNj4kL4QBqZy0YO6nLaeYvTzsxTRV4jDjkco1vYXnO5F/S3dQnXYmqNNptg+bMMLXKPrsxaiOUZOh0CyWwKKXCgduhuN/dm4LDTL4IAg/c7OLqK4B4aDZTiFYHTTb34MAMxqPAGXxLeentquEd7Y7yczLnGnNErTQdPNMosdNwiJ3inXzo7AiT7Jzgo+CsEcrRJD4tamEd7jNuXWvlNWlvIozv/fwdZjgXohLXpoxpqeWyIWduPWx2WrNd0obxAeuO7lKApw0I45xIXZ9/6q5FW+Zn62dD3WWxxlx/G8P+VKCKQOSBX0Z1j8qUbBv1mQnL6ayu9doPNYzhXSLvcUivL6Ci2ZO4uPcAo+W3RTvGMTrJsvn8Xnnfh9JcfQdXJy6xcruVvlS9CMqlPqqkiyiGtGMtkylEWFvr6LkMkIrL0zi/p+obK3MktK1FLzypBisstxLWoq7MtoXv16S3Mjd4dQ55zNlVxDvVlkMFOzz++96WfWg/ZEyq4ny3+LG94fV9ly9+vd4ycVlZuFNxFdbMX4Qvjm2+aLyzDxIfOyp0fS6kpvTpXoLZ46s8ASNE9LZpRm6AfDz759oC7ExG2ZRuKBD0zDADinbOuERN0GfQbf87MK7bC6qHM47pBMIQkzDYT9TGV87eD89dWVPHsKssek1lSVlFqtTZGuS+1aC2yKDekWNnMeksoemsceo9MiE9b3JajDpW7pNf6/gYV79oxnquwXlG8E0JW1PB9+Fdhb4Dw37h6nNbsTLDdj2jXTWg7FTgeKUoFPbf7F7rb9Y95VuVbwZ3Jd7AX3xYsx2H3Oy47hGUND38xQWIbb3CfNd1lbyskDWhcEf0fnd02dxWiiPL4scNwGkqKjM9FaVG10LUOgEv/yS16D8K9tEIYHeTNUPVdg1th+0/MgSGfrfXNufsy5WrYh3rhsNx3Xfpcd9w9BFfecKVe+6+uqJ1rdNy9CHZ9wZXfrOggeCyBMI8Le//Q0EMftu+HDU02xKYArwBoovc3fe/FL/TgY7fIQgdBH4RB8oSUg38hFy3FtSZWIU4H1Sna+9YE726o67+fpIuW1j94quS2bUScAhbGoRN5tNoTiwpedmtausBkUNETFMzeP1vnjHK7KuuRSt41bSntvqRmgRrtBjzItA2NDpERZ+OBStqthWDgavXIVo/09Srir2Qcr93+iWqcYffhCPOKFX0PkNN1d+uSNrKsA+0Yeq8cFOE1L6rkrpbryWsDa2K1Q0lPObc0gifx8+e74PSYzAoydv9BsVpMCRgGTX7kIJloxf/jUKlvg2NNqMpfRNfnpdf43xMj5utS7+0bp8Rn+dIAoQRnFrddGWXl0++9jM/tt81qJqeChuNZ/tVE76pAA2Rdcf1bGXALIrImGVTjSGmqXlvyuxFqDu5f5NEcq/6DcHKm8QbLz1n72PSL80tIzQzPtSA9bPTzkE1sIGl6rqeafH833ypPW0Zm72TVQcOVOM3Eyj4/z7MlnHSduYimLHsM2w935PZ6v3pdf0RI0kQF+WiGjk33JemLleikXeDTsxw2Cr+sI3vizzLfctfrdobIzoj2nlv/5S0Ka/FLduiXf0twmzx4Y2Hq05J5ZIFTvOXzvJunLJ94LkiyTedccT2r2XUsXPb7X+WDNMbXTa+N8AAAD//5eBO8/qUgAA @@ -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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/CustomData b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/CustomData index 24b064011c7..c522a9bbd65 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 | - 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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+GPUDedicatedVHD/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line40.sh index bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S115/CustomData b/pkg/agent/testdata/AKSUbuntu1604+K8S115/CustomData index d1b1bc66c2f..90616828415 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S115/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S115/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S115/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S115/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S117/CustomData b/pkg/agent/testdata/AKSUbuntu1604+K8S117/CustomData index 6ecb163da25..e3bca21a733 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S117/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S117/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S117/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S117/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S118/CustomData b/pkg/agent/testdata/AKSUbuntu1604+K8S118/CustomData index 6ecb163da25..e3bca21a733 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S118/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S118/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S118/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S118/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/CustomData b/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/CustomData index 4dc51ad8ffb..8378f0d59b8 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 | - 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 @@ -37,7 +37,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/+x9bXfbNvLv678+xZRhYykJKdvp7uZ6q2xVWUl1bUs6kpzu3sTVoUlIYk2RKgDKdhTez34PAD6AJCjJdrrt7rndc5KNAAxmBoOZHwYPfPZN89r1m9cWWdRqnc503B196HW6015/OrkYtprBijatzyFGTTvwqeX6CJOmbRsrHNzdmwThtWsj0/V520HnrDvZt2lg3yDKW/Z7086g/673fnraG7W0JqJ20/bdpo+o6Wi8/MdePy5kVFnhtetrtWeTwekAVqHnAV24BIKQQjADO1iuAh9Rn5i/ksAHGgT/4GROBz/3zwft03GBmBPc+l5gOUSrdUa9zuQ8rSlXxK5NPUXdjLmQ4KYX2JYn2OsM+pN2r98dnap7TtTiyERHl/2OsjoOfVuuePZmrKx3E14j7COKSLH2cNT70J50p8N256z9vjuedtqdn7o7mjZX2F1bFBkry76x5iimNeq+740no39NR93hoKUFhDCZLewiIpHRapc/XvYnl9NR97zbHndbet0j11OMPGQRBAYGgzRqg3FLr7sz8AjwwX9hJBWO3kLTQeumz4b4+O3zo78DXSAfSIApa12o/gXm1u0NHCwtai/q+uEraP5S751Oz3tn3VbdDjAKSONL77RVN180GnrzFVgN2MAKuz4FGoSrFcJ16+PxFVgfX181/g7ozqUQHfwdZm6jNu52Lkfd6eR8PP1xMJiMJ6P2cHp2+WP3vDuZdv/Z7UyH55fvmTGUjUdMBOqR6yCghGJrpe1P70N3NO4N+i1tfWgemYeG5a0Wlnms1Sbd8+5wMJqcbumZIg+tAkydvOV2T7v9Sa99Ph2OBh96p92R2uSRg3zqWt4KB2vXQXgXkWwurC3c9NxrbgwekmkZCTGFAJVz6aLd773rjifTd73z7rA9+Smn2KXluzNEKJ/vbOJdDAf9bn8yVlePHYRPSdzgot2fnv44bV9OBtPL4SmbJO/O2+/l1ok8S8s3nOumFdLACFeORZFW61yOzqeDy8nwctJq0uWqaYfYm64Rvg4IMoOQJtNgMJ722xfdlib+zToeMQeRFcQ/aLXO8HLaHnV+amlazUG2Z2EEhgU/t8cX4596F8Pe6bhVb8hF42Gvz8wnKaoRRDvDyza2F/UGbGoAAClVvT5PSxu1qFbDaBms0YXln163QxpcctHeedb8neuhtD1egjEDfZe+GEEbI4vuJEiD0F7sSdBDlh+uOqnbPPUYKZJjDs9Ar/K7jIjrE2p5XkbkZ5cuOqk9/G8S+Cm9gLT0TX7kIl7gzuDjRzA+g6bn/ZsGV1fCRfF6KZHBOJJ+YJZB3MBvaXaIMfKpxguRR5CyVspE3Esk6s9c/hf/I4slQ+GmW3r9199AM4eJ1wZNV0wLDb4Ar/fxCr4AQR6yad30rSWCVgs+aRndT1pDa8CXL8In6t3RaCrpOXZR017/Q/u8d8p5isNMUsZtMtaeSy4szMgOcJvNyHPXD+9A44rS4Plzpl5N3/TG07P2pB1pjBmN4hBVKTiZR6x6fqxiLYmpGmvjg9AsYX2UNBcxVW0CkvydjEOsdf7Hs8x+DgisE3IWxtY9uATQ3QrZFDlAA1hYawSB791D4CNAHloin5qCTG8GLoWFRWAZYAR0YflyrVdwi+DW9TyIzZZJDp5FaFIDXJ//xns2JePUN8+K+v/4w1UExpzCUVmJyF4EoP3cHvV7/fcnkjlBHPaLQlbybEJP8Or68x3s5sx4B9voNzhk1qdvSuWHVxG3j+/HZ73hW61KuF7/3WAfydjwuXSBMKDlit5DgDnLMxfLchAQ3ZkwvnFXKyasRDoeLou6gR+LyR0UoiH24VCWu/du3NIPPvkHHNQgp2CirbpeF2jnA3z//feaQv4XV5HWEFMr9AmijCT/F5dnStzPqKVvninJM+Xyukz39XrWwjhqNMDwKBzC1RWbkWwYp67voLsWHwjp36WGnOIq11NL36gZ0DcZpShmJtPkhfVrgC9cP8BDhuk+pC6xLgZVz/fC3JkdUjAcA4zZUUMrkPspoO/cuwdRIWDMjmNCzEaF29/FoQZXTEkf96rKjJchXGWjHMu5ukord/215bmObIyxfZ9AUcys6b4uPbZZL5iTKQ2maM1iJmjts7HZGXfNYnAdhT51lyj5fUwt37G8wEeZ+9QYy5WlIPtntfqiXJ2ctmKPnSgGKtgDA8piQwv0TV5fkVarRBAXMQDN4QcOX6WRSCKJZEsz0PQStC2P7VZKeROXYANDAAYGMys0kTNHyi4bmTVwzhSgg9ve0Rvz8Lsyg7t4OJCZWLm+jxxTO3pz+J12sIud2OZy6Kg6XMU9gx9QmAWhz3wxJMuDV+CgmRV6lMcmFpqxYwcO40U2b0mQFbM0WZzYYZRl3eV6phit3QdS2eZ38qwpXUexylY/k/L3CB8juRiFSNvdTK8/nrTPz6eT3kV3cDn5491MXmt595Iq6cmupbI/TeVjYnKpZ9mjX7YSHPW7k+4412/550iT8Jemb/rd7ulYGqFIg2+q0XfMwEVwfQ9FOCfcm3LVwSHFr7/BQbpAUS5ApPWH1jiA70FFDaQkkdJe4y4KyxlmjoQS5h9UVCXYtseasfY//yPAnayDrb07ASLcS3E2dnCxM+ZIRtNH9DbAN0MvnLtZLJKGd/LzYHQWJ1yYVweNZ0WqB5cv0Tr9Xm58Y476PXiG0Qxh5NsIVrxTYsJFQKh3D7MAw014jXxE4Tqk4AXB6tqyb+KKDEaHBDlwfS/7cGbDcrSD4/zyvpjJhefA5E9SU5000zSME01Z+mNb3utydM7W2rvqnLRyM8bwYY9GkUK7Nkapk5zOAjwNsEVaaXDYRZKFijlGKzCCIRysPzkv65/MT87LxosDPpMcOCDNX9bNJvvnAlkOY/WokQyijFAYI0lSbhpir6Uf5yXUS1XK4uzUbZlIjpfljeNiMFag78pOivpZznQ4GrD5kvmsLDs97o4+dEdsWB9QXTnCD2ivGuxM08I0Mz0kZssUkpnBA3ts6ptSVj4S2U7DsrGhyL6erPWN0gQjw3P98M7QN0m2MNK2jvLk/f/hWz57zINnz140Iw2ewSVBcG2RBVyHLsNj8ExeJeN7e+lM54hOqYWvLc+bznCwnGI0dwnF99Nbly44r3B0fAh/2TVbTnujpr6Fc57p2XtsIi2fBhuM2uPp8PL8fMqG4F27d15c8McAlie+RrEMl9jbz3FUGlIKS7+Syyj4iJ2jvdW6yjZk5M0tMqmFzfln7Y8e9z1c98OGO+fVfuf5ss/A79ICmKYJu22nVjVGX2ssdrJQyD5vqy2vJoSOMlQACSyAZHojB0ho24iQWeh59zkIXg0mdi1PSi3NaoSiQXWZ2CexMBh3n2d7qXmzRc+RBkZnjxibC8kVlhrv1sXhwV4Etz4YI8BBQE/YH/u1W653TkNWeXs003b11axqGPO+DBz421/+8jQyCUTdLY0MWMfIDjGanI9/TDaHz8SmafcO2QUcL9y/gM8cqmkLSlfkpNm8eUPifXBiXnvBtWkHGJm3ru8Et8T0EW1aN8SgHjHSPWjD9lzk06a+eehedNTk/r1pLZ2/ftdUEZURlF53SXt08dfvGmxRp9h++PPIg5db5SmD1UedCqhJQqcYY2XRBYsJj6IYVTCdLca/EctxVa/lRE/q593ZdGa5XogRvGZe/q+HYDP4b8zG52AElQTT30PsFQJoyvbegsrevNLTPEptmkSTeQBjFDuBJ1CbuWxy31pkybenu2x9X50TZvWmM9dDfPj1zVEk1SMLd5nBvM2xXJbAdhLOZu5dS9+8Lrbk0SkZl1Zd0zc/nHwXaQ2QF3/81M69IsW5kTtnIAgoBhOMOCfJlvasBrh+UjnX38cfrhh2dYJ8Xjm2wk2VBiLpWJTBiBqCNoOPeVbZL3kdROq8dAzCj6CYUnYCH0kIgUEZxgswXkicl2FiPoTbF3vxWZN3A0G9q2CR5Zgptd6QLSedZuyfVJhFbDLJxmB+0b05jkCOHCIblTBHYrN4zc0i3d9mUieZdDG+xXbl4a22O7JyfQ004rnzBdUaOYP4CJqeS1Afmm/MQ8UCmv1XIv6yVddub4lEMx7aQu6dDxpPbNTR2vLilNxpTIVBy2xfNYf9M8IpPiuPEOilUcklwpPeQVtnslbOGcjb5q3F/OZGPveTbtr+VwyTOJmhUOsQ4aVLxNa8QsN7KTPTpZwgVE2yR/lnpYnl3XTBhf/bnDSkoT8fifKbPjnpmB5lehpoxvpI2+beFdl2ySMy6twtErA8jCznXk66V7HxShx58QMK1yidd64/L52kyEGyf1s+8BswPsPD0nNV+cA0scGR7wNTfrkztw5yiWddk6ZS/ScFQ9mW4ROc8RGJR33+eUqXq1blgKn7LPcRZ3xqT8v4bMqsRRroG1mXUVXKRtqNYx415YQvrz/fMWhSJi9WzFXSpzT4OnYfHaVAIT8mYqo9iEARaayPpCmyFFBLIc+2afRwXLfXWmEtFgt7S1eN+tRqCrFXSYO1OH77/Ih5R4RAl47rwtvsfHmSG+2C9kudMX5ivmh8qX9E3SuMzRcNnZ9MrNsWzZN4/lwytbPR5XjC1gjFVFQDnqcak4P5y1Zd/6aRi1P7RMTfYUFRFY1ef40lwyNtS87LfB3byWk6OROwcv2z8Bo9HWrvi7QfDd8kJTC8dhNeo68EbBMl7EKzcrc5EKbErfKh9CfhVtkSSgyWTIAxaayP1fhPPdwqEffAfflR+KrYLztDsY23StkrTu9UVN+B0Erd/n+U9giUlmhROWZfBaTlUyulUYu2z5QSKIsd6OMwmVYAZdpDUdn+EAZKNyIeiUoeML20Kq9Y3eRPg0JktxwjkCwcDrCV4Qs+Soq7YWz85dtgad3uPyejdmfSFZWZ4wQFoVzA5EXJLTfuJwtJ9hITNSlvJ903YJynkUWXyZqmKfE4uRi29E2JI77bWr3ZunXzs8RiM+5A7LkpelMtUtLy7mg0GJWz9zt6UXt8tviH7U0Lx9FM1aFNFYOya9+/MxFi4k5I6ATy+muHiGwpVrazZrb9piIhn9astpHkUFthO9jk+8FqeFWA4QIDHJ0YUfH8EN8GKWfLGFXQMCKhR1v6hntJqZQxrIvSGqijaiaYJmOc5MxeymA2mTZHhn5SOkQnOP7Q706mrEzsboyTeXpi6Kqi0nU4VaXKGzmqyuAKMySImtC9cylDFGYlpuBHLPq99EiFvlERfcq8LimqqW+kHvnUVqqmcFpBIpPuZ+UOLbo29dLReubOQD/id5GWK3r/Cqh1g/i+cul6egQWSc61w9ryQmTCgC4QvnUJitsdsTp0gUR5TYb9py4WJqsmHhWMR2ombhzJqFdckZ/MP0+WK2HNXPN5JfO7sSy6wlEcjjWZalPfyGS4fssZnSKrkkbT4xc5hVZcfOVci0uY6UWluugfDCPxEse5+BwfrYxrJXWazflBI3/UNk84PkddORtSl1Rsx580EJ0lGD11VCaQ5PpZTm7Whlp4jmjm6hRnv781X0TmoeL6aaxfbuTdi2FLEwwY69RKko3zyjSfVthAiCOYwsiaKdGkv6hiZ0E6X1E21VxNodMVRoZt2QvkJBpM74WcVGhOU+4dqjYuRBeXPlu78vt/ogfXp0HGYf6oS5Jq/Hy3foguWMwrEixshmc74Xq+YmyninX0lopiCzuZlZPkCYHCWZQ8mBM6ym70p3ju+CEnQRRLxjS86Js8fKqYSAnbzDfBysLWElGEedKhQiK2kOKWMXfXSHlhJRNLBkDl+6ucy5IOKllNH2fI3Vt6AheZo976NsRuj7zZ2j7KnpVgLqEsMF/85UarqayX0ZEWh5tqWSPJw1eZ5eMtrXM5GnX7k8x069kA7YgG5ZFcZxFBgMNJe/S+mxGPt1ATlglarhHuBMuVhXmkz/NyYmiH5qF5qEXMwHKUInWaRwQRTwoWUGay1E/EMMecP92Axd3ueoAB/RZaHtCgkQSVa4sgiUiBoXJUKoyVqQg5VXNzmylyN1DqPr8j8zUsueqdkr3sN7nhxs1Xlc78yuRjV5DGyu3yswlFEA1XnX7v1MVEsWCQXmCqOuipqCMdp8qVKohnzz9tpV+qlkWyfGlUy2CgtASSF9IVt9K+fIFv9rqX5rtGfNnpCRfT0gusfgASRcjep4EVRgT5FGZxhoPfnoqvrgK/u5pOHIb5jszvzCMTJguXAFkEoecAwpjN4DXyaWh53r0GW/dfs5xeeYnYxGhm+24C8CA9q2nZxFi6rCOTn9JFzhzxI5qSVM01Zy5LhkplMYjkp0kNUc+krIfY6PP7tOIY9B788YPOBcNU5AzFisvybq17Ar+GhEJIENwuLP7Og+cSivg14sKzQUACuEXgBP4BFa980ADIvW+Ldzhs3/3Kb7Fk+lI9xtLvKa/sx++V9Hs8xcNYxYiZAdgszljXQUjF42nXIYVby49fLcGI6UD9asrtwrUXgNFvoYsRATd+zUT1XA78ju/lxH5uj5dy/pAXZ6qev6l+iSY1mL2eoImnt72w/Dk3vXjj7T/t/ZfHPEBReltE9ShMbQ80mPlC7k16I3ExR+Ga8JK5JsWbEAmQ2Z+U8HIVpOQ9jHjeOFvSUHE/qgXzM7aWsD1kYWYdS+bRkC/m+q2IDGuEYWGtVsg3wSIkXCJwKQGMPCt2A3wAXZ87ijWCc4siQuHDT6dJdBF+b4Eg9KmFX0HgOQiXCun8swkyLFN677xEzRc55w1Vr0Aw15bErrjfJE1yzdj67K5WyRXjwrNvCvOr8KJJlNgFfbLVSSkB++Q0pWxWuRzktyxWRmnOovYVbOdRQ1QeoXzmZ2cmVZnz2XHNKtGzWcx8Z1eqcvfX5dEsXqzayaAKUDzANNAdxZZNz8Jr9GOMggobCDdv5GgWn1aJi8JrlOzHio3oY7nYJdP4pc649LVWoJtu1k0dF7c0/TutVqgRb67yXADDHS19U+hV5HNlx5rvl3lXFjXLQynRZ3F6+3ukzNBUDEVaTW1bcu0qQ4rXxSIdmIS1fMssPbg7DVh7CF1OMz4yEVsBi5w0f1wPzyD/7mXyeqbxQlVgU894UZ50BU2Xhn6LctPpn20WlZvLI1C6z1ywl9IZYSlNhyiyadGsX0GZxiuwSHoIA3glrkiGUPkxBBqIR4AtTN0ZU61onB/D3WrJ3q01/MBBe2S2H3+INW+vZZn3vnP8qKmQBj2tgnxeRDnpLVva7jXkw8SUnzQuXfr6GoKqOqgUNf6/yVTngcKg2PLJLMDLlka+mC++PDcEHwlC/6KBYZBFcJvVRI7BphdhYWatYPxT2qNhEIrdlZEBldZrFnPycx+kZ5qZncqOorLMpl5Z11LqqFZQb4W7yQsLV+Ihqeo2zHeV2hTXHlt5yu8CKMLNzGLgu5zeXaqsRNrdiPFDfNX2TAjY9h32/4Y4uLvPkNvleDK44Lf/WDRvj/5VfjSmXEV+KiaJdNtIqOrINITXDAlbV8UqYL7wBNRNcznSV2CHhAbLpMEOiaLcq0PTeHN56s6m/PixP2+xGF8rn7bbRVc9TI8Ke7U98WH1+JoKOKaB4kf1s1n7iMtts/ickkqfWUX+TEim0Z1Dqzq0+IcpZDe33HDK81q49Eqno3q1rOB8tErvU9G4+NZVvGtfPUhaNbj9ysdO80DpVACl9HEAWOGA79alcMcl0GHw81G4iP1XPNG/rtBaqaH8QlLBcYkRev68jBFLFSvEz1RQaMEEtqoQoUtTuekC8YBYKbcAMPnTvSXuysNSxEDpVUbsMdCH7loHSWb84y/Nq5fyhxXWHw+N/3X18pOZ/G2+zFLi5ssDJeHsIa4Se9XWk2+saNn6v6CnLO+mw/5LLjJzRLvCaObeKXT27IUkcKRtpVi6TLJR9PHtt80XO+gIQ+kKZ4XkV2/zPQCD5lAMsrDPuCsw4h4/P+n0uPJZr8I65aR8z2XLyXHVCjbNHBV/yH9jZNK9GPLcz7vR4CJlqqXxTx4oPztSpvjHBSd5HGLQKLS7S8Aoryj+0ZkTEN9L4C7GDnzH5fdk7AWybyDwi/YFgW8jGA2TbL3Lk6zIIsjJr4xZ8K/X4wtVakGSB2I1U+NPxMLbFhz9rdHgmxjVrrhicv+BYKHkj/JoqXI1luzsPyzgV1TXtpHbAj4qqms1aWvaenlXAWwrYG3tKYgYmotgiZqL+xXC7EcjnYbwnK13WERM7xT2ltY8e062c96bTgaD9BBX5pB6F+33XXG+61hahTBayf6OuxT5LkWjCMRyRd8kPeSu6Eg/i011irUHwFnWL2PEpthUd6+BproGcgxHPENhU7ai52vzlWUjuHlDTDeIBeIAQldQ5ZvS8Y1H6i6Rwz87lWhkqzbWrgVcyNxlDWnLqzNh9d+LXExyZSO3LCjpTBxafIzaeMtHak4cdfzddBQLVakmcXCxSlOSE9mphcfJ7wT2DcK/m/yCfEH+00HnrFtlHiKlgRG15k+f46PupP1e/vm1NPV5H3MmBgdSFVLwI7AFOl/FG2yds9SaK4cD9AIrj5tSyQHfR/WVO+nGrecxdKRxvuiM+AiTdwHuLFzfKr/1LAHLyz6zl/hcg/SqdllKy/NS0q26Xt+mcXE6JrmzdvDL0sbm0rVxQIIZNe1gyR8f5t9k24ivrOlH0UFDMVGLvco6Ivt1QCiGFhDez6yufUtOviXaK9CPXoF+3Igg5oBQnLKQO7ur6RuZi1hXlef1mU8Qm+Qz13dgaafczgIMfIi23VphlZa2mKT8sm2u848/XL3USj9FWlR8eSGzg1aKGhOyUXw81UD8Keiy7tgv1mc2oLafHlZ9ugWlrOVdUTylZf70TU6EaOs2Q5le4if3Iik/+pV+7+zpzjJTVerUuIYS3krayc1+vFRO/vL8iH0PXrrVDYRz4J9Ju1wJoylsL4vTu7G5CNHQ3SrAVC4RtELfFksa8dU1QW4UZses5U+FKL4ZIJ2fqkyWlbVW6XvThpwPfm+e4WGUXddJXUXe3Wgnmn4cHaT3atfdZIFUwPT6F+XPcZ6motRQ/zxNX1rWN5JmI/EixgH73ydfmm+VWSWVuPv446LL/fOLv22PUaGFfHwwjFmAlxaFg83GHKFVQFwa4PsoOtlszIk1j/7sGpCkFzOV4b6pHTiopf+j4Jb1tAy+afHvc6n22DluTGvWchkGMfWKWq2+oCa9NK1q9QVuF66HACPLESOSi1JPdhZZDCi77Bx6i7mL9s/YKklKcaWCXiHVlz56IpVFsnc1ZiU/WvlIAb+DwxYZ/AiYYZdbZk4+zcYUvL0AAnXHoqjxSq8vAkKZw2i8AkItTDvK1iJzIUcP0HgigX+xWdtBGPlOBdns050jvnZAToHb1CLjexyd88Fl8tkZcXaLwduOF4ROxcbNf1YMEjA2BV4Hf3hUeAhD/y4/vS9PEj//ZZ4tgct/Hp+mOH1LSl+/TPwVX+EUp28Zp+b5lFyY8Jzl2CqXJjO34GsVbrVUo6wjlcNOPKG6TOVAc167VEWkYouiO7lPGI92fMI4WCOMXQfFH3rqBP7MnWdLF3ENSvpyNf+ePtO++NO0Z3PTab45nPKrOlMfMYjAaLASTf4q86ZALL7lb1H4/vvu4B28fauo4ljUIkGIbXTCq3MTOMkW+quVd886ZbzHHZ/Eqf/u4B0T8Bn7+/8FAAD//3raSPuagAAA + H4sIAAAAAAAC/+x9bXfbNvLv678+xZRhYykJKdvp7uZ6q2xVWUl1bUs6kpzu3sTVoUlIYk2RKgDKdhTez34PAD6AJCjJdrrt7rm75ySNAAxmBoPfDAYPfPZN89r1m9cWWdRqnc503B196HW6015/OrkYtprBijatzyFGTTvwqeX6CJOmbRsrHNzdmwThtWsj0/V520HnrDvZt2lg3yDKW/Z7086g/673fnraG7W0JqJ20/bdpo+o6Wi8/MdePy5kVFnhtetrtWeTwekAVqHnAV24BIKQQjADO1iuAh9Rn5i/ksAHGgT/4GROBz/3zwft03GBmBPc+l5gOUSrdUa9zuQ8rSlXxK5NPUXdjLmQ4KYX2JYn2OsM+pN2r98dnap7TtTiyERHl/2OsjoOfVuuePZmrKx3E14j7COKSLH2cNT70J50p8N256z9vjuedtqdn7o7mjZX2F1bFBkry76x5iimNeq+740no39NR93hoKUFhDCZLewiIpHRapc/XvYnl9NR97zbHndbet0j11OMPGQRBAYGgzRqg3FLr7sz8AjwwX9hJBWO3kLTQeumz4b4+O3zo78DXSAfSIApa12o/gXm1u0NHCwtai/q+uEraP5S751Oz3tn3VbdDjAKSONL77RVN180GnrzFVgN2MAKuz4FGoSrFcJ16+PxFVgfX181/g7ozqUQHfwdZm6jNu52Lkfd6eR8PP1xMJiMJ6P2cHp2+WP3vDuZdv/Z7UyH55fvmTGUjUdMBOqR6yCghGJrpe1P70N3NO4N+i1tfWgemYeG5a0Wlnms1Sbd8+5wMJqcbumZIg+tAkydvOV2T7v9Sa99Ph2OBh96p92R2uSRg3zqWt4KB2vXQXgXkWwurC3c9NxrbgwekmkZCTGFAJVz6aLd773rjifTd73z7rA9+Smn2KXluzNEKJ/vbOJdDAf9bn8yVlePAcKnJG5w0e5PT3+cti8ng+nl8JRNknfn7fdy60SepeUbznXTCmlghCvHokirdS5H59PB5WR4OWk16XLVtEPsTdcIXwcEmUFIk2kwGE/77YtuSxP/Zh2PGEBkBfEPWq0zvJy2R52fWppWc5DtWRiBYcHP7fHF+KfexbB3Om7VG3LReNjrM/NJimoE0c7wso3tRb0BmxoAQEpVr8/T0kYtqtUwWgZrdGH5p9ftkAaXXLR3njV/53oobY+XYMxA36UvRtDGyKI7CdIgtBd7EvSQ5YerTgqbpx4jRXLM4RnoVbjLiLg+oZbnZUR+dumik9rD/yaBn9ILSEvf5Ecu4gXuDD5+BOMzaHoe3zS4uhIQxeulRAbjSPqBWQZxA7+l2SHGyKcaL0QeQcpaKRNxL5GoP3P5X/yPzJcMBUy39Pqvv4FmDhPUBk1XTAsNvgCv9/EKvgBBHrJp3fStJYJWCz5pGd1PWkNrwJcvAhP17mg0lfQcQ9S01//QPu+dcp5iN5OUcZuMteeSCwszsgPcZjPy3PXDO9C4ojR4/pypV9M3vfH0rD1pRxpjRqM4RFUKTuYRq54fq1hLYqrG2vggNEtYHyXNRUxVm4AkfyfjEGud//Ess58DAuuEnIWxdQ8uAXS3QjZFDtAAFtYaQeB79xD4CJCHlsinpiDTm4FLYWERWAYYAV1YvlzrFdwiuHU9D2KzZZKDZxGa1ADX57/xnk3JOPXNs6L+P/5wFYExp3BUViKyFwFoP7dH/V7//YlkThC7/aKQlTyb0BO8uv58B7s5M97BNvoNDpn16ZtS+eFVxO3j+/FZb/hWqxKu13832EcyNnwuXSAMaLmi9xBgzvLMxbIcBER3Joxv3NWKCSuRjofLom7gx2JygEI0xD4cynL33o1b+sEn/4AHNcgpmGirrtdFtPMBvv/+e00h/4urSGuIqRX6BFFGkv+LyzMl7mfU0jfPlOSZcnldpvt6PWthHDUaYHgUDuHqis1INoxT13fQXYsPhPTvUkNOcZXrqaVv1Azom4xSFDOTafLC+jXAF64f4CGL6T6kkFgXg6rne2FwZocUDMcAY3bU0ArkfgroO/fuQVQIGLPjmBCzUQH7uzjU4Iop6eNeVZnxsghX2SjHcq6u0spdf215riMbY2zfJ1AUM2u6L6THNusFczKlwRStmc8ErX02Njvjrll0rqPQp+4SJb+PqeU7lhf4KINPjbFcWQoyPqvVF+Xq5LQVI3aiGKhgDwwoiw0t0Dd5fUVarTKCuIgD0Fz8wMNXaSQSTyLZ0gw0vRTalsd2K6W8iUthA4sADAxmVmgiZ46UXTYya+CcKYIObntHb8zD78oM7uLhQGZi5fo+ckzt6M3hd9rBLnZim8tFR9XuKu4Z/IDCLAh9hsWQLA9egYNmVuhR7puYa8aOHTiMF9m8JUFWzNJkcWLAKMu6C3qmGK3dB1LZhjt51pTQUayyFWdS/h6BMRLEKETaDjO9/njSPj+fTnoX3cHl5I+HmbzW8vCSKunJ0FLZn6bCmJhciix79MtWgqN+d9Id5/ot/xxpUvyl6Zt+t3s6lkYo0uCb6ug7ZuAiuL6HYjgn4E256uAhxa+/wUG6QFEuQKT1h9Y4gO9BRQ2kJJHSXuMuCssZZo6EEoYPKqpS2LbHmrH2P/8jgjtZB1t7dwJEOEpxNnZwsdPnSEbTR/Q2wDdDL5y7mS+Shnfy82B0FidcGKqDxrMi1YPLl2idfi83vjFH/R48w2iGMPJtBCveKTHhIiDUu4dZgOEmvEY+onAdUvCCYHVt2TdxRRZGhwQ5cH0vYzizYdnbwXF+eV/M5MJzYPInqalOmmkaxommLP2xLe91OTpna+1ddU5auRlj+LBHo0ihXRujFCSnswBPA2yRVuocdpFkrmKO0QqMYAgH60/Oy/on85PzsvHigM8kBw5I85d1s8n+uUCWw1g9aiSDKEcojJEkKTcNsdfSj/MS6qUqZXF26rZMJMfL8sZxMRgr0HdlJ0X9LGc6HA3YfMkwK8tOj7ujD90RG9YHVFeO8APaqwY707QwzUwPidkyhWRm8MAem/qmlJWPRLbTsGxsKLKvJ2t9ozTByPBcP7wz9E2SLYy0raM8ef9/+JbPHvPg2bMXzUiDZ3BJEFxbZAHXocviMXgmr5Lxvb10pnNEp9TC15bnTWc4WE4xmruE4vvprUsXnFc4Oj6Ev+yaLae9UVPfwjnP9Ow9NpGWT4MNRu3xdHh5fj5lQ/Cu3TsvLvjjAJYnvkaxDJfY2w84Kg0pDUu/EmQUMGLnaG+1rrINGXlzi0xqYXP+Wfujx30P6H7YcOdQ7XeeL/sM/C4tgGmasNt2alVj9LXGYicLhezzttryakLoKIsKIAkLIJneyAES2jYiZBZ63n0uBK8OJnYtT0otzeoIRYPqMrFPYmEw7j7P9lLzZoueIw2Mzh4+NueSKyw13q2L3YO9CG59MEaAg4CesD/2a7dc75yGrPJ2b6bt6qtZ1TDmfRk48Le//OVpZJIQdbc0csA6RnaI0eR8/GOyOXwmNk27d8guxPEC/kX4zEM1bUHpipw0mzdvSLwPTsxrL7g27QAj89b1neCWmD6iTeuGGNQjRroHbdiei3za1DcP3YuOmhzfm9bS+et3TRVROYLS6y5pjy7++l2DLeoU2w9/Hnnwcqs85WD1UacCapLQaYyxsuiC+YRHUYwqmM4W49+I5biq13KiJ8V5dzadWa4XYgSvGcr/9RBsFv4bs/E5GEElwfT3EHsFB5qyvbegMppXIs2j1KZJNBkCGKMYBJ5AbeayyX1rkSXfnu6y9X11TpjVm85cD/Hh1zdHkVSPLNxlFuZtjuWyJGwn4Wzm3rX0zetiS+6dknFp1TV988PJd5HWAHnxx0/t3CtSnBu5cxYEAcVgghHnJNnSntUA108q5/r7+MMVi12dIJ9Xjq1wU6WBSDoWZTCihqDNwsc8q+yXvA4idV46DsKPoJhSdgIfSRECC2UYL8B4IXFehon5EG5f7MVnTd4NBPWugkWWY6bUekO2nHSasX9SYRaxySQbg/lF9+Y4AtlziGxUwhyJzeI1N4t0f5tJnWTSxfgW25WHt9ruyMr1NdCI584XVGvkDOIjaHouQX1ovjEPFQto9r8S8ZetunZ7SySa8dAWcu980Hhio47Wlhen5E5jKiy0zPZVc7F/RjiNz8ojBHppVHKJ8KR30NaZrJVzBvK2eWsx3NzI537STdv/imESJzMUah0ivHSJ2JpXaHgvZWa6lBOEqkn2KHxWmlgepgsQ/m8DaUhdf94T5Td9ctIxPcr0NNCM9ZG2Dd4V2XYJERl1DosELA8jy7mXk+5VbLwSR178gMI1Sued689LJylyIdm/LR/4DRif4WHpuap8YJrY4JHvA1N+uTO3DnKJZ12TplL9JwVD2ZbhE5zxEYlHff55SperVuWAqfss9xFnfGpPy/hsyqxFGugbWZdRVcpG2o1jiJpywpfXn+9YaFImL1bMVdKnNPg6dh8dpYFCfkzEVHsQgWKksT6SpshShFoKebZNo4fHdXutFdZisbC3dNVRn1pNIfYqabAWx2+fHzF0RAh06bguvM3Olye50S5ov9QZ4yfmi8aX+kfUvcLYfNHQ+cnEum3RPInnzyVTOxtdjidsjVBMRTXgeaox2Zm/bNX1bxo5P7WPR/wdFhRV3uj111gyPNK25LzM17GdnKaTMwEr1z8Lr9HTQ+19I+1Hh2+SEli8dhNeo68U2CZK2BXNyt3mgjBl3CofSn9S3CpbQonBkgkwJo31sTr+Uw+3SsQ94r78KHzV2C87Q7GNt0rZK07vVFTfEaGVuv3/UdojorREi8ox+ypBWj61Uhq1aPtMKQVlMYA+LibTCkGZ9tCobP8QBko3Ih4ZlTxgemlVqFjd5E8ThciwHEcgmTscYCuLL/goKe6GsfGXb4Oldbv/nIzanUlXVGbACQpCOYfJi5JbbhwnC0n2EhM1KW8n3TdgnKeeRZfJmqYp8Ti5GLb0TYkjvttavdm6dfOzxGIz7kDsuSl6Uy1S0vLuaDQYlbP3O3pRIz5b/MP2poXjaKbq0KaKQRna9+9MuJi4ExI6gbz+2iEiW4qV7ayZbb+pSMinNattJDnUVtgONvl+sDq8KoThIgY4OjGi4vkhvg1SzpYxqqBhREKPtvQNR0mplDGsi9IaqL1qJpgmxzjJmb2UwWwybY4M/aR0iE5w/KHfnUxZmdjdGCfz9MTQVUWl63CqSpU3clSVwRVmSBA1oXvnUhZRmJUxBT9i0e+lRyr0jYroU+Z1SVFNfSP1yKe2UjWF0woSmXQ/K3do0bWpl47WM3cG+hG/i7Rc0ftXQK0bxPeVS9fTI7BIcq4d1pYXIhMGdIHwrUtQ3O6I1aELJMprcth/6mJhsmriUcF4pGbixpEc9Yor8pP558lyJayZaz6vZH43lnlXOIrdsSZTbeobmQzXbzmjU2RV0mh6/CKn0IqLr5xrcQkzvahUF/2DYSQocZzzz/HRyrhWUqfZnB808kdt84Tjc9SVsyGFpGI7/qSB6CyJ0VOgMoEk189ycrM21MJzRDOoU5z9/tZ8EZmHiuunsX65kXcvhi1NMGCsUytJNs4r03xaYQMh9mAKI2umRJP+ooqdBel8RdlUczWFTlcYGbZlL5CTaDC9F3JSoTlNuXeo2rgQXVz6bO3K7/+JHlyfBhmH+aMuSarx8936IbpgPq9IsLAZnu2E6/mKsZ0q1tFbKoot7GRWTpInBApnUfLBnNBRdqM/jeeOH3ISRLFkTN2LvsmHTxUTKWGbYROsLGwtEUWYJx0qJGILKW4Zc3eNlBdWMrHkAKh8f5VzWdJBJavp4wy5e0tP4CID6q1vQ+xG5M3W9lH2rASDhLLAfPGXG62msl5GR1ocbqpljSSErzLLx1ta53I06vYnmenWswHa4Q3KI7nOPIIIDift0ftuRjzeQk1YJmi5RrgTLFcW5p4+z8uJoR2ah+ahFjEDy1GK1Gke4UQ8yVlAmclSPxGLOeb86QYs7nbXAwzot9DygAaNxKlcWwRJRAoMlb1SYaxMhcupmpvbTJHDQKn7/I7M17DkqndK9rLf5IYbN19VOvMrk4+hIPWV2+VnE4ogGq46/d6pi4liwSC9wFR10FNRRzpOlStVEM+ef9pKv1Qt82T50qiWhYHSEkheSFfcSvvyBb7Z616a7xrxZacnXExLL7D6AUgUIXufBlYYEeRTmMUZDn57Kr66CvzuajpxWMx3ZH5nHpkwWbgEyCIIPQcQxmwGr5FPQ8vz7jXYuv+a5fTKS8QmRjPbd5MAD9KzmpZNjKXLOjL5KV3kzBE/oilJ1Vxz5rJkqFQWB5H8NKkh6pmU9RAbfX6fVhyD3oM/ftC5YJiKnKFYcVnerXVP4NeQUAgJgtuFxd958FxCEb9GXHg2CEgAtwicwD+g4pUPGgC5923xDoftu1/5LZZMX6rHWPo95ZX9+L2Sfo+neBirGDEzAJv5Ges6CKl4PO06pHBr+fGrJRgxHahfTblduPYCMPotdDEi4Mavmaiey4Hf8b2cGOf2eCnnD3lxpur5m+qXaFKD2esJmnh62wvLn3PTizfe/tPef3nMAxSlt0VUj8LU9ogGMyzkaNIbiYs5CmjCSwZNijchkkBmf1IC5SpIyXsY8bxxtqSh4n5UC+ZnbC1he8jCzDqWDNGQL+b6rfAMa4RhYa1WyDfBIiRcInApAYw8K4YBPoCuz4FijeDcoohQ+PDTaeJdBO4tEIQ+tfArCDwH4VIhnX82QQ7LlOidl6j5IgfeUPUKBIO2xHfF/SZpkmvG1md3tUquGBeefVOYXwWKJl5iV+iTrU5KCdgnpylls8rlIL9lvjJKcxa1r2A7jxqi8gjlMz87M6nKnM+Oa1aJns1i5ju7UpW7vy6PZvFi1U4GVQHFA0wD3VFs2fQsvEY/xlFQYQPh5o3szeLTKnFReI2S/VixEX0sF7tkGr/UGZe+1gp00826qePilqZ/p9UKNeLNVZ4LYHFHS98UehX5XBlY8/0ydGVeszyUEn3mp7e/R8oMTcVQpNXUtiXXrjKkeF0s0oGJW8u3zNKDu9OAtYfQ5TTjIxOxFTDPSfPH9fAM8u9eJq9nGi9UBTb1jBflSVfQdGnotyg3nf7ZZlG5uTwCpfvMBXspnRGW0nSIIpsWzfoVlGm8AoukhzCAV+KKZBEqP4ZAA/EIsIWpO2OqFY3zY7hbLdm7tYYfOGiPzPbjD7Hm7bUs8953jh81FVKnp1WQz4soJ71lS9u9hnyYmPKTxqVLX19DUFUHlaLG/5lMde4oDIotn8wCvGxp5Iv54stzQ/CRROhfNDAMsghus5rIMdj0IszNrBWMf0p7NAxCsbsyskCl9Zr5nPzcB+mZZmanMlBUltnUK+taSh3VCuqtgJu8sHAlHpKqbsOwq9SmuPbYylN+F0DhbmYWC77L6d2lykqk3Y04foiv2p4JAdu+w/5riIO7+yxyuxxPBhf89h/z5u3Rv8qPxpSryE/FJJ5uGwlVHZmGQM2QsHVVrAKGhSegbprLkb4COyQ0WCYNdkgU5V4dmsaby1N3NuXHj/15i/n4Wvm03S666mF6lNur7RkfVo+vqQjHNFD8qH42ax9xuW0Wn1NS6TOryJ8JyTS6c2hVhxb/MIXs5pYbTnleC0ivBB3Vq2UF8NEq0aeicfGtq3jXvnqQtOrg9isfO80HSqciUEofB4AVDvhuXRruuAQ6LPx8VFzE/iePV8oex6VyXZG/Ss3hPg0AR+eluuWOch8tmHQvhnwx+W40uEg7bmn8DXXldwzKFP84a69SWuyRxBpnl7BRLScR/6LFCYjH2HnqxA58x+WH8O0Fsm8g8KHgISDwbQSjYZIKdHkGB1kEOfmwmyFLvR7f1lALlbw+qZkaf38S3rbg6G+NBs+Qxi9hFbqvuHX9ByNRkckCFFeGesm24cPQpKK6to3cFmSrqK7VpH0v6+Vdhdes8Jm1p7hbaC6CJWou7lcIsx+NdErCcxZMzZGPcBUsFHbmK62IPwpZWlGWKipT18U54RKwqtaMLk2Rkc0wJk8JGYtn/ktclNfdIfbYkg/dtQ6SfbGPvzSvXspItv54aPyvq5efzORv82W2IWa+PCi4I8NXmbLSXxQvZa0rbEvhsxRdtP4v6Kk81Q4qedeAL3BXGM3cO4Wynr2QNBCVPUrpPtlGQffbb5svFG3F6HcFMiD5ses8VWAr8iJynkDVwFZjhMo4nv5SXyH1cFK+ulZxGUSsZZgtp/cFe0trnj0V2znvTSeDQXpAK+Osd9F+3xVnt46lFQajlezduEuRy1I0ikAsRfRN0kPu+o30s9gwp1h7QKjK+mWM2BSb6u410FRXPI7hiGcfbMpW63zdvbJsBDdviOkGsUB86usKqnzDOb7NSN0lcvgnpRKNbNXG2rWAC5m7iCFtZ3UmrP57kWdJrmPkQv6SzsSBxMeojbd8pObEMcbfTUexUJVqEocSqzQl4e1OLTxOfiewbxD+3eQX5Avynw46Z90q8xBTHCNqzZ8+x0fdSfu9/PNraerzPuZMDI6WFVLw460FOl8FDbbOWWrNlcMBeoGVx02p5PDuo/rKnWLj1vMYOtI4X3RGfITJuwB3Fq5vld9xljzMZZ/ZS3xmQXoxuyyl5Xkp6VZdr2/TuDj5ktxHO/hlaWNz6do4IMGMmnaw5A8L8++tbcQX1PSj6KChmKjFXmUdkf06IBRDCwjvZ1bXviUn3xLtFehHr0A/bkQQc0AoTlnIncvV9I3MRayryrP4DBPEBvjM9R1Y2im3swADH6JtN1JYpaUtJim/SJvr/OMPVy+10k+RFhVfVcjsoJUu2hKyUXz01ED8meey7tgv1mc2oLafHkR9ugWlrOWhKJ7SMn/6JidCtHULoUwvwcm9SMoPeqXfMns6WGaqSkGNayjhraSd3OzHS+XkL8+PGHvw0q1uIMCBfwLtciWMprB1LE7mxuYiREN3qwBTuUTQCn1bZBTEF9UEuVGYHaGWPwOi+B6AdDaqMhFW1lol9qYNOR/8TjxbjqLsKk4KFXm40U40/Tg6SO/MrrvJgrGw7NG/KH+OV2EVpYb652n6irK+kTQbidcuDtj/P/nSfFOafJW4++BxEXL//OJv2z9UaCHvHwxjFuClReFgszFHaBUQlwb4PopONhtzYs2jP7sGJOnFTGVx39QOHNTS/1GAZT0tg29a/Ntbqv1zHjemNWu5BJ+YekWtVl8+k16RVrX6ArcL10OAkeWIEcl5qSeDReYDypCdi95i7qJyBkA1typJSn6lgp40XLkHTaSySEZXY1bC0coHCPj9GrbI4Me7DLvcMgP5NBlaQHsRCNQdi6LGK72+CAhlgNF4BYRamHaUrUXiUPYeoPE8Hv8as7aDMPKdCrLZZzlHfO2AnAK3qUXGdzQ654PL5JMy4lwWC287XhA6FZsy/1k+SISxaeB18Id7hYcw9O/C6X15kvj5L0O2JFz+82Ca4mQtKX3ZMsErvsIpTt9ynJrnU4IwgZxl3yqXJjO3gLUKWC3VKOtIBdgJEqrLVACaQ+1SFbETUhTdyX2eeLTj88TBGmHsOij+iFMn8GfuPFu6iCtO0lep+bfymfbFn6Y9m5tO883hlF/DmfqIhQiMBivR5C8ubwrE4hv8FoXvv+8O3sHbt4oqjkUtEoTYRie8OjeBk2yhv1p596xTxnvc8Um889YdvGMCPmN//78AAAD//1yZMCV2gAAA - 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/CustomData b/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/CustomData index d1b1bc66c2f..90616828415 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/CustomData b/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/CustomData index 34d4a596528..05582aab2f8 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/CustomData b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/CustomData index 9ae23f8b7e7..a99c1079a26 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 | - 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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+TempDiskExplicit/line40.sh b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line40.sh index bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/CustomData b/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/CustomData index 34d4a596528..05582aab2f8 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/CustomData b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/CustomData index 2a5c202344a..854148d705e 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 | - H4sIAAAAAAAC/9xc/1ejSLb/PX/FHYYZdUaSEG3bsZfewQRtnvn2gNjTz3Y5GCqRkUAaCrtdzfvb36migIIQW9vZebPrnj6L1K17b33u16rC+f671pUXtK6c+LqhGYZtfjAtbdC1+rZpqYZln6h6X9kHOtbtjyY9Wx/qlm3pA200sZRX6ciJ3tfs96rVfZePHKQj70b9nv1e7evDyW/qqTa0lNfpgKH1NdXUaggOUwJ1bNn60LTUfj9n+ks61Bt1zzRjbbTTLg33Ru+H/ZHaK8bl0viZ9qGGplOiIUoQunx4rzTMYdRhIA1Gxx/otL5uFjh1GFAD0z4dn24QfcBxWFsbg607GlqqPtSM3joJA86YDLvrgwy6s0OTEAz14Wk+ttcuxta02mOgnU2ONeIWw5Fln4wmw56yx6DSB6c10/aKaX3N4pHa2y9bcXBqjyecqnuv1pbateroDtbpDJ3ouE66GT3qutyiDtcozzXD1EdDWx+eq329p+wxKLtDfX3d+3Ju6LEx6tk97biGqLNOND47tdVejwUcQ29kqJxJNMMYGco+gyeNVG4hdOJh5kO9sTE61thbpvFoYh2TVZLVDdOhV5zt1bFum5pxrhk8gVxL0Buadn80OpuMGVmnlkz9n4mhrRNnzqFaan0sHLQ5imoQHsjcYNXRD5gi5+96VdserDvWmuDXbS6I1keZ5O7EtEYD29RUo/vO7o0Gqj4007UdMgan48n6/MM9btDQiWfxkXG4vz5cXd/hK45GO9e7mj3uT071YYnRQUGkD09GtjEa2N2RYUzGltZTDlk4mKe/bZTzS3udhpPwi1xk6Z6q9wvr/MLl78m4p1paMZRFjqkRxz/XaVyZXUMfW9ROhqb2Ck5yu80JIel0Mj411J7GUXBqjCfGKXN4ud3Jg4QkBEMjZlDkNsO/q5u2apr66dA2RiPLHr9XZFleG6P+M9aMgW4STRVZZmzHKk1d3dH4AyVSZJnnPB73P9hj1TTfjwwabCf6qSLLlcDNa8iIhYUsZxktTWNr7iPLr0sEo7FmqBbBME0NspxlL8uoGfwFGilYNChNS+2e2aeaZavGwLZGZ9pQkbMSWiUZatb7kXHG1jJJGStyVlGr5ObkeKhZ9tjQTvTfFJkU1Twojyd6P8tlMqmLKSjv1bHdNTTiLikYWVXiR/ShOTk50bu6NqQecWabY7WrKTKpUpTa0vraeGRYvVLaVOQszxXjmcOnw9lCDEs/UbukXhmaOiBVMuOjyFmOqyFizBSZpLa08bGsMXHy3z7YXZXgdq4ZliJniY1FBhnSDMtU5IO8OWFqm1qXgGr1Tft4NLJMy1DHeTnVftO6Wdzn3nGQGbinm8dqX7P1saUe9zVTkUlaS3OmMTEtwmHdubLk1tNNMss2zXeK/DrzeEMfqMYHe6h3bX3MJVX5NfN8fWhqhmXrg55pG5ppERcl3mdMiCZDa2QP1OFpX7OpTor8ev+p8070vqUZ+TwWRj0ChLZh3glJeBV5B0+dV5H3mnNeQyO2sA3tvye6ofWUTpaihiOaFNRTzWTAdLLcZA7VsflulGdDvmlsZ5ExNvRzMkjqJ2kFiFd2snRFXvLu2mnvZ2GTt+sD1TxjTNlY19B62tDS1X6abHu1PXE7i0DSzlRbnU77ABqNohWhTRXRhmn/Gipj5D1BlVR/W1Y67cMqBVd836vmQOm0f3mUyZ7SkduPUuwrnSx3b6B4pXTkDBXWh2ROnvenmnFOAplEo36id4ktjJGVJlBLPVU68l6j4c1g5gUutBCegoTvlghmuz5IgbNAIPwkRchHTowEkJaRF2CQPiUehs7blotuW0Hi+/AA8wgtQfoEW82tN4CvUdAAABiZirgdhxEGKaLsWzk3Msf5fANbCwdPr7fF9i60/rGt9+y+fqYp29MwQmG886D3lO3mTzs7YmsXnB24h1QFHCbLJYq2nYvOJTgXe5c7bwB98TCstnaY5Mzsz9Qgd5ZnC4YHwBFILmwJWzsN5MeIaoKm1yEIFdFBiGEWJoErNGZeozE5ngytiT0y7aE60BQh/V1oDFSDOFUxwF4UI7RbrA6Tl0KDli+6Ay0IindCg+19lFYSRy0/nDo+3TTfJFdoiv1GWsjTUfLeDac3KGqgL0uCJm3UzhVBvC/augzxI2UllOg00+KlBLee6zlMQG4muSnvNWVJzmYOz/Wermas9YF6qtnmOzUTmb/gpdXNIW6eqXm+ksT7DYzXuHALsz6MtcpayauviFaExTRqLrxpFMbhDDen4aLl3MTknzRfJoUqFbYFU9LxpN1umia7g54iTImXBXBzGDe9EKIkAIkE5q3nozlyQZKiBUhSgLB0HcYYJOmzh6+lIIal5x61llE4bcmtIG4tPUK8CBPi1ndLpFx5gbsbR1OlFS5xa75Mdt0YK61FkP4SLrEXBrESEbrHZjpTSljMzl6UOOSLZH6wts7U4eoWGCCssLUtPZc93kKm9lGmcv6SKXDEa0OBEhqkx+6q3Xea3dMNpXXrRK2pM71GLYfMi6bX3i2KWw3SL6tD0qBxxFEYYkKXTmho59rQInvC01PaYmX8/HDecv6ZRKg1yH1BJb83tS8YBTHRptlNYhwuzGnkLXEL3aIAx61Gd2L0yf52PLGUFl4sW9Mk8u1bFF2FMWqGCW7Q2sBThJETr1MY2qluWsYH1uqm7T3NSYS+NQ2DmTdv3jkLHxqNCOHobrpwbW9mzxzPTyK0vQP3NJuRMQ/Fiii/gc+Oh+3YR2ipiJ03gL0FChOsiHtvIL72Zhh+/LHyQFnMwgg88AIQt2P0CWQQGdOdN+CGlIT8MHYgZg+CeP/rSiC8riLk3MDDA3zMqb0ZXIDogYQ+5fzgkitF2Q9Nx9oXNE0wcuGjIP76USATiZT4TYk0QjiJApDzl3lOz37o4kEsgMhHZx59dMOAqwKbxa4K0IPYD8ObZJlDzsMsczATyEPs+DYPfISmYeQq4j6dGmMnwnRcEbddByP4+Yc4LZCfrz0fAY4SVEI9kw5SzjXDX6IqKm2CLxGywRLTJIpQsEFqYartbZ4QJE7XnR2Q5gjE0uo2G1OwCB3nL6VpESLB6e4+a2XE65ErPO4NzMSb/SA3/qOQpGvIXeNZaobR14CM0TQM3FgouVgR13YQ2jF2cPxXCHAS3y8N7z8qZjm05gjb2ImuHN/PUcJOZD+GVEpOkUoiPwvH1NTiPTd7lQEubICOo63A50Qg4X/OKAmR9hToOG7fCF9mrIM2cWsfpFls9m9BpM9hocxbELnqBZ23P8olPkStCxD/Dt8p0IbLOmVo6Di4xKhEwEXgSy1rz6JwYUdo7sU4urNJy2ST0vhCi5NZs9B3UUTi3ovSLVUGkrDzn+gWBDZYkm0h7xQMBtJ1MZCltOsA8X5ji7IibsS1OC9zI47RH+5GV17gRHdf9SJG9ogjMYqlg6+rzpTJWPcnblLFp8oCK261wbfKc8ruRd1GmlVk1joNdbrNHlNywLJI2GTGNT+s5fx1fywh+Ue75DPc8quuWeOej7toZcIGj6XbiJnnF309ffPE2k8mpv65z/zzVcnneF5fTWQ8cdnVLqijiZk0uLzMU1l9FuNZvTCN5T1JbY3LVSK2hwfACJWrXXE09lepeZRgFkZlqz9i8MLIe5R06dwil+3v6V526oeJK3mBhyVCGzcpBaVNDwNPPhFnyPisBBApBTEiM0T7Oe1iznTre210ssVZ4XGv+DO6RUqJXJA8EFpEvZYrFAoWwVHo/PYtg6OxasR3MUaLKSbOS5v35zXjEN9OSR3IysS3tt+5GuA6aBEGUoT80HGfMoHpDSJT5U/o4nPZZPuSxIVoSQpCaenMSWIvh9/vYRIFjk8mSUk+4ZvCqTBZjMPlv529iNJ/prGejarrxc6Vj/7tgGV6/zWxTTMMWcrzcH0pmDTgpBSkvw4gtyiKvTCw5zhzM4xiDIK4TW96ZrD1Q/wx2AJB/FWAB2B3SOfwANfIcUEKQN4RQFFAEGWhsWoU3qsFxAfUwDVLyXwtzYPcbsMr2GuDmK7H0NJbVNNSrYmpiH9v1Kc6uZzk4C1UzplFWUppm344bxQAlwWAFCDSh1RgZm2cDNMw8V16VXWF0lMl/kysZAkGrTeD76DmmAnkDllp5xW3GBSkkSI/SXxK7cLVXcFisy68NXppSFJzcKnam3G6+F6MpSTwcAySNCNbBUlySveagig3YxTdelMkVBQu1wLIVirKxMU3gRkulzyYa5nvSWwYLePD1o0Wtyjqhoulwx3bZ7eaqiJup50I6VunCQbJBeFngXTa8k6J9Dgn7WwivbggHV7Oe8XCIX9zvBJY115q+EgoITdnzzEAfm56n7pF/kfiMAvBc0iFX3vzaxTj8zSMFXFbPzGVfA+SylgJueoiZSLNOo+oLt6Xma7qtM99bdVww88BSac9dDW+mVvhCd9bj89O00tXFtzk9/xKupO/6umG1rVGxocs0S5uXC8CaQliaThtwpP42gXxvjSyyjP5WtQRHzpot8FZYmmOMGQKMxZEvZWSPjPVVj+lgsIl6UydJaanG9k8trhHqkb5OPhNA4De+ZIpCsGPraB060YcnIvgJ1Qad3kzB4nt1slKJYcEbhhNEX3pollxdUJ2PWQhfji9ienrDA4phN7yZn50NEovJo+OFJ5L6LsFYtJd9QKq8bXCRRctv6Elar0svUmTJts/EMArOLBHwrWxaswR7o4najS9zj3MiabXiridpG3vYqfB7THvyeDu7opGpEN+OdgXiIDKSLQg79f3omkcpcONtTrLRhduNkpzjxerxuBgn0+xRJXtQvUdXmi9THmDtDaX47zYYAc2k6g4k08djR3t0GMJmUUGO46L0Bx9Ubb+0fz5Yyv9d9T8WdwqwVZMX4HyvwR8fnKuM1RLTxv4OphZEYi2fjiPbRza6aVuRV3sxDc0jorrk3QgpSYZZeiUbo1+2BvuNDhCWpgt/mZJ+OEEfrCaP+wN2WEg8dtMr6yrYFICd/NUSvd7HAZ2jCMvmCviNvz+iXQ+ReMmSU40B8Ijxs5iCUCTb6bSSlgjHS1R5JBo011CyhSoIWQ5mL4R5GZnb53EcuIbgg6kYgmWNYw0gmQf3SIfQNCDWRgtqAKOv047QHHszFEqlBRRH2HkHoH40wa+Y8+ltO0N41bd+NZ9DtgRiPnzLg/OEYjcb7sZHEcgsqfdfPmEB3vc5VZ7BGLxy262tCMQ2dNuvoKMcuy5u7na2UvLc1dpjHAny+I95xf0SPR+/euHlXhf9uJVk8xqFIlTIMlNgO8UClA5H/Dpj2tvrkkDZMc33tJOvyOy3cgjvXzRZ5PM/iU9MQ/dO0XcLg7xQHoHwgBhx3Wwc0SvvwXaTC+j8MsdCD8JIFxjvDxqteSDX5qdV/tN9v+tBZvV8oIYO8EU/d1ZehLbRSiddkeW2h2pLbOY40LtW5ZKF1KsNWuWBJEsiXQ1JBARbDWn4WKZYNTEzjzuezGGB1g4y+0Y+WiKt5u0NjzQrc22YN54y9Nl0qOA6WQZvi+8AcETdnZ2LtqXzVvHTxC0WiDMHD9GQj6TApVSbpUuGDgdBc4+rDO1b5Ir5CNs09Y5mNtTFGFv5k0djOwoxNS7/2MNx0Cot11UY7uLS9Ll8paj5fImlhgrieEpMTwlDk8pw1PYgQdITVlrK8ZLSCvpwIm8AEWjiH6R1PeC5EulRIVxVklZkQxj2ixXPk4kvfLDQx0B/43iOtX6Z4rrnUH5vNir9uENdOv4Y2d648xRjzVsE6NfWQdtCe7lI2nFLUYKQBCTyK9pR4BwBSFCceJjRbwnPQH3SUiaB9PRRuV8gtczBT9FOw25//rENAsTvEywIm4Th8g8kpgsvWUjqqUkZb9j5mRDDa5b8mZQa1EQxJFZ3rfGiRsCdoMZMK1Ih/v7J9Ldpvx//wSfnTgbpUWwrOdaX5jtFjKGr0CGg/a3MKXQpQk/WZLOxEi/m61YdJmaXKEnMCWHFcRO+U22TRTEPYGdtdC/1FQE9vVMmbwffkZR14m54L0PY7qdJHvSiyP6FfDR5RZ59gnx0SULtu9PwgjSD3h3iUHEXDh4MciHzfY+OIELQiQftvcF8tLx4xBcNPMC5JKND8kLYUAqJy2Yu2nLKWYfD3sxTZU4zHikck1v4flO5N/RHVSnnQnqdJrt/SaM8DWKPnsxqmPUZCg0iyWw6KXCgZvh+J+du0KDDD4Iws/c7CKqa0DYa7ZTCG73mu3nIMCMxiNAWXzN+antKuGd7U4y8zJnWrEELTTdPJPocZOwyJ1i1fwo3JI32TnBR0HYoRUiSPzaVMI73Prcuk/K6lJexZnfe/g6THAvxCUvzRjTU0vkwlbc+thsteZbpQ3iE9edXCUBTpoRx7gQu3p81dyKN8zP1s6HOsvjjDj+l4d8KcGUAcmCvgzrH5Uo2F/WZCcvprK902i81DOFdIu9wSK8voKLZk7i49wCL5bdFO8ZxKsmy+fxeedxH0lx9B1cnLrFyvZG+VL0LSqU+qqSLKIa0Yy2TKURYWenouQyQrdemMT9P1HZWpklpWspeOVJMbjNci9pKe7LaF/8eklyI3eHU+ecPyvbgnh/m8VAwT6//66XVQ/aHymzmij/JW78eFhtztW3/xovubjMLLyO+O1GjJ+Eb45tvqg8Mw8SH3tqNL2u5OZ0qd7CmSMrPEbjhHR2aYZuAHz/+yfaQqzNhlkULujQNAywQ8q2TnjETdBn0C2/u/Aum4sqh/MO6QSCENNw2M1UxtcO3k1PXdmbpzBrrHtNZUmZxeoU2ZjkvpbgNsigXlEj5yWp7Klp7CUqvTBhPTdZDSZ9S7fpf6/gaV79rRnq2YLyjWCakjang2ehnQX+U8P+aWqzG/FyA7Z5I531YOxUoDgl6NT2X+xe6y/WfaVbFW8Gj+VeQF+8GLPdx5zsOK4RFPT9PIVFiO19wnyXtZG8LJB1YfBHdH6P9FmcFsrLyyLHTQApKiozvVXlRlcCFDrBjz/mNSj/k22ikEBvpuqHKuwamw9avmWJDP2vru3PWRerVsQ7V42G47pn6XHfMHRR37lC1buuvnqs9W3TMvThKXdGl36z4IEg8gQC/O1vfwNBzP42fDjqaTYlMAV4C8Ufc3fe/lj/TQY7fIQgdBH4RB8oSUg38hFy3DtSZWIU4F1Sna+9YE726o67/vlIuW1j94quS2bUScAhrGsRN5tNoTiwpedmtausBkUNETFMzevVrnjPK7KquRSt41bSntvqRmgR3qKXmBeBsKbTCyz8dChaVbGtHAxeuQrR7p+kXFXsk5T7/9EtUy31iO/faf2xZpja6KTxfwEAAP//TkMp6r9OAAA= + H4sIAAAAAAAC/9x8fXebSLL3//oUNQwZ24mRhOw4ibNkB0vY4YneHkDO5DpeDhYtmTECBRolXkf72e/ppoEGIceJZ+fObvbsGZmurqr+1Wt3I/38U+vKC1pXTnzd0AzDNj+YljboWn3btFTDsk9Vva8cAh3r9keTnq0Pdcu29IE2mljK83TkVO9r9nvV6r7NR47Skbejfs9+r/b14eQ39UwbWsqLdMDQ+ppqajUEL1MCdWzZ+tC01H4/Z/oqHeqNuu80Y2O00y4N90bvh/2R2ivG5dL4O+1DDU2nREOUIHT58EFpmMOow0AajE4+0Gl93Sxw6jCgBqZ9Nj7bIvqI47CxNgZbdzS0VH2oGb1NEgacMRl2NwcZdO9emoRgqA/P8rGDdjG2odUBA+3d5EQjbjEcWfbpaDLsKQcMKn1wVjPtoJjW1yweqYPDshUHZ/Z4wql68HxjqV2rju5ok87QiY6bpNvRo67LLerlBuW5Zpj6aGjrw3O1r/eUAwZld6hvrvtQzg09NkY9u6ed1BB1NonG785stddjAcfQGxkqZxLNMEaGcsjgSSOVWwid+DLzod7YGJ1o7CnTeDSxTsgqyeqG6dBzzvbqWLdNzTjXDJ5AriXoDU27Pxq9m4wZWaeWTP2fiaFtEmfOoVpqfSwctTmKahAeydxg1dGPmCLnb3tV2x5tOtaG4BdtLog2R5nk7sS0RgPb1FSj+9bujQaqPjTTtb1kDM7Gk835Lw+4QUMnnsVHxsvDzeHq+l4+52i0c72r2eP+5EwflhgdFUT68HRkG6OB3R0ZxmRsaT3lJQsH8+y3rXJetTdpOAmv5CJL91S9X1jnFZe/J+OeamnFUBY5pkYc/1yncWV2DX1sUTsZmtorOMntNieEpNPJ+MxQexpHwakxnhhnzOHldicPEpIQDI2YQZHbDP+ubtqqaepnQ9sYjSx7/F6RZXljjPrPWDMGukk0VWSZsR2rNHV1R+MPlEiRZZ7zeNz/YI9V03w/MmiwnepniixXAjevISMWFrKcZbQ0jW24jyy/KBGMxpqhWgTDNDXIcpa9LKNm8BU0UrBoUJqW2n1nn2mWrRoD2xq904aKnJXQKslQs96PjHdsLZOUsSJnFbVKbk5Ohppljw3tVP9NkUlRzYPyZKL3s1wmk7qYgvJeHdtdQyPukoKRVSV+RB+ak9NTvatrQ+oR72xzrHY1RSZVilJbWl8bjwyrV0qbipzluWI8c/h0OFuIYemnapfUK0NTB6RKZnwUOctxNUSMmSKT1JY2PpY1Jk7+2we7qxLczjXDUuQssbHIIEOaYZmKfJQ3J0xtU+sSUK2+aZ+MRpZpGeo4L6fab1o3i/vcO44yA/d080Tta7Y+ttSTvmYqMklrac40JqZFOGw6V5bcerpJZtmm+VaRX2Qeb+gD1fhgD/WurY+5pCq/YJ6vD03NsGx90DNtQzMt4qLE+4wJ0WRojeyBOjzrazbVSZFfHD503qnetzQjn8fCqEeA0LbMOyUJryLv6KHzKvJecM5raMQWtqH9/4luaD2lk6Wo4YgmBfVMMxkwnSw3mUN1bL4d5dmQbxrbWWSMDf2cDJL6SVoB4pWdLF2Rh7y7dtqHWdjk7fpANd8xpmysa2g9bWjpaj9Ntr3anridRSBpZ6qtTqd9BI1G0YrQpopow7R/AZUx8pygSqq/LSud9ssqBVd836vmQOm0X93L5EDpyO17KQ6VTpa7t1A8VzpyhgrrQzInz/tTzTgngUyiUT/Vu8QWxshKE6ilnikd+aDR8GYw8wIXWghPQcK3SwSzfR+kwFkgEJ5KEfKREyMBpGXkBRikT4mHofOm5aJVK0h8H77CPEJLkD7BTnPnNeBrFDQAAEamIu7GYYRBiij7Vs6NzHE+38DOwsHT612xvQ+tf+zqPbuvv9OU3WkYoTDe+6r3lN3m0709sbUPzh7cQaoCDpPlEkW7zkXnEpyLg8u914C+eBjWO3tMcmb279Qgd5bvFgxfAUcgubAj7Ow1kB8jqgmaXocgVEQHIYZZmASu0Jh5jcbkZDK0JvbItIfqQFOE9G+hMVAN4lTFAHtQjNBusTpMHgoNWr7oDrQgKJ4JDbb3UVpJHLX8cOr4dNN8k1yhKfYbaSFPR8lzN5zeoKiBviwJmrRRO1cE8a5o6zLEj5W1UKLTTIuXEqw813OYgNxMclM+aMqSnM0cnus9Xc1Y6wP1TLPNt2omMn/AS6ubQ9w8U/N8LYl3WxhvcOEWZn0Ya5W1kkffEK0Ii2nUXHjTKIzDGW5Ow0XLuYnJ/6X5MilUqbAtmJKOJ+120zTZHfQUYUq8LICbl3HTCyFKApBIYK48H82RC5IULUCSAoSl6zDGIEmfPXwtBTEsPfe4tYzCaUtuBXFr6RHiRZgQt75dIuXKC9z9OJoqrXCJW/Nlsu/GWGktgvSPcIm9MIiViNDdN9OZUsJidvagxCFfJPODjXWmDle3wABhha1t6bns4woytY8zlfOHTIFjXhsKlNAgPXZX7b7V7J5uKK2VE7WmzvQatRwyL5peeysUtxqkX1aHpEHjiKMwxIQundDQzrWhRfaEZ2e0xcr4+eG85fwziVBrkPuCSv5ual8wCmKiTbObxDhcmNPIW+IWWqEAx61Gd2L0yf52PLGUFl4sW9Mk8u0Viq7CGDXDBDdobeApwsiJNykM7Uw3LeMDa3XT9p7mJELfmobBzJs3b52FD41GhHB0O124tjezZ47nJxHa3YM7ms3ImIdiRZRfw2fHw3bsI7RUxM5rwN4ChQlWxIPXEF97Mwy//FL5QFnMwgg88AIQd2P0CWQQGdO91+CGlIT8Y+xAzD4I4t2va4HwuoqQcwNfv8LHnNqbwQWIHkjoU84PLrlSlP2j6Vj7gqYJRi58FMRfPwpkIpESvy6RRggnUQBy/jDP6dk/ungQCyDy0ZlHP7phwFWB7WLXBehB7IfhTbLMIedhljmYCeQhdnybBz5C0zByFfGQTo2xE2E6roi7roMRPHsSpwXy87XnI8BRgkqoZ9JByrlm+EtURaVN8CVCtlhimkQRCrZILUy1u8sTgsTpurcH0hyBWFrddmMKFqHj/KU0LUIkON3971oZ8XrkCvd7AzPxdj/IjX8vJOkactf4LjXD6FtAxmgaBm4slFysiGs7CO0YOzj+KwQ4ie/HhvcfFbMcWnOEbexEV47v5yhhJ7LvQyolp0glkZ+FY2pq8Y6bvc4AF7ZAx9FW4HMikPA/Z5SESHsIdBy3H4QvM9ZRm7i1D9IsNvsrEOnnsFDmDYhc9YLOm1/kEh+i1gWIf4efFGjDZZ0yNHQcXGJUIuAi8LGWtWdRuLAjNPdiHN3apGWySWl8pMXJrFnouygice9F6ZYqA0nY+290CwIbLMm2kHcKBgPpuhjIUtp1gHi3tUVZEzfiWpzHuRHH6A93oysvcKLbb3oRI7vHkRjF0sHXVWfKZGz6Ezep4lNlgRW32uJb5Tll96JuI80qMmudhjrddo8pOWBZJGwz44Yf1nL+tj+WkPyjXfI73PKbrlnjnve7aGXCFo+l24iZ5xd9PX3ywNpPJqb+ecj883nJ53he30xkPHHZ1S6oo4mZNLi8zFNZfRbjWT0yjeU9SW2Ny1UitoevgBEqV7viaOyvUvMowSyMyla/x+CFkQ8o6dJZIZft7+leduqHiSt5gYclQhs3KQWlTQ8DTz8RZ8j4rAUQKQUxIjNE+3vaxZzpzs/a6HSHs8L9XvFndIuUErkgeSC0iHotVygULIKj0PnNGwZHY92Ib2OMFlNMnJc279/XjEO8mpI6kJWJH22/czXAddAiDKQI+aHjPmQC0xtEpsqf0MXnssn2JYkL0ZIUhNLSmZPEXg6/38MkChyfTJKSfMIPhVNhshiHy/84exGl/0xjfTeqrhc7Vz76jwOW6f3XxDbNMGQp34frY8GkASelIP11AFmhKPbCwJ7jzM0wijEI4i696ZnBzpP4Y7ADgvirAF+B3SGdw1e4Ro4LUgDyngCKAoIoC411o/BeLSA+oAauWUrmG2ke5HYbnsNBG8R0PYaW3qKalmpNTEX8e6M+1cnlJAdvoHLOLMpSStv0w3mjALgsAKQAkT6kAjNr42SYhonv0quqK5SeKvFnYiVLMGi9GfwENcdMIHfISjvPucWgII0U+UHiU2oXrm4LFtt14a3RS0OSmoNL1d6M08X3YiwlgYdjkKQZ2SpIklO61xREuRmjaOVNkVBRuFwLIFupKBMX3wZmuFzyYG5kvgexYbSMD1s3WqxQ1A0XS4c7ts9uNVVF3E07EdK3ThMMkgvCM4F02vJeifQkJ+1sI724IB1eznvNwiF/crIWWNdeavhIKCE3Z88xAH5uep+6Q/5H4jALwXNIhV9782sU4/M0jBVxVz81lXwPkspYC7nqImUizTr3qC7elZmu67TPfW3dcMPPAUmnPXQ1vplb4SnfW4/fnaWXriy4yd/5lXQnf9TTDa1rjYwPWaJd3LheBNISxNJw2oQn8bUL4l1pZJ1n8o2oIz501G6Ds8TSHGHIFGYsiHprJf3MVFs/TQWFS9KZOktMTzeyeWxx91SN8nHw6wYAvfMlUxSCH1tB6daNODgXwQ+oNO7yZg4S262TlUoOCdwwmiL60EWz4uqE7HrIQvxwehPTxxkcUgi95c38+HiUXkweHys8l9B3C8Sk2+oFVONbhYsuWn5NS9RmWXqdJk22fyCAV3BgHwnXxroxR7g7nqjR9Dr3MCeaXivibpK2vYu9BrfHvCOD+/trGpEO+ePoUCACKiPRgjzf3IumcZQONzbqLBtduNkozT1erBqDo0M+xRJVdgvV93ih9TLlLdLaXI7zYoMd2Eyi4kw+dTR2tEOPJWQWGew4LkJz9EXZ+Ufz2cdW+v/j5jNxpwRbMX0Nyr8I+PzkXGeolp428HUwsyIQbf1wHts4tNNL3Yq62IlvaBwV1yfpQEpNMsrQKd0aPTkY7jU4QlqYLf5mSXhyCk+s5pODITsMJH6b6ZV1FUxK4G6fSul+j8PAjnHkBXNF3IXfP5HOp2jcJMmJ5kB4xNhZLAFo8s1UWgsbpKMlihwSbbpLSJkCNYQsB9MngtzsHGySWE58Q9CBVCzBsoaRRpDsoxXyAQQ9mIXRgirg+Ju0AxTHzhylQkkR9RFG7jGIT7fwHXsupW1vGbfqxnfucsCOQcw/7/PgHIPI/bWfwXEMIvu0ny+f8GAf97nVHoNY/LGfLe0YRPZpP19BRjn23P1c7eyh5bnrNEa4k2XxjvMLeiR6t/n2w1q8K3vxuklmNYrEKZDkJsBPCgWonA/49Me1N9ekAbLjG29pp+8R2W7kkV6+6LNJZv+SnpiH7q0i7haHeCC9BWGAsOM62Dmm198CbaaXUfjlFoSnAgjXGC+PWy356FWz8/ywyf7bWrBZLS+IsRNM0d+dpSexXYTSaXdkqd2R2jKLOS7UfmSpdCHFWrNmSRDJkkhXQwIRwU5zGi6WCUZN7Mzjvhdj+AoLZ7kbIx9N8W6T1oavdGuzK5g33vJsmfQoYDpZhu8Lr0HwhL29vYv2ZXPl+AmCVguEmePHSMhnUqBSyp3SBQOno8DZh3Wm9k1yhXyEbdo6B3N7iiLszbypg5EdhZh693+t4RgI9baLamx3cUm6XN5ytFzexBJjJTE8JYanxOEpZXgKe/AVUlPW2orxEtJKOnAiL0DRKKJvJPW9IPlSKVFhnFVSViTDmDbLlZcTSa/89WsdAf+O4ibV5muKm51B+bzYq/bhDbRy/LEzvXHmqMcatonRr6yDtgR38rG05hYjBSCISeTXtCNAuIIQoTjxsSLekZ6AeyUkzYPpaKNyPsHrmYKfop2G3P/7xDQLE7xMsCLuEofIPJKYLL1lI6qlJGW/Y+ZkQw2uW/JmUGtREMSRWd63xokbAnaDGTCtSIf7+yfS3ab8f/8En504G6VFsKznRl+Y7RYyhs9BhqP2jzCl0KUJP1mSzsRI35utWHSZmlyhJzAlhxXETvlJtk0UxAOBnbXQb2oqAnt7pkzeDz+jqOvEXPDehTHdTpI96cUxfQv4+HKHfPYJ8fElC7afT8MI0hd494lBxFw4eDHIL5vtQ3ACF4RIftk+FMhDx49DcNHMC5BLNj4kL4QBqZy0YO6nLaeYvTzsxTRV4jDjkco1vYXnO5F/S3dQnXYmqNNptg+bMMLXKPrsxaiOUZOh0CyWwKKXCgduhuN/dm4LDTL4IAg/c7OLqK4B4aDZTiFYHTTb34MAMxqPAGXxLeentquEd7Y7yczLnGnNErTQdPNMosdNwiJ3inXzo7AiT7Jzgo+CsEcrRJD4tamEd7jNuXWvlNWlvIozv/fwdZjgXohLXpoxpqeWyIWduPWx2WrNd0obxAeuO7lKApw0I45xIXZ9/6q5FW+Zn62dD3WWxxlx/G8P+VKCKQOSBX0Z1j8qUbBv1mQnL6ayu9doPNYzhXSLvcUivL6Ci2ZO4uPcAo+W3RTvGMTrJsvn8Xnnfh9JcfQdXJy6xcruVvlS9CMqlPqqkiyiGtGMtkylEWFvr6LkMkIrL0zi/p+obK3MktK1FLzypBisstxLWoq7MtoXv16S3Mjd4dQ55zNlVxDvVlkMFOzz++96WfWg/ZEyq4ny3+LG94fV9ly9+vd4ycVlZuFNxFdbMX4Qvjm2+aLyzDxIfOyp0fS6kpvTpXoLZ46s8ASNE9LZpRm6AfDz759oC7ExG2ZRuKBD0zDADinbOuERN0GfQbf87MK7bC6qHM47pBMIQkzDYT9TGV87eD89dWVPHsKssek1lSVlFqtTZGuS+1aC2yKDekWNnMeksoemsceo9MiE9b3JajDpW7pNf6/gYV79oxnquwXlG8E0JW1PB9+Fdhb4Dw37h6nNbsTLDdj2jXTWg7FTgeKUoFPbf7F7rb9Y95VuVbwZ3Jd7AX3xYsx2H3Oy47hGUND38xQWIbb3CfNd1lbyskDWhcEf0fnd02dxWiiPL4scNwGkqKjM9FaVG10LUOgEv/yS16D8K9tEIYHeTNUPVdg1th+0/MgSGfrfXNufsy5WrYh3rhsNx3Xfpcd9w9BFfecKVe+6+uqJ1rdNy9CHZ9wZXfrOggeCyBMI8Le//Q0EMftu+HDU02xKYArwBoovc3fe/FL/TgY7fIQgdBH4RB8oSUg38hFy3FtSZWIU4H1Sna+9YE726o67+fpIuW1j94quS2bUScAhbGoRN5tNoTiwpedmtausBkUNETFMzeP1vnjHK7KuuRSt41bSntvqRmgRrtBjzItA2NDpERZ+OBStqthWDgavXIVo/09Srir2Qcr93+iWqcYffhCPOKFX0PkNN1d+uSNrKsA+0Yeq8cFOE1L6rkrpbryWsDa2K1Q0lPObc0gifx8+e74PSYzAoydv9BsVpMCRgGTX7kIJloxf/jUKlvg2NNqMpfRNfnpdf43xMj5utS7+0bp8Rn+dIAoQRnFrddGWXl0++9jM/tt81qJqeChuNZ/tVE76pAA2Rdcf1bGXALIrImGVTjSGmqXlvyuxFqDu5f5NEcq/6DcHKm8QbLz1n72PSL80tIzQzPtSA9bPTzkE1sIGl6rqeafH833ypPW0Zm72TVQcOVOM3Eyj4/z7MlnHSduYimLHsM2w935PZ6v3pdf0RI0kQF+WiGjk33JemLleikXeDTsxw2Cr+sI3vizzLfctfrdobIzoj2nlv/5S0Ka/FLduiXf0twmzx4Y2Hq05J5ZIFTvOXzvJunLJ94LkiyTedccT2r2XUsXPb7X+WDNMbXTa+N8AAAD//5eBO8/qUgAA @@ -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+ArtifactStreaming/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line40.sh index bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/CustomData index a7acc45a346..3d29b1a844b 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/CustomData index 7ffe682e2f5..975c9d70893 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/CustomData index 1cb75dd573e..db78e1b2ef3 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/CustomData index 9adf43a8e3b..f3d44017114 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 | - 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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+IPAddress+FQDN/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line40.sh index bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/CustomData index 1cb75dd573e..db78e1b2ef3 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/CustomData index 725faa04fee..a1c06d01166 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 | - 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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+Calico/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line40.sh index bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/CustomData index 1cb75dd573e..db78e1b2ef3 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/CustomData index 1cb75dd573e..db78e1b2ef3 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 | - H4sIAAAAAAAC/+x9bXfbNvLv678+xZRhYykJKdvp7uZ6q2xVWUl1bUs6kpzu3sTVoUlIYk2RKgDKdhTez34PAD6AJCjJdrrt7rndc5KNAAxmBoOZHwYPfPZN89r1m9cWWdRqnc503B196HW6015/OrkYtprBijatzyFGTTvwqeX6CJOmbRsrHNzdmwThtWsj0/V520HnrDvZt2lg3yDKW/Z7086g/673fnraG7W0JqJ20/bdpo+o6Wi8/MdePy5kVFnhtetrtWeTwekAVqHnAV24BIKQQjADO1iuAh9Rn5i/ksAHGgT/4GROBz/3zwft03GBmBPc+l5gOUSrdUa9zuQ8rSlXxK5NPUXdjLmQ4KYX2JYn2OsM+pN2r98dnap7TtTiyERHl/2OsjoOfVuuePZmrKx3E14j7COKSLH2cNT70J50p8N256z9vjuedtqdn7o7mjZX2F1bFBkry76x5iimNeq+740no39NR93hoKUFhDCZLewiIpHRapc/XvYnl9NR97zbHndbet0j11OMPGQRBAYGgzRqg3FLr7sz8AjwwX9hJBWO3kLTQeumz4b4+O3zo78DXSAfSIApa12o/gXm1u0NHCwtai/q+uEraP5S751Oz3tn3VbdDjAKSONL77RVN180GnrzFVgN2MAKuz4FGoSrFcJ16+PxFVgfX181/g7ozqUQHfwdZm6jNu52Lkfd6eR8PP1xMJiMJ6P2cHp2+WP3vDuZdv/Z7UyH55fvmTGUjUdMBOqR6yCghGJrpe1P70N3NO4N+i1tfWgemYeG5a0Wlnms1Sbd8+5wMJqcbumZIg+tAkydvOV2T7v9Sa99Ph2OBh96p92R2uSRg3zqWt4KB2vXQXgXkWwurC3c9NxrbgwekmkZCTGFAJVz6aLd773rjifTd73z7rA9+Smn2KXluzNEKJ/vbOJdDAf9bn8yVlePHYRPSdzgot2fnv44bV9OBtPL4SmbJO/O2+/l1ok8S8s3nOumFdLACFeORZFW61yOzqeDy8nwctJq0uWqaYfYm64Rvg4IMoOQJtNgMJ722xfdlib+zToeMQeRFcQ/aLXO8HLaHnV+amlazUG2Z2EEhgU/t8cX4596F8Pe6bhVb8hF42Gvz8wnKaoRRDvDyza2F/UGbGoAAClVvT5PSxu1qFbDaBms0YXln163QxpcctHeedb8neuhtD1egjEDfZe+GEEbI4vuJEiD0F7sSdBDlh+uOqnbPPUYKZJjDs9Ar/K7jIjrE2p5XkbkZ5cuOqk9/G8S+Cm9gLT0TX7kIl7gzuDjRzA+g6bn/ZsGV1fCRfF6KZHBOJJ+YJZB3MBvaXaIMfKpxguRR5CyVspE3Esk6s9c/hf/I4slQ+GmW3r9199AM4eJ1wZNV0wLDb4Ar/fxCr4AQR6yad30rSWCVgs+aRndT1pDa8CXL8In6t3RaCrpOXZR017/Q/u8d8p5isNMUsZtMtaeSy4szMgOcJvNyHPXD+9A44rS4Plzpl5N3/TG07P2pB1pjBmN4hBVKTiZR6x6fqxiLYmpGmvjg9AsYX2UNBcxVW0CkvydjEOsdf7Hs8x+DgisE3IWxtY9uATQ3QrZFDlAA1hYawSB791D4CNAHloin5qCTG8GLoWFRWAZYAR0YflyrVdwi+DW9TyIzZZJDp5FaFIDXJ//xns2JePUN8+K+v/4w1UExpzCUVmJyF4EoP3cHvV7/fcnkjlBHPaLQlbybEJP8Or68x3s5sx4B9voNzhk1qdvSuWHVxG3j+/HZ73hW61KuF7/3WAfydjwuXSBMKDlit5DgDnLMxfLchAQ3ZkwvnFXKyasRDoeLou6gR+LyR0UoiH24VCWu/du3NIPPvkHHNQgp2CirbpeF2jnA3z//feaQv4XV5HWEFMr9AmijCT/F5dnStzPqKVvninJM+Xyukz39XrWwjhqNMDwKBzC1RWbkWwYp67voLsWHwjp36WGnOIq11NL36gZ0DcZpShmJtPkhfVrgC9cP8BDhuk+pC6xLgZVz/fC3JkdUjAcA4zZUUMrkPspoO/cuwdRIWDMjmNCzEaF29/FoQZXTEkf96rKjJchXGWjHMu5ukord/215bmObIyxfZ9AUcys6b4uPbZZL5iTKQ2maM1iJmjts7HZGXfNYnAdhT51lyj5fUwt37G8wEeZ+9QYy5WlIPtntfqiXJ2ctmKPnSgGKtgDA8piQwv0TV5fkVarRBAXMQDN4QcOX6WRSCKJZEsz0PQStC2P7VZKeROXYANDAAYGMys0kTNHyi4bmTVwzhSgg9ve0Rvz8Lsyg7t4OJCZWLm+jxxTO3pz+J12sIud2OZy6Kg6XMU9gx9QmAWhz3wxJMuDV+CgmRV6lMcmFpqxYwcO40U2b0mQFbM0WZzYYZRl3eV6phit3QdS2eZ38qwpXUexylY/k/L3CB8juRiFSNvdTK8/nrTPz6eT3kV3cDn5491MXmt595Iq6cmupbI/TeVjYnKpZ9mjX7YSHPW7k+4412/550iT8Jemb/rd7ulYGqFIg2+q0XfMwEVwfQ9FOCfcm3LVwSHFr7/BQbpAUS5ApPWH1jiA70FFDaQkkdJe4y4KyxlmjoQS5h9UVCXYtseasfY//yPAnayDrb07ASLcS3E2dnCxM+ZIRtNH9DbAN0MvnLtZLJKGd/LzYHQWJ1yYVweNZ0WqB5cv0Tr9Xm58Y476PXiG0Qxh5NsIVrxTYsJFQKh3D7MAw014jXxE4Tqk4AXB6tqyb+KKDEaHBDlwfS/7cGbDcrSD4/zyvpjJhefA5E9SU5000zSME01Z+mNb3utydM7W2rvqnLRyM8bwYY9GkUK7Nkapk5zOAjwNsEVaaXDYRZKFijlGKzCCIRysPzkv65/MT87LxosDPpMcOCDNX9bNJvvnAlkOY/WokQyijFAYI0lSbhpir6Uf5yXUS1XK4uzUbZlIjpfljeNiMFag78pOivpZznQ4GrD5kvmsLDs97o4+dEdsWB9QXTnCD2ivGuxM08I0Mz0kZssUkpnBA3ts6ptSVj4S2U7DsrGhyL6erPWN0gQjw3P98M7QN0m2MNK2jvLk/f/hWz57zINnz140Iw2ewSVBcG2RBVyHLsNj8ExeJeN7e+lM54hOqYWvLc+bznCwnGI0dwnF99Nbly44r3B0fAh/2TVbTnujpr6Fc57p2XtsIi2fBhuM2uPp8PL8fMqG4F27d15c8McAlie+RrEMl9jbz3FUGlIKS7+Syyj4iJ2jvdW6yjZk5M0tMqmFzfln7Y8e9z1c98OGO+fVfuf5ss/A79ICmKYJu22nVjVGX2ssdrJQyD5vqy2vJoSOMlQACSyAZHojB0ho24iQWeh59zkIXg0mdi1PSi3NaoSiQXWZ2CexMBh3n2d7qXmzRc+RBkZnjxibC8kVlhrv1sXhwV4Etz4YI8BBQE/YH/u1W653TkNWeXs003b11axqGPO+DBz421/+8jQyCUTdLY0MWMfIDjGanI9/TDaHz8SmafcO2QUcL9y/gM8cqmkLSlfkpNm8eUPifXBiXnvBtWkHGJm3ru8Et8T0EW1aN8SgHjHSPWjD9lzk06a+eehedNTk/r1pLZ2/ftdUEZURlF53SXt08dfvGmxRp9h++PPIg5db5SmD1UedCqhJQqcYY2XRBYsJj6IYVTCdLca/EctxVa/lRE/q593ZdGa5XogRvGZe/q+HYDP4b8zG52AElQTT30PsFQJoyvbegsrevNLTPEptmkSTeQBjFDuBJ1CbuWxy31pkybenu2x9X50TZvWmM9dDfPj1zVEk1SMLd5nBvM2xXJbAdhLOZu5dS9+8Lrbk0SkZl1Zd0zc/nHwXaQ2QF3/81M69IsW5kTtnIAgoBhOMOCfJlvasBrh+UjnX38cfrhh2dYJ8Xjm2wk2VBiLpWJTBiBqCNoOPeVbZL3kdROq8dAzCj6CYUnYCH0kIgUEZxgswXkicl2FiPoTbF3vxWZN3A0G9q2CR5Zgptd6QLSedZuyfVJhFbDLJxmB+0b05jkCOHCIblTBHYrN4zc0i3d9mUieZdDG+xXbl4a22O7JyfQ004rnzBdUaOYP4CJqeS1Afmm/MQ8UCmv1XIv6yVddub4lEMx7aQu6dDxpPbNTR2vLilNxpTIVBy2xfNYf9M8IpPiuPEOilUcklwpPeQVtnslbOGcjb5q3F/OZGPveTbtr+VwyTOJmhUOsQ4aVLxNa8QsN7KTPTpZwgVE2yR/lnpYnl3XTBhf/bnDSkoT8fifKbPjnpmB5lehpoxvpI2+beFdl2ySMy6twtErA8jCznXk66V7HxShx58QMK1yidd64/L52kyEGyf1s+8BswPsPD0nNV+cA0scGR7wNTfrkztw5yiWddk6ZS/ScFQ9mW4ROc8RGJR33+eUqXq1blgKn7LPcRZ3xqT8v4bMqsRRroG1mXUVXKRtqNYx415YQvrz/fMWhSJi9WzFXSpzT4OnYfHaVAIT8mYqo9iEARaayPpCmyFFBLIc+2afRwXLfXWmEtFgt7S1eN+tRqCrFXSYO1OH77/Ih5R4RAl47rwtvsfHmSG+2C9kudMX5ivmh8qX9E3SuMzRcNnZ9MrNsWzZN4/lwytbPR5XjC1gjFVFQDnqcak4P5y1Zd/6aRi1P7RMTfYUFRFY1ef40lwyNtS87LfB3byWk6OROwcv2z8Bo9HWrvi7QfDd8kJTC8dhNeo68EbBMl7EKzcrc5EKbErfKh9CfhVtkSSgyWTIAxaayP1fhPPdwqEffAfflR+KrYLztDsY23StkrTu9UVN+B0Erd/n+U9giUlmhROWZfBaTlUyulUYu2z5QSKIsd6OMwmVYAZdpDUdn+EAZKNyIeiUoeML20Kq9Y3eRPg0JktxwjkCwcDrCV4Qs+Soq7YWz85dtgad3uPyejdmfSFZWZ4wQFoVzA5EXJLTfuJwtJ9hITNSlvJ903YJynkUWXyZqmKfE4uRi29E2JI77bWr3ZunXzs8RiM+5A7LkpelMtUtLy7mg0GJWz9zt6UXt8tviH7U0Lx9FM1aFNFYOya9+/MxFi4k5I6ATy+muHiGwpVrazZrb9piIhn9astpHkUFthO9jk+8FqeFWA4QIDHJ0YUfH8EN8GKWfLGFXQMCKhR1v6hntJqZQxrIvSGqijaiaYJmOc5MxeymA2mTZHhn5SOkQnOP7Q706mrEzsboyTeXpi6Kqi0nU4VaXKGzmqyuAKMySImtC9cylDFGYlpuBHLPq99EiFvlERfcq8LimqqW+kHvnUVqqmcFpBIpPuZ+UOLbo29dLReubOQD/id5GWK3r/Cqh1g/i+cul6egQWSc61w9ryQmTCgC4QvnUJitsdsTp0gUR5TYb9py4WJqsmHhWMR2ombhzJqFdckZ/MP0+WK2HNXPN5JfO7sSy6wlEcjjWZalPfyGS4fssZnSKrkkbT4xc5hVZcfOVci0uY6UWluugfDCPxEse5+BwfrYxrJXWazflBI3/UNk84PkddORtSl1Rsx580EJ0lGD11VCaQ5PpZTm7Whlp4jmjm6hRnv781X0TmoeL6aaxfbuTdi2FLEwwY69RKko3zyjSfVthAiCOYwsiaKdGkv6hiZ0E6X1E21VxNodMVRoZt2QvkJBpM74WcVGhOU+4dqjYuRBeXPlu78vt/ogfXp0HGYf6oS5Jq/Hy3foguWMwrEixshmc74Xq+YmyninX0lopiCzuZlZPkCYHCWZQ8mBM6ym70p3ju+CEnQRRLxjS86Js8fKqYSAnbzDfBysLWElGEedKhQiK2kOKWMXfXSHlhJRNLBkDl+6ucy5IOKllNH2fI3Vt6AheZo976NsRuj7zZ2j7KnpVgLqEsMF/85UarqayX0ZEWh5tqWSPJw1eZ5eMtrXM5GnX7k8x069kA7YgG5ZFcZxFBgMNJe/S+mxGPt1ATlglarhHuBMuVhXmkz/NyYmiH5qF5qEXMwHKUInWaRwQRTwoWUGay1E/EMMecP92Axd3ueoAB/RZaHtCgkQSVa4sgiUiBoXJUKoyVqQg5VXNzmylyN1DqPr8j8zUsueqdkr3sN7nhxs1Xlc78yuRjV5DGyu3yswlFEA1XnX7v1MVEsWCQXmCqOuipqCMdp8qVKohnzz9tpV+qlkWyfGlUy2CgtASSF9IVt9K+fIFv9rqX5rtGfNnpCRfT0gusfgASRcjep4EVRgT5FGZxhoPfnoqvrgK/u5pOHIb5jszvzCMTJguXAFkEoecAwpjN4DXyaWh53r0GW/dfs5xeeYnYxGhm+24C8CA9q2nZxFi6rCOTn9JFzhzxI5qSVM01Zy5LhkplMYjkp0kNUc+krIfY6PP7tOIY9B788YPOBcNU5AzFisvybq17Ar+GhEJIENwuLP7Og+cSivg14sKzQUACuEXgBP4BFa980ADIvW+Ldzhs3/3Kb7Fk+lI9xtLvKa/sx++V9Hs8xcNYxYiZAdgszljXQUjF42nXIYVby49fLcGI6UD9asrtwrUXgNFvoYsRATd+zUT1XA78ju/lxH5uj5dy/pAXZ6qev6l+iSY1mL2eoImnt72w/Dk3vXjj7T/t/ZfHPEBReltE9ShMbQ80mPlC7k16I3ExR+Ga8JK5JsWbEAmQ2Z+U8HIVpOQ9jHjeOFvSUHE/qgXzM7aWsD1kYWYdS+bRkC/m+q2IDGuEYWGtVsg3wSIkXCJwKQGMPCt2A3wAXZ87ijWCc4siQuHDT6dJdBF+b4Eg9KmFX0HgOQiXCun8swkyLFN677xEzRc55w1Vr0Aw15bErrjfJE1yzdj67K5WyRXjwrNvCvOr8KJJlNgFfbLVSSkB++Q0pWxWuRzktyxWRmnOovYVbOdRQ1QeoXzmZ2cmVZnz2XHNKtGzWcx8Z1eqcvfX5dEsXqzayaAKUDzANNAdxZZNz8Jr9GOMggobCDdv5GgWn1aJi8JrlOzHio3oY7nYJdP4pc649LVWoJtu1k0dF7c0/TutVqgRb67yXADDHS19U+hV5HNlx5rvl3lXFjXLQynRZ3F6+3ukzNBUDEVaTW1bcu0qQ4rXxSIdmIS1fMssPbg7DVh7CF1OMz4yEVsBi5w0f1wPzyD/7mXyeqbxQlVgU894UZ50BU2Xhn6LctPpn20WlZvLI1C6z1ywl9IZYSlNhyiyadGsX0GZxiuwSHoIA3glrkiGUPkxBBqIR4AtTN0ZU61onB/D3WrJ3q01/MBBe2S2H3+INW+vZZn3vnP8qKmQBj2tgnxeRDnpLVva7jXkw8SUnzQuXfr6GoKqOqgUNf6/yVTngcKg2PLJLMDLlka+mC++PDcEHwlC/6KBYZBFcJvVRI7BphdhYWatYPxT2qNhEIrdlZEBldZrFnPycx+kZ5qZncqOorLMpl5Z11LqqFZQb4W7yQsLV+Ihqeo2zHeV2hTXHlt5yu8CKMLNzGLgu5zeXaqsRNrdiPFDfNX2TAjY9h32/4Y4uLvPkNvleDK44Lf/WDRvj/5VfjSmXEV+KiaJdNtIqOrINITXDAlbV8UqYL7wBNRNcznSV2CHhAbLpMEOiaLcq0PTeHN56s6m/PixP2+xGF8rn7bbRVc9TI8Ke7U98WH1+JoKOKaB4kf1s1n7iMtts/ickkqfWUX+TEim0Z1Dqzq0+IcpZDe33HDK81q49Eqno3q1rOB8tErvU9G4+NZVvGtfPUhaNbj9ysdO80DpVACl9HEAWOGA79alcMcl0GHw81G4iP1XPNG/rtBaqaH8QlLBcYkRev68jBFLFSvEz1RQaMEEtqoQoUtTuekC8YBYKbcAMPnTvSXuysNSxEDpVUbsMdCH7loHSWb84y/Nq5fyhxXWHw+N/3X18pOZ/G2+zFLi5ssDJeHsIa4Se9XWk2+saNn6v6CnLO+mw/5LLjJzRLvCaObeKXT27IUkcKRtpVi6TLJR9PHtt80XO+gIQ+kKZ4XkV2/zPQCD5lAMsrDPuCsw4h4/P+n0uPJZr8I65aR8z2XLyXHVCjbNHBV/yH9jZNK9GPLcz7vR4CJlqqXxTx4oPztSpvjHBSd5HGLQKLS7S8Aoryj+0ZkTEN9L4C7GDnzH5fdk7AWybyDwi/YFgW8jGA2TbL3Lk6zIIsjJr4xZ8K/X4wtVakGSB2I1U+NPxMLbFhz9rdHgmxjVrrhicv+BYKHkj/JoqXI1luzsPyzgV1TXtpHbAj4qqms1aWvaenlXAWwrYG3tKYgYmotgiZqL+xXC7EcjnYbwnK13WERM7xT2ltY8e062c96bTgaD9BBX5pB6F+33XXG+61hahTBayf6OuxT5LkWjCMRyRd8kPeSu6Eg/i011irUHwFnWL2PEpthUd6+BproGcgxHPENhU7ai52vzlWUjuHlDTDeIBeIAQldQ5ZvS8Y1H6i6Rwz87lWhkqzbWrgVcyNxlDWnLqzNh9d+LXExyZSO3LCjpTBxafIzaeMtHak4cdfzddBQLVakmcXCxSlOSE9mphcfJ7wT2DcK/m/yCfEH+00HnrFtlHiKlgRG15k+f46PupP1e/vm1NPV5H3MmBgdSFVLwI7AFOl/FG2yds9SaK4cD9AIrj5tSyQHfR/WVO+nGrecxdKRxvuiM+AiTdwHuLFzfKr/1LAHLyz6zl/hcg/SqdllKy/NS0q26Xt+mcXE6JrmzdvDL0sbm0rVxQIIZNe1gyR8f5t9k24ivrOlH0UFDMVGLvco6Ivt1QCiGFhDez6yufUtOviXaK9CPXoF+3Igg5oBQnLKQO7ur6RuZi1hXlef1mU8Qm+Qz13dgaafczgIMfIi23VphlZa2mKT8sm2u848/XL3USj9FWlR8eSGzg1aKGhOyUXw81UD8Keiy7tgv1mc2oLafHlZ9ugWlrOVdUTylZf70TU6EaOs2Q5le4if3Iik/+pV+7+zpzjJTVerUuIYS3krayc1+vFRO/vL8iH0PXrrVDYRz4J9Ju1wJoylsL4vTu7G5CNHQ3SrAVC4RtELfFksa8dU1QW4UZses5U+FKL4ZIJ2fqkyWlbVW6XvThpwPfm+e4WGUXddJXUXe3Wgnmn4cHaT3atfdZIFUwPT6F+XPcZ6motRQ/zxNX1rWN5JmI/EixgH73ydfmm+VWSWVuPv446LL/fOLv22PUaGFfHwwjFmAlxaFg83GHKFVQFwa4PsoOtlszIk1j/7sGpCkFzOV4b6pHTiopf+j4Jb1tAy+afHvc6n22DluTGvWchkGMfWKWq2+oCa9NK1q9QVuF66HACPLESOSi1JPdhZZDCi77Bx6i7mL9s/YKklKcaWCXiHVlz56IpVFsnc1ZiU/WvlIAb+DwxYZ/AiYYZdbZk4+zcYUvL0AAnXHoqjxSq8vAkKZw2i8AkItTDvK1iJzIUcP0HgigX+xWdtBGPlOBdns050jvnZAToHb1CLjexyd88Fl8tkZcXaLwduOF4ROxcbNf1YMEjA2BV4Hf3hUeAhD/y4/vS9PEj//ZZ4tgct/Hp+mOH1LSl+/TPwVX+EUp28Zp+b5lFyY8Jzl2CqXJjO34GsVbrVUo6wjlcNOPKG6TOVAc167VEWkYouiO7lPGI92fMI4WCOMXQfFH3rqBP7MnWdLF3ENSvpyNf+ePtO++NO0Z3PTab45nPKrOlMfMYjAaLASTf4q86ZALL7lb1H4/vvu4B28fauo4ljUIkGIbXTCq3MTOMkW+quVd886ZbzHHZ/Eqf/u4B0T8Bn7+/8FAAD//3raSPuagAAA + H4sIAAAAAAAC/+x9bXfbNvLv678+xZRhYykJKdvp7uZ6q2xVWUl1bUs6kpzu3sTVoUlIYk2RKgDKdhTez34PAD6AJCjJdrrt7rm75ySNAAxmBoPfDAYPfPZN89r1m9cWWdRqnc503B196HW6015/OrkYtprBijatzyFGTTvwqeX6CJOmbRsrHNzdmwThtWsj0/V520HnrDvZt2lg3yDKW/Z7086g/673fnraG7W0JqJ20/bdpo+o6Wi8/MdePy5kVFnhtetrtWeTwekAVqHnAV24BIKQQjADO1iuAh9Rn5i/ksAHGgT/4GROBz/3zwft03GBmBPc+l5gOUSrdUa9zuQ8rSlXxK5NPUXdjLmQ4KYX2JYn2OsM+pN2r98dnap7TtTiyERHl/2OsjoOfVuuePZmrKx3E14j7COKSLH2cNT70J50p8N256z9vjuedtqdn7o7mjZX2F1bFBkry76x5iimNeq+740no39NR93hoKUFhDCZLewiIpHRapc/XvYnl9NR97zbHndbet0j11OMPGQRBAYGgzRqg3FLr7sz8AjwwX9hJBWO3kLTQeumz4b4+O3zo78DXSAfSIApa12o/gXm1u0NHCwtai/q+uEraP5S751Oz3tn3VbdDjAKSONL77RVN180GnrzFVgN2MAKuz4FGoSrFcJ16+PxFVgfX181/g7ozqUQHfwdZm6jNu52Lkfd6eR8PP1xMJiMJ6P2cHp2+WP3vDuZdv/Z7UyH55fvmTGUjUdMBOqR6yCghGJrpe1P70N3NO4N+i1tfWgemYeG5a0Wlnms1Sbd8+5wMJqcbumZIg+tAkydvOV2T7v9Sa99Ph2OBh96p92R2uSRg3zqWt4KB2vXQXgXkWwurC3c9NxrbgwekmkZCTGFAJVz6aLd773rjifTd73z7rA9+Smn2KXluzNEKJ/vbOJdDAf9bn8yVlePAcKnJG5w0e5PT3+cti8ng+nl8JRNknfn7fdy60SepeUbznXTCmlghCvHokirdS5H59PB5WR4OWk16XLVtEPsTdcIXwcEmUFIk2kwGE/77YtuSxP/Zh2PGEBkBfEPWq0zvJy2R52fWppWc5DtWRiBYcHP7fHF+KfexbB3Om7VG3LReNjrM/NJimoE0c7wso3tRb0BmxoAQEpVr8/T0kYtqtUwWgZrdGH5p9ftkAaXXLR3njV/53oobY+XYMxA36UvRtDGyKI7CdIgtBd7EvSQ5YerTgqbpx4jRXLM4RnoVbjLiLg+oZbnZUR+dumik9rD/yaBn9ILSEvf5Ecu4gXuDD5+BOMzaHoe3zS4uhIQxeulRAbjSPqBWQZxA7+l2SHGyKcaL0QeQcpaKRNxL5GoP3P5X/yPzJcMBUy39Pqvv4FmDhPUBk1XTAsNvgCv9/EKvgBBHrJp3fStJYJWCz5pGd1PWkNrwJcvAhP17mg0lfQcQ9S01//QPu+dcp5iN5OUcZuMteeSCwszsgPcZjPy3PXDO9C4ojR4/pypV9M3vfH0rD1pRxpjRqM4RFUKTuYRq54fq1hLYqrG2vggNEtYHyXNRUxVm4AkfyfjEGud//Ess58DAuuEnIWxdQ8uAXS3QjZFDtAAFtYaQeB79xD4CJCHlsinpiDTm4FLYWERWAYYAV1YvlzrFdwiuHU9D2KzZZKDZxGa1ADX57/xnk3JOPXNs6L+P/5wFYExp3BUViKyFwFoP7dH/V7//YlkThC7/aKQlTyb0BO8uv58B7s5M97BNvoNDpn16ZtS+eFVxO3j+/FZb/hWqxKu13832EcyNnwuXSAMaLmi9xBgzvLMxbIcBER3Joxv3NWKCSuRjofLom7gx2JygEI0xD4cynL33o1b+sEn/4AHNcgpmGirrtdFtPMBvv/+e00h/4urSGuIqRX6BFFGkv+LyzMl7mfU0jfPlOSZcnldpvt6PWthHDUaYHgUDuHqis1INoxT13fQXYsPhPTvUkNOcZXrqaVv1Azom4xSFDOTafLC+jXAF64f4CGL6T6kkFgXg6rne2FwZocUDMcAY3bU0ArkfgroO/fuQVQIGLPjmBCzUQH7uzjU4Iop6eNeVZnxsghX2SjHcq6u0spdf215riMbY2zfJ1AUM2u6L6THNusFczKlwRStmc8ErX02Njvjrll0rqPQp+4SJb+PqeU7lhf4KINPjbFcWQoyPqvVF+Xq5LQVI3aiGKhgDwwoiw0t0Dd5fUVarTKCuIgD0Fz8wMNXaSQSTyLZ0gw0vRTalsd2K6W8iUthA4sADAxmVmgiZ46UXTYya+CcKYIObntHb8zD78oM7uLhQGZi5fo+ckzt6M3hd9rBLnZim8tFR9XuKu4Z/IDCLAh9hsWQLA9egYNmVuhR7puYa8aOHTiMF9m8JUFWzNJkcWLAKMu6C3qmGK3dB1LZhjt51pTQUayyFWdS/h6BMRLEKETaDjO9/njSPj+fTnoX3cHl5I+HmbzW8vCSKunJ0FLZn6bCmJhciix79MtWgqN+d9Id5/ot/xxpUvyl6Zt+t3s6lkYo0uCb6ug7ZuAiuL6HYjgn4E256uAhxa+/wUG6QFEuQKT1h9Y4gO9BRQ2kJJHSXuMuCssZZo6EEoYPKqpS2LbHmrH2P/8jgjtZB1t7dwJEOEpxNnZwsdPnSEbTR/Q2wDdDL5y7mS+Shnfy82B0FidcGKqDxrMi1YPLl2idfi83vjFH/R48w2iGMPJtBCveKTHhIiDUu4dZgOEmvEY+onAdUvCCYHVt2TdxRRZGhwQ5cH0vYzizYdnbwXF+eV/M5MJzYPInqalOmmkaxommLP2xLe91OTpna+1ddU5auRlj+LBHo0ihXRujFCSnswBPA2yRVuocdpFkrmKO0QqMYAgH60/Oy/on85PzsvHigM8kBw5I85d1s8n+uUCWw1g9aiSDKEcojJEkKTcNsdfSj/MS6qUqZXF26rZMJMfL8sZxMRgr0HdlJ0X9LGc6HA3YfMkwK8tOj7ujD90RG9YHVFeO8APaqwY707QwzUwPidkyhWRm8MAem/qmlJWPRLbTsGxsKLKvJ2t9ozTByPBcP7wz9E2SLYy0raM8ef9/+JbPHvPg2bMXzUiDZ3BJEFxbZAHXocviMXgmr5Lxvb10pnNEp9TC15bnTWc4WE4xmruE4vvprUsXnFc4Oj6Ev+yaLae9UVPfwjnP9Ow9NpGWT4MNRu3xdHh5fj5lQ/Cu3TsvLvjjAJYnvkaxDJfY2w84Kg0pDUu/EmQUMGLnaG+1rrINGXlzi0xqYXP+Wfujx30P6H7YcOdQ7XeeL/sM/C4tgGmasNt2alVj9LXGYicLhezzttryakLoKIsKIAkLIJneyAES2jYiZBZ63n0uBK8OJnYtT0otzeoIRYPqMrFPYmEw7j7P9lLzZoueIw2Mzh4+NueSKyw13q2L3YO9CG59MEaAg4CesD/2a7dc75yGrPJ2b6bt6qtZ1TDmfRk48Le//OVpZJIQdbc0csA6RnaI0eR8/GOyOXwmNk27d8guxPEC/kX4zEM1bUHpipw0mzdvSLwPTsxrL7g27QAj89b1neCWmD6iTeuGGNQjRroHbdiei3za1DcP3YuOmhzfm9bS+et3TRVROYLS6y5pjy7++l2DLeoU2w9/Hnnwcqs85WD1UacCapLQaYyxsuiC+YRHUYwqmM4W49+I5biq13KiJ8V5dzadWa4XYgSvGcr/9RBsFv4bs/E5GEElwfT3EHsFB5qyvbegMppXIs2j1KZJNBkCGKMYBJ5AbeayyX1rkSXfnu6y9X11TpjVm85cD/Hh1zdHkVSPLNxlFuZtjuWyJGwn4Wzm3rX0zetiS+6dknFp1TV988PJd5HWAHnxx0/t3CtSnBu5cxYEAcVgghHnJNnSntUA108q5/r7+MMVi12dIJ9Xjq1wU6WBSDoWZTCihqDNwsc8q+yXvA4idV46DsKPoJhSdgIfSRECC2UYL8B4IXFehon5EG5f7MVnTd4NBPWugkWWY6bUekO2nHSasX9SYRaxySQbg/lF9+Y4AtlziGxUwhyJzeI1N4t0f5tJnWTSxfgW25WHt9ruyMr1NdCI584XVGvkDOIjaHouQX1ovjEPFQto9r8S8ZetunZ7SySa8dAWcu980Hhio47Wlhen5E5jKiy0zPZVc7F/RjiNz8ojBHppVHKJ8KR30NaZrJVzBvK2eWsx3NzI537STdv/imESJzMUah0ivHSJ2JpXaHgvZWa6lBOEqkn2KHxWmlgepgsQ/m8DaUhdf94T5Td9ctIxPcr0NNCM9ZG2Dd4V2XYJERl1DosELA8jy7mXk+5VbLwSR178gMI1Sued689LJylyIdm/LR/4DRif4WHpuap8YJrY4JHvA1N+uTO3DnKJZ12TplL9JwVD2ZbhE5zxEYlHff55SperVuWAqfss9xFnfGpPy/hsyqxFGugbWZdRVcpG2o1jiJpywpfXn+9YaFImL1bMVdKnNPg6dh8dpYFCfkzEVHsQgWKksT6SpshShFoKebZNo4fHdXutFdZisbC3dNVRn1pNIfYqabAWx2+fHzF0RAh06bguvM3Olye50S5ov9QZ4yfmi8aX+kfUvcLYfNHQ+cnEum3RPInnzyVTOxtdjidsjVBMRTXgeaox2Zm/bNX1bxo5P7WPR/wdFhRV3uj111gyPNK25LzM17GdnKaTMwEr1z8Lr9HTQ+19I+1Hh2+SEli8dhNeo68U2CZK2BXNyt3mgjBl3CofSn9S3CpbQonBkgkwJo31sTr+Uw+3SsQ94r78KHzV2C87Q7GNt0rZK07vVFTfEaGVuv3/UdojorREi8ox+ypBWj61Uhq1aPtMKQVlMYA+LibTCkGZ9tCobP8QBko3Ih4ZlTxgemlVqFjd5E8ThciwHEcgmTscYCuLL/goKe6GsfGXb4Oldbv/nIzanUlXVGbACQpCOYfJi5JbbhwnC0n2EhM1KW8n3TdgnKeeRZfJmqYp8Ti5GLb0TYkjvttavdm6dfOzxGIz7kDsuSl6Uy1S0vLuaDQYlbP3O3pRIz5b/MP2poXjaKbq0KaKQRna9+9MuJi4ExI6gbz+2iEiW4qV7ayZbb+pSMinNattJDnUVtgONvl+sDq8KoThIgY4OjGi4vkhvg1SzpYxqqBhREKPtvQNR0mplDGsi9IaqL1qJpgmxzjJmb2UwWwybY4M/aR0iE5w/KHfnUxZmdjdGCfz9MTQVUWl63CqSpU3clSVwRVmSBA1oXvnUhZRmJUxBT9i0e+lRyr0jYroU+Z1SVFNfSP1yKe2UjWF0woSmXQ/K3do0bWpl47WM3cG+hG/i7Rc0ftXQK0bxPeVS9fTI7BIcq4d1pYXIhMGdIHwrUtQ3O6I1aELJMprcth/6mJhsmriUcF4pGbixpEc9Yor8pP558lyJayZaz6vZH43lnlXOIrdsSZTbeobmQzXbzmjU2RV0mh6/CKn0IqLr5xrcQkzvahUF/2DYSQocZzzz/HRyrhWUqfZnB808kdt84Tjc9SVsyGFpGI7/qSB6CyJ0VOgMoEk189ycrM21MJzRDOoU5z9/tZ8EZmHiuunsX65kXcvhi1NMGCsUytJNs4r03xaYQMh9mAKI2umRJP+ooqdBel8RdlUczWFTlcYGbZlL5CTaDC9F3JSoTlNuXeo2rgQXVz6bO3K7/+JHlyfBhmH+aMuSarx8936IbpgPq9IsLAZnu2E6/mKsZ0q1tFbKoot7GRWTpInBApnUfLBnNBRdqM/jeeOH3ISRLFkTN2LvsmHTxUTKWGbYROsLGwtEUWYJx0qJGILKW4Zc3eNlBdWMrHkAKh8f5VzWdJBJavp4wy5e0tP4CID6q1vQ+xG5M3W9lH2rASDhLLAfPGXG62msl5GR1ocbqpljSSErzLLx1ta53I06vYnmenWswHa4Q3KI7nOPIIIDift0ftuRjzeQk1YJmi5RrgTLFcW5p4+z8uJoR2ah+ahFjEDy1GK1Gke4UQ8yVlAmclSPxGLOeb86QYs7nbXAwzot9DygAaNxKlcWwRJRAoMlb1SYaxMhcupmpvbTJHDQKn7/I7M17DkqndK9rLf5IYbN19VOvMrk4+hIPWV2+VnE4ogGq46/d6pi4liwSC9wFR10FNRRzpOlStVEM+ef9pKv1Qt82T50qiWhYHSEkheSFfcSvvyBb7Z616a7xrxZacnXExLL7D6AUgUIXufBlYYEeRTmMUZDn57Kr66CvzuajpxWMx3ZH5nHpkwWbgEyCIIPQcQxmwGr5FPQ8vz7jXYuv+a5fTKS8QmRjPbd5MAD9KzmpZNjKXLOjL5KV3kzBE/oilJ1Vxz5rJkqFQWB5H8NKkh6pmU9RAbfX6fVhyD3oM/ftC5YJiKnKFYcVnerXVP4NeQUAgJgtuFxd958FxCEb9GXHg2CEgAtwicwD+g4pUPGgC5923xDoftu1/5LZZMX6rHWPo95ZX9+L2Sfo+neBirGDEzAJv5Ges6CKl4PO06pHBr+fGrJRgxHahfTblduPYCMPotdDEi4Mavmaiey4Hf8b2cGOf2eCnnD3lxpur5m+qXaFKD2esJmnh62wvLn3PTizfe/tPef3nMAxSlt0VUj8LU9ogGMyzkaNIbiYs5CmjCSwZNijchkkBmf1IC5SpIyXsY8bxxtqSh4n5UC+ZnbC1he8jCzDqWDNGQL+b6rfAMa4RhYa1WyDfBIiRcInApAYw8K4YBPoCuz4FijeDcoohQ+PDTaeJdBO4tEIQ+tfArCDwH4VIhnX82QQ7LlOidl6j5IgfeUPUKBIO2xHfF/SZpkmvG1md3tUquGBeefVOYXwWKJl5iV+iTrU5KCdgnpylls8rlIL9lvjJKcxa1r2A7jxqi8gjlMz87M6nKnM+Oa1aJns1i5ju7UpW7vy6PZvFi1U4GVQHFA0wD3VFs2fQsvEY/xlFQYQPh5o3szeLTKnFReI2S/VixEX0sF7tkGr/UGZe+1gp00826qePilqZ/p9UKNeLNVZ4LYHFHS98UehX5XBlY8/0ydGVeszyUEn3mp7e/R8oMTcVQpNXUtiXXrjKkeF0s0oGJW8u3zNKDu9OAtYfQ5TTjIxOxFTDPSfPH9fAM8u9eJq9nGi9UBTb1jBflSVfQdGnotyg3nf7ZZlG5uTwCpfvMBXspnRGW0nSIIpsWzfoVlGm8AoukhzCAV+KKZBEqP4ZAA/EIsIWpO2OqFY3zY7hbLdm7tYYfOGiPzPbjD7Hm7bUs8953jh81FVKnp1WQz4soJ71lS9u9hnyYmPKTxqVLX19DUFUHlaLG/5lMde4oDIotn8wCvGxp5Iv54stzQ/CRROhfNDAMsghus5rIMdj0IszNrBWMf0p7NAxCsbsyskCl9Zr5nPzcB+mZZmanMlBUltnUK+taSh3VCuqtgJu8sHAlHpKqbsOwq9SmuPbYylN+F0DhbmYWC77L6d2lykqk3Y04foiv2p4JAdu+w/5riIO7+yxyuxxPBhf89h/z5u3Rv8qPxpSryE/FJJ5uGwlVHZmGQM2QsHVVrAKGhSegbprLkb4COyQ0WCYNdkgU5V4dmsaby1N3NuXHj/15i/n4Wvm03S666mF6lNur7RkfVo+vqQjHNFD8qH42ax9xuW0Wn1NS6TOryJ8JyTS6c2hVhxb/MIXs5pYbTnleC0ivBB3Vq2UF8NEq0aeicfGtq3jXvnqQtOrg9isfO80HSqciUEofB4AVDvhuXRruuAQ6LPx8VFzE/iePV8oex6VyXZG/Ss3hPg0AR+eluuWOch8tmHQvhnwx+W40uEg7bmn8DXXldwzKFP84a69SWuyRxBpnl7BRLScR/6LFCYjH2HnqxA58x+WH8O0Fsm8g8KHgISDwbQSjYZIKdHkGB1kEOfmwmyFLvR7f1lALlbw+qZkaf38S3rbg6G+NBs+Qxi9hFbqvuHX9ByNRkckCFFeGesm24cPQpKK6to3cFmSrqK7VpH0v6+Vdhdes8Jm1p7hbaC6CJWou7lcIsx+NdErCcxZMzZGPcBUsFHbmK62IPwpZWlGWKipT18U54RKwqtaMLk2Rkc0wJk8JGYtn/ktclNfdIfbYkg/dtQ6SfbGPvzSvXspItv54aPyvq5efzORv82W2IWa+PCi4I8NXmbLSXxQvZa0rbEvhsxRdtP4v6Kk81Q4qedeAL3BXGM3cO4Wynr2QNBCVPUrpPtlGQffbb5svFG3F6HcFMiD5ses8VWAr8iJynkDVwFZjhMo4nv5SXyH1cFK+ulZxGUSsZZgtp/cFe0trnj0V2znvTSeDQXpAK+Osd9F+3xVnt46lFQajlezduEuRy1I0ikAsRfRN0kPu+o30s9gwp1h7QKjK+mWM2BSb6u410FRXPI7hiGcfbMpW63zdvbJsBDdviOkGsUB86usKqnzDOb7NSN0lcvgnpRKNbNXG2rWAC5m7iCFtZ3UmrP57kWdJrmPkQv6SzsSBxMeojbd8pObEMcbfTUexUJVqEocSqzQl4e1OLTxOfiewbxD+3eQX5Avynw46Z90q8xBTHCNqzZ8+x0fdSfu9/PNraerzPuZMDI6WFVLw460FOl8FDbbOWWrNlcMBeoGVx02p5PDuo/rKnWLj1vMYOtI4X3RGfITJuwB3Fq5vld9xljzMZZ/ZS3xmQXoxuyyl5Xkp6VZdr2/TuDj5ktxHO/hlaWNz6do4IMGMmnaw5A8L8++tbcQX1PSj6KChmKjFXmUdkf06IBRDCwjvZ1bXviUn3xLtFehHr0A/bkQQc0AoTlnIncvV9I3MRayryrP4DBPEBvjM9R1Y2im3swADH6JtN1JYpaUtJim/SJvr/OMPVy+10k+RFhVfVcjsoJUu2hKyUXz01ED8meey7tgv1mc2oLafHkR9ugWlrOWhKJ7SMn/6JidCtHULoUwvwcm9SMoPeqXfMns6WGaqSkGNayjhraSd3OzHS+XkL8+PGHvw0q1uIMCBfwLtciWMprB1LE7mxuYiREN3qwBTuUTQCn1bZBTEF9UEuVGYHaGWPwOi+B6AdDaqMhFW1lol9qYNOR/8TjxbjqLsKk4KFXm40U40/Tg6SO/MrrvJgrGw7NG/KH+OV2EVpYb652n6irK+kTQbidcuDtj/P/nSfFOafJW4++BxEXL//OJv2z9UaCHvHwxjFuClReFgszFHaBUQlwb4PopONhtzYs2jP7sGJOnFTGVx39QOHNTS/1GAZT0tg29a/Ntbqv1zHjemNWu5BJ+YekWtVl8+k16RVrX6ArcL10OAkeWIEcl5qSeDReYDypCdi95i7qJyBkA1typJSn6lgp40XLkHTaSySEZXY1bC0coHCPj9GrbI4Me7DLvcMgP5NBlaQHsRCNQdi6LGK72+CAhlgNF4BYRamHaUrUXiUPYeoPE8Hv8as7aDMPKdCrLZZzlHfO2AnAK3qUXGdzQ654PL5JMy4lwWC287XhA6FZsy/1k+SISxaeB18Id7hYcw9O/C6X15kvj5L0O2JFz+82Ca4mQtKX3ZMsErvsIpTt9ynJrnU4IwgZxl3yqXJjO3gLUKWC3VKOtIBdgJEqrLVACaQ+1SFbETUhTdyX2eeLTj88TBGmHsOij+iFMn8GfuPFu6iCtO0lep+bfymfbFn6Y9m5tO883hlF/DmfqIhQiMBivR5C8ubwrE4hv8FoXvv+8O3sHbt4oqjkUtEoTYRie8OjeBk2yhv1p596xTxnvc8Um889YdvGMCPmN//78AAAD//1yZMCV2gAAA - 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/CustomData index a7acc45a346..3d29b1a844b 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 | - H4sIAAAAAAAC/9xc/1ejSLb/PX/FHYYZdUaSEG3bsZfewQRtnvn2gNjTz3Y5GCqRkUAaCrtdzfvb36migIIQW9vZebPrnj6L1K17b33u16rC+f671pUXtK6c+LqhGYZtfjAtbdC1+rZpqYZln6h6X9kHOtbtjyY9Wx/qlm3pA200sZRX6ciJ3tfs96rVfZePHKQj70b9nv1e7evDyW/qqTa0lNfpgKH1NdXUaggOUwJ1bNn60LTUfj9n+ks61Bt1zzRjbbTTLg33Ru+H/ZHaK8bl0viZ9qGGplOiIUoQunx4rzTMYdRhIA1Gxx/otL5uFjh1GFAD0z4dn24QfcBxWFsbg607GlqqPtSM3joJA86YDLvrgwy6s0OTEAz14Wk+ttcuxta02mOgnU2ONeIWw5Fln4wmw56yx6DSB6c10/aKaX3N4pHa2y9bcXBqjyecqnuv1pbateroDtbpDJ3ouE66GT3qutyiDtcozzXD1EdDWx+eq329p+wxKLtDfX3d+3Ju6LEx6tk97biGqLNOND47tdVejwUcQ29kqJxJNMMYGco+gyeNVG4hdOJh5kO9sTE61thbpvFoYh2TVZLVDdOhV5zt1bFum5pxrhk8gVxL0Buadn80OpuMGVmnlkz9n4mhrRNnzqFaan0sHLQ5imoQHsjcYNXRD5gi5+96VdserDvWmuDXbS6I1keZ5O7EtEYD29RUo/vO7o0Gqj4007UdMgan48n6/MM9btDQiWfxkXG4vz5cXd/hK45GO9e7mj3uT071YYnRQUGkD09GtjEa2N2RYUzGltZTDlk4mKe/bZTzS3udhpPwi1xk6Z6q9wvr/MLl78m4p1paMZRFjqkRxz/XaVyZXUMfW9ROhqb2Ck5yu80JIel0Mj411J7GUXBqjCfGKXN4ud3Jg4QkBEMjZlDkNsO/q5u2apr66dA2RiPLHr9XZFleG6P+M9aMgW4STRVZZmzHKk1d3dH4AyVSZJnnPB73P9hj1TTfjwwabCf6qSLLlcDNa8iIhYUsZxktTWNr7iPLr0sEo7FmqBbBME0NspxlL8uoGfwFGilYNChNS+2e2aeaZavGwLZGZ9pQkbMSWiUZatb7kXHG1jJJGStyVlGr5ObkeKhZ9tjQTvTfFJkU1Twojyd6P8tlMqmLKSjv1bHdNTTiLikYWVXiR/ShOTk50bu6NqQecWabY7WrKTKpUpTa0vraeGRYvVLaVOQszxXjmcOnw9lCDEs/UbukXhmaOiBVMuOjyFmOqyFizBSZpLa08bGsMXHy3z7YXZXgdq4ZliJniY1FBhnSDMtU5IO8OWFqm1qXgGr1Tft4NLJMy1DHeTnVftO6Wdzn3nGQGbinm8dqX7P1saUe9zVTkUlaS3OmMTEtwmHdubLk1tNNMss2zXeK/DrzeEMfqMYHe6h3bX3MJVX5NfN8fWhqhmXrg55pG5ppERcl3mdMiCZDa2QP1OFpX7OpTor8ev+p8070vqUZ+TwWRj0ChLZh3glJeBV5B0+dV5H3mnNeQyO2sA3tvye6ofWUTpaihiOaFNRTzWTAdLLcZA7VsflulGdDvmlsZ5ExNvRzMkjqJ2kFiFd2snRFXvLu2mnvZ2GTt+sD1TxjTNlY19B62tDS1X6abHu1PXE7i0DSzlRbnU77ABqNohWhTRXRhmn/Gipj5D1BlVR/W1Y67cMqBVd836vmQOm0f3mUyZ7SkduPUuwrnSx3b6B4pXTkDBXWh2ROnvenmnFOAplEo36id4ktjJGVJlBLPVU68l6j4c1g5gUutBCegoTvlghmuz5IgbNAIPwkRchHTowEkJaRF2CQPiUehs7blotuW0Hi+/AA8wgtQfoEW82tN4CvUdAAABiZirgdhxEGKaLsWzk3Msf5fANbCwdPr7fF9i60/rGt9+y+fqYp29MwQmG886D3lO3mTzs7YmsXnB24h1QFHCbLJYq2nYvOJTgXe5c7bwB98TCstnaY5Mzsz9Qgd5ZnC4YHwBFILmwJWzsN5MeIaoKm1yEIFdFBiGEWJoErNGZeozE5ngytiT0y7aE60BQh/V1oDFSDOFUxwF4UI7RbrA6Tl0KDli+6Ay0IindCg+19lFYSRy0/nDo+3TTfJFdoiv1GWsjTUfLeDac3KGqgL0uCJm3UzhVBvC/augzxI2UllOg00+KlBLee6zlMQG4muSnvNWVJzmYOz/Wermas9YF6qtnmOzUTmb/gpdXNIW6eqXm+ksT7DYzXuHALsz6MtcpayauviFaExTRqLrxpFMbhDDen4aLl3MTknzRfJoUqFbYFU9LxpN1umia7g54iTImXBXBzGDe9EKIkAIkE5q3nozlyQZKiBUhSgLB0HcYYJOmzh6+lIIal5x61llE4bcmtIG4tPUK8CBPi1ndLpFx5gbsbR1OlFS5xa75Mdt0YK61FkP4SLrEXBrESEbrHZjpTSljMzl6UOOSLZH6wts7U4eoWGCCssLUtPZc93kKm9lGmcv6SKXDEa0OBEhqkx+6q3Xea3dMNpXXrRK2pM71GLYfMi6bX3i2KWw3SL6tD0qBxxFEYYkKXTmho59rQInvC01PaYmX8/HDecv6ZRKg1yH1BJb83tS8YBTHRptlNYhwuzGnkLXEL3aIAx61Gd2L0yf52PLGUFl4sW9Mk8u1bFF2FMWqGCW7Q2sBThJETr1MY2qluWsYH1uqm7T3NSYS+NQ2DmTdv3jkLHxqNCOHobrpwbW9mzxzPTyK0vQP3NJuRMQ/Fiii/gc+Oh+3YR2ipiJ03gL0FChOsiHtvIL72Zhh+/LHyQFnMwgg88AIQt2P0CWQQGdOdN+CGlIT8MHYgZg+CeP/rSiC8riLk3MDDA3zMqb0ZXIDogYQ+5fzgkitF2Q9Nx9oXNE0wcuGjIP76USATiZT4TYk0QjiJApDzl3lOz37o4kEsgMhHZx59dMOAqwKbxa4K0IPYD8ObZJlDzsMsczATyEPs+DYPfISmYeQq4j6dGmMnwnRcEbddByP4+Yc4LZCfrz0fAY4SVEI9kw5SzjXDX6IqKm2CLxGywRLTJIpQsEFqYartbZ4QJE7XnR2Q5gjE0uo2G1OwCB3nL6VpESLB6e4+a2XE65ErPO4NzMSb/SA3/qOQpGvIXeNZaobR14CM0TQM3FgouVgR13YQ2jF2cPxXCHAS3y8N7z8qZjm05gjb2ImuHN/PUcJOZD+GVEpOkUoiPwvH1NTiPTd7lQEubICOo63A50Qg4X/OKAmR9hToOG7fCF9mrIM2cWsfpFls9m9BpM9hocxbELnqBZ23P8olPkStCxD/Dt8p0IbLOmVo6Di4xKhEwEXgSy1rz6JwYUdo7sU4urNJy2ST0vhCi5NZs9B3UUTi3ovSLVUGkrDzn+gWBDZYkm0h7xQMBtJ1MZCltOsA8X5ji7IibsS1OC9zI47RH+5GV17gRHdf9SJG9ogjMYqlg6+rzpTJWPcnblLFp8oCK261wbfKc8ruRd1GmlVk1joNdbrNHlNywLJI2GTGNT+s5fx1fywh+Ue75DPc8quuWeOej7toZcIGj6XbiJnnF309ffPE2k8mpv65z/zzVcnneF5fTWQ8cdnVLqijiZk0uLzMU1l9FuNZvTCN5T1JbY3LVSK2hwfACJWrXXE09lepeZRgFkZlqz9i8MLIe5R06dwil+3v6V526oeJK3mBhyVCGzcpBaVNDwNPPhFnyPisBBApBTEiM0T7Oe1iznTre210ssVZ4XGv+DO6RUqJXJA8EFpEvZYrFAoWwVHo/PYtg6OxasR3MUaLKSbOS5v35zXjEN9OSR3IysS3tt+5GuA6aBEGUoT80HGfMoHpDSJT5U/o4nPZZPuSxIVoSQpCaenMSWIvh9/vYRIFjk8mSUk+4ZvCqTBZjMPlv529iNJ/prGejarrxc6Vj/7tgGV6/zWxTTMMWcrzcH0pmDTgpBSkvw4gtyiKvTCw5zhzM4xiDIK4TW96ZrD1Q/wx2AJB/FWAB2B3SOfwANfIcUEKQN4RQFFAEGWhsWoU3qsFxAfUwDVLyXwtzYPcbsMr2GuDmK7H0NJbVNNSrYmpiH9v1Kc6uZzk4C1UzplFWUppm344bxQAlwWAFCDSh1RgZm2cDNMw8V16VXWF0lMl/kysZAkGrTeD76DmmAnkDllp5xW3GBSkkSI/SXxK7cLVXcFisy68NXppSFJzcKnam3G6+F6MpSTwcAySNCNbBUlySveagig3YxTdelMkVBQu1wLIVirKxMU3gRkulzyYa5nvSWwYLePD1o0Wtyjqhoulwx3bZ7eaqiJup50I6VunCQbJBeFngXTa8k6J9Dgn7WwivbggHV7Oe8XCIX9zvBJY115q+EgoITdnzzEAfm56n7pF/kfiMAvBc0iFX3vzaxTj8zSMFXFbPzGVfA+SylgJueoiZSLNOo+oLt6Xma7qtM99bdVww88BSac9dDW+mVvhCd9bj89O00tXFtzk9/xKupO/6umG1rVGxocs0S5uXC8CaQliaThtwpP42gXxvjSyyjP5WtQRHzpot8FZYmmOMGQKMxZEvZWSPjPVVj+lgsIl6UydJaanG9k8trhHqkb5OPhNA4De+ZIpCsGPraB060YcnIvgJ1Qad3kzB4nt1slKJYcEbhhNEX3pollxdUJ2PWQhfji9ienrDA4phN7yZn50NEovJo+OFJ5L6LsFYtJd9QKq8bXCRRctv6Elar0svUmTJts/EMArOLBHwrWxaswR7o4najS9zj3MiabXiridpG3vYqfB7THvyeDu7opGpEN+OdgXiIDKSLQg79f3omkcpcONtTrLRhduNkpzjxerxuBgn0+xRJXtQvUdXmi9THmDtDaX47zYYAc2k6g4k08djR3t0GMJmUUGO46L0Bx9Ubb+0fz5Yyv9d9T8WdwqwVZMX4HyvwR8fnKuM1RLTxv4OphZEYi2fjiPbRza6aVuRV3sxDc0jorrk3QgpSYZZeiUbo1+2BvuNDhCWpgt/mZJ+OEEfrCaP+wN2WEg8dtMr6yrYFICd/NUSvd7HAZ2jCMvmCviNvz+iXQ+ReMmSU40B8Ijxs5iCUCTb6bSSlgjHS1R5JBo011CyhSoIWQ5mL4R5GZnb53EcuIbgg6kYgmWNYw0gmQf3SIfQNCDWRgtqAKOv047QHHszFEqlBRRH2HkHoH40wa+Y8+ltO0N41bd+NZ9DtgRiPnzLg/OEYjcb7sZHEcgsqfdfPmEB3vc5VZ7BGLxy262tCMQ2dNuvoKMcuy5u7na2UvLc1dpjHAny+I95xf0SPR+/euHlXhf9uJVk8xqFIlTIMlNgO8UClA5H/Dpj2tvrkkDZMc33tJOvyOy3cgjvXzRZ5PM/iU9MQ/dO0XcLg7xQHoHwgBhx3Wwc0SvvwXaTC+j8MsdCD8JIFxjvDxqteSDX5qdV/tN9v+tBZvV8oIYO8EU/d1ZehLbRSiddkeW2h2pLbOY40LtW5ZKF1KsNWuWBJEsiXQ1JBARbDWn4WKZYNTEzjzuezGGB1g4y+0Y+WiKt5u0NjzQrc22YN54y9Nl0qOA6WQZvi+8AcETdnZ2LtqXzVvHTxC0WiDMHD9GQj6TApVSbpUuGDgdBc4+rDO1b5Ir5CNs09Y5mNtTFGFv5k0djOwoxNS7/2MNx0Cot11UY7uLS9Ll8paj5fImlhgrieEpMTwlDk8pw1PYgQdITVlrK8ZLSCvpwIm8AEWjiH6R1PeC5EulRIVxVklZkQxj2ixXPk4kvfLDQx0B/43iOtX6Z4rrnUH5vNir9uENdOv4Y2d648xRjzVsE6NfWQdtCe7lI2nFLUYKQBCTyK9pR4BwBSFCceJjRbwnPQH3SUiaB9PRRuV8gtczBT9FOw25//rENAsTvEywIm4Th8g8kpgsvWUjqqUkZb9j5mRDDa5b8mZQa1EQxJFZ3rfGiRsCdoMZMK1Ih/v7J9Ldpvx//wSfnTgbpUWwrOdaX5jtFjKGr0CGg/a3MKXQpQk/WZLOxEi/m61YdJmaXKEnMCWHFcRO+U22TRTEPYGdtdC/1FQE9vVMmbwffkZR14m54L0PY7qdJHvSiyP6FfDR5RZ59gnx0SULtu9PwgjSD3h3iUHEXDh4MciHzfY+OIELQiQftvcF8tLx4xBcNPMC5JKND8kLYUAqJy2Yu2nLKWYfD3sxTZU4zHikck1v4flO5N/RHVSnnQnqdJrt/SaM8DWKPnsxqmPUZCg0iyWw6KXCgZvh+J+du0KDDD4Iws/c7CKqa0DYa7ZTCG73mu3nIMCMxiNAWXzN+antKuGd7U4y8zJnWrEELTTdPJPocZOwyJ1i1fwo3JI32TnBR0HYoRUiSPzaVMI73Prcuk/K6lJexZnfe/g6THAvxCUvzRjTU0vkwlbc+thsteZbpQ3iE9edXCUBTpoRx7gQu3p81dyKN8zP1s6HOsvjjDj+l4d8KcGUAcmCvgzrH5Uo2F/WZCcvprK902i81DOFdIu9wSK8voKLZk7i49wCL5bdFO8ZxKsmy+fxeedxH0lx9B1cnLrFyvZG+VL0LSqU+qqSLKIa0Yy2TKURYWenouQyQrdemMT9P1HZWpklpWspeOVJMbjNci9pKe7LaF/8eklyI3eHU+ecPyvbgnh/m8VAwT6//66XVQ/aHymzmij/JW78eFhtztW3/xovubjMLLyO+O1GjJ+Eb45tvqg8Mw8SH3tqNL2u5OZ0qd7CmSMrPEbjhHR2aYZuAHz/+yfaQqzNhlkULujQNAywQ8q2TnjETdBn0C2/u/Aum4sqh/MO6QSCENNw2M1UxtcO3k1PXdmbpzBrrHtNZUmZxeoU2ZjkvpbgNsigXlEj5yWp7Klp7CUqvTBhPTdZDSZ9S7fpf6/gaV79rRnq2YLyjWCakjang2ehnQX+U8P+aWqzG/FyA7Z5I531YOxUoDgl6NT2X+xe6y/WfaVbFW8Gj+VeQF+8GLPdx5zsOK4RFPT9PIVFiO19wnyXtZG8LJB1YfBHdH6P9FmcFsrLyyLHTQApKiozvVXlRlcCFDrBjz/mNSj/k22ikEBvpuqHKuwamw9avmWJDP2vru3PWRerVsQ7V42G47pn6XHfMHRR37lC1buuvnqs9W3TMvThKXdGl36z4IEg8gQC/O1vfwNBzP42fDjqaTYlMAV4C8Ufc3fe/lj/TQY7fIQgdBH4RB8oSUg38hFy3DtSZWIU4F1Sna+9YE726o67/vlIuW1j94quS2bUScAhrGsRN5tNoTiwpedmtausBkUNETFMzevVrnjPK7KquRSt41bSntvqRmgR3qKXmBeBsKbTCyz8dChaVbGtHAxeuQrR7p+kXFXsk5T7/9EtUy31iO/faf2xZpja6KTxfwEAAP//TkMp6r9OAAA= + H4sIAAAAAAAC/9x8fXebSLL3//oUNQwZ24mRhOw4ibNkB0vY4YneHkDO5DpeDhYtmTECBRolXkf72e/ppoEGIceJZ+fObvbsGZmurqr+1Wt3I/38U+vKC1pXTnzd0AzDNj+YljboWn3btFTDsk9Vva8cAh3r9keTnq0Pdcu29IE2mljK83TkVO9r9nvV6r7NR47Skbejfs9+r/b14eQ39UwbWsqLdMDQ+ppqajUEL1MCdWzZ+tC01H4/Z/oqHeqNuu80Y2O00y4N90bvh/2R2ivG5dL4O+1DDU2nREOUIHT58EFpmMOow0AajE4+0Gl93Sxw6jCgBqZ9Nj7bIvqI47CxNgZbdzS0VH2oGb1NEgacMRl2NwcZdO9emoRgqA/P8rGDdjG2odUBA+3d5EQjbjEcWfbpaDLsKQcMKn1wVjPtoJjW1yweqYPDshUHZ/Z4wql68HxjqV2rju5ok87QiY6bpNvRo67LLerlBuW5Zpj6aGjrw3O1r/eUAwZld6hvrvtQzg09NkY9u6ed1BB1NonG785stddjAcfQGxkqZxLNMEaGcsjgSSOVWwid+DLzod7YGJ1o7CnTeDSxTsgqyeqG6dBzzvbqWLdNzTjXDJ5AriXoDU27Pxq9m4wZWaeWTP2fiaFtEmfOoVpqfSwctTmKahAeydxg1dGPmCLnb3tV2x5tOtaG4BdtLog2R5nk7sS0RgPb1FSj+9bujQaqPjTTtb1kDM7Gk835Lw+4QUMnnsVHxsvDzeHq+l4+52i0c72r2eP+5EwflhgdFUT68HRkG6OB3R0ZxmRsaT3lJQsH8+y3rXJetTdpOAmv5CJL91S9X1jnFZe/J+OeamnFUBY5pkYc/1yncWV2DX1sUTsZmtorOMntNieEpNPJ+MxQexpHwakxnhhnzOHldicPEpIQDI2YQZHbDP+ubtqqaepnQ9sYjSx7/F6RZXljjPrPWDMGukk0VWSZsR2rNHV1R+MPlEiRZZ7zeNz/YI9V03w/MmiwnepniixXAjevISMWFrKcZbQ0jW24jyy/KBGMxpqhWgTDNDXIcpa9LKNm8BU0UrBoUJqW2n1nn2mWrRoD2xq904aKnJXQKslQs96PjHdsLZOUsSJnFbVKbk5Ohppljw3tVP9NkUlRzYPyZKL3s1wmk7qYgvJeHdtdQyPukoKRVSV+RB+ak9NTvatrQ+oR72xzrHY1RSZVilJbWl8bjwyrV0qbipzluWI8c/h0OFuIYemnapfUK0NTB6RKZnwUOctxNUSMmSKT1JY2PpY1Jk7+2we7qxLczjXDUuQssbHIIEOaYZmKfJQ3J0xtU+sSUK2+aZ+MRpZpGeo4L6fab1o3i/vcO44yA/d080Tta7Y+ttSTvmYqMklrac40JqZFOGw6V5bcerpJZtmm+VaRX2Qeb+gD1fhgD/WurY+5pCq/YJ6vD03NsGx90DNtQzMt4qLE+4wJ0WRojeyBOjzrazbVSZFfHD503qnetzQjn8fCqEeA0LbMOyUJryLv6KHzKvJecM5raMQWtqH9/4luaD2lk6Wo4YgmBfVMMxkwnSw3mUN1bL4d5dmQbxrbWWSMDf2cDJL6SVoB4pWdLF2Rh7y7dtqHWdjk7fpANd8xpmysa2g9bWjpaj9Ntr3anridRSBpZ6qtTqd9BI1G0YrQpopow7R/AZUx8pygSqq/LSud9ssqBVd836vmQOm0X93L5EDpyO17KQ6VTpa7t1A8VzpyhgrrQzInz/tTzTgngUyiUT/Vu8QWxshKE6ilnikd+aDR8GYw8wIXWghPQcK3SwSzfR+kwFkgEJ5KEfKREyMBpGXkBRikT4mHofOm5aJVK0h8H77CPEJLkD7BTnPnNeBrFDQAAEamIu7GYYRBiij7Vs6NzHE+38DOwsHT612xvQ+tf+zqPbuvv9OU3WkYoTDe+6r3lN3m0709sbUPzh7cQaoCDpPlEkW7zkXnEpyLg8u914C+eBjWO3tMcmb279Qgd5bvFgxfAUcgubAj7Ow1kB8jqgmaXocgVEQHIYZZmASu0Jh5jcbkZDK0JvbItIfqQFOE9G+hMVAN4lTFAHtQjNBusTpMHgoNWr7oDrQgKJ4JDbb3UVpJHLX8cOr4dNN8k1yhKfYbaSFPR8lzN5zeoKiBviwJmrRRO1cE8a5o6zLEj5W1UKLTTIuXEqw813OYgNxMclM+aMqSnM0cnus9Xc1Y6wP1TLPNt2omMn/AS6ubQ9w8U/N8LYl3WxhvcOEWZn0Ya5W1kkffEK0Ii2nUXHjTKIzDGW5Ow0XLuYnJ/6X5MilUqbAtmJKOJ+120zTZHfQUYUq8LICbl3HTCyFKApBIYK48H82RC5IULUCSAoSl6zDGIEmfPXwtBTEsPfe4tYzCaUtuBXFr6RHiRZgQt75dIuXKC9z9OJoqrXCJW/Nlsu/GWGktgvSPcIm9MIiViNDdN9OZUsJidvagxCFfJPODjXWmDle3wABhha1t6bns4woytY8zlfOHTIFjXhsKlNAgPXZX7b7V7J5uKK2VE7WmzvQatRwyL5peeysUtxqkX1aHpEHjiKMwxIQundDQzrWhRfaEZ2e0xcr4+eG85fwziVBrkPuCSv5ual8wCmKiTbObxDhcmNPIW+IWWqEAx61Gd2L0yf52PLGUFl4sW9Mk8u0Viq7CGDXDBDdobeApwsiJNykM7Uw3LeMDa3XT9p7mJELfmobBzJs3b52FD41GhHB0O124tjezZ47nJxHa3YM7ms3ImIdiRZRfw2fHw3bsI7RUxM5rwN4ChQlWxIPXEF97Mwy//FL5QFnMwgg88AIQd2P0CWQQGdO91+CGlIT8Y+xAzD4I4t2va4HwuoqQcwNfv8LHnNqbwQWIHkjoU84PLrlSlP2j6Vj7gqYJRi58FMRfPwpkIpESvy6RRggnUQBy/jDP6dk/ungQCyDy0ZlHP7phwFWB7WLXBehB7IfhTbLMIedhljmYCeQhdnybBz5C0zByFfGQTo2xE2E6roi7roMRPHsSpwXy87XnI8BRgkqoZ9JByrlm+EtURaVN8CVCtlhimkQRCrZILUy1u8sTgsTpurcH0hyBWFrddmMKFqHj/KU0LUIkON3971oZ8XrkCvd7AzPxdj/IjX8vJOkactf4LjXD6FtAxmgaBm4slFysiGs7CO0YOzj+KwQ4ie/HhvcfFbMcWnOEbexEV47v5yhhJ7LvQyolp0glkZ+FY2pq8Y6bvc4AF7ZAx9FW4HMikPA/Z5SESHsIdBy3H4QvM9ZRm7i1D9IsNvsrEOnnsFDmDYhc9YLOm1/kEh+i1gWIf4efFGjDZZ0yNHQcXGJUIuAi8LGWtWdRuLAjNPdiHN3apGWySWl8pMXJrFnouygice9F6ZYqA0nY+290CwIbLMm2kHcKBgPpuhjIUtp1gHi3tUVZEzfiWpzHuRHH6A93oysvcKLbb3oRI7vHkRjF0sHXVWfKZGz6Ezep4lNlgRW32uJb5Tll96JuI80qMmudhjrddo8pOWBZJGwz44Yf1nL+tj+WkPyjXfI73PKbrlnjnve7aGXCFo+l24iZ5xd9PX3ywNpPJqb+ecj883nJ53he30xkPHHZ1S6oo4mZNLi8zFNZfRbjWT0yjeU9SW2Ny1UitoevgBEqV7viaOyvUvMowSyMyla/x+CFkQ8o6dJZIZft7+leduqHiSt5gYclQhs3KQWlTQ8DTz8RZ8j4rAUQKQUxIjNE+3vaxZzpzs/a6HSHs8L9XvFndIuUErkgeSC0iHotVygULIKj0PnNGwZHY92Ib2OMFlNMnJc279/XjEO8mpI6kJWJH22/czXAddAiDKQI+aHjPmQC0xtEpsqf0MXnssn2JYkL0ZIUhNLSmZPEXg6/38MkChyfTJKSfMIPhVNhshiHy/84exGl/0xjfTeqrhc7Vz76jwOW6f3XxDbNMGQp34frY8GkASelIP11AFmhKPbCwJ7jzM0wijEI4i696ZnBzpP4Y7ADgvirAF+B3SGdw1e4Ro4LUgDyngCKAoIoC411o/BeLSA+oAauWUrmG2ke5HYbnsNBG8R0PYaW3qKalmpNTEX8e6M+1cnlJAdvoHLOLMpSStv0w3mjALgsAKQAkT6kAjNr42SYhonv0quqK5SeKvFnYiVLMGi9GfwENcdMIHfISjvPucWgII0U+UHiU2oXrm4LFtt14a3RS0OSmoNL1d6M08X3YiwlgYdjkKQZ2SpIklO61xREuRmjaOVNkVBRuFwLIFupKBMX3wZmuFzyYG5kvgexYbSMD1s3WqxQ1A0XS4c7ts9uNVVF3E07EdK3ThMMkgvCM4F02vJeifQkJ+1sI724IB1eznvNwiF/crIWWNdeavhIKCE3Z88xAH5uep+6Q/5H4jALwXNIhV9782sU4/M0jBVxVz81lXwPkspYC7nqImUizTr3qC7elZmu67TPfW3dcMPPAUmnPXQ1vplb4SnfW4/fnaWXriy4yd/5lXQnf9TTDa1rjYwPWaJd3LheBNISxNJw2oQn8bUL4l1pZJ1n8o2oIz501G6Ds8TSHGHIFGYsiHprJf3MVFs/TQWFS9KZOktMTzeyeWxx91SN8nHw6wYAvfMlUxSCH1tB6daNODgXwQ+oNO7yZg4S262TlUoOCdwwmiL60EWz4uqE7HrIQvxwehPTxxkcUgi95c38+HiUXkweHys8l9B3C8Sk2+oFVONbhYsuWn5NS9RmWXqdJk22fyCAV3BgHwnXxroxR7g7nqjR9Dr3MCeaXivibpK2vYu9BrfHvCOD+/trGpEO+ePoUCACKiPRgjzf3IumcZQONzbqLBtduNkozT1erBqDo0M+xRJVdgvV93ih9TLlLdLaXI7zYoMd2Eyi4kw+dTR2tEOPJWQWGew4LkJz9EXZ+Ufz2cdW+v/j5jNxpwRbMX0Nyr8I+PzkXGeolp428HUwsyIQbf1wHts4tNNL3Yq62IlvaBwV1yfpQEpNMsrQKd0aPTkY7jU4QlqYLf5mSXhyCk+s5pODITsMJH6b6ZV1FUxK4G6fSul+j8PAjnHkBXNF3IXfP5HOp2jcJMmJ5kB4xNhZLAFo8s1UWgsbpKMlihwSbbpLSJkCNYQsB9MngtzsHGySWE58Q9CBVCzBsoaRRpDsoxXyAQQ9mIXRgirg+Ju0AxTHzhylQkkR9RFG7jGIT7fwHXsupW1vGbfqxnfucsCOQcw/7/PgHIPI/bWfwXEMIvu0ny+f8GAf97nVHoNY/LGfLe0YRPZpP19BRjn23P1c7eyh5bnrNEa4k2XxjvMLeiR6t/n2w1q8K3vxuklmNYrEKZDkJsBPCgWonA/49Me1N9ekAbLjG29pp+8R2W7kkV6+6LNJZv+SnpiH7q0i7haHeCC9BWGAsOM62Dmm198CbaaXUfjlFoSnAgjXGC+PWy356FWz8/ywyf7bWrBZLS+IsRNM0d+dpSexXYTSaXdkqd2R2jKLOS7UfmSpdCHFWrNmSRDJkkhXQwIRwU5zGi6WCUZN7Mzjvhdj+AoLZ7kbIx9N8W6T1oavdGuzK5g33vJsmfQoYDpZhu8Lr0HwhL29vYv2ZXPl+AmCVguEmePHSMhnUqBSyp3SBQOno8DZh3Wm9k1yhXyEbdo6B3N7iiLszbypg5EdhZh693+t4RgI9baLamx3cUm6XN5ytFzexBJjJTE8JYanxOEpZXgKe/AVUlPW2orxEtJKOnAiL0DRKKJvJPW9IPlSKVFhnFVSViTDmDbLlZcTSa/89WsdAf+O4ibV5muKm51B+bzYq/bhDbRy/LEzvXHmqMcatonRr6yDtgR38rG05hYjBSCISeTXtCNAuIIQoTjxsSLekZ6AeyUkzYPpaKNyPsHrmYKfop2G3P/7xDQLE7xMsCLuEofIPJKYLL1lI6qlJGW/Y+ZkQw2uW/JmUGtREMSRWd63xokbAnaDGTCtSIf7+yfS3ab8f/8En504G6VFsKznRl+Y7RYyhs9BhqP2jzCl0KUJP1mSzsRI35utWHSZmlyhJzAlhxXETvlJtk0UxAOBnbXQb2oqAnt7pkzeDz+jqOvEXPDehTHdTpI96cUxfQv4+HKHfPYJ8fElC7afT8MI0hd494lBxFw4eDHIL5vtQ3ACF4RIftk+FMhDx49DcNHMC5BLNj4kL4QBqZy0YO6nLaeYvTzsxTRV4jDjkco1vYXnO5F/S3dQnXYmqNNptg+bMMLXKPrsxaiOUZOh0CyWwKKXCgduhuN/dm4LDTL4IAg/c7OLqK4B4aDZTiFYHTTb34MAMxqPAGXxLeentquEd7Y7yczLnGnNErTQdPNMosdNwiJ3inXzo7AiT7Jzgo+CsEcrRJD4tamEd7jNuXWvlNWlvIozv/fwdZjgXohLXpoxpqeWyIWduPWx2WrNd0obxAeuO7lKApw0I45xIXZ9/6q5FW+Zn62dD3WWxxlx/G8P+VKCKQOSBX0Z1j8qUbBv1mQnL6ayu9doPNYzhXSLvcUivL6Ci2ZO4uPcAo+W3RTvGMTrJsvn8Xnnfh9JcfQdXJy6xcruVvlS9CMqlPqqkiyiGtGMtkylEWFvr6LkMkIrL0zi/p+obK3MktK1FLzypBisstxLWoq7MtoXv16S3Mjd4dQ55zNlVxDvVlkMFOzz++96WfWg/ZEyq4ny3+LG94fV9ly9+vd4ycVlZuFNxFdbMX4Qvjm2+aLyzDxIfOyp0fS6kpvTpXoLZ46s8ASNE9LZpRm6AfDz759oC7ExG2ZRuKBD0zDADinbOuERN0GfQbf87MK7bC6qHM47pBMIQkzDYT9TGV87eD89dWVPHsKssek1lSVlFqtTZGuS+1aC2yKDekWNnMeksoemsceo9MiE9b3JajDpW7pNf6/gYV79oxnquwXlG8E0JW1PB9+Fdhb4Dw37h6nNbsTLDdj2jXTWg7FTgeKUoFPbf7F7rb9Y95VuVbwZ3Jd7AX3xYsx2H3Oy47hGUND38xQWIbb3CfNd1lbyskDWhcEf0fnd02dxWiiPL4scNwGkqKjM9FaVG10LUOgEv/yS16D8K9tEIYHeTNUPVdg1th+0/MgSGfrfXNufsy5WrYh3rhsNx3Xfpcd9w9BFfecKVe+6+uqJ1rdNy9CHZ9wZXfrOggeCyBMI8Le//Q0EMftu+HDU02xKYArwBoovc3fe/FL/TgY7fIQgdBH4RB8oSUg38hFy3FtSZWIU4H1Sna+9YE726o67+fpIuW1j94quS2bUScAhbGoRN5tNoTiwpedmtausBkUNETFMzeP1vnjHK7KuuRSt41bSntvqRmgRrtBjzItA2NDpERZ+OBStqthWDgavXIVo/09Srir2Qcr93+iWqcYffhCPOKFX0PkNN1d+uSNrKsA+0Yeq8cFOE1L6rkrpbryWsDa2K1Q0lPObc0gifx8+e74PSYzAoydv9BsVpMCRgGTX7kIJloxf/jUKlvg2NNqMpfRNfnpdf43xMj5utS7+0bp8Rn+dIAoQRnFrddGWXl0++9jM/tt81qJqeChuNZ/tVE76pAA2Rdcf1bGXALIrImGVTjSGmqXlvyuxFqDu5f5NEcq/6DcHKm8QbLz1n72PSL80tIzQzPtSA9bPTzkE1sIGl6rqeafH833ypPW0Zm72TVQcOVOM3Eyj4/z7MlnHSduYimLHsM2w935PZ6v3pdf0RI0kQF+WiGjk33JemLleikXeDTsxw2Cr+sI3vizzLfctfrdobIzoj2nlv/5S0Ka/FLduiXf0twmzx4Y2Hq05J5ZIFTvOXzvJunLJ94LkiyTedccT2r2XUsXPb7X+WDNMbXTa+N8AAAD//5eBO8/qUgAA @@ -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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/CustomData index a7acc45a346..3d29b1a844b 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/CustomData index 6ecb163da25..e3bca21a733 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/CustomData index 19cbdc525b5..2759296a642 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/CustomData index 1cb75dd573e..db78e1b2ef3 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/CustomData index 1cb75dd573e..db78e1b2ef3 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/CustomData index 6ecb163da25..e3bca21a733 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 | - H4sIAAAAAAAC/+x9bXfbNvLv678+xZRhYykJKdvp7uZ6q2xVWUl1bUs6kpzu3sTVoUlIYk2RKgDKdhTez34PAD6AJCjJdrrt7rndc5KNAAxmBoOZHwYPfPZN89r1m9cWWdRqnc503B196HW6015/OrkYtprBijatzyFGTTvwqeX6CJOmbRsrHNzdmwThtWsj0/V520HnrDvZt2lg3yDKW/Z7086g/673fnraG7W0JqJ20/bdpo+o6Wi8/MdePy5kVFnhtetrtWeTwekAVqHnAV24BIKQQjADO1iuAh9Rn5i/ksAHGgT/4GROBz/3zwft03GBmBPc+l5gOUSrdUa9zuQ8rSlXxK5NPUXdjLmQ4KYX2JYn2OsM+pN2r98dnap7TtTiyERHl/2OsjoOfVuuePZmrKx3E14j7COKSLH2cNT70J50p8N256z9vjuedtqdn7o7mjZX2F1bFBkry76x5iimNeq+740no39NR93hoKUFhDCZLewiIpHRapc/XvYnl9NR97zbHndbet0j11OMPGQRBAYGgzRqg3FLr7sz8AjwwX9hJBWO3kLTQeumz4b4+O3zo78DXSAfSIApa12o/gXm1u0NHCwtai/q+uEraP5S751Oz3tn3VbdDjAKSONL77RVN180GnrzFVgN2MAKuz4FGoSrFcJ16+PxFVgfX181/g7ozqUQHfwdZm6jNu52Lkfd6eR8PP1xMJiMJ6P2cHp2+WP3vDuZdv/Z7UyH55fvmTGUjUdMBOqR6yCghGJrpe1P70N3NO4N+i1tfWgemYeG5a0Wlnms1Sbd8+5wMJqcbumZIg+tAkydvOV2T7v9Sa99Ph2OBh96p92R2uSRg3zqWt4KB2vXQXgXkWwurC3c9NxrbgwekmkZCTGFAJVz6aLd773rjifTd73z7rA9+Smn2KXluzNEKJ/vbOJdDAf9bn8yVlePHYRPSdzgot2fnv44bV9OBtPL4SmbJO/O2+/l1ok8S8s3nOumFdLACFeORZFW61yOzqeDy8nwctJq0uWqaYfYm64Rvg4IMoOQJtNgMJ722xfdlib+zToeMQeRFcQ/aLXO8HLaHnV+amlazUG2Z2EEhgU/t8cX4596F8Pe6bhVb8hF42Gvz8wnKaoRRDvDyza2F/UGbGoAAClVvT5PSxu1qFbDaBms0YXln163QxpcctHeedb8neuhtD1egjEDfZe+GEEbI4vuJEiD0F7sSdBDlh+uOqnbPPUYKZJjDs9Ar/K7jIjrE2p5XkbkZ5cuOqk9/G8S+Cm9gLT0TX7kIl7gzuDjRzA+g6bn/ZsGV1fCRfF6KZHBOJJ+YJZB3MBvaXaIMfKpxguRR5CyVspE3Esk6s9c/hf/I4slQ+GmW3r9199AM4eJ1wZNV0wLDb4Ar/fxCr4AQR6yad30rSWCVgs+aRndT1pDa8CXL8In6t3RaCrpOXZR017/Q/u8d8p5isNMUsZtMtaeSy4szMgOcJvNyHPXD+9A44rS4Plzpl5N3/TG07P2pB1pjBmN4hBVKTiZR6x6fqxiLYmpGmvjg9AsYX2UNBcxVW0CkvydjEOsdf7Hs8x+DgisE3IWxtY9uATQ3QrZFDlAA1hYawSB791D4CNAHloin5qCTG8GLoWFRWAZYAR0YflyrVdwi+DW9TyIzZZJDp5FaFIDXJ//xns2JePUN8+K+v/4w1UExpzCUVmJyF4EoP3cHvV7/fcnkjlBHPaLQlbybEJP8Or68x3s5sx4B9voNzhk1qdvSuWHVxG3j+/HZ73hW61KuF7/3WAfydjwuXSBMKDlit5DgDnLMxfLchAQ3ZkwvnFXKyasRDoeLou6gR+LyR0UoiH24VCWu/du3NIPPvkHHNQgp2CirbpeF2jnA3z//feaQv4XV5HWEFMr9AmijCT/F5dnStzPqKVvninJM+Xyukz39XrWwjhqNMDwKBzC1RWbkWwYp67voLsWHwjp36WGnOIq11NL36gZ0DcZpShmJtPkhfVrgC9cP8BDhuk+pC6xLgZVz/fC3JkdUjAcA4zZUUMrkPspoO/cuwdRIWDMjmNCzEaF29/FoQZXTEkf96rKjJchXGWjHMu5ukord/215bmObIyxfZ9AUcys6b4uPbZZL5iTKQ2maM1iJmjts7HZGXfNYnAdhT51lyj5fUwt37G8wEeZ+9QYy5WlIPtntfqiXJ2ctmKPnSgGKtgDA8piQwv0TV5fkVarRBAXMQDN4QcOX6WRSCKJZEsz0PQStC2P7VZKeROXYANDAAYGMys0kTNHyi4bmTVwzhSgg9ve0Rvz8Lsyg7t4OJCZWLm+jxxTO3pz+J12sIud2OZy6Kg6XMU9gx9QmAWhz3wxJMuDV+CgmRV6lMcmFpqxYwcO40U2b0mQFbM0WZzYYZRl3eV6phit3QdS2eZ38qwpXUexylY/k/L3CB8juRiFSNvdTK8/nrTPz6eT3kV3cDn5491MXmt595Iq6cmupbI/TeVjYnKpZ9mjX7YSHPW7k+4412/550iT8Jemb/rd7ulYGqFIg2+q0XfMwEVwfQ9FOCfcm3LVwSHFr7/BQbpAUS5ApPWH1jiA70FFDaQkkdJe4y4KyxlmjoQS5h9UVCXYtseasfY//yPAnayDrb07ASLcS3E2dnCxM+ZIRtNH9DbAN0MvnLtZLJKGd/LzYHQWJ1yYVweNZ0WqB5cv0Tr9Xm58Y476PXiG0Qxh5NsIVrxTYsJFQKh3D7MAw014jXxE4Tqk4AXB6tqyb+KKDEaHBDlwfS/7cGbDcrSD4/zyvpjJhefA5E9SU5000zSME01Z+mNb3utydM7W2rvqnLRyM8bwYY9GkUK7Nkapk5zOAjwNsEVaaXDYRZKFijlGKzCCIRysPzkv65/MT87LxosDPpMcOCDNX9bNJvvnAlkOY/WokQyijFAYI0lSbhpir6Uf5yXUS1XK4uzUbZlIjpfljeNiMFag78pOivpZznQ4GrD5kvmsLDs97o4+dEdsWB9QXTnCD2ivGuxM08I0Mz0kZssUkpnBA3ts6ptSVj4S2U7DsrGhyL6erPWN0gQjw3P98M7QN0m2MNK2jvLk/f/hWz57zINnz140Iw2ewSVBcG2RBVyHLsNj8ExeJeN7e+lM54hOqYWvLc+bznCwnGI0dwnF99Nbly44r3B0fAh/2TVbTnujpr6Fc57p2XtsIi2fBhuM2uPp8PL8fMqG4F27d15c8McAlie+RrEMl9jbz3FUGlIKS7+Syyj4iJ2jvdW6yjZk5M0tMqmFzfln7Y8e9z1c98OGO+fVfuf5ss/A79ICmKYJu22nVjVGX2ssdrJQyD5vqy2vJoSOMlQACSyAZHojB0ho24iQWeh59zkIXg0mdi1PSi3NaoSiQXWZ2CexMBh3n2d7qXmzRc+RBkZnjxibC8kVlhrv1sXhwV4Etz4YI8BBQE/YH/u1W653TkNWeXs003b11axqGPO+DBz421/+8jQyCUTdLY0MWMfIDjGanI9/TDaHz8SmafcO2QUcL9y/gM8cqmkLSlfkpNm8eUPifXBiXnvBtWkHGJm3ru8Et8T0EW1aN8SgHjHSPWjD9lzk06a+eehedNTk/r1pLZ2/ftdUEZURlF53SXt08dfvGmxRp9h++PPIg5db5SmD1UedCqhJQqcYY2XRBYsJj6IYVTCdLca/EctxVa/lRE/q593ZdGa5XogRvGZe/q+HYDP4b8zG52AElQTT30PsFQJoyvbegsrevNLTPEptmkSTeQBjFDuBJ1CbuWxy31pkybenu2x9X50TZvWmM9dDfPj1zVEk1SMLd5nBvM2xXJbAdhLOZu5dS9+8Lrbk0SkZl1Zd0zc/nHwXaQ2QF3/81M69IsW5kTtnIAgoBhOMOCfJlvasBrh+UjnX38cfrhh2dYJ8Xjm2wk2VBiLpWJTBiBqCNoOPeVbZL3kdROq8dAzCj6CYUnYCH0kIgUEZxgswXkicl2FiPoTbF3vxWZN3A0G9q2CR5Zgptd6QLSedZuyfVJhFbDLJxmB+0b05jkCOHCIblTBHYrN4zc0i3d9mUieZdDG+xXbl4a22O7JyfQ004rnzBdUaOYP4CJqeS1Afmm/MQ8UCmv1XIv6yVddub4lEMx7aQu6dDxpPbNTR2vLilNxpTIVBy2xfNYf9M8IpPiuPEOilUcklwpPeQVtnslbOGcjb5q3F/OZGPveTbtr+VwyTOJmhUOsQ4aVLxNa8QsN7KTPTpZwgVE2yR/lnpYnl3XTBhf/bnDSkoT8fifKbPjnpmB5lehpoxvpI2+beFdl2ySMy6twtErA8jCznXk66V7HxShx58QMK1yidd64/L52kyEGyf1s+8BswPsPD0nNV+cA0scGR7wNTfrkztw5yiWddk6ZS/ScFQ9mW4ROc8RGJR33+eUqXq1blgKn7LPcRZ3xqT8v4bMqsRRroG1mXUVXKRtqNYx415YQvrz/fMWhSJi9WzFXSpzT4OnYfHaVAIT8mYqo9iEARaayPpCmyFFBLIc+2afRwXLfXWmEtFgt7S1eN+tRqCrFXSYO1OH77/Ih5R4RAl47rwtvsfHmSG+2C9kudMX5ivmh8qX9E3SuMzRcNnZ9MrNsWzZN4/lwytbPR5XjC1gjFVFQDnqcak4P5y1Zd/6aRi1P7RMTfYUFRFY1ef40lwyNtS87LfB3byWk6OROwcv2z8Bo9HWrvi7QfDd8kJTC8dhNeo68EbBMl7EKzcrc5EKbErfKh9CfhVtkSSgyWTIAxaayP1fhPPdwqEffAfflR+KrYLztDsY23StkrTu9UVN+B0Erd/n+U9giUlmhROWZfBaTlUyulUYu2z5QSKIsd6OMwmVYAZdpDUdn+EAZKNyIeiUoeML20Kq9Y3eRPg0JktxwjkCwcDrCV4Qs+Soq7YWz85dtgad3uPyejdmfSFZWZ4wQFoVzA5EXJLTfuJwtJ9hITNSlvJ903YJynkUWXyZqmKfE4uRi29E2JI77bWr3ZunXzs8RiM+5A7LkpelMtUtLy7mg0GJWz9zt6UXt8tviH7U0Lx9FM1aFNFYOya9+/MxFi4k5I6ATy+muHiGwpVrazZrb9piIhn9astpHkUFthO9jk+8FqeFWA4QIDHJ0YUfH8EN8GKWfLGFXQMCKhR1v6hntJqZQxrIvSGqijaiaYJmOc5MxeymA2mTZHhn5SOkQnOP7Q706mrEzsboyTeXpi6Kqi0nU4VaXKGzmqyuAKMySImtC9cylDFGYlpuBHLPq99EiFvlERfcq8LimqqW+kHvnUVqqmcFpBIpPuZ+UOLbo29dLReubOQD/id5GWK3r/Cqh1g/i+cul6egQWSc61w9ryQmTCgC4QvnUJitsdsTp0gUR5TYb9py4WJqsmHhWMR2ombhzJqFdckZ/MP0+WK2HNXPN5JfO7sSy6wlEcjjWZalPfyGS4fssZnSKrkkbT4xc5hVZcfOVci0uY6UWluugfDCPxEse5+BwfrYxrJXWazflBI3/UNk84PkddORtSl1Rsx580EJ0lGD11VCaQ5PpZTm7Whlp4jmjm6hRnv781X0TmoeL6aaxfbuTdi2FLEwwY69RKko3zyjSfVthAiCOYwsiaKdGkv6hiZ0E6X1E21VxNodMVRoZt2QvkJBpM74WcVGhOU+4dqjYuRBeXPlu78vt/ogfXp0HGYf6oS5Jq/Hy3foguWMwrEixshmc74Xq+YmyninX0lopiCzuZlZPkCYHCWZQ8mBM6ym70p3ju+CEnQRRLxjS86Js8fKqYSAnbzDfBysLWElGEedKhQiK2kOKWMXfXSHlhJRNLBkDl+6ucy5IOKllNH2fI3Vt6AheZo976NsRuj7zZ2j7KnpVgLqEsMF/85UarqayX0ZEWh5tqWSPJw1eZ5eMtrXM5GnX7k8x069kA7YgG5ZFcZxFBgMNJe/S+mxGPt1ATlglarhHuBMuVhXmkz/NyYmiH5qF5qEXMwHKUInWaRwQRTwoWUGay1E/EMMecP92Axd3ueoAB/RZaHtCgkQSVa4sgiUiBoXJUKoyVqQg5VXNzmylyN1DqPr8j8zUsueqdkr3sN7nhxs1Xlc78yuRjV5DGyu3yswlFEA1XnX7v1MVEsWCQXmCqOuipqCMdp8qVKohnzz9tpV+qlkWyfGlUy2CgtASSF9IVt9K+fIFv9rqX5rtGfNnpCRfT0gusfgASRcjep4EVRgT5FGZxhoPfnoqvrgK/u5pOHIb5jszvzCMTJguXAFkEoecAwpjN4DXyaWh53r0GW/dfs5xeeYnYxGhm+24C8CA9q2nZxFi6rCOTn9JFzhzxI5qSVM01Zy5LhkplMYjkp0kNUc+krIfY6PP7tOIY9B788YPOBcNU5AzFisvybq17Ar+GhEJIENwuLP7Og+cSivg14sKzQUACuEXgBP4BFa980ADIvW+Ldzhs3/3Kb7Fk+lI9xtLvKa/sx++V9Hs8xcNYxYiZAdgszljXQUjF42nXIYVby49fLcGI6UD9asrtwrUXgNFvoYsRATd+zUT1XA78ju/lxH5uj5dy/pAXZ6qev6l+iSY1mL2eoImnt72w/Dk3vXjj7T/t/ZfHPEBReltE9ShMbQ80mPlC7k16I3ExR+Ga8JK5JsWbEAmQ2Z+U8HIVpOQ9jHjeOFvSUHE/qgXzM7aWsD1kYWYdS+bRkC/m+q2IDGuEYWGtVsg3wSIkXCJwKQGMPCt2A3wAXZ87ijWCc4siQuHDT6dJdBF+b4Eg9KmFX0HgOQiXCun8swkyLFN677xEzRc55w1Vr0Aw15bErrjfJE1yzdj67K5WyRXjwrNvCvOr8KJJlNgFfbLVSSkB++Q0pWxWuRzktyxWRmnOovYVbOdRQ1QeoXzmZ2cmVZnz2XHNKtGzWcx8Z1eqcvfX5dEsXqzayaAKUDzANNAdxZZNz8Jr9GOMggobCDdv5GgWn1aJi8JrlOzHio3oY7nYJdP4pc649LVWoJtu1k0dF7c0/TutVqgRb67yXADDHS19U+hV5HNlx5rvl3lXFjXLQynRZ3F6+3ukzNBUDEVaTW1bcu0qQ4rXxSIdmIS1fMssPbg7DVh7CF1OMz4yEVsBi5w0f1wPzyD/7mXyeqbxQlVgU894UZ50BU2Xhn6LctPpn20WlZvLI1C6z1ywl9IZYSlNhyiyadGsX0GZxiuwSHoIA3glrkiGUPkxBBqIR4AtTN0ZU61onB/D3WrJ3q01/MBBe2S2H3+INW+vZZn3vnP8qKmQBj2tgnxeRDnpLVva7jXkw8SUnzQuXfr6GoKqOqgUNf6/yVTngcKg2PLJLMDLlka+mC++PDcEHwlC/6KBYZBFcJvVRI7BphdhYWatYPxT2qNhEIrdlZEBldZrFnPycx+kZ5qZncqOorLMpl5Z11LqqFZQb4W7yQsLV+Ihqeo2zHeV2hTXHlt5yu8CKMLNzGLgu5zeXaqsRNrdiPFDfNX2TAjY9h32/4Y4uLvPkNvleDK44Lf/WDRvj/5VfjSmXEV+KiaJdNtIqOrINITXDAlbV8UqYL7wBNRNcznSV2CHhAbLpMEOiaLcq0PTeHN56s6m/PixP2+xGF8rn7bbRVc9TI8Ke7U98WH1+JoKOKaB4kf1s1n7iMtts/ickkqfWUX+TEim0Z1Dqzq0+IcpZDe33HDK81q49Eqno3q1rOB8tErvU9G4+NZVvGtfPUhaNbj9ysdO80DpVACl9HEAWOGA79alcMcl0GHw81G4iP1XPNG/rtBaqaH8QlLBcYkRev68jBFLFSvEz1RQaMEEtqoQoUtTuekC8YBYKbcAMPnTvSXuysNSxEDpVUbsMdCH7loHSWb84y/Nq5fyhxXWHw+N/3X18pOZ/G2+zFLi5ssDJeHsIa4Se9XWk2+saNn6v6CnLO+mw/5LLjJzRLvCaObeKXT27IUkcKRtpVi6TLJR9PHtt80XO+gIQ+kKZ4XkV2/zPQCD5lAMsrDPuCsw4h4/P+n0uPJZr8I65aR8z2XLyXHVCjbNHBV/yH9jZNK9GPLcz7vR4CJlqqXxTx4oPztSpvjHBSd5HGLQKLS7S8Aoryj+0ZkTEN9L4C7GDnzH5fdk7AWybyDwi/YFgW8jGA2TbL3Lk6zIIsjJr4xZ8K/X4wtVakGSB2I1U+NPxMLbFhz9rdHgmxjVrrhicv+BYKHkj/JoqXI1luzsPyzgV1TXtpHbAj4qqms1aWvaenlXAWwrYG3tKYgYmotgiZqL+xXC7EcjnYbwnK13WERM7xT2ltY8e062c96bTgaD9BBX5pB6F+33XXG+61hahTBayf6OuxT5LkWjCMRyRd8kPeSu6Eg/i011irUHwFnWL2PEpthUd6+BproGcgxHPENhU7ai52vzlWUjuHlDTDeIBeIAQldQ5ZvS8Y1H6i6Rwz87lWhkqzbWrgVcyNxlDWnLqzNh9d+LXExyZSO3LCjpTBxafIzaeMtHak4cdfzddBQLVakmcXCxSlOSE9mphcfJ7wT2DcK/m/yCfEH+00HnrFtlHiKlgRG15k+f46PupP1e/vm1NPV5H3MmBgdSFVLwI7AFOl/FG2yds9SaK4cD9AIrj5tSyQHfR/WVO+nGrecxdKRxvuiM+AiTdwHuLFzfKr/1LAHLyz6zl/hcg/SqdllKy/NS0q26Xt+mcXE6JrmzdvDL0sbm0rVxQIIZNe1gyR8f5t9k24ivrOlH0UFDMVGLvco6Ivt1QCiGFhDez6yufUtOviXaK9CPXoF+3Igg5oBQnLKQO7ur6RuZi1hXlef1mU8Qm+Qz13dgaafczgIMfIi23VphlZa2mKT8sm2u848/XL3USj9FWlR8eSGzg1aKGhOyUXw81UD8Keiy7tgv1mc2oLafHlZ9ugWlrOVdUTylZf70TU6EaOs2Q5le4if3Iik/+pV+7+zpzjJTVerUuIYS3krayc1+vFRO/vL8iH0PXrrVDYRz4J9Ju1wJoylsL4vTu7G5CNHQ3SrAVC4RtELfFksa8dU1QW4UZses5U+FKL4ZIJ2fqkyWlbVW6XvThpwPfm+e4WGUXddJXUXe3Wgnmn4cHaT3atfdZIFUwPT6F+XPcZ6motRQ/zxNX1rWN5JmI/EixgH73ydfmm+VWSWVuPv446LL/fOLv22PUaGFfHwwjFmAlxaFg83GHKFVQFwa4PsoOtlszIk1j/7sGpCkFzOV4b6pHTiopf+j4Jb1tAy+afHvc6n22DluTGvWchkGMfWKWq2+oCa9NK1q9QVuF66HACPLESOSi1JPdhZZDCi77Bx6i7mL9s/YKklKcaWCXiHVlz56IpVFsnc1ZiU/WvlIAb+DwxYZ/AiYYZdbZk4+zcYUvL0AAnXHoqjxSq8vAkKZw2i8AkItTDvK1iJzIUcP0HgigX+xWdtBGPlOBdns050jvnZAToHb1CLjexyd88Fl8tkZcXaLwduOF4ROxcbNf1YMEjA2BV4Hf3hUeAhD/y4/vS9PEj//ZZ4tgct/Hp+mOH1LSl+/TPwVX+EUp28Zp+b5lFyY8Jzl2CqXJjO34GsVbrVUo6wjlcNOPKG6TOVAc167VEWkYouiO7lPGI92fMI4WCOMXQfFH3rqBP7MnWdLF3ENSvpyNf+ePtO++NO0Z3PTab45nPKrOlMfMYjAaLASTf4q86ZALL7lb1H4/vvu4B28fauo4ljUIkGIbXTCq3MTOMkW+quVd886ZbzHHZ/Eqf/u4B0T8Bn7+/8FAAD//3raSPuagAAA + H4sIAAAAAAAC/+x9bXfbNvLv678+xZRhYykJKdvp7uZ6q2xVWUl1bUs6kpzu3sTVoUlIYk2RKgDKdhTez34PAD6AJCjJdrrt7rm75ySNAAxmBoPfDAYPfPZN89r1m9cWWdRqnc503B196HW6015/OrkYtprBijatzyFGTTvwqeX6CJOmbRsrHNzdmwThtWsj0/V520HnrDvZt2lg3yDKW/Z7086g/673fnraG7W0JqJ20/bdpo+o6Wi8/MdePy5kVFnhtetrtWeTwekAVqHnAV24BIKQQjADO1iuAh9Rn5i/ksAHGgT/4GROBz/3zwft03GBmBPc+l5gOUSrdUa9zuQ8rSlXxK5NPUXdjLmQ4KYX2JYn2OsM+pN2r98dnap7TtTiyERHl/2OsjoOfVuuePZmrKx3E14j7COKSLH2cNT70J50p8N256z9vjuedtqdn7o7mjZX2F1bFBkry76x5iimNeq+740no39NR93hoKUFhDCZLewiIpHRapc/XvYnl9NR97zbHndbet0j11OMPGQRBAYGgzRqg3FLr7sz8AjwwX9hJBWO3kLTQeumz4b4+O3zo78DXSAfSIApa12o/gXm1u0NHCwtai/q+uEraP5S751Oz3tn3VbdDjAKSONL77RVN180GnrzFVgN2MAKuz4FGoSrFcJ16+PxFVgfX181/g7ozqUQHfwdZm6jNu52Lkfd6eR8PP1xMJiMJ6P2cHp2+WP3vDuZdv/Z7UyH55fvmTGUjUdMBOqR6yCghGJrpe1P70N3NO4N+i1tfWgemYeG5a0Wlnms1Sbd8+5wMJqcbumZIg+tAkydvOV2T7v9Sa99Ph2OBh96p92R2uSRg3zqWt4KB2vXQXgXkWwurC3c9NxrbgwekmkZCTGFAJVz6aLd773rjifTd73z7rA9+Smn2KXluzNEKJ/vbOJdDAf9bn8yVlePAcKnJG5w0e5PT3+cti8ng+nl8JRNknfn7fdy60SepeUbznXTCmlghCvHokirdS5H59PB5WR4OWk16XLVtEPsTdcIXwcEmUFIk2kwGE/77YtuSxP/Zh2PGEBkBfEPWq0zvJy2R52fWppWc5DtWRiBYcHP7fHF+KfexbB3Om7VG3LReNjrM/NJimoE0c7wso3tRb0BmxoAQEpVr8/T0kYtqtUwWgZrdGH5p9ftkAaXXLR3njV/53oobY+XYMxA36UvRtDGyKI7CdIgtBd7EvSQ5YerTgqbpx4jRXLM4RnoVbjLiLg+oZbnZUR+dumik9rD/yaBn9ILSEvf5Ecu4gXuDD5+BOMzaHoe3zS4uhIQxeulRAbjSPqBWQZxA7+l2SHGyKcaL0QeQcpaKRNxL5GoP3P5X/yPzJcMBUy39Pqvv4FmDhPUBk1XTAsNvgCv9/EKvgBBHrJp3fStJYJWCz5pGd1PWkNrwJcvAhP17mg0lfQcQ9S01//QPu+dcp5iN5OUcZuMteeSCwszsgPcZjPy3PXDO9C4ojR4/pypV9M3vfH0rD1pRxpjRqM4RFUKTuYRq54fq1hLYqrG2vggNEtYHyXNRUxVm4AkfyfjEGud//Ess58DAuuEnIWxdQ8uAXS3QjZFDtAAFtYaQeB79xD4CJCHlsinpiDTm4FLYWERWAYYAV1YvlzrFdwiuHU9D2KzZZKDZxGa1ADX57/xnk3JOPXNs6L+P/5wFYExp3BUViKyFwFoP7dH/V7//YlkThC7/aKQlTyb0BO8uv58B7s5M97BNvoNDpn16ZtS+eFVxO3j+/FZb/hWqxKu13832EcyNnwuXSAMaLmi9xBgzvLMxbIcBER3Joxv3NWKCSuRjofLom7gx2JygEI0xD4cynL33o1b+sEn/4AHNcgpmGirrtdFtPMBvv/+e00h/4urSGuIqRX6BFFGkv+LyzMl7mfU0jfPlOSZcnldpvt6PWthHDUaYHgUDuHqis1INoxT13fQXYsPhPTvUkNOcZXrqaVv1Azom4xSFDOTafLC+jXAF64f4CGL6T6kkFgXg6rne2FwZocUDMcAY3bU0ArkfgroO/fuQVQIGLPjmBCzUQH7uzjU4Iop6eNeVZnxsghX2SjHcq6u0spdf215riMbY2zfJ1AUM2u6L6THNusFczKlwRStmc8ErX02Njvjrll0rqPQp+4SJb+PqeU7lhf4KINPjbFcWQoyPqvVF+Xq5LQVI3aiGKhgDwwoiw0t0Dd5fUVarTKCuIgD0Fz8wMNXaSQSTyLZ0gw0vRTalsd2K6W8iUthA4sADAxmVmgiZ46UXTYya+CcKYIObntHb8zD78oM7uLhQGZi5fo+ckzt6M3hd9rBLnZim8tFR9XuKu4Z/IDCLAh9hsWQLA9egYNmVuhR7puYa8aOHTiMF9m8JUFWzNJkcWLAKMu6C3qmGK3dB1LZhjt51pTQUayyFWdS/h6BMRLEKETaDjO9/njSPj+fTnoX3cHl5I+HmbzW8vCSKunJ0FLZn6bCmJhciix79MtWgqN+d9Id5/ot/xxpUvyl6Zt+t3s6lkYo0uCb6ug7ZuAiuL6HYjgn4E256uAhxa+/wUG6QFEuQKT1h9Y4gO9BRQ2kJJHSXuMuCssZZo6EEoYPKqpS2LbHmrH2P/8jgjtZB1t7dwJEOEpxNnZwsdPnSEbTR/Q2wDdDL5y7mS+Shnfy82B0FidcGKqDxrMi1YPLl2idfi83vjFH/R48w2iGMPJtBCveKTHhIiDUu4dZgOEmvEY+onAdUvCCYHVt2TdxRRZGhwQ5cH0vYzizYdnbwXF+eV/M5MJzYPInqalOmmkaxommLP2xLe91OTpna+1ddU5auRlj+LBHo0ihXRujFCSnswBPA2yRVuocdpFkrmKO0QqMYAgH60/Oy/on85PzsvHigM8kBw5I85d1s8n+uUCWw1g9aiSDKEcojJEkKTcNsdfSj/MS6qUqZXF26rZMJMfL8sZxMRgr0HdlJ0X9LGc6HA3YfMkwK8tOj7ujD90RG9YHVFeO8APaqwY707QwzUwPidkyhWRm8MAem/qmlJWPRLbTsGxsKLKvJ2t9ozTByPBcP7wz9E2SLYy0raM8ef9/+JbPHvPg2bMXzUiDZ3BJEFxbZAHXocviMXgmr5Lxvb10pnNEp9TC15bnTWc4WE4xmruE4vvprUsXnFc4Oj6Ev+yaLae9UVPfwjnP9Ow9NpGWT4MNRu3xdHh5fj5lQ/Cu3TsvLvjjAJYnvkaxDJfY2w84Kg0pDUu/EmQUMGLnaG+1rrINGXlzi0xqYXP+Wfujx30P6H7YcOdQ7XeeL/sM/C4tgGmasNt2alVj9LXGYicLhezzttryakLoKIsKIAkLIJneyAES2jYiZBZ63n0uBK8OJnYtT0otzeoIRYPqMrFPYmEw7j7P9lLzZoueIw2Mzh4+NueSKyw13q2L3YO9CG59MEaAg4CesD/2a7dc75yGrPJ2b6bt6qtZ1TDmfRk48Le//OVpZJIQdbc0csA6RnaI0eR8/GOyOXwmNk27d8guxPEC/kX4zEM1bUHpipw0mzdvSLwPTsxrL7g27QAj89b1neCWmD6iTeuGGNQjRroHbdiei3za1DcP3YuOmhzfm9bS+et3TRVROYLS6y5pjy7++l2DLeoU2w9/Hnnwcqs85WD1UacCapLQaYyxsuiC+YRHUYwqmM4W49+I5biq13KiJ8V5dzadWa4XYgSvGcr/9RBsFv4bs/E5GEElwfT3EHsFB5qyvbegMppXIs2j1KZJNBkCGKMYBJ5AbeayyX1rkSXfnu6y9X11TpjVm85cD/Hh1zdHkVSPLNxlFuZtjuWyJGwn4Wzm3rX0zetiS+6dknFp1TV988PJd5HWAHnxx0/t3CtSnBu5cxYEAcVgghHnJNnSntUA108q5/r7+MMVi12dIJ9Xjq1wU6WBSDoWZTCihqDNwsc8q+yXvA4idV46DsKPoJhSdgIfSRECC2UYL8B4IXFehon5EG5f7MVnTd4NBPWugkWWY6bUekO2nHSasX9SYRaxySQbg/lF9+Y4AtlziGxUwhyJzeI1N4t0f5tJnWTSxfgW25WHt9ruyMr1NdCI584XVGvkDOIjaHouQX1ovjEPFQto9r8S8ZetunZ7SySa8dAWcu980Hhio47Wlhen5E5jKiy0zPZVc7F/RjiNz8ojBHppVHKJ8KR30NaZrJVzBvK2eWsx3NzI537STdv/imESJzMUah0ivHSJ2JpXaHgvZWa6lBOEqkn2KHxWmlgepgsQ/m8DaUhdf94T5Td9ctIxPcr0NNCM9ZG2Dd4V2XYJERl1DosELA8jy7mXk+5VbLwSR178gMI1Sued689LJylyIdm/LR/4DRif4WHpuap8YJrY4JHvA1N+uTO3DnKJZ12TplL9JwVD2ZbhE5zxEYlHff55SperVuWAqfss9xFnfGpPy/hsyqxFGugbWZdRVcpG2o1jiJpywpfXn+9YaFImL1bMVdKnNPg6dh8dpYFCfkzEVHsQgWKksT6SpshShFoKebZNo4fHdXutFdZisbC3dNVRn1pNIfYqabAWx2+fHzF0RAh06bguvM3Olye50S5ov9QZ4yfmi8aX+kfUvcLYfNHQ+cnEum3RPInnzyVTOxtdjidsjVBMRTXgeaox2Zm/bNX1bxo5P7WPR/wdFhRV3uj111gyPNK25LzM17GdnKaTMwEr1z8Lr9HTQ+19I+1Hh2+SEli8dhNeo68U2CZK2BXNyt3mgjBl3CofSn9S3CpbQonBkgkwJo31sTr+Uw+3SsQ94r78KHzV2C87Q7GNt0rZK07vVFTfEaGVuv3/UdojorREi8ox+ypBWj61Uhq1aPtMKQVlMYA+LibTCkGZ9tCobP8QBko3Ih4ZlTxgemlVqFjd5E8ThciwHEcgmTscYCuLL/goKe6GsfGXb4Oldbv/nIzanUlXVGbACQpCOYfJi5JbbhwnC0n2EhM1KW8n3TdgnKeeRZfJmqYp8Ti5GLb0TYkjvttavdm6dfOzxGIz7kDsuSl6Uy1S0vLuaDQYlbP3O3pRIz5b/MP2poXjaKbq0KaKQRna9+9MuJi4ExI6gbz+2iEiW4qV7ayZbb+pSMinNattJDnUVtgONvl+sDq8KoThIgY4OjGi4vkhvg1SzpYxqqBhREKPtvQNR0mplDGsi9IaqL1qJpgmxzjJmb2UwWwybY4M/aR0iE5w/KHfnUxZmdjdGCfz9MTQVUWl63CqSpU3clSVwRVmSBA1oXvnUhZRmJUxBT9i0e+lRyr0jYroU+Z1SVFNfSP1yKe2UjWF0woSmXQ/K3do0bWpl47WM3cG+hG/i7Rc0ftXQK0bxPeVS9fTI7BIcq4d1pYXIhMGdIHwrUtQ3O6I1aELJMprcth/6mJhsmriUcF4pGbixpEc9Yor8pP558lyJayZaz6vZH43lnlXOIrdsSZTbeobmQzXbzmjU2RV0mh6/CKn0IqLr5xrcQkzvahUF/2DYSQocZzzz/HRyrhWUqfZnB808kdt84Tjc9SVsyGFpGI7/qSB6CyJ0VOgMoEk189ycrM21MJzRDOoU5z9/tZ8EZmHiuunsX65kXcvhi1NMGCsUytJNs4r03xaYQMh9mAKI2umRJP+ooqdBel8RdlUczWFTlcYGbZlL5CTaDC9F3JSoTlNuXeo2rgQXVz6bO3K7/+JHlyfBhmH+aMuSarx8936IbpgPq9IsLAZnu2E6/mKsZ0q1tFbKoot7GRWTpInBApnUfLBnNBRdqM/jeeOH3ISRLFkTN2LvsmHTxUTKWGbYROsLGwtEUWYJx0qJGILKW4Zc3eNlBdWMrHkAKh8f5VzWdJBJavp4wy5e0tP4CID6q1vQ+xG5M3W9lH2rASDhLLAfPGXG62msl5GR1ocbqpljSSErzLLx1ta53I06vYnmenWswHa4Q3KI7nOPIIIDift0ftuRjzeQk1YJmi5RrgTLFcW5p4+z8uJoR2ah+ahFjEDy1GK1Gke4UQ8yVlAmclSPxGLOeb86QYs7nbXAwzot9DygAaNxKlcWwRJRAoMlb1SYaxMhcupmpvbTJHDQKn7/I7M17DkqndK9rLf5IYbN19VOvMrk4+hIPWV2+VnE4ogGq46/d6pi4liwSC9wFR10FNRRzpOlStVEM+ef9pKv1Qt82T50qiWhYHSEkheSFfcSvvyBb7Z616a7xrxZacnXExLL7D6AUgUIXufBlYYEeRTmMUZDn57Kr66CvzuajpxWMx3ZH5nHpkwWbgEyCIIPQcQxmwGr5FPQ8vz7jXYuv+a5fTKS8QmRjPbd5MAD9KzmpZNjKXLOjL5KV3kzBE/oilJ1Vxz5rJkqFQWB5H8NKkh6pmU9RAbfX6fVhyD3oM/ftC5YJiKnKFYcVnerXVP4NeQUAgJgtuFxd958FxCEb9GXHg2CEgAtwicwD+g4pUPGgC5923xDoftu1/5LZZMX6rHWPo95ZX9+L2Sfo+neBirGDEzAJv5Ges6CKl4PO06pHBr+fGrJRgxHahfTblduPYCMPotdDEi4Mavmaiey4Hf8b2cGOf2eCnnD3lxpur5m+qXaFKD2esJmnh62wvLn3PTizfe/tPef3nMAxSlt0VUj8LU9ogGMyzkaNIbiYs5CmjCSwZNijchkkBmf1IC5SpIyXsY8bxxtqSh4n5UC+ZnbC1he8jCzDqWDNGQL+b6rfAMa4RhYa1WyDfBIiRcInApAYw8K4YBPoCuz4FijeDcoohQ+PDTaeJdBO4tEIQ+tfArCDwH4VIhnX82QQ7LlOidl6j5IgfeUPUKBIO2xHfF/SZpkmvG1md3tUquGBeefVOYXwWKJl5iV+iTrU5KCdgnpylls8rlIL9lvjJKcxa1r2A7jxqi8gjlMz87M6nKnM+Oa1aJns1i5ju7UpW7vy6PZvFi1U4GVQHFA0wD3VFs2fQsvEY/xlFQYQPh5o3szeLTKnFReI2S/VixEX0sF7tkGr/UGZe+1gp00826qePilqZ/p9UKNeLNVZ4LYHFHS98UehX5XBlY8/0ydGVeszyUEn3mp7e/R8oMTcVQpNXUtiXXrjKkeF0s0oGJW8u3zNKDu9OAtYfQ5TTjIxOxFTDPSfPH9fAM8u9eJq9nGi9UBTb1jBflSVfQdGnotyg3nf7ZZlG5uTwCpfvMBXspnRGW0nSIIpsWzfoVlGm8AoukhzCAV+KKZBEqP4ZAA/EIsIWpO2OqFY3zY7hbLdm7tYYfOGiPzPbjD7Hm7bUs8953jh81FVKnp1WQz4soJ71lS9u9hnyYmPKTxqVLX19DUFUHlaLG/5lMde4oDIotn8wCvGxp5Iv54stzQ/CRROhfNDAMsghus5rIMdj0IszNrBWMf0p7NAxCsbsyskCl9Zr5nPzcB+mZZmanMlBUltnUK+taSh3VCuqtgJu8sHAlHpKqbsOwq9SmuPbYylN+F0DhbmYWC77L6d2lykqk3Y04foiv2p4JAdu+w/5riIO7+yxyuxxPBhf89h/z5u3Rv8qPxpSryE/FJJ5uGwlVHZmGQM2QsHVVrAKGhSegbprLkb4COyQ0WCYNdkgU5V4dmsaby1N3NuXHj/15i/n4Wvm03S666mF6lNur7RkfVo+vqQjHNFD8qH42ax9xuW0Wn1NS6TOryJ8JyTS6c2hVhxb/MIXs5pYbTnleC0ivBB3Vq2UF8NEq0aeicfGtq3jXvnqQtOrg9isfO80HSqciUEofB4AVDvhuXRruuAQ6LPx8VFzE/iePV8oex6VyXZG/Ss3hPg0AR+eluuWOch8tmHQvhnwx+W40uEg7bmn8DXXldwzKFP84a69SWuyRxBpnl7BRLScR/6LFCYjH2HnqxA58x+WH8O0Fsm8g8KHgISDwbQSjYZIKdHkGB1kEOfmwmyFLvR7f1lALlbw+qZkaf38S3rbg6G+NBs+Qxi9hFbqvuHX9ByNRkckCFFeGesm24cPQpKK6to3cFmSrqK7VpH0v6+Vdhdes8Jm1p7hbaC6CJWou7lcIsx+NdErCcxZMzZGPcBUsFHbmK62IPwpZWlGWKipT18U54RKwqtaMLk2Rkc0wJk8JGYtn/ktclNfdIfbYkg/dtQ6SfbGPvzSvXspItv54aPyvq5efzORv82W2IWa+PCi4I8NXmbLSXxQvZa0rbEvhsxRdtP4v6Kk81Q4qedeAL3BXGM3cO4Wynr2QNBCVPUrpPtlGQffbb5svFG3F6HcFMiD5ses8VWAr8iJynkDVwFZjhMo4nv5SXyH1cFK+ulZxGUSsZZgtp/cFe0trnj0V2znvTSeDQXpAK+Osd9F+3xVnt46lFQajlezduEuRy1I0ikAsRfRN0kPu+o30s9gwp1h7QKjK+mWM2BSb6u410FRXPI7hiGcfbMpW63zdvbJsBDdviOkGsUB86usKqnzDOb7NSN0lcvgnpRKNbNXG2rWAC5m7iCFtZ3UmrP57kWdJrmPkQv6SzsSBxMeojbd8pObEMcbfTUexUJVqEocSqzQl4e1OLTxOfiewbxD+3eQX5Avynw46Z90q8xBTHCNqzZ8+x0fdSfu9/PNraerzPuZMDI6WFVLw460FOl8FDbbOWWrNlcMBeoGVx02p5PDuo/rKnWLj1vMYOtI4X3RGfITJuwB3Fq5vld9xljzMZZ/ZS3xmQXoxuyyl5Xkp6VZdr2/TuDj5ktxHO/hlaWNz6do4IMGMmnaw5A8L8++tbcQX1PSj6KChmKjFXmUdkf06IBRDCwjvZ1bXviUn3xLtFehHr0A/bkQQc0AoTlnIncvV9I3MRayryrP4DBPEBvjM9R1Y2im3swADH6JtN1JYpaUtJim/SJvr/OMPVy+10k+RFhVfVcjsoJUu2hKyUXz01ED8meey7tgv1mc2oLafHkR9ugWlrOWhKJ7SMn/6JidCtHULoUwvwcm9SMoPeqXfMns6WGaqSkGNayjhraSd3OzHS+XkL8+PGHvw0q1uIMCBfwLtciWMprB1LE7mxuYiREN3qwBTuUTQCn1bZBTEF9UEuVGYHaGWPwOi+B6AdDaqMhFW1lol9qYNOR/8TjxbjqLsKk4KFXm40U40/Tg6SO/MrrvJgrGw7NG/KH+OV2EVpYb652n6irK+kTQbidcuDtj/P/nSfFOafJW4++BxEXL//OJv2z9UaCHvHwxjFuClReFgszFHaBUQlwb4PopONhtzYs2jP7sGJOnFTGVx39QOHNTS/1GAZT0tg29a/Ntbqv1zHjemNWu5BJ+YekWtVl8+k16RVrX6ArcL10OAkeWIEcl5qSeDReYDypCdi95i7qJyBkA1typJSn6lgp40XLkHTaSySEZXY1bC0coHCPj9GrbI4Me7DLvcMgP5NBlaQHsRCNQdi6LGK72+CAhlgNF4BYRamHaUrUXiUPYeoPE8Hv8as7aDMPKdCrLZZzlHfO2AnAK3qUXGdzQ654PL5JMy4lwWC287XhA6FZsy/1k+SISxaeB18Id7hYcw9O/C6X15kvj5L0O2JFz+82Ca4mQtKX3ZMsErvsIpTt9ynJrnU4IwgZxl3yqXJjO3gLUKWC3VKOtIBdgJEqrLVACaQ+1SFbETUhTdyX2eeLTj88TBGmHsOij+iFMn8GfuPFu6iCtO0lep+bfymfbFn6Y9m5tO883hlF/DmfqIhQiMBivR5C8ubwrE4hv8FoXvv+8O3sHbt4oqjkUtEoTYRie8OjeBk2yhv1p596xTxnvc8Um889YdvGMCPmN//78AAAD//1yZMCV2gAAA - 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/CustomData b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/CustomData index 6ecb163da25..e3bca21a733 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 | - 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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+CustomCATrust/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line40.sh index bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/CustomData index 1cb75dd573e..db78e1b2ef3 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 | - 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 - 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/CustomData index 1cb75dd573e..db78e1b2ef3 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 | - 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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+Disable1804SystemdResolved=true/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line40.sh index bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/CustomData b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/CustomData index 6ecb163da25..e3bca21a733 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 | - 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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+DisableCustomData/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line40.sh index bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/CustomData b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/CustomData index 6ecb163da25..e3bca21a733 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 | - H4sIAAAAAAAC/9xc/1ejSLb/PX/FHYYZdUaSEG3bsZfewQRtnvn2gNjTz3Y5GCqRkUAaCrtdzfvb36migIIQW9vZebPrnj6L1K17b33u16rC+f671pUXtK6c+LqhGYZtfjAtbdC1+rZpqYZln6h6X9kHOtbtjyY9Wx/qlm3pA200sZRX6ciJ3tfs96rVfZePHKQj70b9nv1e7evDyW/qqTa0lNfpgKH1NdXUaggOUwJ1bNn60LTUfj9n+ks61Bt1zzRjbbTTLg33Ru+H/ZHaK8bl0viZ9qGGplOiIUoQunx4rzTMYdRhIA1Gxx/otL5uFjh1GFAD0z4dn24QfcBxWFsbg607GlqqPtSM3joJA86YDLvrgwy6s0OTEAz14Wk+ttcuxta02mOgnU2ONeIWw5Fln4wmw56yx6DSB6c10/aKaX3N4pHa2y9bcXBqjyecqnuv1pbateroDtbpDJ3ouE66GT3qutyiDtcozzXD1EdDWx+eq329p+wxKLtDfX3d+3Ju6LEx6tk97biGqLNOND47tdVejwUcQ29kqJxJNMMYGco+gyeNVG4hdOJh5kO9sTE61thbpvFoYh2TVZLVDdOhV5zt1bFum5pxrhk8gVxL0Buadn80OpuMGVmnlkz9n4mhrRNnzqFaan0sHLQ5imoQHsjcYNXRD5gi5+96VdserDvWmuDXbS6I1keZ5O7EtEYD29RUo/vO7o0Gqj4007UdMgan48n6/MM9btDQiWfxkXG4vz5cXd/hK45GO9e7mj3uT071YYnRQUGkD09GtjEa2N2RYUzGltZTDlk4mKe/bZTzS3udhpPwi1xk6Z6q9wvr/MLl78m4p1paMZRFjqkRxz/XaVyZXUMfW9ROhqb2Ck5yu80JIel0Mj411J7GUXBqjCfGKXN4ud3Jg4QkBEMjZlDkNsO/q5u2apr66dA2RiPLHr9XZFleG6P+M9aMgW4STRVZZmzHKk1d3dH4AyVSZJnnPB73P9hj1TTfjwwabCf6qSLLlcDNa8iIhYUsZxktTWNr7iPLr0sEo7FmqBbBME0NspxlL8uoGfwFGilYNChNS+2e2aeaZavGwLZGZ9pQkbMSWiUZatb7kXHG1jJJGStyVlGr5ObkeKhZ9tjQTvTfFJkU1Twojyd6P8tlMqmLKSjv1bHdNTTiLikYWVXiR/ShOTk50bu6NqQecWabY7WrKTKpUpTa0vraeGRYvVLaVOQszxXjmcOnw9lCDEs/UbukXhmaOiBVMuOjyFmOqyFizBSZpLa08bGsMXHy3z7YXZXgdq4ZliJniY1FBhnSDMtU5IO8OWFqm1qXgGr1Tft4NLJMy1DHeTnVftO6Wdzn3nGQGbinm8dqX7P1saUe9zVTkUlaS3OmMTEtwmHdubLk1tNNMss2zXeK/DrzeEMfqMYHe6h3bX3MJVX5NfN8fWhqhmXrg55pG5ppERcl3mdMiCZDa2QP1OFpX7OpTor8ev+p8070vqUZ+TwWRj0ChLZh3glJeBV5B0+dV5H3mnNeQyO2sA3tvye6ofWUTpaihiOaFNRTzWTAdLLcZA7VsflulGdDvmlsZ5ExNvRzMkjqJ2kFiFd2snRFXvLu2mnvZ2GTt+sD1TxjTNlY19B62tDS1X6abHu1PXE7i0DSzlRbnU77ABqNohWhTRXRhmn/Gipj5D1BlVR/W1Y67cMqBVd836vmQOm0f3mUyZ7SkduPUuwrnSx3b6B4pXTkDBXWh2ROnvenmnFOAplEo36id4ktjJGVJlBLPVU68l6j4c1g5gUutBCegoTvlghmuz5IgbNAIPwkRchHTowEkJaRF2CQPiUehs7blotuW0Hi+/AA8wgtQfoEW82tN4CvUdAAABiZirgdhxEGKaLsWzk3Msf5fANbCwdPr7fF9i60/rGt9+y+fqYp29MwQmG886D3lO3mTzs7YmsXnB24h1QFHCbLJYq2nYvOJTgXe5c7bwB98TCstnaY5Mzsz9Qgd5ZnC4YHwBFILmwJWzsN5MeIaoKm1yEIFdFBiGEWJoErNGZeozE5ngytiT0y7aE60BQh/V1oDFSDOFUxwF4UI7RbrA6Tl0KDli+6Ay0IindCg+19lFYSRy0/nDo+3TTfJFdoiv1GWsjTUfLeDac3KGqgL0uCJm3UzhVBvC/augzxI2UllOg00+KlBLee6zlMQG4muSnvNWVJzmYOz/Wermas9YF6qtnmOzUTmb/gpdXNIW6eqXm+ksT7DYzXuHALsz6MtcpayauviFaExTRqLrxpFMbhDDen4aLl3MTknzRfJoUqFbYFU9LxpN1umia7g54iTImXBXBzGDe9EKIkAIkE5q3nozlyQZKiBUhSgLB0HcYYJOmzh6+lIIal5x61llE4bcmtIG4tPUK8CBPi1ndLpFx5gbsbR1OlFS5xa75Mdt0YK61FkP4SLrEXBrESEbrHZjpTSljMzl6UOOSLZH6wts7U4eoWGCCssLUtPZc93kKm9lGmcv6SKXDEa0OBEhqkx+6q3Xea3dMNpXXrRK2pM71GLYfMi6bX3i2KWw3SL6tD0qBxxFEYYkKXTmho59rQInvC01PaYmX8/HDecv6ZRKg1yH1BJb83tS8YBTHRptlNYhwuzGnkLXEL3aIAx61Gd2L0yf52PLGUFl4sW9Mk8u1bFF2FMWqGCW7Q2sBThJETr1MY2qluWsYH1uqm7T3NSYS+NQ2DmTdv3jkLHxqNCOHobrpwbW9mzxzPTyK0vQP3NJuRMQ/Fiii/gc+Oh+3YR2ipiJ03gL0FChOsiHtvIL72Zhh+/LHyQFnMwgg88AIQt2P0CWQQGdOdN+CGlIT8MHYgZg+CeP/rSiC8riLk3MDDA3zMqb0ZXIDogYQ+5fzgkitF2Q9Nx9oXNE0wcuGjIP76USATiZT4TYk0QjiJApDzl3lOz37o4kEsgMhHZx59dMOAqwKbxa4K0IPYD8ObZJlDzsMsczATyEPs+DYPfISmYeQq4j6dGmMnwnRcEbddByP4+Yc4LZCfrz0fAY4SVEI9kw5SzjXDX6IqKm2CLxGywRLTJIpQsEFqYartbZ4QJE7XnR2Q5gjE0uo2G1OwCB3nL6VpESLB6e4+a2XE65ErPO4NzMSb/SA3/qOQpGvIXeNZaobR14CM0TQM3FgouVgR13YQ2jF2cPxXCHAS3y8N7z8qZjm05gjb2ImuHN/PUcJOZD+GVEpOkUoiPwvH1NTiPTd7lQEubICOo63A50Qg4X/OKAmR9hToOG7fCF9mrIM2cWsfpFls9m9BpM9hocxbELnqBZ23P8olPkStCxD/Dt8p0IbLOmVo6Di4xKhEwEXgSy1rz6JwYUdo7sU4urNJy2ST0vhCi5NZs9B3UUTi3ovSLVUGkrDzn+gWBDZYkm0h7xQMBtJ1MZCltOsA8X5ji7IibsS1OC9zI47RH+5GV17gRHdf9SJG9ogjMYqlg6+rzpTJWPcnblLFp8oCK261wbfKc8ruRd1GmlVk1joNdbrNHlNywLJI2GTGNT+s5fx1fywh+Ue75DPc8quuWeOej7toZcIGj6XbiJnnF309ffPE2k8mpv65z/zzVcnneF5fTWQ8cdnVLqijiZk0uLzMU1l9FuNZvTCN5T1JbY3LVSK2hwfACJWrXXE09lepeZRgFkZlqz9i8MLIe5R06dwil+3v6V526oeJK3mBhyVCGzcpBaVNDwNPPhFnyPisBBApBTEiM0T7Oe1iznTre210ssVZ4XGv+DO6RUqJXJA8EFpEvZYrFAoWwVHo/PYtg6OxasR3MUaLKSbOS5v35zXjEN9OSR3IysS3tt+5GuA6aBEGUoT80HGfMoHpDSJT5U/o4nPZZPuSxIVoSQpCaenMSWIvh9/vYRIFjk8mSUk+4ZvCqTBZjMPlv529iNJ/prGejarrxc6Vj/7tgGV6/zWxTTMMWcrzcH0pmDTgpBSkvw4gtyiKvTCw5zhzM4xiDIK4TW96ZrD1Q/wx2AJB/FWAB2B3SOfwANfIcUEKQN4RQFFAEGWhsWoU3qsFxAfUwDVLyXwtzYPcbsMr2GuDmK7H0NJbVNNSrYmpiH9v1Kc6uZzk4C1UzplFWUppm344bxQAlwWAFCDSh1RgZm2cDNMw8V16VXWF0lMl/kysZAkGrTeD76DmmAnkDllp5xW3GBSkkSI/SXxK7cLVXcFisy68NXppSFJzcKnam3G6+F6MpSTwcAySNCNbBUlySveagig3YxTdelMkVBQu1wLIVirKxMU3gRkulzyYa5nvSWwYLePD1o0Wtyjqhoulwx3bZ7eaqiJup50I6VunCQbJBeFngXTa8k6J9Dgn7WwivbggHV7Oe8XCIX9zvBJY115q+EgoITdnzzEAfm56n7pF/kfiMAvBc0iFX3vzaxTj8zSMFXFbPzGVfA+SylgJueoiZSLNOo+oLt6Xma7qtM99bdVww88BSac9dDW+mVvhCd9bj89O00tXFtzk9/xKupO/6umG1rVGxocs0S5uXC8CaQliaThtwpP42gXxvjSyyjP5WtQRHzpot8FZYmmOMGQKMxZEvZWSPjPVVj+lgsIl6UydJaanG9k8trhHqkb5OPhNA4De+ZIpCsGPraB060YcnIvgJ1Qad3kzB4nt1slKJYcEbhhNEX3pollxdUJ2PWQhfji9ienrDA4phN7yZn50NEovJo+OFJ5L6LsFYtJd9QKq8bXCRRctv6Elar0svUmTJts/EMArOLBHwrWxaswR7o4najS9zj3MiabXiridpG3vYqfB7THvyeDu7opGpEN+OdgXiIDKSLQg79f3omkcpcONtTrLRhduNkpzjxerxuBgn0+xRJXtQvUdXmi9THmDtDaX47zYYAc2k6g4k08djR3t0GMJmUUGO46L0Bx9Ubb+0fz5Yyv9d9T8WdwqwVZMX4HyvwR8fnKuM1RLTxv4OphZEYi2fjiPbRza6aVuRV3sxDc0jorrk3QgpSYZZeiUbo1+2BvuNDhCWpgt/mZJ+OEEfrCaP+wN2WEg8dtMr6yrYFICd/NUSvd7HAZ2jCMvmCviNvz+iXQ+ReMmSU40B8Ijxs5iCUCTb6bSSlgjHS1R5JBo011CyhSoIWQ5mL4R5GZnb53EcuIbgg6kYgmWNYw0gmQf3SIfQNCDWRgtqAKOv047QHHszFEqlBRRH2HkHoH40wa+Y8+ltO0N41bd+NZ9DtgRiPnzLg/OEYjcb7sZHEcgsqfdfPmEB3vc5VZ7BGLxy262tCMQ2dNuvoKMcuy5u7na2UvLc1dpjHAny+I95xf0SPR+/euHlXhf9uJVk8xqFIlTIMlNgO8UClA5H/Dpj2tvrkkDZMc33tJOvyOy3cgjvXzRZ5PM/iU9MQ/dO0XcLg7xQHoHwgBhx3Wwc0SvvwXaTC+j8MsdCD8JIFxjvDxqteSDX5qdV/tN9v+tBZvV8oIYO8EU/d1ZehLbRSiddkeW2h2pLbOY40LtW5ZKF1KsNWuWBJEsiXQ1JBARbDWn4WKZYNTEzjzuezGGB1g4y+0Y+WiKt5u0NjzQrc22YN54y9Nl0qOA6WQZvi+8AcETdnZ2LtqXzVvHTxC0WiDMHD9GQj6TApVSbpUuGDgdBc4+rDO1b5Ir5CNs09Y5mNtTFGFv5k0djOwoxNS7/2MNx0Cot11UY7uLS9Ll8paj5fImlhgrieEpMTwlDk8pw1PYgQdITVlrK8ZLSCvpwIm8AEWjiH6R1PeC5EulRIVxVklZkQxj2ixXPk4kvfLDQx0B/43iOtX6Z4rrnUH5vNir9uENdOv4Y2d648xRjzVsE6NfWQdtCe7lI2nFLUYKQBCTyK9pR4BwBSFCceJjRbwnPQH3SUiaB9PRRuV8gtczBT9FOw25//rENAsTvEywIm4Th8g8kpgsvWUjqqUkZb9j5mRDDa5b8mZQa1EQxJFZ3rfGiRsCdoMZMK1Ih/v7J9Ldpvx//wSfnTgbpUWwrOdaX5jtFjKGr0CGg/a3MKXQpQk/WZLOxEi/m61YdJmaXKEnMCWHFcRO+U22TRTEPYGdtdC/1FQE9vVMmbwffkZR14m54L0PY7qdJHvSiyP6FfDR5RZ59gnx0SULtu9PwgjSD3h3iUHEXDh4MciHzfY+OIELQiQftvcF8tLx4xBcNPMC5JKND8kLYUAqJy2Yu2nLKWYfD3sxTZU4zHikck1v4flO5N/RHVSnnQnqdJrt/SaM8DWKPnsxqmPUZCg0iyWw6KXCgZvh+J+du0KDDD4Iws/c7CKqa0DYa7ZTCG73mu3nIMCMxiNAWXzN+antKuGd7U4y8zJnWrEELTTdPJPocZOwyJ1i1fwo3JI32TnBR0HYoRUiSPzaVMI73Prcuk/K6lJexZnfe/g6THAvxCUvzRjTU0vkwlbc+thsteZbpQ3iE9edXCUBTpoRx7gQu3p81dyKN8zP1s6HOsvjjDj+l4d8KcGUAcmCvgzrH5Uo2F/WZCcvprK902i81DOFdIu9wSK8voKLZk7i49wCL5bdFO8ZxKsmy+fxeedxH0lx9B1cnLrFyvZG+VL0LSqU+qqSLKIa0Yy2TKURYWenouQyQrdemMT9P1HZWpklpWspeOVJMbjNci9pKe7LaF/8eklyI3eHU+ecPyvbgnh/m8VAwT6//66XVQ/aHymzmij/JW78eFhtztW3/xovubjMLLyO+O1GjJ+Eb45tvqg8Mw8SH3tqNL2u5OZ0qd7CmSMrPEbjhHR2aYZuAHz/+yfaQqzNhlkULujQNAywQ8q2TnjETdBn0C2/u/Aum4sqh/MO6QSCENNw2M1UxtcO3k1PXdmbpzBrrHtNZUmZxeoU2ZjkvpbgNsigXlEj5yWp7Klp7CUqvTBhPTdZDSZ9S7fpf6/gaV79rRnq2YLyjWCakjang2ehnQX+U8P+aWqzG/FyA7Z5I531YOxUoDgl6NT2X+xe6y/WfaVbFW8Gj+VeQF+8GLPdx5zsOK4RFPT9PIVFiO19wnyXtZG8LJB1YfBHdH6P9FmcFsrLyyLHTQApKiozvVXlRlcCFDrBjz/mNSj/k22ikEBvpuqHKuwamw9avmWJDP2vru3PWRerVsQ7V42G47pn6XHfMHRR37lC1buuvnqs9W3TMvThKXdGl36z4IEg8gQC/O1vfwNBzP42fDjqaTYlMAV4C8Ufc3fe/lj/TQY7fIQgdBH4RB8oSUg38hFy3DtSZWIU4F1Sna+9YE726o67/vlIuW1j94quS2bUScAhrGsRN5tNoTiwpedmtausBkUNETFMzevVrnjPK7KquRSt41bSntvqRmgR3qKXmBeBsKbTCyz8dChaVbGtHAxeuQrR7p+kXFXsk5T7/9EtUy31iO/faf2xZpja6KTxfwEAAP//TkMp6r9OAAA= + H4sIAAAAAAAC/9x8fXebSLL3//oUNQwZ24mRhOw4ibNkB0vY4YneHkDO5DpeDhYtmTECBRolXkf72e/ppoEGIceJZ+fObvbsGZmurqr+1Wt3I/38U+vKC1pXTnzd0AzDNj+YljboWn3btFTDsk9Vva8cAh3r9keTnq0Pdcu29IE2mljK83TkVO9r9nvV6r7NR47Skbejfs9+r/b14eQ39UwbWsqLdMDQ+ppqajUEL1MCdWzZ+tC01H4/Z/oqHeqNuu80Y2O00y4N90bvh/2R2ivG5dL4O+1DDU2nREOUIHT58EFpmMOow0AajE4+0Gl93Sxw6jCgBqZ9Nj7bIvqI47CxNgZbdzS0VH2oGb1NEgacMRl2NwcZdO9emoRgqA/P8rGDdjG2odUBA+3d5EQjbjEcWfbpaDLsKQcMKn1wVjPtoJjW1yweqYPDshUHZ/Z4wql68HxjqV2rju5ok87QiY6bpNvRo67LLerlBuW5Zpj6aGjrw3O1r/eUAwZld6hvrvtQzg09NkY9u6ed1BB1NonG785stddjAcfQGxkqZxLNMEaGcsjgSSOVWwid+DLzod7YGJ1o7CnTeDSxTsgqyeqG6dBzzvbqWLdNzTjXDJ5AriXoDU27Pxq9m4wZWaeWTP2fiaFtEmfOoVpqfSwctTmKahAeydxg1dGPmCLnb3tV2x5tOtaG4BdtLog2R5nk7sS0RgPb1FSj+9bujQaqPjTTtb1kDM7Gk835Lw+4QUMnnsVHxsvDzeHq+l4+52i0c72r2eP+5EwflhgdFUT68HRkG6OB3R0ZxmRsaT3lJQsH8+y3rXJetTdpOAmv5CJL91S9X1jnFZe/J+OeamnFUBY5pkYc/1yncWV2DX1sUTsZmtorOMntNieEpNPJ+MxQexpHwakxnhhnzOHldicPEpIQDI2YQZHbDP+ubtqqaepnQ9sYjSx7/F6RZXljjPrPWDMGukk0VWSZsR2rNHV1R+MPlEiRZZ7zeNz/YI9V03w/MmiwnepniixXAjevISMWFrKcZbQ0jW24jyy/KBGMxpqhWgTDNDXIcpa9LKNm8BU0UrBoUJqW2n1nn2mWrRoD2xq904aKnJXQKslQs96PjHdsLZOUsSJnFbVKbk5Ohppljw3tVP9NkUlRzYPyZKL3s1wmk7qYgvJeHdtdQyPukoKRVSV+RB+ak9NTvatrQ+oR72xzrHY1RSZVilJbWl8bjwyrV0qbipzluWI8c/h0OFuIYemnapfUK0NTB6RKZnwUOctxNUSMmSKT1JY2PpY1Jk7+2we7qxLczjXDUuQssbHIIEOaYZmKfJQ3J0xtU+sSUK2+aZ+MRpZpGeo4L6fab1o3i/vcO44yA/d080Tta7Y+ttSTvmYqMklrac40JqZFOGw6V5bcerpJZtmm+VaRX2Qeb+gD1fhgD/WurY+5pCq/YJ6vD03NsGx90DNtQzMt4qLE+4wJ0WRojeyBOjzrazbVSZFfHD503qnetzQjn8fCqEeA0LbMOyUJryLv6KHzKvJecM5raMQWtqH9/4luaD2lk6Wo4YgmBfVMMxkwnSw3mUN1bL4d5dmQbxrbWWSMDf2cDJL6SVoB4pWdLF2Rh7y7dtqHWdjk7fpANd8xpmysa2g9bWjpaj9Ntr3anridRSBpZ6qtTqd9BI1G0YrQpopow7R/AZUx8pygSqq/LSud9ssqBVd836vmQOm0X93L5EDpyO17KQ6VTpa7t1A8VzpyhgrrQzInz/tTzTgngUyiUT/Vu8QWxshKE6ilnikd+aDR8GYw8wIXWghPQcK3SwSzfR+kwFkgEJ5KEfKREyMBpGXkBRikT4mHofOm5aJVK0h8H77CPEJLkD7BTnPnNeBrFDQAAEamIu7GYYRBiij7Vs6NzHE+38DOwsHT612xvQ+tf+zqPbuvv9OU3WkYoTDe+6r3lN3m0709sbUPzh7cQaoCDpPlEkW7zkXnEpyLg8u914C+eBjWO3tMcmb279Qgd5bvFgxfAUcgubAj7Ow1kB8jqgmaXocgVEQHIYZZmASu0Jh5jcbkZDK0JvbItIfqQFOE9G+hMVAN4lTFAHtQjNBusTpMHgoNWr7oDrQgKJ4JDbb3UVpJHLX8cOr4dNN8k1yhKfYbaSFPR8lzN5zeoKiBviwJmrRRO1cE8a5o6zLEj5W1UKLTTIuXEqw813OYgNxMclM+aMqSnM0cnus9Xc1Y6wP1TLPNt2omMn/AS6ubQ9w8U/N8LYl3WxhvcOEWZn0Ya5W1kkffEK0Ii2nUXHjTKIzDGW5Ow0XLuYnJ/6X5MilUqbAtmJKOJ+120zTZHfQUYUq8LICbl3HTCyFKApBIYK48H82RC5IULUCSAoSl6zDGIEmfPXwtBTEsPfe4tYzCaUtuBXFr6RHiRZgQt75dIuXKC9z9OJoqrXCJW/Nlsu/GWGktgvSPcIm9MIiViNDdN9OZUsJidvagxCFfJPODjXWmDle3wABhha1t6bns4woytY8zlfOHTIFjXhsKlNAgPXZX7b7V7J5uKK2VE7WmzvQatRwyL5peeysUtxqkX1aHpEHjiKMwxIQundDQzrWhRfaEZ2e0xcr4+eG85fwziVBrkPuCSv5ual8wCmKiTbObxDhcmNPIW+IWWqEAx61Gd2L0yf52PLGUFl4sW9Mk8u0Viq7CGDXDBDdobeApwsiJNykM7Uw3LeMDa3XT9p7mJELfmobBzJs3b52FD41GhHB0O124tjezZ47nJxHa3YM7ms3ImIdiRZRfw2fHw3bsI7RUxM5rwN4ChQlWxIPXEF97Mwy//FL5QFnMwgg88AIQd2P0CWQQGdO91+CGlIT8Y+xAzD4I4t2va4HwuoqQcwNfv8LHnNqbwQWIHkjoU84PLrlSlP2j6Vj7gqYJRi58FMRfPwpkIpESvy6RRggnUQBy/jDP6dk/ungQCyDy0ZlHP7phwFWB7WLXBehB7IfhTbLMIedhljmYCeQhdnybBz5C0zByFfGQTo2xE2E6roi7roMRPHsSpwXy87XnI8BRgkqoZ9JByrlm+EtURaVN8CVCtlhimkQRCrZILUy1u8sTgsTpurcH0hyBWFrddmMKFqHj/KU0LUIkON3971oZ8XrkCvd7AzPxdj/IjX8vJOkactf4LjXD6FtAxmgaBm4slFysiGs7CO0YOzj+KwQ4ie/HhvcfFbMcWnOEbexEV47v5yhhJ7LvQyolp0glkZ+FY2pq8Y6bvc4AF7ZAx9FW4HMikPA/Z5SESHsIdBy3H4QvM9ZRm7i1D9IsNvsrEOnnsFDmDYhc9YLOm1/kEh+i1gWIf4efFGjDZZ0yNHQcXGJUIuAi8LGWtWdRuLAjNPdiHN3apGWySWl8pMXJrFnouygice9F6ZYqA0nY+290CwIbLMm2kHcKBgPpuhjIUtp1gHi3tUVZEzfiWpzHuRHH6A93oysvcKLbb3oRI7vHkRjF0sHXVWfKZGz6Ezep4lNlgRW32uJb5Tll96JuI80qMmudhjrddo8pOWBZJGwz44Yf1nL+tj+WkPyjXfI73PKbrlnjnve7aGXCFo+l24iZ5xd9PX3ywNpPJqb+ecj883nJ53he30xkPHHZ1S6oo4mZNLi8zFNZfRbjWT0yjeU9SW2Ny1UitoevgBEqV7viaOyvUvMowSyMyla/x+CFkQ8o6dJZIZft7+leduqHiSt5gYclQhs3KQWlTQ8DTz8RZ8j4rAUQKQUxIjNE+3vaxZzpzs/a6HSHs8L9XvFndIuUErkgeSC0iHotVygULIKj0PnNGwZHY92Ib2OMFlNMnJc279/XjEO8mpI6kJWJH22/czXAddAiDKQI+aHjPmQC0xtEpsqf0MXnssn2JYkL0ZIUhNLSmZPEXg6/38MkChyfTJKSfMIPhVNhshiHy/84exGl/0xjfTeqrhc7Vz76jwOW6f3XxDbNMGQp34frY8GkASelIP11AFmhKPbCwJ7jzM0wijEI4i696ZnBzpP4Y7ADgvirAF+B3SGdw1e4Ro4LUgDyngCKAoIoC411o/BeLSA+oAauWUrmG2ke5HYbnsNBG8R0PYaW3qKalmpNTEX8e6M+1cnlJAdvoHLOLMpSStv0w3mjALgsAKQAkT6kAjNr42SYhonv0quqK5SeKvFnYiVLMGi9GfwENcdMIHfISjvPucWgII0U+UHiU2oXrm4LFtt14a3RS0OSmoNL1d6M08X3YiwlgYdjkKQZ2SpIklO61xREuRmjaOVNkVBRuFwLIFupKBMX3wZmuFzyYG5kvgexYbSMD1s3WqxQ1A0XS4c7ts9uNVVF3E07EdK3ThMMkgvCM4F02vJeifQkJ+1sI724IB1eznvNwiF/crIWWNdeavhIKCE3Z88xAH5uep+6Q/5H4jALwXNIhV9782sU4/M0jBVxVz81lXwPkspYC7nqImUizTr3qC7elZmu67TPfW3dcMPPAUmnPXQ1vplb4SnfW4/fnaWXriy4yd/5lXQnf9TTDa1rjYwPWaJd3LheBNISxNJw2oQn8bUL4l1pZJ1n8o2oIz501G6Ds8TSHGHIFGYsiHprJf3MVFs/TQWFS9KZOktMTzeyeWxx91SN8nHw6wYAvfMlUxSCH1tB6daNODgXwQ+oNO7yZg4S262TlUoOCdwwmiL60EWz4uqE7HrIQvxwehPTxxkcUgi95c38+HiUXkweHys8l9B3C8Sk2+oFVONbhYsuWn5NS9RmWXqdJk22fyCAV3BgHwnXxroxR7g7nqjR9Dr3MCeaXivibpK2vYu9BrfHvCOD+/trGpEO+ePoUCACKiPRgjzf3IumcZQONzbqLBtduNkozT1erBqDo0M+xRJVdgvV93ih9TLlLdLaXI7zYoMd2Eyi4kw+dTR2tEOPJWQWGew4LkJz9EXZ+Ufz2cdW+v/j5jNxpwRbMX0Nyr8I+PzkXGeolp428HUwsyIQbf1wHts4tNNL3Yq62IlvaBwV1yfpQEpNMsrQKd0aPTkY7jU4QlqYLf5mSXhyCk+s5pODITsMJH6b6ZV1FUxK4G6fSul+j8PAjnHkBXNF3IXfP5HOp2jcJMmJ5kB4xNhZLAFo8s1UWgsbpKMlihwSbbpLSJkCNYQsB9MngtzsHGySWE58Q9CBVCzBsoaRRpDsoxXyAQQ9mIXRgirg+Ju0AxTHzhylQkkR9RFG7jGIT7fwHXsupW1vGbfqxnfucsCOQcw/7/PgHIPI/bWfwXEMIvu0ny+f8GAf97nVHoNY/LGfLe0YRPZpP19BRjn23P1c7eyh5bnrNEa4k2XxjvMLeiR6t/n2w1q8K3vxuklmNYrEKZDkJsBPCgWonA/49Me1N9ekAbLjG29pp+8R2W7kkV6+6LNJZv+SnpiH7q0i7haHeCC9BWGAsOM62Dmm198CbaaXUfjlFoSnAgjXGC+PWy356FWz8/ywyf7bWrBZLS+IsRNM0d+dpSexXYTSaXdkqd2R2jKLOS7UfmSpdCHFWrNmSRDJkkhXQwIRwU5zGi6WCUZN7Mzjvhdj+AoLZ7kbIx9N8W6T1oavdGuzK5g33vJsmfQoYDpZhu8Lr0HwhL29vYv2ZXPl+AmCVguEmePHSMhnUqBSyp3SBQOno8DZh3Wm9k1yhXyEbdo6B3N7iiLszbypg5EdhZh693+t4RgI9baLamx3cUm6XN5ytFzexBJjJTE8JYanxOEpZXgKe/AVUlPW2orxEtJKOnAiL0DRKKJvJPW9IPlSKVFhnFVSViTDmDbLlZcTSa/89WsdAf+O4ibV5muKm51B+bzYq/bhDbRy/LEzvXHmqMcatonRr6yDtgR38rG05hYjBSCISeTXtCNAuIIQoTjxsSLekZ6AeyUkzYPpaKNyPsHrmYKfop2G3P/7xDQLE7xMsCLuEofIPJKYLL1lI6qlJGW/Y+ZkQw2uW/JmUGtREMSRWd63xokbAnaDGTCtSIf7+yfS3ab8f/8En504G6VFsKznRl+Y7RYyhs9BhqP2jzCl0KUJP1mSzsRI35utWHSZmlyhJzAlhxXETvlJtk0UxAOBnbXQb2oqAnt7pkzeDz+jqOvEXPDehTHdTpI96cUxfQv4+HKHfPYJ8fElC7afT8MI0hd494lBxFw4eDHIL5vtQ3ACF4RIftk+FMhDx49DcNHMC5BLNj4kL4QBqZy0YO6nLaeYvTzsxTRV4jDjkco1vYXnO5F/S3dQnXYmqNNptg+bMMLXKPrsxaiOUZOh0CyWwKKXCgduhuN/dm4LDTL4IAg/c7OLqK4B4aDZTiFYHTTb34MAMxqPAGXxLeentquEd7Y7yczLnGnNErTQdPNMosdNwiJ3inXzo7AiT7Jzgo+CsEcrRJD4tamEd7jNuXWvlNWlvIozv/fwdZjgXohLXpoxpqeWyIWduPWx2WrNd0obxAeuO7lKApw0I45xIXZ9/6q5FW+Zn62dD3WWxxlx/G8P+VKCKQOSBX0Z1j8qUbBv1mQnL6ayu9doPNYzhXSLvcUivL6Ci2ZO4uPcAo+W3RTvGMTrJsvn8Xnnfh9JcfQdXJy6xcruVvlS9CMqlPqqkiyiGtGMtkylEWFvr6LkMkIrL0zi/p+obK3MktK1FLzypBisstxLWoq7MtoXv16S3Mjd4dQ55zNlVxDvVlkMFOzz++96WfWg/ZEyq4ny3+LG94fV9ly9+vd4ycVlZuFNxFdbMX4Qvjm2+aLyzDxIfOyp0fS6kpvTpXoLZ46s8ASNE9LZpRm6AfDz759oC7ExG2ZRuKBD0zDADinbOuERN0GfQbf87MK7bC6qHM47pBMIQkzDYT9TGV87eD89dWVPHsKssek1lSVlFqtTZGuS+1aC2yKDekWNnMeksoemsceo9MiE9b3JajDpW7pNf6/gYV79oxnquwXlG8E0JW1PB9+Fdhb4Dw37h6nNbsTLDdj2jXTWg7FTgeKUoFPbf7F7rb9Y95VuVbwZ3Jd7AX3xYsx2H3Oy47hGUND38xQWIbb3CfNd1lbyskDWhcEf0fnd02dxWiiPL4scNwGkqKjM9FaVG10LUOgEv/yS16D8K9tEIYHeTNUPVdg1th+0/MgSGfrfXNufsy5WrYh3rhsNx3Xfpcd9w9BFfecKVe+6+uqJ1rdNy9CHZ9wZXfrOggeCyBMI8Le//Q0EMftu+HDU02xKYArwBoovc3fe/FL/TgY7fIQgdBH4RB8oSUg38hFy3FtSZWIU4H1Sna+9YE726o67+fpIuW1j94quS2bUScAhbGoRN5tNoTiwpedmtausBkUNETFMzeP1vnjHK7KuuRSt41bSntvqRmgRrtBjzItA2NDpERZ+OBStqthWDgavXIVo/09Srir2Qcr93+iWqcYffhCPOKFX0PkNN1d+uSNrKsA+0Yeq8cFOE1L6rkrpbryWsDa2K1Q0lPObc0gifx8+e74PSYzAoydv9BsVpMCRgGTX7kIJloxf/jUKlvg2NNqMpfRNfnpdf43xMj5utS7+0bp8Rn+dIAoQRnFrddGWXl0++9jM/tt81qJqeChuNZ/tVE76pAA2Rdcf1bGXALIrImGVTjSGmqXlvyuxFqDu5f5NEcq/6DcHKm8QbLz1n72PSL80tIzQzPtSA9bPTzkE1sIGl6rqeafH833ypPW0Zm72TVQcOVOM3Eyj4/z7MlnHSduYimLHsM2w935PZ6v3pdf0RI0kQF+WiGjk33JemLleikXeDTsxw2Cr+sI3vizzLfctfrdobIzoj2nlv/5S0Ka/FLduiXf0twmzx4Y2Hq05J5ZIFTvOXzvJunLJ94LkiyTedccT2r2XUsXPb7X+WDNMbXTa+N8AAAD//5eBO8/qUgAA @@ -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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/CustomData b/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/CustomData index ddd4b8df4f3..d78da8fbb9b 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/CustomData b/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/CustomData index 2a5c202344a..854148d705e 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/CustomData b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/CustomData index 7ffe682e2f5..975c9d70893 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 | - 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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+NoneCNI/line40.sh b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line40.sh index bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804+krustlet/CustomData b/pkg/agent/testdata/AKSUbuntu1804+krustlet/CustomData index 5cafc328990..bc1d911b946 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+krustlet/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+krustlet/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+krustlet/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+krustlet/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/CustomData b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/CustomData index fd9dd6595bf..0cd2e00e7a3 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/CustomData b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/CustomData index 0e30d0b6dde..c6e16857981 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 | - 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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+NoCustomKubeImageandBinaries/line40.sh b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line40.sh index bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/CustomData b/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/CustomData index 1cb75dd573e..db78e1b2ef3 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+China/CustomData b/pkg/agent/testdata/AKSUbuntu2204+China/CustomData index 0d32c08873e..480c9cbef3b 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+China/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+China/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+China/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+China/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/CustomData b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/CustomData index e9d16f20fc0..aeaba40dfd6 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/CustomData b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/CustomData index eae378dad56..81dfdd739dc 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/CustomData b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/CustomData index b6faea5ad58..25e7f36bf6e 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/CustomData b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/CustomData index e47eb3208c0..401d7a12843 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/CustomData b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/CustomData index 538cf658603..9da6bbd0202 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 | - H4sIAAAAAAAC/9xc/1ejSLb/PX/FHYYZdUaSEG3bsZfewQRtnvn2gNjTz3Y5GCqRkUAaCrtdzfvb36migIIQW9vZebPrnj6L1K17b33u16rC+f671pUXtK6c+LqhGYZtfjAtbdC1+rZpqYZln6h6X9kHOtbtjyY9Wx/qlm3pA200sZRX6ciJ3tfs96rVfZePHKQj70b9nv1e7evDyW/qqTa0lNfpgKH1NdXUaggOUwJ1bNn60LTUfj9n+ks61Bt1zzRjbbTTLg33Ru+H/ZHaK8bl0viZ9qGGplOiIUoQunx4rzTMYdRhIA1Gxx/otL5uFjh1GFAD0z4dn24QfcBxWFsbg607GlqqPtSM3joJA86YDLvrgwy6s0OTEAz14Wk+ttcuxta02mOgnU2ONeIWw5Fln4wmw56yx6DSB6c10/aKaX3N4pHa2y9bcXBqjyecqnuv1pbateroDtbpDJ3ouE66GT3qutyiDtcozzXD1EdDWx+eq329p+wxKLtDfX3d+3Ju6LEx6tk97biGqLNOND47tdVejwUcQ29kqJxJNMMYGco+gyeNVG4hdOJh5kO9sTE61thbpvFoYh2TVZLVDdOhV5zt1bFum5pxrhk8gVxL0Buadn80OpuMGVmnlkz9n4mhrRNnzqFaan0sHLQ5imoQHsjcYNXRD5gi5+96VdserDvWmuDXbS6I1keZ5O7EtEYD29RUo/vO7o0Gqj4007UdMgan48n6/MM9btDQiWfxkXG4vz5cXd/hK45GO9e7mj3uT071YYnRQUGkD09GtjEa2N2RYUzGltZTDlk4mKe/bZTzS3udhpPwi1xk6Z6q9wvr/MLl78m4p1paMZRFjqkRxz/XaVyZXUMfW9ROhqb2Ck5yu80JIel0Mj411J7GUXBqjCfGKXN4ud3Jg4QkBEMjZlDkNsO/q5u2apr66dA2RiPLHr9XZFleG6P+M9aMgW4STRVZZmzHKk1d3dH4AyVSZJnnPB73P9hj1TTfjwwabCf6qSLLlcDNa8iIhYUsZxktTWNr7iPLr0sEo7FmqBbBME0NspxlL8uoGfwFGilYNChNS+2e2aeaZavGwLZGZ9pQkbMSWiUZatb7kXHG1jJJGStyVlGr5ObkeKhZ9tjQTvTfFJkU1Twojyd6P8tlMqmLKSjv1bHdNTTiLikYWVXiR/ShOTk50bu6NqQecWabY7WrKTKpUpTa0vraeGRYvVLaVOQszxXjmcOnw9lCDEs/UbukXhmaOiBVMuOjyFmOqyFizBSZpLa08bGsMXHy3z7YXZXgdq4ZliJniY1FBhnSDMtU5IO8OWFqm1qXgGr1Tft4NLJMy1DHeTnVftO6Wdzn3nGQGbinm8dqX7P1saUe9zVTkUlaS3OmMTEtwmHdubLk1tNNMss2zXeK/DrzeEMfqMYHe6h3bX3MJVX5NfN8fWhqhmXrg55pG5ppERcl3mdMiCZDa2QP1OFpX7OpTor8ev+p8070vqUZ+TwWRj0ChLZh3glJeBV5B0+dV5H3mnNeQyO2sA3tvye6ofWUTpaihiOaFNRTzWTAdLLcZA7VsflulGdDvmlsZ5ExNvRzMkjqJ2kFiFd2snRFXvLu2mnvZ2GTt+sD1TxjTNlY19B62tDS1X6abHu1PXE7i0DSzlRbnU77ABqNohWhTRXRhmn/Gipj5D1BlVR/W1Y67cMqBVd836vmQOm0f3mUyZ7SkduPUuwrnSx3b6B4pXTkDBXWh2ROnvenmnFOAplEo36id4ktjJGVJlBLPVU68l6j4c1g5gUutBCegoTvlghmuz5IgbNAIPwkRchHTowEkJaRF2CQPiUehs7blotuW0Hi+/AA8wgtQfoEW82tN4CvUdAAABiZirgdhxEGKaLsWzk3Msf5fANbCwdPr7fF9i60/rGt9+y+fqYp29MwQmG886D3lO3mTzs7YmsXnB24h1QFHCbLJYq2nYvOJTgXe5c7bwB98TCstnaY5Mzsz9Qgd5ZnC4YHwBFILmwJWzsN5MeIaoKm1yEIFdFBiGEWJoErNGZeozE5ngytiT0y7aE60BQh/V1oDFSDOFUxwF4UI7RbrA6Tl0KDli+6Ay0IindCg+19lFYSRy0/nDo+3TTfJFdoiv1GWsjTUfLeDac3KGqgL0uCJm3UzhVBvC/augzxI2UllOg00+KlBLee6zlMQG4muSnvNWVJzmYOz/Wermas9YF6qtnmOzUTmb/gpdXNIW6eqXm+ksT7DYzXuHALsz6MtcpayauviFaExTRqLrxpFMbhDDen4aLl3MTknzRfJoUqFbYFU9LxpN1umia7g54iTImXBXBzGDe9EKIkAIkE5q3nozlyQZKiBUhSgLB0HcYYJOmzh6+lIIal5x61llE4bcmtIG4tPUK8CBPi1ndLpFx5gbsbR1OlFS5xa75Mdt0YK61FkP4SLrEXBrESEbrHZjpTSljMzl6UOOSLZH6wts7U4eoWGCCssLUtPZc93kKm9lGmcv6SKXDEa0OBEhqkx+6q3Xea3dMNpXXrRK2pM71GLYfMi6bX3i2KWw3SL6tD0qBxxFEYYkKXTmho59rQInvC01PaYmX8/HDecv6ZRKg1yH1BJb83tS8YBTHRptlNYhwuzGnkLXEL3aIAx61Gd2L0yf52PLGUFl4sW9Mk8u1bFF2FMWqGCW7Q2sBThJETr1MY2qluWsYH1uqm7T3NSYS+NQ2DmTdv3jkLHxqNCOHobrpwbW9mzxzPTyK0vQP3NJuRMQ/Fiii/gc+Oh+3YR2ipiJ03gL0FChOsiHtvIL72Zhh+/LHyQFnMwgg88AIQt2P0CWQQGdOdN+CGlIT8MHYgZg+CeP/rSiC8riLk3MDDA3zMqb0ZXIDogYQ+5fzgkitF2Q9Nx9oXNE0wcuGjIP76USATiZT4TYk0QjiJApDzl3lOz37o4kEsgMhHZx59dMOAqwKbxa4K0IPYD8ObZJlDzsMsczATyEPs+DYPfISmYeQq4j6dGmMnwnRcEbddByP4+Yc4LZCfrz0fAY4SVEI9kw5SzjXDX6IqKm2CLxGywRLTJIpQsEFqYartbZ4QJE7XnR2Q5gjE0uo2G1OwCB3nL6VpESLB6e4+a2XE65ErPO4NzMSb/SA3/qOQpGvIXeNZaobR14CM0TQM3FgouVgR13YQ2jF2cPxXCHAS3y8N7z8qZjm05gjb2ImuHN/PUcJOZD+GVEpOkUoiPwvH1NTiPTd7lQEubICOo63A50Qg4X/OKAmR9hToOG7fCF9mrIM2cWsfpFls9m9BpM9hocxbELnqBZ23P8olPkStCxD/Dt8p0IbLOmVo6Di4xKhEwEXgSy1rz6JwYUdo7sU4urNJy2ST0vhCi5NZs9B3UUTi3ovSLVUGkrDzn+gWBDZYkm0h7xQMBtJ1MZCltOsA8X5ji7IibsS1OC9zI47RH+5GV17gRHdf9SJG9ogjMYqlg6+rzpTJWPcnblLFp8oCK261wbfKc8ruRd1GmlVk1joNdbrNHlNywLJI2GTGNT+s5fx1fywh+Ue75DPc8quuWeOej7toZcIGj6XbiJnnF309ffPE2k8mpv65z/zzVcnneF5fTWQ8cdnVLqijiZk0uLzMU1l9FuNZvTCN5T1JbY3LVSK2hwfACJWrXXE09lepeZRgFkZlqz9i8MLIe5R06dwil+3v6V526oeJK3mBhyVCGzcpBaVNDwNPPhFnyPisBBApBTEiM0T7Oe1iznTre210ssVZ4XGv+DO6RUqJXJA8EFpEvZYrFAoWwVHo/PYtg6OxasR3MUaLKSbOS5v35zXjEN9OSR3IysS3tt+5GuA6aBEGUoT80HGfMoHpDSJT5U/o4nPZZPuSxIVoSQpCaenMSWIvh9/vYRIFjk8mSUk+4ZvCqTBZjMPlv529iNJ/prGejarrxc6Vj/7tgGV6/zWxTTMMWcrzcH0pmDTgpBSkvw4gtyiKvTCw5zhzM4xiDIK4TW96ZrD1Q/wx2AJB/FWAB2B3SOfwANfIcUEKQN4RQFFAEGWhsWoU3qsFxAfUwDVLyXwtzYPcbsMr2GuDmK7H0NJbVNNSrYmpiH9v1Kc6uZzk4C1UzplFWUppm344bxQAlwWAFCDSh1RgZm2cDNMw8V16VXWF0lMl/kysZAkGrTeD76DmmAnkDllp5xW3GBSkkSI/SXxK7cLVXcFisy68NXppSFJzcKnam3G6+F6MpSTwcAySNCNbBUlySveagig3YxTdelMkVBQu1wLIVirKxMU3gRkulzyYa5nvSWwYLePD1o0Wtyjqhoulwx3bZ7eaqiJup50I6VunCQbJBeFngXTa8k6J9Dgn7WwivbggHV7Oe8XCIX9zvBJY115q+EgoITdnzzEAfm56n7pF/kfiMAvBc0iFX3vzaxTj8zSMFXFbPzGVfA+SylgJueoiZSLNOo+oLt6Xma7qtM99bdVww88BSac9dDW+mVvhCd9bj89O00tXFtzk9/xKupO/6umG1rVGxocs0S5uXC8CaQliaThtwpP42gXxvjSyyjP5WtQRHzpot8FZYmmOMGQKMxZEvZWSPjPVVj+lgsIl6UydJaanG9k8trhHqkb5OPhNA4De+ZIpCsGPraB060YcnIvgJ1Qad3kzB4nt1slKJYcEbhhNEX3pollxdUJ2PWQhfji9ienrDA4phN7yZn50NEovJo+OFJ5L6LsFYtJd9QKq8bXCRRctv6Elar0svUmTJts/EMArOLBHwrWxaswR7o4najS9zj3MiabXiridpG3vYqfB7THvyeDu7opGpEN+OdgXiIDKSLQg79f3omkcpcONtTrLRhduNkpzjxerxuBgn0+xRJXtQvUdXmi9THmDtDaX47zYYAc2k6g4k08djR3t0GMJmUUGO46L0Bx9Ubb+0fz5Yyv9d9T8WdwqwVZMX4HyvwR8fnKuM1RLTxv4OphZEYi2fjiPbRza6aVuRV3sxDc0jorrk3QgpSYZZeiUbo1+2BvuNDhCWpgt/mZJ+OEEfrCaP+wN2WEg8dtMr6yrYFICd/NUSvd7HAZ2jCMvmCviNvz+iXQ+ReMmSU40B8Ijxs5iCUCTb6bSSlgjHS1R5JBo011CyhSoIWQ5mL4R5GZnb53EcuIbgg6kYgmWNYw0gmQf3SIfQNCDWRgtqAKOv047QHHszFEqlBRRH2HkHoH40wa+Y8+ltO0N41bd+NZ9DtgRiPnzLg/OEYjcb7sZHEcgsqfdfPmEB3vc5VZ7BGLxy262tCMQ2dNuvoKMcuy5u7na2UvLc1dpjHAny+I95xf0SPR+/euHlXhf9uJVk8xqFIlTIMlNgO8UClA5H/Dpj2tvrkkDZMc33tJOvyOy3cgjvXzRZ5PM/iU9MQ/dO0XcLg7xQHoHwgBhx3Wwc0SvvwXaTC+j8MsdCD8JIFxjvDxqteSDX5qdV/tN9v+tBZvV8oIYO8EU/d1ZehLbRSiddkeW2h2pLbOY40LtW5ZKF1KsNWuWBJEsiXQ1JBARbDWn4WKZYNTEzjzuezGGB1g4y+0Y+WiKt5u0NjzQrc22YN54y9Nl0qOA6WQZvi+8AcETdnZ2LtqXzVvHTxC0WiDMHD9GQj6TApVSbpUuGDgdBc4+rDO1b5Ir5CNs09Y5mNtTFGFv5k0djOwoxNS7/2MNx0Cot11UY7uLS9Ll8paj5fImlhgrieEpMTwlDk8pw1PYgQdITVlrK8ZLSCvpwIm8AEWjiH6R1PeC5EulRIVxVklZkQxj2ixXPk4kvfLDQx0B/43iOtX6Z4rrnUH5vNir9uENdOv4Y2d648xRjzVsE6NfWQdtCe7lI2nFLUYKQBCTyK9pR4BwBSFCceJjRbwnPQH3SUiaB9PRRuV8gtczBT9FOw25//rENAsTvEywIm4Th8g8kpgsvWUjqqUkZb9j5mRDDa5b8mZQa1EQxJFZ3rfGiRsCdoMZMK1Ih/v7J9Ldpvx//wSfnTgbpUWwrOdaX5jtFjKGr0CGg/a3MKXQpQk/WZLOxEi/m61YdJmaXKEnMCWHFcRO+U22TRTEPYGdtdC/1FQE9vVMmbwffkZR14m54L0PY7qdJHvSiyP6FfDR5RZ59gnx0SULtu9PwgjSD3h3iUHEXDh4MciHzfY+OIELQiQftvcF8tLx4xBcNPMC5JKND8kLYUAqJy2Yu2nLKWYfD3sxTZU4zHikck1v4flO5N/RHVSnnQnqdJrt/SaM8DWKPnsxqmPUZCg0iyWw6KXCgZvh+J+du0KDDD4Iws/c7CKqa0DYa7ZTCG73mu3nIMCMxiNAWXzN+antKuGd7U4y8zJnWrEELTTdPJPocZOwyJ1i1fwo3JI32TnBR0HYoRUiSPzaVMI73Prcuk/K6lJexZnfe/g6THAvxCUvzRjTU0vkwlbc+thsteZbpQ3iE9edXCUBTpoRx7gQu3p81dyKN8zP1s6HOsvjjDj+l4d8KcGUAcmCvgzrH5Uo2F/WZCcvprK902i81DOFdIu9wSK8voKLZk7i49wCL5bdFO8ZxKsmy+fxeedxH0lx9B1cnLrFyvZG+VL0LSqU+qqSLKIa0Yy2TKURYWenouQyQrdemMT9P1HZWpklpWspeOVJMbjNci9pKe7LaF/8eklyI3eHU+ecPyvbgnh/m8VAwT6//66XVQ/aHymzmij/JW78eFhtztW3/xovubjMLLyO+O1GjJ+Eb45tvqg8Mw8SH3tqNL2u5OZ0qd7CmSMrPEbjhHR2aYZuAHz/+yfaQqzNhlkULujQNAywQ8q2TnjETdBn0C2/u/Aum4sqh/MO6QSCENNw2M1UxtcO3k1PXdmbpzBrrHtNZUmZxeoU2ZjkvpbgNsigXlEj5yWp7Klp7CUqvTBhPTdZDSZ9S7fpf6/gaV79rRnq2YLyjWCakjang2ehnQX+U8P+aWqzG/FyA7Z5I531YOxUoDgl6NT2X+xe6y/WfaVbFW8Gj+VeQF+8GLPdx5zsOK4RFPT9PIVFiO19wnyXtZG8LJB1YfBHdH6P9FmcFsrLyyLHTQApKiozvVXlRlcCFDrBjz/mNSj/k22ikEBvpuqHKuwamw9avmWJDP2vru3PWRerVsQ7V42G47pn6XHfMHRR37lC1buuvnqs9W3TMvThKXdGl36z4IEg8gQC/O1vfwNBzP42fDjqaTYlMAV4C8Ufc3fe/lj/TQY7fIQgdBH4RB8oSUg38hFy3DtSZWIU4F1Sna+9YE726o67/vlIuW1j94quS2bUScAhrGsRN5tNoTiwpedmtausBkUNETFMzevVrnjPK7KquRSt41bSntvqRmgR3qKXmBeBsKbTCyz8dChaVbGtHAxeuQrR7p+kXFXsk5T7/9EtUy31iO/faf2xZpja6KTxfwEAAP//TkMp6r9OAAA= + H4sIAAAAAAAC/9x8fXebSLL3//oUNQwZ24mRhOw4ibNkB0vY4YneHkDO5DpeDhYtmTECBRolXkf72e/ppoEGIceJZ+fObvbsGZmurqr+1Wt3I/38U+vKC1pXTnzd0AzDNj+YljboWn3btFTDsk9Vva8cAh3r9keTnq0Pdcu29IE2mljK83TkVO9r9nvV6r7NR47Skbejfs9+r/b14eQ39UwbWsqLdMDQ+ppqajUEL1MCdWzZ+tC01H4/Z/oqHeqNuu80Y2O00y4N90bvh/2R2ivG5dL4O+1DDU2nREOUIHT58EFpmMOow0AajE4+0Gl93Sxw6jCgBqZ9Nj7bIvqI47CxNgZbdzS0VH2oGb1NEgacMRl2NwcZdO9emoRgqA/P8rGDdjG2odUBA+3d5EQjbjEcWfbpaDLsKQcMKn1wVjPtoJjW1yweqYPDshUHZ/Z4wql68HxjqV2rju5ok87QiY6bpNvRo67LLerlBuW5Zpj6aGjrw3O1r/eUAwZld6hvrvtQzg09NkY9u6ed1BB1NonG785stddjAcfQGxkqZxLNMEaGcsjgSSOVWwid+DLzod7YGJ1o7CnTeDSxTsgqyeqG6dBzzvbqWLdNzTjXDJ5AriXoDU27Pxq9m4wZWaeWTP2fiaFtEmfOoVpqfSwctTmKahAeydxg1dGPmCLnb3tV2x5tOtaG4BdtLog2R5nk7sS0RgPb1FSj+9bujQaqPjTTtb1kDM7Gk835Lw+4QUMnnsVHxsvDzeHq+l4+52i0c72r2eP+5EwflhgdFUT68HRkG6OB3R0ZxmRsaT3lJQsH8+y3rXJetTdpOAmv5CJL91S9X1jnFZe/J+OeamnFUBY5pkYc/1yncWV2DX1sUTsZmtorOMntNieEpNPJ+MxQexpHwakxnhhnzOHldicPEpIQDI2YQZHbDP+ubtqqaepnQ9sYjSx7/F6RZXljjPrPWDMGukk0VWSZsR2rNHV1R+MPlEiRZZ7zeNz/YI9V03w/MmiwnepniixXAjevISMWFrKcZbQ0jW24jyy/KBGMxpqhWgTDNDXIcpa9LKNm8BU0UrBoUJqW2n1nn2mWrRoD2xq904aKnJXQKslQs96PjHdsLZOUsSJnFbVKbk5Ohppljw3tVP9NkUlRzYPyZKL3s1wmk7qYgvJeHdtdQyPukoKRVSV+RB+ak9NTvatrQ+oR72xzrHY1RSZVilJbWl8bjwyrV0qbipzluWI8c/h0OFuIYemnapfUK0NTB6RKZnwUOctxNUSMmSKT1JY2PpY1Jk7+2we7qxLczjXDUuQssbHIIEOaYZmKfJQ3J0xtU+sSUK2+aZ+MRpZpGeo4L6fab1o3i/vcO44yA/d080Tta7Y+ttSTvmYqMklrac40JqZFOGw6V5bcerpJZtmm+VaRX2Qeb+gD1fhgD/WurY+5pCq/YJ6vD03NsGx90DNtQzMt4qLE+4wJ0WRojeyBOjzrazbVSZFfHD503qnetzQjn8fCqEeA0LbMOyUJryLv6KHzKvJecM5raMQWtqH9/4luaD2lk6Wo4YgmBfVMMxkwnSw3mUN1bL4d5dmQbxrbWWSMDf2cDJL6SVoB4pWdLF2Rh7y7dtqHWdjk7fpANd8xpmysa2g9bWjpaj9Ntr3anridRSBpZ6qtTqd9BI1G0YrQpopow7R/AZUx8pygSqq/LSud9ssqBVd836vmQOm0X93L5EDpyO17KQ6VTpa7t1A8VzpyhgrrQzInz/tTzTgngUyiUT/Vu8QWxshKE6ilnikd+aDR8GYw8wIXWghPQcK3SwSzfR+kwFkgEJ5KEfKREyMBpGXkBRikT4mHofOm5aJVK0h8H77CPEJLkD7BTnPnNeBrFDQAAEamIu7GYYRBiij7Vs6NzHE+38DOwsHT612xvQ+tf+zqPbuvv9OU3WkYoTDe+6r3lN3m0709sbUPzh7cQaoCDpPlEkW7zkXnEpyLg8u914C+eBjWO3tMcmb279Qgd5bvFgxfAUcgubAj7Ow1kB8jqgmaXocgVEQHIYZZmASu0Jh5jcbkZDK0JvbItIfqQFOE9G+hMVAN4lTFAHtQjNBusTpMHgoNWr7oDrQgKJ4JDbb3UVpJHLX8cOr4dNN8k1yhKfYbaSFPR8lzN5zeoKiBviwJmrRRO1cE8a5o6zLEj5W1UKLTTIuXEqw813OYgNxMclM+aMqSnM0cnus9Xc1Y6wP1TLPNt2omMn/AS6ubQ9w8U/N8LYl3WxhvcOEWZn0Ya5W1kkffEK0Ii2nUXHjTKIzDGW5Ow0XLuYnJ/6X5MilUqbAtmJKOJ+120zTZHfQUYUq8LICbl3HTCyFKApBIYK48H82RC5IULUCSAoSl6zDGIEmfPXwtBTEsPfe4tYzCaUtuBXFr6RHiRZgQt75dIuXKC9z9OJoqrXCJW/Nlsu/GWGktgvSPcIm9MIiViNDdN9OZUsJidvagxCFfJPODjXWmDle3wABhha1t6bns4woytY8zlfOHTIFjXhsKlNAgPXZX7b7V7J5uKK2VE7WmzvQatRwyL5peeysUtxqkX1aHpEHjiKMwxIQundDQzrWhRfaEZ2e0xcr4+eG85fwziVBrkPuCSv5ual8wCmKiTbObxDhcmNPIW+IWWqEAx61Gd2L0yf52PLGUFl4sW9Mk8u0Viq7CGDXDBDdobeApwsiJNykM7Uw3LeMDa3XT9p7mJELfmobBzJs3b52FD41GhHB0O124tjezZ47nJxHa3YM7ms3ImIdiRZRfw2fHw3bsI7RUxM5rwN4ChQlWxIPXEF97Mwy//FL5QFnMwgg88AIQd2P0CWQQGdO91+CGlIT8Y+xAzD4I4t2va4HwuoqQcwNfv8LHnNqbwQWIHkjoU84PLrlSlP2j6Vj7gqYJRi58FMRfPwpkIpESvy6RRggnUQBy/jDP6dk/ungQCyDy0ZlHP7phwFWB7WLXBehB7IfhTbLMIedhljmYCeQhdnybBz5C0zByFfGQTo2xE2E6roi7roMRPHsSpwXy87XnI8BRgkqoZ9JByrlm+EtURaVN8CVCtlhimkQRCrZILUy1u8sTgsTpurcH0hyBWFrddmMKFqHj/KU0LUIkON3971oZ8XrkCvd7AzPxdj/IjX8vJOkactf4LjXD6FtAxmgaBm4slFysiGs7CO0YOzj+KwQ4ie/HhvcfFbMcWnOEbexEV47v5yhhJ7LvQyolp0glkZ+FY2pq8Y6bvc4AF7ZAx9FW4HMikPA/Z5SESHsIdBy3H4QvM9ZRm7i1D9IsNvsrEOnnsFDmDYhc9YLOm1/kEh+i1gWIf4efFGjDZZ0yNHQcXGJUIuAi8LGWtWdRuLAjNPdiHN3apGWySWl8pMXJrFnouygice9F6ZYqA0nY+290CwIbLMm2kHcKBgPpuhjIUtp1gHi3tUVZEzfiWpzHuRHH6A93oysvcKLbb3oRI7vHkRjF0sHXVWfKZGz6Ezep4lNlgRW32uJb5Tll96JuI80qMmudhjrddo8pOWBZJGwz44Yf1nL+tj+WkPyjXfI73PKbrlnjnve7aGXCFo+l24iZ5xd9PX3ywNpPJqb+ecj883nJ53he30xkPHHZ1S6oo4mZNLi8zFNZfRbjWT0yjeU9SW2Ny1UitoevgBEqV7viaOyvUvMowSyMyla/x+CFkQ8o6dJZIZft7+leduqHiSt5gYclQhs3KQWlTQ8DTz8RZ8j4rAUQKQUxIjNE+3vaxZzpzs/a6HSHs8L9XvFndIuUErkgeSC0iHotVygULIKj0PnNGwZHY92Ib2OMFlNMnJc279/XjEO8mpI6kJWJH22/czXAddAiDKQI+aHjPmQC0xtEpsqf0MXnssn2JYkL0ZIUhNLSmZPEXg6/38MkChyfTJKSfMIPhVNhshiHy/84exGl/0xjfTeqrhc7Vz76jwOW6f3XxDbNMGQp34frY8GkASelIP11AFmhKPbCwJ7jzM0wijEI4i696ZnBzpP4Y7ADgvirAF+B3SGdw1e4Ro4LUgDyngCKAoIoC411o/BeLSA+oAauWUrmG2ke5HYbnsNBG8R0PYaW3qKalmpNTEX8e6M+1cnlJAdvoHLOLMpSStv0w3mjALgsAKQAkT6kAjNr42SYhonv0quqK5SeKvFnYiVLMGi9GfwENcdMIHfISjvPucWgII0U+UHiU2oXrm4LFtt14a3RS0OSmoNL1d6M08X3YiwlgYdjkKQZ2SpIklO61xREuRmjaOVNkVBRuFwLIFupKBMX3wZmuFzyYG5kvgexYbSMD1s3WqxQ1A0XS4c7ts9uNVVF3E07EdK3ThMMkgvCM4F02vJeifQkJ+1sI724IB1eznvNwiF/crIWWNdeavhIKCE3Z88xAH5uep+6Q/5H4jALwXNIhV9782sU4/M0jBVxVz81lXwPkspYC7nqImUizTr3qC7elZmu67TPfW3dcMPPAUmnPXQ1vplb4SnfW4/fnaWXriy4yd/5lXQnf9TTDa1rjYwPWaJd3LheBNISxNJw2oQn8bUL4l1pZJ1n8o2oIz501G6Ds8TSHGHIFGYsiHprJf3MVFs/TQWFS9KZOktMTzeyeWxx91SN8nHw6wYAvfMlUxSCH1tB6daNODgXwQ+oNO7yZg4S262TlUoOCdwwmiL60EWz4uqE7HrIQvxwehPTxxkcUgi95c38+HiUXkweHys8l9B3C8Sk2+oFVONbhYsuWn5NS9RmWXqdJk22fyCAV3BgHwnXxroxR7g7nqjR9Dr3MCeaXivibpK2vYu9BrfHvCOD+/trGpEO+ePoUCACKiPRgjzf3IumcZQONzbqLBtduNkozT1erBqDo0M+xRJVdgvV93ih9TLlLdLaXI7zYoMd2Eyi4kw+dTR2tEOPJWQWGew4LkJz9EXZ+Ufz2cdW+v/j5jNxpwRbMX0Nyr8I+PzkXGeolp428HUwsyIQbf1wHts4tNNL3Yq62IlvaBwV1yfpQEpNMsrQKd0aPTkY7jU4QlqYLf5mSXhyCk+s5pODITsMJH6b6ZV1FUxK4G6fSul+j8PAjnHkBXNF3IXfP5HOp2jcJMmJ5kB4xNhZLAFo8s1UWgsbpKMlihwSbbpLSJkCNYQsB9MngtzsHGySWE58Q9CBVCzBsoaRRpDsoxXyAQQ9mIXRgirg+Ju0AxTHzhylQkkR9RFG7jGIT7fwHXsupW1vGbfqxnfucsCOQcw/7/PgHIPI/bWfwXEMIvu0ny+f8GAf97nVHoNY/LGfLe0YRPZpP19BRjn23P1c7eyh5bnrNEa4k2XxjvMLeiR6t/n2w1q8K3vxuklmNYrEKZDkJsBPCgWonA/49Me1N9ekAbLjG29pp+8R2W7kkV6+6LNJZv+SnpiH7q0i7haHeCC9BWGAsOM62Dmm198CbaaXUfjlFoSnAgjXGC+PWy356FWz8/ywyf7bWrBZLS+IsRNM0d+dpSexXYTSaXdkqd2R2jKLOS7UfmSpdCHFWrNmSRDJkkhXQwIRwU5zGi6WCUZN7Mzjvhdj+AoLZ7kbIx9N8W6T1oavdGuzK5g33vJsmfQoYDpZhu8Lr0HwhL29vYv2ZXPl+AmCVguEmePHSMhnUqBSyp3SBQOno8DZh3Wm9k1yhXyEbdo6B3N7iiLszbypg5EdhZh693+t4RgI9baLamx3cUm6XN5ytFzexBJjJTE8JYanxOEpZXgKe/AVUlPW2orxEtJKOnAiL0DRKKJvJPW9IPlSKVFhnFVSViTDmDbLlZcTSa/89WsdAf+O4ibV5muKm51B+bzYq/bhDbRy/LEzvXHmqMcatonRr6yDtgR38rG05hYjBSCISeTXtCNAuIIQoTjxsSLekZ6AeyUkzYPpaKNyPsHrmYKfop2G3P/7xDQLE7xMsCLuEofIPJKYLL1lI6qlJGW/Y+ZkQw2uW/JmUGtREMSRWd63xokbAnaDGTCtSIf7+yfS3ab8f/8En504G6VFsKznRl+Y7RYyhs9BhqP2jzCl0KUJP1mSzsRI35utWHSZmlyhJzAlhxXETvlJtk0UxAOBnbXQb2oqAnt7pkzeDz+jqOvEXPDehTHdTpI96cUxfQv4+HKHfPYJ8fElC7afT8MI0hd494lBxFw4eDHIL5vtQ3ACF4RIftk+FMhDx49DcNHMC5BLNj4kL4QBqZy0YO6nLaeYvTzsxTRV4jDjkco1vYXnO5F/S3dQnXYmqNNptg+bMMLXKPrsxaiOUZOh0CyWwKKXCgduhuN/dm4LDTL4IAg/c7OLqK4B4aDZTiFYHTTb34MAMxqPAGXxLeentquEd7Y7yczLnGnNErTQdPNMosdNwiJ3inXzo7AiT7Jzgo+CsEcrRJD4tamEd7jNuXWvlNWlvIozv/fwdZjgXohLXpoxpqeWyIWduPWx2WrNd0obxAeuO7lKApw0I45xIXZ9/6q5FW+Zn62dD3WWxxlx/G8P+VKCKQOSBX0Z1j8qUbBv1mQnL6ayu9doPNYzhXSLvcUivL6Ci2ZO4uPcAo+W3RTvGMTrJsvn8Xnnfh9JcfQdXJy6xcruVvlS9CMqlPqqkiyiGtGMtkylEWFvr6LkMkIrL0zi/p+obK3MktK1FLzypBisstxLWoq7MtoXv16S3Mjd4dQ55zNlVxDvVlkMFOzz++96WfWg/ZEyq4ny3+LG94fV9ly9+vd4ycVlZuFNxFdbMX4Qvjm2+aLyzDxIfOyp0fS6kpvTpXoLZ46s8ASNE9LZpRm6AfDz759oC7ExG2ZRuKBD0zDADinbOuERN0GfQbf87MK7bC6qHM47pBMIQkzDYT9TGV87eD89dWVPHsKssek1lSVlFqtTZGuS+1aC2yKDekWNnMeksoemsceo9MiE9b3JajDpW7pNf6/gYV79oxnquwXlG8E0JW1PB9+Fdhb4Dw37h6nNbsTLDdj2jXTWg7FTgeKUoFPbf7F7rb9Y95VuVbwZ3Jd7AX3xYsx2H3Oy47hGUND38xQWIbb3CfNd1lbyskDWhcEf0fnd02dxWiiPL4scNwGkqKjM9FaVG10LUOgEv/yS16D8K9tEIYHeTNUPVdg1th+0/MgSGfrfXNufsy5WrYh3rhsNx3Xfpcd9w9BFfecKVe+6+uqJ1rdNy9CHZ9wZXfrOggeCyBMI8Le//Q0EMftu+HDU02xKYArwBoovc3fe/FL/TgY7fIQgdBH4RB8oSUg38hFy3FtSZWIU4H1Sna+9YE726o67+fpIuW1j94quS2bUScAhbGoRN5tNoTiwpedmtausBkUNETFMzeP1vnjHK7KuuRSt41bSntvqRmgRrtBjzItA2NDpERZ+OBStqthWDgavXIVo/09Srir2Qcr93+iWqcYffhCPOKFX0PkNN1d+uSNrKsA+0Yeq8cFOE1L6rkrpbryWsDa2K1Q0lPObc0gifx8+e74PSYzAoydv9BsVpMCRgGTX7kIJloxf/jUKlvg2NNqMpfRNfnpdf43xMj5utS7+0bp8Rn+dIAoQRnFrddGWXl0++9jM/tt81qJqeChuNZ/tVE76pAA2Rdcf1bGXALIrImGVTjSGmqXlvyuxFqDu5f5NEcq/6DcHKm8QbLz1n72PSL80tIzQzPtSA9bPTzkE1sIGl6rqeafH833ypPW0Zm72TVQcOVOM3Eyj4/z7MlnHSduYimLHsM2w935PZ6v3pdf0RI0kQF+WiGjk33JemLleikXeDTsxw2Cr+sI3vizzLfctfrdobIzoj2nlv/5S0Ka/FLduiXf0twmzx4Y2Hq05J5ZIFTvOXzvJunLJ94LkiyTedccT2r2XUsXPb7X+WDNMbXTa+N8AAAD//5eBO8/qUgAA @@ -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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/CustomData b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/CustomData index 538cf658603..9da6bbd0202 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 | - 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 - 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/CustomData b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/CustomData index 538cf658603..9da6bbd0202 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/CustomData b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/CustomData index 60aa9dd125a..b67df8acad7 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 | - H4sIAAAAAAAC/+x9bXfbNvLv678+xZRhYykJKdvp7uZ6q2xVWUl1bUs6kpzu3sTVoUlIYk2RKgDKdhTez34PAD6AJCjJdrrt7rndc5KNAAxmBoOZHwYPfPZN89r1m9cWWdRqnc503B196HW6015/OrkYtprBijatzyFGTTvwqeX6CJOmbRsrHNzdmwThtWsj0/V520HnrDvZt2lg3yDKW/Z7086g/673fnraG7W0JqJ20/bdpo+o6Wi8/MdePy5kVFnhtetrtWeTwekAVqHnAV24BIKQQjADO1iuAh9Rn5i/ksAHGgT/4GROBz/3zwft03GBmBPc+l5gOUSrdUa9zuQ8rSlXxK5NPUXdjLmQ4KYX2JYn2OsM+pN2r98dnap7TtTiyERHl/2OsjoOfVuuePZmrKx3E14j7COKSLH2cNT70J50p8N256z9vjuedtqdn7o7mjZX2F1bFBkry76x5iimNeq+740no39NR93hoKUFhDCZLewiIpHRapc/XvYnl9NR97zbHndbet0j11OMPGQRBAYGgzRqg3FLr7sz8AjwwX9hJBWO3kLTQeumz4b4+O3zo78DXSAfSIApa12o/gXm1u0NHCwtai/q+uEraP5S751Oz3tn3VbdDjAKSONL77RVN180GnrzFVgN2MAKuz4FGoSrFcJ16+PxFVgfX181/g7ozqUQHfwdZm6jNu52Lkfd6eR8PP1xMJiMJ6P2cHp2+WP3vDuZdv/Z7UyH55fvmTGUjUdMBOqR6yCghGJrpe1P70N3NO4N+i1tfWgemYeG5a0Wlnms1Sbd8+5wMJqcbumZIg+tAkydvOV2T7v9Sa99Ph2OBh96p92R2uSRg3zqWt4KB2vXQXgXkWwurC3c9NxrbgwekmkZCTGFAJVz6aLd773rjifTd73z7rA9+Smn2KXluzNEKJ/vbOJdDAf9bn8yVlePHYRPSdzgot2fnv44bV9OBtPL4SmbJO/O2+/l1ok8S8s3nOumFdLACFeORZFW61yOzqeDy8nwctJq0uWqaYfYm64Rvg4IMoOQJtNgMJ722xfdlib+zToeMQeRFcQ/aLXO8HLaHnV+amlazUG2Z2EEhgU/t8cX4596F8Pe6bhVb8hF42Gvz8wnKaoRRDvDyza2F/UGbGoAAClVvT5PSxu1qFbDaBms0YXln163QxpcctHeedb8neuhtD1egjEDfZe+GEEbI4vuJEiD0F7sSdBDlh+uOqnbPPUYKZJjDs9Ar/K7jIjrE2p5XkbkZ5cuOqk9/G8S+Cm9gLT0TX7kIl7gzuDjRzA+g6bn/ZsGV1fCRfF6KZHBOJJ+YJZB3MBvaXaIMfKpxguRR5CyVspE3Esk6s9c/hf/I4slQ+GmW3r9199AM4eJ1wZNV0wLDb4Ar/fxCr4AQR6yad30rSWCVgs+aRndT1pDa8CXL8In6t3RaCrpOXZR017/Q/u8d8p5isNMUsZtMtaeSy4szMgOcJvNyHPXD+9A44rS4Plzpl5N3/TG07P2pB1pjBmN4hBVKTiZR6x6fqxiLYmpGmvjg9AsYX2UNBcxVW0CkvydjEOsdf7Hs8x+DgisE3IWxtY9uATQ3QrZFDlAA1hYawSB791D4CNAHloin5qCTG8GLoWFRWAZYAR0YflyrVdwi+DW9TyIzZZJDp5FaFIDXJ//xns2JePUN8+K+v/4w1UExpzCUVmJyF4EoP3cHvV7/fcnkjlBHPaLQlbybEJP8Or68x3s5sx4B9voNzhk1qdvSuWHVxG3j+/HZ73hW61KuF7/3WAfydjwuXSBMKDlit5DgDnLMxfLchAQ3ZkwvnFXKyasRDoeLou6gR+LyR0UoiH24VCWu/du3NIPPvkHHNQgp2CirbpeF2jnA3z//feaQv4XV5HWEFMr9AmijCT/F5dnStzPqKVvninJM+Xyukz39XrWwjhqNMDwKBzC1RWbkWwYp67voLsWHwjp36WGnOIq11NL36gZ0DcZpShmJtPkhfVrgC9cP8BDhuk+pC6xLgZVz/fC3JkdUjAcA4zZUUMrkPspoO/cuwdRIWDMjmNCzEaF29/FoQZXTEkf96rKjJchXGWjHMu5ukord/215bmObIyxfZ9AUcys6b4uPbZZL5iTKQ2maM1iJmjts7HZGXfNYnAdhT51lyj5fUwt37G8wEeZ+9QYy5WlIPtntfqiXJ2ctmKPnSgGKtgDA8piQwv0TV5fkVarRBAXMQDN4QcOX6WRSCKJZEsz0PQStC2P7VZKeROXYANDAAYGMys0kTNHyi4bmTVwzhSgg9ve0Rvz8Lsyg7t4OJCZWLm+jxxTO3pz+J12sIud2OZy6Kg6XMU9gx9QmAWhz3wxJMuDV+CgmRV6lMcmFpqxYwcO40U2b0mQFbM0WZzYYZRl3eV6phit3QdS2eZ38qwpXUexylY/k/L3CB8juRiFSNvdTK8/nrTPz6eT3kV3cDn5491MXmt595Iq6cmupbI/TeVjYnKpZ9mjX7YSHPW7k+4412/550iT8Jemb/rd7ulYGqFIg2+q0XfMwEVwfQ9FOCfcm3LVwSHFr7/BQbpAUS5ApPWH1jiA70FFDaQkkdJe4y4KyxlmjoQS5h9UVCXYtseasfY//yPAnayDrb07ASLcS3E2dnCxM+ZIRtNH9DbAN0MvnLtZLJKGd/LzYHQWJ1yYVweNZ0WqB5cv0Tr9Xm58Y476PXiG0Qxh5NsIVrxTYsJFQKh3D7MAw014jXxE4Tqk4AXB6tqyb+KKDEaHBDlwfS/7cGbDcrSD4/zyvpjJhefA5E9SU5000zSME01Z+mNb3utydM7W2rvqnLRyM8bwYY9GkUK7Nkapk5zOAjwNsEVaaXDYRZKFijlGKzCCIRysPzkv65/MT87LxosDPpMcOCDNX9bNJvvnAlkOY/WokQyijFAYI0lSbhpir6Uf5yXUS1XK4uzUbZlIjpfljeNiMFag78pOivpZznQ4GrD5kvmsLDs97o4+dEdsWB9QXTnCD2ivGuxM08I0Mz0kZssUkpnBA3ts6ptSVj4S2U7DsrGhyL6erPWN0gQjw3P98M7QN0m2MNK2jvLk/f/hWz57zINnz140Iw2ewSVBcG2RBVyHLsNj8ExeJeN7e+lM54hOqYWvLc+bznCwnGI0dwnF99Nbly44r3B0fAh/2TVbTnujpr6Fc57p2XtsIi2fBhuM2uPp8PL8fMqG4F27d15c8McAlie+RrEMl9jbz3FUGlIKS7+Syyj4iJ2jvdW6yjZk5M0tMqmFzfln7Y8e9z1c98OGO+fVfuf5ss/A79ICmKYJu22nVjVGX2ssdrJQyD5vqy2vJoSOMlQACSyAZHojB0ho24iQWeh59zkIXg0mdi1PSi3NaoSiQXWZ2CexMBh3n2d7qXmzRc+RBkZnjxibC8kVlhrv1sXhwV4Etz4YI8BBQE/YH/u1W653TkNWeXs003b11axqGPO+DBz421/+8jQyCUTdLY0MWMfIDjGanI9/TDaHz8SmafcO2QUcL9y/gM8cqmkLSlfkpNm8eUPifXBiXnvBtWkHGJm3ru8Et8T0EW1aN8SgHjHSPWjD9lzk06a+eehedNTk/r1pLZ2/ftdUEZURlF53SXt08dfvGmxRp9h++PPIg5db5SmD1UedCqhJQqcYY2XRBYsJj6IYVTCdLca/EctxVa/lRE/q593ZdGa5XogRvGZe/q+HYDP4b8zG52AElQTT30PsFQJoyvbegsrevNLTPEptmkSTeQBjFDuBJ1CbuWxy31pkybenu2x9X50TZvWmM9dDfPj1zVEk1SMLd5nBvM2xXJbAdhLOZu5dS9+8Lrbk0SkZl1Zd0zc/nHwXaQ2QF3/81M69IsW5kTtnIAgoBhOMOCfJlvasBrh+UjnX38cfrhh2dYJ8Xjm2wk2VBiLpWJTBiBqCNoOPeVbZL3kdROq8dAzCj6CYUnYCH0kIgUEZxgswXkicl2FiPoTbF3vxWZN3A0G9q2CR5Zgptd6QLSedZuyfVJhFbDLJxmB+0b05jkCOHCIblTBHYrN4zc0i3d9mUieZdDG+xXbl4a22O7JyfQ004rnzBdUaOYP4CJqeS1Afmm/MQ8UCmv1XIv6yVddub4lEMx7aQu6dDxpPbNTR2vLilNxpTIVBy2xfNYf9M8IpPiuPEOilUcklwpPeQVtnslbOGcjb5q3F/OZGPveTbtr+VwyTOJmhUOsQ4aVLxNa8QsN7KTPTpZwgVE2yR/lnpYnl3XTBhf/bnDSkoT8fifKbPjnpmB5lehpoxvpI2+beFdl2ySMy6twtErA8jCznXk66V7HxShx58QMK1yidd64/L52kyEGyf1s+8BswPsPD0nNV+cA0scGR7wNTfrkztw5yiWddk6ZS/ScFQ9mW4ROc8RGJR33+eUqXq1blgKn7LPcRZ3xqT8v4bMqsRRroG1mXUVXKRtqNYx415YQvrz/fMWhSJi9WzFXSpzT4OnYfHaVAIT8mYqo9iEARaayPpCmyFFBLIc+2afRwXLfXWmEtFgt7S1eN+tRqCrFXSYO1OH77/Ih5R4RAl47rwtvsfHmSG+2C9kudMX5ivmh8qX9E3SuMzRcNnZ9MrNsWzZN4/lwytbPR5XjC1gjFVFQDnqcak4P5y1Zd/6aRi1P7RMTfYUFRFY1ef40lwyNtS87LfB3byWk6OROwcv2z8Bo9HWrvi7QfDd8kJTC8dhNeo68EbBMl7EKzcrc5EKbErfKh9CfhVtkSSgyWTIAxaayP1fhPPdwqEffAfflR+KrYLztDsY23StkrTu9UVN+B0Erd/n+U9giUlmhROWZfBaTlUyulUYu2z5QSKIsd6OMwmVYAZdpDUdn+EAZKNyIeiUoeML20Kq9Y3eRPg0JktxwjkCwcDrCV4Qs+Soq7YWz85dtgad3uPyejdmfSFZWZ4wQFoVzA5EXJLTfuJwtJ9hITNSlvJ903YJynkUWXyZqmKfE4uRi29E2JI77bWr3ZunXzs8RiM+5A7LkpelMtUtLy7mg0GJWz9zt6UXt8tviH7U0Lx9FM1aFNFYOya9+/MxFi4k5I6ATy+muHiGwpVrazZrb9piIhn9astpHkUFthO9jk+8FqeFWA4QIDHJ0YUfH8EN8GKWfLGFXQMCKhR1v6hntJqZQxrIvSGqijaiaYJmOc5MxeymA2mTZHhn5SOkQnOP7Q706mrEzsboyTeXpi6Kqi0nU4VaXKGzmqyuAKMySImtC9cylDFGYlpuBHLPq99EiFvlERfcq8LimqqW+kHvnUVqqmcFpBIpPuZ+UOLbo29dLReubOQD/id5GWK3r/Cqh1g/i+cul6egQWSc61w9ryQmTCgC4QvnUJitsdsTp0gUR5TYb9py4WJqsmHhWMR2ombhzJqFdckZ/MP0+WK2HNXPN5JfO7sSy6wlEcjjWZalPfyGS4fssZnSKrkkbT4xc5hVZcfOVci0uY6UWluugfDCPxEse5+BwfrYxrJXWazflBI3/UNk84PkddORtSl1Rsx580EJ0lGD11VCaQ5PpZTm7Whlp4jmjm6hRnv781X0TmoeL6aaxfbuTdi2FLEwwY69RKko3zyjSfVthAiCOYwsiaKdGkv6hiZ0E6X1E21VxNodMVRoZt2QvkJBpM74WcVGhOU+4dqjYuRBeXPlu78vt/ogfXp0HGYf6oS5Jq/Hy3foguWMwrEixshmc74Xq+YmyninX0lopiCzuZlZPkCYHCWZQ8mBM6ym70p3ju+CEnQRRLxjS86Js8fKqYSAnbzDfBysLWElGEedKhQiK2kOKWMXfXSHlhJRNLBkDl+6ucy5IOKllNH2fI3Vt6AheZo976NsRuj7zZ2j7KnpVgLqEsMF/85UarqayX0ZEWh5tqWSPJw1eZ5eMtrXM5GnX7k8x069kA7YgG5ZFcZxFBgMNJe/S+mxGPt1ATlglarhHuBMuVhXmkz/NyYmiH5qF5qEXMwHKUInWaRwQRTwoWUGay1E/EMMecP92Axd3ueoAB/RZaHtCgkQSVa4sgiUiBoXJUKoyVqQg5VXNzmylyN1DqPr8j8zUsueqdkr3sN7nhxs1Xlc78yuRjV5DGyu3yswlFEA1XnX7v1MVEsWCQXmCqOuipqCMdp8qVKohnzz9tpV+qlkWyfGlUy2CgtASSF9IVt9K+fIFv9rqX5rtGfNnpCRfT0gusfgASRcjep4EVRgT5FGZxhoPfnoqvrgK/u5pOHIb5jszvzCMTJguXAFkEoecAwpjN4DXyaWh53r0GW/dfs5xeeYnYxGhm+24C8CA9q2nZxFi6rCOTn9JFzhzxI5qSVM01Zy5LhkplMYjkp0kNUc+krIfY6PP7tOIY9B788YPOBcNU5AzFisvybq17Ar+GhEJIENwuLP7Og+cSivg14sKzQUACuEXgBP4BFa980ADIvW+Ldzhs3/3Kb7Fk+lI9xtLvKa/sx++V9Hs8xcNYxYiZAdgszljXQUjF42nXIYVby49fLcGI6UD9asrtwrUXgNFvoYsRATd+zUT1XA78ju/lxH5uj5dy/pAXZ6qev6l+iSY1mL2eoImnt72w/Dk3vXjj7T/t/ZfHPEBReltE9ShMbQ80mPlC7k16I3ExR+Ga8JK5JsWbEAmQ2Z+U8HIVpOQ9jHjeOFvSUHE/qgXzM7aWsD1kYWYdS+bRkC/m+q2IDGuEYWGtVsg3wSIkXCJwKQGMPCt2A3wAXZ87ijWCc4siQuHDT6dJdBF+b4Eg9KmFX0HgOQiXCun8swkyLFN677xEzRc55w1Vr0Aw15bErrjfJE1yzdj67K5WyRXjwrNvCvOr8KJJlNgFfbLVSSkB++Q0pWxWuRzktyxWRmnOovYVbOdRQ1QeoXzmZ2cmVZnz2XHNKtGzWcx8Z1eqcvfX5dEsXqzayaAKUDzANNAdxZZNz8Jr9GOMggobCDdv5GgWn1aJi8JrlOzHio3oY7nYJdP4pc649LVWoJtu1k0dF7c0/TutVqgRb67yXADDHS19U+hV5HNlx5rvl3lXFjXLQynRZ3F6+3ukzNBUDEVaTW1bcu0qQ4rXxSIdmIS1fMssPbg7DVh7CF1OMz4yEVsBi5w0f1wPzyD/7mXyeqbxQlVgU894UZ50BU2Xhn6LctPpn20WlZvLI1C6z1ywl9IZYSlNhyiyadGsX0GZxiuwSHoIA3glrkiGUPkxBBqIR4AtTN0ZU61onB/D3WrJ3q01/MBBe2S2H3+INW+vZZn3vnP8qKmQBj2tgnxeRDnpLVva7jXkw8SUnzQuXfr6GoKqOqgUNf6/yVTngcKg2PLJLMDLlka+mC++PDcEHwlC/6KBYZBFcJvVRI7BphdhYWatYPxT2qNhEIrdlZEBldZrFnPycx+kZ5qZncqOorLMpl5Z11LqqFZQb4W7yQsLV+Ihqeo2zHeV2hTXHlt5yu8CKMLNzGLgu5zeXaqsRNrdiPFDfNX2TAjY9h32/4Y4uLvPkNvleDK44Lf/WDRvj/5VfjSmXEV+KiaJdNtIqOrINITXDAlbV8UqYL7wBNRNcznSV2CHhAbLpMEOiaLcq0PTeHN56s6m/PixP2+xGF8rn7bbRVc9TI8Ke7U98WH1+JoKOKaB4kf1s1n7iMtts/ickkqfWUX+TEim0Z1Dqzq0+IcpZDe33HDK81q49Eqno3q1rOB8tErvU9G4+NZVvGtfPUhaNbj9ysdO80DpVACl9HEAWOGA79alcMcl0GHw81G4iP1XPNG/rtBaqaH8QlLBcYkRev68jBFLFSvEz1RQaMEEtqoQoUtTuekC8YBYKbcAMPnTvSXuysNSxEDpVUbsMdCH7loHSWb84y/Nq5fyhxXWHw+N/3X18pOZ/G2+zFLi5ssDJeHsIa4Se9XWk2+saNn6v6CnLO+mw/5LLjJzRLvCaObeKXT27IUkcKRtpVi6TLJR9PHtt80XO+gIQ+kKZ4XkV2/zPQCD5lAMsrDPuCsw4h4/P+n0uPJZr8I65aR8z2XLyXHVCjbNHBV/yH9jZNK9GPLcz7vR4CJlqqXxTx4oPztSpvjHBSd5HGLQKLS7S8Aoryj+0ZkTEN9L4C7GDnzH5fdk7AWybyDwi/YFgW8jGA2TbL3Lk6zIIsjJr4xZ8K/X4wtVakGSB2I1U+NPxMLbFhz9rdHgmxjVrrhicv+BYKHkj/JoqXI1luzsPyzgV1TXtpHbAj4qqms1aWvaenlXAWwrYG3tKYgYmotgiZqL+xXC7EcjnYbwnK13WERM7xT2ltY8e062c96bTgaD9BBX5pB6F+33XXG+61hahTBayf6OuxT5LkWjCMRyRd8kPeSu6Eg/i011irUHwFnWL2PEpthUd6+BproGcgxHPENhU7ai52vzlWUjuHlDTDeIBeIAQldQ5ZvS8Y1H6i6Rwz87lWhkqzbWrgVcyNxlDWnLqzNh9d+LXExyZSO3LCjpTBxafIzaeMtHak4cdfzddBQLVakmcXCxSlOSE9mphcfJ7wT2DcK/m/yCfEH+00HnrFtlHiKlgRG15k+f46PupP1e/vm1NPV5H3MmBgdSFVLwI7AFOl/FG2yds9SaK4cD9AIrj5tSyQHfR/WVO+nGrecxdKRxvuiM+AiTdwHuLFzfKr/1LAHLyz6zl/hcg/SqdllKy/NS0q26Xt+mcXE6JrmzdvDL0sbm0rVxQIIZNe1gyR8f5t9k24ivrOlH0UFDMVGLvco6Ivt1QCiGFhDez6yufUtOviXaK9CPXoF+3Igg5oBQnLKQO7ur6RuZi1hXlef1mU8Qm+Qz13dgaafczgIMfIi23VphlZa2mKT8sm2u848/XL3USj9FWlR8eSGzg1aKGhOyUXw81UD8Keiy7tgv1mc2oLafHlZ9ugWlrOVdUTylZf70TU6EaOs2Q5le4if3Iik/+pV+7+zpzjJTVerUuIYS3krayc1+vFRO/vL8iH0PXrrVDYRz4J9Ju1wJoylsL4vTu7G5CNHQ3SrAVC4RtELfFksa8dU1QW4UZses5U+FKL4ZIJ2fqkyWlbVW6XvThpwPfm+e4WGUXddJXUXe3Wgnmn4cHaT3atfdZIFUwPT6F+XPcZ6motRQ/zxNX1rWN5JmI/EixgH73ydfmm+VWSWVuPv446LL/fOLv22PUaGFfHwwjFmAlxaFg83GHKFVQFwa4PsoOtlszIk1j/7sGpCkFzOV4b6pHTiopf+j4Jb1tAy+afHvc6n22DluTGvWchkGMfWKWq2+oCa9NK1q9QVuF66HACPLESOSi1JPdhZZDCi77Bx6i7mL9s/YKklKcaWCXiHVlz56IpVFsnc1ZiU/WvlIAb+DwxYZ/AiYYZdbZk4+zcYUvL0AAnXHoqjxSq8vAkKZw2i8AkItTDvK1iJzIUcP0HgigX+xWdtBGPlOBdns050jvnZAToHb1CLjexyd88Fl8tkZcXaLwduOF4ROxcbNf1YMEjA2BV4Hf3hUeAhD/y4/vS9PEj//ZZ4tgct/Hp+mOH1LSl+/TPwVX+EUp28Zp+b5lFyY8Jzl2CqXJjO34GsVbrVUo6wjlcNOPKG6TOVAc167VEWkYouiO7lPGI92fMI4WCOMXQfFH3rqBP7MnWdLF3ENSvpyNf+ePtO++NO0Z3PTab45nPKrOlMfMYjAaLASTf4q86ZALL7lb1H4/vvu4B28fauo4ljUIkGIbXTCq3MTOMkW+quVd886ZbzHHZ/Eqf/u4B0T8Bn7+/8FAAD//3raSPuagAAA + H4sIAAAAAAAC/+x9bXfbNvLv678+xZRhYykJKdvp7uZ6q2xVWUl1bUs6kpzu3sTVoUlIYk2RKgDKdhTez34PAD6AJCjJdrrt7rm75ySNAAxmBoPfDAYPfPZN89r1m9cWWdRqnc503B196HW6015/OrkYtprBijatzyFGTTvwqeX6CJOmbRsrHNzdmwThtWsj0/V520HnrDvZt2lg3yDKW/Z7086g/673fnraG7W0JqJ20/bdpo+o6Wi8/MdePy5kVFnhtetrtWeTwekAVqHnAV24BIKQQjADO1iuAh9Rn5i/ksAHGgT/4GROBz/3zwft03GBmBPc+l5gOUSrdUa9zuQ8rSlXxK5NPUXdjLmQ4KYX2JYn2OsM+pN2r98dnap7TtTiyERHl/2OsjoOfVuuePZmrKx3E14j7COKSLH2cNT70J50p8N256z9vjuedtqdn7o7mjZX2F1bFBkry76x5iimNeq+740no39NR93hoKUFhDCZLewiIpHRapc/XvYnl9NR97zbHndbet0j11OMPGQRBAYGgzRqg3FLr7sz8AjwwX9hJBWO3kLTQeumz4b4+O3zo78DXSAfSIApa12o/gXm1u0NHCwtai/q+uEraP5S751Oz3tn3VbdDjAKSONL77RVN180GnrzFVgN2MAKuz4FGoSrFcJ16+PxFVgfX181/g7ozqUQHfwdZm6jNu52Lkfd6eR8PP1xMJiMJ6P2cHp2+WP3vDuZdv/Z7UyH55fvmTGUjUdMBOqR6yCghGJrpe1P70N3NO4N+i1tfWgemYeG5a0Wlnms1Sbd8+5wMJqcbumZIg+tAkydvOV2T7v9Sa99Ph2OBh96p92R2uSRg3zqWt4KB2vXQXgXkWwurC3c9NxrbgwekmkZCTGFAJVz6aLd773rjifTd73z7rA9+Smn2KXluzNEKJ/vbOJdDAf9bn8yVlePAcKnJG5w0e5PT3+cti8ng+nl8JRNknfn7fdy60SepeUbznXTCmlghCvHokirdS5H59PB5WR4OWk16XLVtEPsTdcIXwcEmUFIk2kwGE/77YtuSxP/Zh2PGEBkBfEPWq0zvJy2R52fWppWc5DtWRiBYcHP7fHF+KfexbB3Om7VG3LReNjrM/NJimoE0c7wso3tRb0BmxoAQEpVr8/T0kYtqtUwWgZrdGH5p9ftkAaXXLR3njV/53oobY+XYMxA36UvRtDGyKI7CdIgtBd7EvSQ5YerTgqbpx4jRXLM4RnoVbjLiLg+oZbnZUR+dumik9rD/yaBn9ILSEvf5Ecu4gXuDD5+BOMzaHoe3zS4uhIQxeulRAbjSPqBWQZxA7+l2SHGyKcaL0QeQcpaKRNxL5GoP3P5X/yPzJcMBUy39Pqvv4FmDhPUBk1XTAsNvgCv9/EKvgBBHrJp3fStJYJWCz5pGd1PWkNrwJcvAhP17mg0lfQcQ9S01//QPu+dcp5iN5OUcZuMteeSCwszsgPcZjPy3PXDO9C4ojR4/pypV9M3vfH0rD1pRxpjRqM4RFUKTuYRq54fq1hLYqrG2vggNEtYHyXNRUxVm4AkfyfjEGud//Ess58DAuuEnIWxdQ8uAXS3QjZFDtAAFtYaQeB79xD4CJCHlsinpiDTm4FLYWERWAYYAV1YvlzrFdwiuHU9D2KzZZKDZxGa1ADX57/xnk3JOPXNs6L+P/5wFYExp3BUViKyFwFoP7dH/V7//YlkThC7/aKQlTyb0BO8uv58B7s5M97BNvoNDpn16ZtS+eFVxO3j+/FZb/hWqxKu13832EcyNnwuXSAMaLmi9xBgzvLMxbIcBER3Joxv3NWKCSuRjofLom7gx2JygEI0xD4cynL33o1b+sEn/4AHNcgpmGirrtdFtPMBvv/+e00h/4urSGuIqRX6BFFGkv+LyzMl7mfU0jfPlOSZcnldpvt6PWthHDUaYHgUDuHqis1INoxT13fQXYsPhPTvUkNOcZXrqaVv1Azom4xSFDOTafLC+jXAF64f4CGL6T6kkFgXg6rne2FwZocUDMcAY3bU0ArkfgroO/fuQVQIGLPjmBCzUQH7uzjU4Iop6eNeVZnxsghX2SjHcq6u0spdf215riMbY2zfJ1AUM2u6L6THNusFczKlwRStmc8ErX02Njvjrll0rqPQp+4SJb+PqeU7lhf4KINPjbFcWQoyPqvVF+Xq5LQVI3aiGKhgDwwoiw0t0Dd5fUVarTKCuIgD0Fz8wMNXaSQSTyLZ0gw0vRTalsd2K6W8iUthA4sADAxmVmgiZ46UXTYya+CcKYIObntHb8zD78oM7uLhQGZi5fo+ckzt6M3hd9rBLnZim8tFR9XuKu4Z/IDCLAh9hsWQLA9egYNmVuhR7puYa8aOHTiMF9m8JUFWzNJkcWLAKMu6C3qmGK3dB1LZhjt51pTQUayyFWdS/h6BMRLEKETaDjO9/njSPj+fTnoX3cHl5I+HmbzW8vCSKunJ0FLZn6bCmJhciix79MtWgqN+d9Id5/ot/xxpUvyl6Zt+t3s6lkYo0uCb6ug7ZuAiuL6HYjgn4E256uAhxa+/wUG6QFEuQKT1h9Y4gO9BRQ2kJJHSXuMuCssZZo6EEoYPKqpS2LbHmrH2P/8jgjtZB1t7dwJEOEpxNnZwsdPnSEbTR/Q2wDdDL5y7mS+Shnfy82B0FidcGKqDxrMi1YPLl2idfi83vjFH/R48w2iGMPJtBCveKTHhIiDUu4dZgOEmvEY+onAdUvCCYHVt2TdxRRZGhwQ5cH0vYzizYdnbwXF+eV/M5MJzYPInqalOmmkaxommLP2xLe91OTpna+1ddU5auRlj+LBHo0ihXRujFCSnswBPA2yRVuocdpFkrmKO0QqMYAgH60/Oy/on85PzsvHigM8kBw5I85d1s8n+uUCWw1g9aiSDKEcojJEkKTcNsdfSj/MS6qUqZXF26rZMJMfL8sZxMRgr0HdlJ0X9LGc6HA3YfMkwK8tOj7ujD90RG9YHVFeO8APaqwY707QwzUwPidkyhWRm8MAem/qmlJWPRLbTsGxsKLKvJ2t9ozTByPBcP7wz9E2SLYy0raM8ef9/+JbPHvPg2bMXzUiDZ3BJEFxbZAHXocviMXgmr5Lxvb10pnNEp9TC15bnTWc4WE4xmruE4vvprUsXnFc4Oj6Ev+yaLae9UVPfwjnP9Ow9NpGWT4MNRu3xdHh5fj5lQ/Cu3TsvLvjjAJYnvkaxDJfY2w84Kg0pDUu/EmQUMGLnaG+1rrINGXlzi0xqYXP+Wfujx30P6H7YcOdQ7XeeL/sM/C4tgGmasNt2alVj9LXGYicLhezzttryakLoKIsKIAkLIJneyAES2jYiZBZ63n0uBK8OJnYtT0otzeoIRYPqMrFPYmEw7j7P9lLzZoueIw2Mzh4+NueSKyw13q2L3YO9CG59MEaAg4CesD/2a7dc75yGrPJ2b6bt6qtZ1TDmfRk48Le//OVpZJIQdbc0csA6RnaI0eR8/GOyOXwmNk27d8guxPEC/kX4zEM1bUHpipw0mzdvSLwPTsxrL7g27QAj89b1neCWmD6iTeuGGNQjRroHbdiei3za1DcP3YuOmhzfm9bS+et3TRVROYLS6y5pjy7++l2DLeoU2w9/Hnnwcqs85WD1UacCapLQaYyxsuiC+YRHUYwqmM4W49+I5biq13KiJ8V5dzadWa4XYgSvGcr/9RBsFv4bs/E5GEElwfT3EHsFB5qyvbegMppXIs2j1KZJNBkCGKMYBJ5AbeayyX1rkSXfnu6y9X11TpjVm85cD/Hh1zdHkVSPLNxlFuZtjuWyJGwn4Wzm3rX0zetiS+6dknFp1TV988PJd5HWAHnxx0/t3CtSnBu5cxYEAcVgghHnJNnSntUA108q5/r7+MMVi12dIJ9Xjq1wU6WBSDoWZTCihqDNwsc8q+yXvA4idV46DsKPoJhSdgIfSRECC2UYL8B4IXFehon5EG5f7MVnTd4NBPWugkWWY6bUekO2nHSasX9SYRaxySQbg/lF9+Y4AtlziGxUwhyJzeI1N4t0f5tJnWTSxfgW25WHt9ruyMr1NdCI584XVGvkDOIjaHouQX1ovjEPFQto9r8S8ZetunZ7SySa8dAWcu980Hhio47Wlhen5E5jKiy0zPZVc7F/RjiNz8ojBHppVHKJ8KR30NaZrJVzBvK2eWsx3NzI537STdv/imESJzMUah0ivHSJ2JpXaHgvZWa6lBOEqkn2KHxWmlgepgsQ/m8DaUhdf94T5Td9ctIxPcr0NNCM9ZG2Dd4V2XYJERl1DosELA8jy7mXk+5VbLwSR178gMI1Sued689LJylyIdm/LR/4DRif4WHpuap8YJrY4JHvA1N+uTO3DnKJZ12TplL9JwVD2ZbhE5zxEYlHff55SperVuWAqfss9xFnfGpPy/hsyqxFGugbWZdRVcpG2o1jiJpywpfXn+9YaFImL1bMVdKnNPg6dh8dpYFCfkzEVHsQgWKksT6SpshShFoKebZNo4fHdXutFdZisbC3dNVRn1pNIfYqabAWx2+fHzF0RAh06bguvM3Olye50S5ov9QZ4yfmi8aX+kfUvcLYfNHQ+cnEum3RPInnzyVTOxtdjidsjVBMRTXgeaox2Zm/bNX1bxo5P7WPR/wdFhRV3uj111gyPNK25LzM17GdnKaTMwEr1z8Lr9HTQ+19I+1Hh2+SEli8dhNeo68U2CZK2BXNyt3mgjBl3CofSn9S3CpbQonBkgkwJo31sTr+Uw+3SsQ94r78KHzV2C87Q7GNt0rZK07vVFTfEaGVuv3/UdojorREi8ox+ypBWj61Uhq1aPtMKQVlMYA+LibTCkGZ9tCobP8QBko3Ih4ZlTxgemlVqFjd5E8ThciwHEcgmTscYCuLL/goKe6GsfGXb4Oldbv/nIzanUlXVGbACQpCOYfJi5JbbhwnC0n2EhM1KW8n3TdgnKeeRZfJmqYp8Ti5GLb0TYkjvttavdm6dfOzxGIz7kDsuSl6Uy1S0vLuaDQYlbP3O3pRIz5b/MP2poXjaKbq0KaKQRna9+9MuJi4ExI6gbz+2iEiW4qV7ayZbb+pSMinNattJDnUVtgONvl+sDq8KoThIgY4OjGi4vkhvg1SzpYxqqBhREKPtvQNR0mplDGsi9IaqL1qJpgmxzjJmb2UwWwybY4M/aR0iE5w/KHfnUxZmdjdGCfz9MTQVUWl63CqSpU3clSVwRVmSBA1oXvnUhZRmJUxBT9i0e+lRyr0jYroU+Z1SVFNfSP1yKe2UjWF0woSmXQ/K3do0bWpl47WM3cG+hG/i7Rc0ftXQK0bxPeVS9fTI7BIcq4d1pYXIhMGdIHwrUtQ3O6I1aELJMprcth/6mJhsmriUcF4pGbixpEc9Yor8pP558lyJayZaz6vZH43lnlXOIrdsSZTbeobmQzXbzmjU2RV0mh6/CKn0IqLr5xrcQkzvahUF/2DYSQocZzzz/HRyrhWUqfZnB808kdt84Tjc9SVsyGFpGI7/qSB6CyJ0VOgMoEk189ycrM21MJzRDOoU5z9/tZ8EZmHiuunsX65kXcvhi1NMGCsUytJNs4r03xaYQMh9mAKI2umRJP+ooqdBel8RdlUczWFTlcYGbZlL5CTaDC9F3JSoTlNuXeo2rgQXVz6bO3K7/+JHlyfBhmH+aMuSarx8936IbpgPq9IsLAZnu2E6/mKsZ0q1tFbKoot7GRWTpInBApnUfLBnNBRdqM/jeeOH3ISRLFkTN2LvsmHTxUTKWGbYROsLGwtEUWYJx0qJGILKW4Zc3eNlBdWMrHkAKh8f5VzWdJBJavp4wy5e0tP4CID6q1vQ+xG5M3W9lH2rASDhLLAfPGXG62msl5GR1ocbqpljSSErzLLx1ta53I06vYnmenWswHa4Q3KI7nOPIIIDift0ftuRjzeQk1YJmi5RrgTLFcW5p4+z8uJoR2ah+ahFjEDy1GK1Gke4UQ8yVlAmclSPxGLOeb86QYs7nbXAwzot9DygAaNxKlcWwRJRAoMlb1SYaxMhcupmpvbTJHDQKn7/I7M17DkqndK9rLf5IYbN19VOvMrk4+hIPWV2+VnE4ogGq46/d6pi4liwSC9wFR10FNRRzpOlStVEM+ef9pKv1Qt82T50qiWhYHSEkheSFfcSvvyBb7Z616a7xrxZacnXExLL7D6AUgUIXufBlYYEeRTmMUZDn57Kr66CvzuajpxWMx3ZH5nHpkwWbgEyCIIPQcQxmwGr5FPQ8vz7jXYuv+a5fTKS8QmRjPbd5MAD9KzmpZNjKXLOjL5KV3kzBE/oilJ1Vxz5rJkqFQWB5H8NKkh6pmU9RAbfX6fVhyD3oM/ftC5YJiKnKFYcVnerXVP4NeQUAgJgtuFxd958FxCEb9GXHg2CEgAtwicwD+g4pUPGgC5923xDoftu1/5LZZMX6rHWPo95ZX9+L2Sfo+neBirGDEzAJv5Ges6CKl4PO06pHBr+fGrJRgxHahfTblduPYCMPotdDEi4Mavmaiey4Hf8b2cGOf2eCnnD3lxpur5m+qXaFKD2esJmnh62wvLn3PTizfe/tPef3nMAxSlt0VUj8LU9ogGMyzkaNIbiYs5CmjCSwZNijchkkBmf1IC5SpIyXsY8bxxtqSh4n5UC+ZnbC1he8jCzDqWDNGQL+b6rfAMa4RhYa1WyDfBIiRcInApAYw8K4YBPoCuz4FijeDcoohQ+PDTaeJdBO4tEIQ+tfArCDwH4VIhnX82QQ7LlOidl6j5IgfeUPUKBIO2xHfF/SZpkmvG1md3tUquGBeefVOYXwWKJl5iV+iTrU5KCdgnpylls8rlIL9lvjJKcxa1r2A7jxqi8gjlMz87M6nKnM+Oa1aJns1i5ju7UpW7vy6PZvFi1U4GVQHFA0wD3VFs2fQsvEY/xlFQYQPh5o3szeLTKnFReI2S/VixEX0sF7tkGr/UGZe+1gp00826qePilqZ/p9UKNeLNVZ4LYHFHS98UehX5XBlY8/0ydGVeszyUEn3mp7e/R8oMTcVQpNXUtiXXrjKkeF0s0oGJW8u3zNKDu9OAtYfQ5TTjIxOxFTDPSfPH9fAM8u9eJq9nGi9UBTb1jBflSVfQdGnotyg3nf7ZZlG5uTwCpfvMBXspnRGW0nSIIpsWzfoVlGm8AoukhzCAV+KKZBEqP4ZAA/EIsIWpO2OqFY3zY7hbLdm7tYYfOGiPzPbjD7Hm7bUs8953jh81FVKnp1WQz4soJ71lS9u9hnyYmPKTxqVLX19DUFUHlaLG/5lMde4oDIotn8wCvGxp5Iv54stzQ/CRROhfNDAMsghus5rIMdj0IszNrBWMf0p7NAxCsbsyskCl9Zr5nPzcB+mZZmanMlBUltnUK+taSh3VCuqtgJu8sHAlHpKqbsOwq9SmuPbYylN+F0DhbmYWC77L6d2lykqk3Y04foiv2p4JAdu+w/5riIO7+yxyuxxPBhf89h/z5u3Rv8qPxpSryE/FJJ5uGwlVHZmGQM2QsHVVrAKGhSegbprLkb4COyQ0WCYNdkgU5V4dmsaby1N3NuXHj/15i/n4Wvm03S666mF6lNur7RkfVo+vqQjHNFD8qH42ax9xuW0Wn1NS6TOryJ8JyTS6c2hVhxb/MIXs5pYbTnleC0ivBB3Vq2UF8NEq0aeicfGtq3jXvnqQtOrg9isfO80HSqciUEofB4AVDvhuXRruuAQ6LPx8VFzE/iePV8oex6VyXZG/Ss3hPg0AR+eluuWOch8tmHQvhnwx+W40uEg7bmn8DXXldwzKFP84a69SWuyRxBpnl7BRLScR/6LFCYjH2HnqxA58x+WH8O0Fsm8g8KHgISDwbQSjYZIKdHkGB1kEOfmwmyFLvR7f1lALlbw+qZkaf38S3rbg6G+NBs+Qxi9hFbqvuHX9ByNRkckCFFeGesm24cPQpKK6to3cFmSrqK7VpH0v6+Vdhdes8Jm1p7hbaC6CJWou7lcIsx+NdErCcxZMzZGPcBUsFHbmK62IPwpZWlGWKipT18U54RKwqtaMLk2Rkc0wJk8JGYtn/ktclNfdIfbYkg/dtQ6SfbGPvzSvXspItv54aPyvq5efzORv82W2IWa+PCi4I8NXmbLSXxQvZa0rbEvhsxRdtP4v6Kk81Q4qedeAL3BXGM3cO4Wynr2QNBCVPUrpPtlGQffbb5svFG3F6HcFMiD5ses8VWAr8iJynkDVwFZjhMo4nv5SXyH1cFK+ulZxGUSsZZgtp/cFe0trnj0V2znvTSeDQXpAK+Osd9F+3xVnt46lFQajlezduEuRy1I0ikAsRfRN0kPu+o30s9gwp1h7QKjK+mWM2BSb6u410FRXPI7hiGcfbMpW63zdvbJsBDdviOkGsUB86usKqnzDOb7NSN0lcvgnpRKNbNXG2rWAC5m7iCFtZ3UmrP57kWdJrmPkQv6SzsSBxMeojbd8pObEMcbfTUexUJVqEocSqzQl4e1OLTxOfiewbxD+3eQX5Avynw46Z90q8xBTHCNqzZ8+x0fdSfu9/PNraerzPuZMDI6WFVLw460FOl8FDbbOWWrNlcMBeoGVx02p5PDuo/rKnWLj1vMYOtI4X3RGfITJuwB3Fq5vld9xljzMZZ/ZS3xmQXoxuyyl5Xkp6VZdr2/TuDj5ktxHO/hlaWNz6do4IMGMmnaw5A8L8++tbcQX1PSj6KChmKjFXmUdkf06IBRDCwjvZ1bXviUn3xLtFehHr0A/bkQQc0AoTlnIncvV9I3MRayryrP4DBPEBvjM9R1Y2im3swADH6JtN1JYpaUtJim/SJvr/OMPVy+10k+RFhVfVcjsoJUu2hKyUXz01ED8meey7tgv1mc2oLafHkR9ugWlrOWhKJ7SMn/6JidCtHULoUwvwcm9SMoPeqXfMns6WGaqSkGNayjhraSd3OzHS+XkL8+PGHvw0q1uIMCBfwLtciWMprB1LE7mxuYiREN3qwBTuUTQCn1bZBTEF9UEuVGYHaGWPwOi+B6AdDaqMhFW1lol9qYNOR/8TjxbjqLsKk4KFXm40U40/Tg6SO/MrrvJgrGw7NG/KH+OV2EVpYb652n6irK+kTQbidcuDtj/P/nSfFOafJW4++BxEXL//OJv2z9UaCHvHwxjFuClReFgszFHaBUQlwb4PopONhtzYs2jP7sGJOnFTGVx39QOHNTS/1GAZT0tg29a/Ntbqv1zHjemNWu5BJ+YekWtVl8+k16RVrX6ArcL10OAkeWIEcl5qSeDReYDypCdi95i7qJyBkA1typJSn6lgp40XLkHTaSySEZXY1bC0coHCPj9GrbI4Me7DLvcMgP5NBlaQHsRCNQdi6LGK72+CAhlgNF4BYRamHaUrUXiUPYeoPE8Hv8as7aDMPKdCrLZZzlHfO2AnAK3qUXGdzQ654PL5JMy4lwWC287XhA6FZsy/1k+SISxaeB18Id7hYcw9O/C6X15kvj5L0O2JFz+82Ca4mQtKX3ZMsErvsIpTt9ynJrnU4IwgZxl3yqXJjO3gLUKWC3VKOtIBdgJEqrLVACaQ+1SFbETUhTdyX2eeLTj88TBGmHsOij+iFMn8GfuPFu6iCtO0lep+bfymfbFn6Y9m5tO883hlF/DmfqIhQiMBivR5C8ubwrE4hv8FoXvv+8O3sHbt4oqjkUtEoTYRie8OjeBk2yhv1p596xTxnvc8Um889YdvGMCPmN//78AAAD//1yZMCV2gAAA - 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/CustomData b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/CustomData index 0d32c08873e..480c9cbef3b 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/CustomData b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/CustomData index 0d32c08873e..480c9cbef3b 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/CustomData b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/CustomData index 0d32c08873e..480c9cbef3b 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/CustomData b/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/CustomData index 2a5c202344a..854148d705e 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/CustomData b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/CustomData index 538cf658603..9da6bbd0202 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 | - H4sIAAAAAAAC/9xc/1ejSLb/PX/FHYYZdUaSEG3bsZfewQRtnvn2gNjTz3Y5GCqRkUAaCrtdzfvb36migIIQW9vZebPrnj6L1K17b33u16rC+f671pUXtK6c+LqhGYZtfjAtbdC1+rZpqYZln6h6X9kHOtbtjyY9Wx/qlm3pA200sZRX6ciJ3tfs96rVfZePHKQj70b9nv1e7evDyW/qqTa0lNfpgKH1NdXUaggOUwJ1bNn60LTUfj9n+ks61Bt1zzRjbbTTLg33Ru+H/ZHaK8bl0viZ9qGGplOiIUoQunx4rzTMYdRhIA1Gxx/otL5uFjh1GFAD0z4dn24QfcBxWFsbg607GlqqPtSM3joJA86YDLvrgwy6s0OTEAz14Wk+ttcuxta02mOgnU2ONeIWw5Fln4wmw56yx6DSB6c10/aKaX3N4pHa2y9bcXBqjyecqnuv1pbateroDtbpDJ3ouE66GT3qutyiDtcozzXD1EdDWx+eq329p+wxKLtDfX3d+3Ju6LEx6tk97biGqLNOND47tdVejwUcQ29kqJxJNMMYGco+gyeNVG4hdOJh5kO9sTE61thbpvFoYh2TVZLVDdOhV5zt1bFum5pxrhk8gVxL0Buadn80OpuMGVmnlkz9n4mhrRNnzqFaan0sHLQ5imoQHsjcYNXRD5gi5+96VdserDvWmuDXbS6I1keZ5O7EtEYD29RUo/vO7o0Gqj4007UdMgan48n6/MM9btDQiWfxkXG4vz5cXd/hK45GO9e7mj3uT071YYnRQUGkD09GtjEa2N2RYUzGltZTDlk4mKe/bZTzS3udhpPwi1xk6Z6q9wvr/MLl78m4p1paMZRFjqkRxz/XaVyZXUMfW9ROhqb2Ck5yu80JIel0Mj411J7GUXBqjCfGKXN4ud3Jg4QkBEMjZlDkNsO/q5u2apr66dA2RiPLHr9XZFleG6P+M9aMgW4STRVZZmzHKk1d3dH4AyVSZJnnPB73P9hj1TTfjwwabCf6qSLLlcDNa8iIhYUsZxktTWNr7iPLr0sEo7FmqBbBME0NspxlL8uoGfwFGilYNChNS+2e2aeaZavGwLZGZ9pQkbMSWiUZatb7kXHG1jJJGStyVlGr5ObkeKhZ9tjQTvTfFJkU1Twojyd6P8tlMqmLKSjv1bHdNTTiLikYWVXiR/ShOTk50bu6NqQecWabY7WrKTKpUpTa0vraeGRYvVLaVOQszxXjmcOnw9lCDEs/UbukXhmaOiBVMuOjyFmOqyFizBSZpLa08bGsMXHy3z7YXZXgdq4ZliJniY1FBhnSDMtU5IO8OWFqm1qXgGr1Tft4NLJMy1DHeTnVftO6Wdzn3nGQGbinm8dqX7P1saUe9zVTkUlaS3OmMTEtwmHdubLk1tNNMss2zXeK/DrzeEMfqMYHe6h3bX3MJVX5NfN8fWhqhmXrg55pG5ppERcl3mdMiCZDa2QP1OFpX7OpTor8ev+p8070vqUZ+TwWRj0ChLZh3glJeBV5B0+dV5H3mnNeQyO2sA3tvye6ofWUTpaihiOaFNRTzWTAdLLcZA7VsflulGdDvmlsZ5ExNvRzMkjqJ2kFiFd2snRFXvLu2mnvZ2GTt+sD1TxjTNlY19B62tDS1X6abHu1PXE7i0DSzlRbnU77ABqNohWhTRXRhmn/Gipj5D1BlVR/W1Y67cMqBVd836vmQOm0f3mUyZ7SkduPUuwrnSx3b6B4pXTkDBXWh2ROnvenmnFOAplEo36id4ktjJGVJlBLPVU68l6j4c1g5gUutBCegoTvlghmuz5IgbNAIPwkRchHTowEkJaRF2CQPiUehs7blotuW0Hi+/AA8wgtQfoEW82tN4CvUdAAABiZirgdhxEGKaLsWzk3Msf5fANbCwdPr7fF9i60/rGt9+y+fqYp29MwQmG886D3lO3mTzs7YmsXnB24h1QFHCbLJYq2nYvOJTgXe5c7bwB98TCstnaY5Mzsz9Qgd5ZnC4YHwBFILmwJWzsN5MeIaoKm1yEIFdFBiGEWJoErNGZeozE5ngytiT0y7aE60BQh/V1oDFSDOFUxwF4UI7RbrA6Tl0KDli+6Ay0IindCg+19lFYSRy0/nDo+3TTfJFdoiv1GWsjTUfLeDac3KGqgL0uCJm3UzhVBvC/augzxI2UllOg00+KlBLee6zlMQG4muSnvNWVJzmYOz/Wermas9YF6qtnmOzUTmb/gpdXNIW6eqXm+ksT7DYzXuHALsz6MtcpayauviFaExTRqLrxpFMbhDDen4aLl3MTknzRfJoUqFbYFU9LxpN1umia7g54iTImXBXBzGDe9EKIkAIkE5q3nozlyQZKiBUhSgLB0HcYYJOmzh6+lIIal5x61llE4bcmtIG4tPUK8CBPi1ndLpFx5gbsbR1OlFS5xa75Mdt0YK61FkP4SLrEXBrESEbrHZjpTSljMzl6UOOSLZH6wts7U4eoWGCCssLUtPZc93kKm9lGmcv6SKXDEa0OBEhqkx+6q3Xea3dMNpXXrRK2pM71GLYfMi6bX3i2KWw3SL6tD0qBxxFEYYkKXTmho59rQInvC01PaYmX8/HDecv6ZRKg1yH1BJb83tS8YBTHRptlNYhwuzGnkLXEL3aIAx61Gd2L0yf52PLGUFl4sW9Mk8u1bFF2FMWqGCW7Q2sBThJETr1MY2qluWsYH1uqm7T3NSYS+NQ2DmTdv3jkLHxqNCOHobrpwbW9mzxzPTyK0vQP3NJuRMQ/Fiii/gc+Oh+3YR2ipiJ03gL0FChOsiHtvIL72Zhh+/LHyQFnMwgg88AIQt2P0CWQQGdOdN+CGlIT8MHYgZg+CeP/rSiC8riLk3MDDA3zMqb0ZXIDogYQ+5fzgkitF2Q9Nx9oXNE0wcuGjIP76USATiZT4TYk0QjiJApDzl3lOz37o4kEsgMhHZx59dMOAqwKbxa4K0IPYD8ObZJlDzsMsczATyEPs+DYPfISmYeQq4j6dGmMnwnRcEbddByP4+Yc4LZCfrz0fAY4SVEI9kw5SzjXDX6IqKm2CLxGywRLTJIpQsEFqYartbZ4QJE7XnR2Q5gjE0uo2G1OwCB3nL6VpESLB6e4+a2XE65ErPO4NzMSb/SA3/qOQpGvIXeNZaobR14CM0TQM3FgouVgR13YQ2jF2cPxXCHAS3y8N7z8qZjm05gjb2ImuHN/PUcJOZD+GVEpOkUoiPwvH1NTiPTd7lQEubICOo63A50Qg4X/OKAmR9hToOG7fCF9mrIM2cWsfpFls9m9BpM9hocxbELnqBZ23P8olPkStCxD/Dt8p0IbLOmVo6Di4xKhEwEXgSy1rz6JwYUdo7sU4urNJy2ST0vhCi5NZs9B3UUTi3ovSLVUGkrDzn+gWBDZYkm0h7xQMBtJ1MZCltOsA8X5ji7IibsS1OC9zI47RH+5GV17gRHdf9SJG9ogjMYqlg6+rzpTJWPcnblLFp8oCK261wbfKc8ruRd1GmlVk1joNdbrNHlNywLJI2GTGNT+s5fx1fywh+Ue75DPc8quuWeOej7toZcIGj6XbiJnnF309ffPE2k8mpv65z/zzVcnneF5fTWQ8cdnVLqijiZk0uLzMU1l9FuNZvTCN5T1JbY3LVSK2hwfACJWrXXE09lepeZRgFkZlqz9i8MLIe5R06dwil+3v6V526oeJK3mBhyVCGzcpBaVNDwNPPhFnyPisBBApBTEiM0T7Oe1iznTre210ssVZ4XGv+DO6RUqJXJA8EFpEvZYrFAoWwVHo/PYtg6OxasR3MUaLKSbOS5v35zXjEN9OSR3IysS3tt+5GuA6aBEGUoT80HGfMoHpDSJT5U/o4nPZZPuSxIVoSQpCaenMSWIvh9/vYRIFjk8mSUk+4ZvCqTBZjMPlv529iNJ/prGejarrxc6Vj/7tgGV6/zWxTTMMWcrzcH0pmDTgpBSkvw4gtyiKvTCw5zhzM4xiDIK4TW96ZrD1Q/wx2AJB/FWAB2B3SOfwANfIcUEKQN4RQFFAEGWhsWoU3qsFxAfUwDVLyXwtzYPcbsMr2GuDmK7H0NJbVNNSrYmpiH9v1Kc6uZzk4C1UzplFWUppm344bxQAlwWAFCDSh1RgZm2cDNMw8V16VXWF0lMl/kysZAkGrTeD76DmmAnkDllp5xW3GBSkkSI/SXxK7cLVXcFisy68NXppSFJzcKnam3G6+F6MpSTwcAySNCNbBUlySveagig3YxTdelMkVBQu1wLIVirKxMU3gRkulzyYa5nvSWwYLePD1o0Wtyjqhoulwx3bZ7eaqiJup50I6VunCQbJBeFngXTa8k6J9Dgn7WwivbggHV7Oe8XCIX9zvBJY115q+EgoITdnzzEAfm56n7pF/kfiMAvBc0iFX3vzaxTj8zSMFXFbPzGVfA+SylgJueoiZSLNOo+oLt6Xma7qtM99bdVww88BSac9dDW+mVvhCd9bj89O00tXFtzk9/xKupO/6umG1rVGxocs0S5uXC8CaQliaThtwpP42gXxvjSyyjP5WtQRHzpot8FZYmmOMGQKMxZEvZWSPjPVVj+lgsIl6UydJaanG9k8trhHqkb5OPhNA4De+ZIpCsGPraB060YcnIvgJ1Qad3kzB4nt1slKJYcEbhhNEX3pollxdUJ2PWQhfji9ienrDA4phN7yZn50NEovJo+OFJ5L6LsFYtJd9QKq8bXCRRctv6Elar0svUmTJts/EMArOLBHwrWxaswR7o4najS9zj3MiabXiridpG3vYqfB7THvyeDu7opGpEN+OdgXiIDKSLQg79f3omkcpcONtTrLRhduNkpzjxerxuBgn0+xRJXtQvUdXmi9THmDtDaX47zYYAc2k6g4k08djR3t0GMJmUUGO46L0Bx9Ubb+0fz5Yyv9d9T8WdwqwVZMX4HyvwR8fnKuM1RLTxv4OphZEYi2fjiPbRza6aVuRV3sxDc0jorrk3QgpSYZZeiUbo1+2BvuNDhCWpgt/mZJ+OEEfrCaP+wN2WEg8dtMr6yrYFICd/NUSvd7HAZ2jCMvmCviNvz+iXQ+ReMmSU40B8Ijxs5iCUCTb6bSSlgjHS1R5JBo011CyhSoIWQ5mL4R5GZnb53EcuIbgg6kYgmWNYw0gmQf3SIfQNCDWRgtqAKOv047QHHszFEqlBRRH2HkHoH40wa+Y8+ltO0N41bd+NZ9DtgRiPnzLg/OEYjcb7sZHEcgsqfdfPmEB3vc5VZ7BGLxy262tCMQ2dNuvoKMcuy5u7na2UvLc1dpjHAny+I95xf0SPR+/euHlXhf9uJVk8xqFIlTIMlNgO8UClA5H/Dpj2tvrkkDZMc33tJOvyOy3cgjvXzRZ5PM/iU9MQ/dO0XcLg7xQHoHwgBhx3Wwc0SvvwXaTC+j8MsdCD8JIFxjvDxqteSDX5qdV/tN9v+tBZvV8oIYO8EU/d1ZehLbRSiddkeW2h2pLbOY40LtW5ZKF1KsNWuWBJEsiXQ1JBARbDWn4WKZYNTEzjzuezGGB1g4y+0Y+WiKt5u0NjzQrc22YN54y9Nl0qOA6WQZvi+8AcETdnZ2LtqXzVvHTxC0WiDMHD9GQj6TApVSbpUuGDgdBc4+rDO1b5Ir5CNs09Y5mNtTFGFv5k0djOwoxNS7/2MNx0Cot11UY7uLS9Ll8paj5fImlhgrieEpMTwlDk8pw1PYgQdITVlrK8ZLSCvpwIm8AEWjiH6R1PeC5EulRIVxVklZkQxj2ixXPk4kvfLDQx0B/43iOtX6Z4rrnUH5vNir9uENdOv4Y2d648xRjzVsE6NfWQdtCe7lI2nFLUYKQBCTyK9pR4BwBSFCceJjRbwnPQH3SUiaB9PRRuV8gtczBT9FOw25//rENAsTvEywIm4Th8g8kpgsvWUjqqUkZb9j5mRDDa5b8mZQa1EQxJFZ3rfGiRsCdoMZMK1Ih/v7J9Ldpvx//wSfnTgbpUWwrOdaX5jtFjKGr0CGg/a3MKXQpQk/WZLOxEi/m61YdJmaXKEnMCWHFcRO+U22TRTEPYGdtdC/1FQE9vVMmbwffkZR14m54L0PY7qdJHvSiyP6FfDR5RZ59gnx0SULtu9PwgjSD3h3iUHEXDh4MciHzfY+OIELQiQftvcF8tLx4xBcNPMC5JKND8kLYUAqJy2Yu2nLKWYfD3sxTZU4zHikck1v4flO5N/RHVSnnQnqdJrt/SaM8DWKPnsxqmPUZCg0iyWw6KXCgZvh+J+du0KDDD4Iws/c7CKqa0DYa7ZTCG73mu3nIMCMxiNAWXzN+antKuGd7U4y8zJnWrEELTTdPJPocZOwyJ1i1fwo3JI32TnBR0HYoRUiSPzaVMI73Prcuk/K6lJexZnfe/g6THAvxCUvzRjTU0vkwlbc+thsteZbpQ3iE9edXCUBTpoRx7gQu3p81dyKN8zP1s6HOsvjjDj+l4d8KcGUAcmCvgzrH5Uo2F/WZCcvprK902i81DOFdIu9wSK8voKLZk7i49wCL5bdFO8ZxKsmy+fxeedxH0lx9B1cnLrFyvZG+VL0LSqU+qqSLKIa0Yy2TKURYWenouQyQrdemMT9P1HZWpklpWspeOVJMbjNci9pKe7LaF/8eklyI3eHU+ecPyvbgnh/m8VAwT6//66XVQ/aHymzmij/JW78eFhtztW3/xovubjMLLyO+O1GjJ+Eb45tvqg8Mw8SH3tqNL2u5OZ0qd7CmSMrPEbjhHR2aYZuAHz/+yfaQqzNhlkULujQNAywQ8q2TnjETdBn0C2/u/Aum4sqh/MO6QSCENNw2M1UxtcO3k1PXdmbpzBrrHtNZUmZxeoU2ZjkvpbgNsigXlEj5yWp7Klp7CUqvTBhPTdZDSZ9S7fpf6/gaV79rRnq2YLyjWCakjang2ehnQX+U8P+aWqzG/FyA7Z5I531YOxUoDgl6NT2X+xe6y/WfaVbFW8Gj+VeQF+8GLPdx5zsOK4RFPT9PIVFiO19wnyXtZG8LJB1YfBHdH6P9FmcFsrLyyLHTQApKiozvVXlRlcCFDrBjz/mNSj/k22ikEBvpuqHKuwamw9avmWJDP2vru3PWRerVsQ7V42G47pn6XHfMHRR37lC1buuvnqs9W3TMvThKXdGl36z4IEg8gQC/O1vfwNBzP42fDjqaTYlMAV4C8Ufc3fe/lj/TQY7fIQgdBH4RB8oSUg38hFy3DtSZWIU4F1Sna+9YE726o67/vlIuW1j94quS2bUScAhrGsRN5tNoTiwpedmtausBkUNETFMzevVrnjPK7KquRSt41bSntvqRmgR3qKXmBeBsKbTCyz8dChaVbGtHAxeuQrR7p+kXFXsk5T7/9EtUy31iO/faf2xZpja6KTxfwEAAP//TkMp6r9OAAA= + H4sIAAAAAAAC/9x8fXebSLL3//oUNQwZ24mRhOw4ibNkB0vY4YneHkDO5DpeDhYtmTECBRolXkf72e/ppoEGIceJZ+fObvbsGZmurqr+1Wt3I/38U+vKC1pXTnzd0AzDNj+YljboWn3btFTDsk9Vva8cAh3r9keTnq0Pdcu29IE2mljK83TkVO9r9nvV6r7NR47Skbejfs9+r/b14eQ39UwbWsqLdMDQ+ppqajUEL1MCdWzZ+tC01H4/Z/oqHeqNuu80Y2O00y4N90bvh/2R2ivG5dL4O+1DDU2nREOUIHT58EFpmMOow0AajE4+0Gl93Sxw6jCgBqZ9Nj7bIvqI47CxNgZbdzS0VH2oGb1NEgacMRl2NwcZdO9emoRgqA/P8rGDdjG2odUBA+3d5EQjbjEcWfbpaDLsKQcMKn1wVjPtoJjW1yweqYPDshUHZ/Z4wql68HxjqV2rju5ok87QiY6bpNvRo67LLerlBuW5Zpj6aGjrw3O1r/eUAwZld6hvrvtQzg09NkY9u6ed1BB1NonG785stddjAcfQGxkqZxLNMEaGcsjgSSOVWwid+DLzod7YGJ1o7CnTeDSxTsgqyeqG6dBzzvbqWLdNzTjXDJ5AriXoDU27Pxq9m4wZWaeWTP2fiaFtEmfOoVpqfSwctTmKahAeydxg1dGPmCLnb3tV2x5tOtaG4BdtLog2R5nk7sS0RgPb1FSj+9bujQaqPjTTtb1kDM7Gk835Lw+4QUMnnsVHxsvDzeHq+l4+52i0c72r2eP+5EwflhgdFUT68HRkG6OB3R0ZxmRsaT3lJQsH8+y3rXJetTdpOAmv5CJL91S9X1jnFZe/J+OeamnFUBY5pkYc/1yncWV2DX1sUTsZmtorOMntNieEpNPJ+MxQexpHwakxnhhnzOHldicPEpIQDI2YQZHbDP+ubtqqaepnQ9sYjSx7/F6RZXljjPrPWDMGukk0VWSZsR2rNHV1R+MPlEiRZZ7zeNz/YI9V03w/MmiwnepniixXAjevISMWFrKcZbQ0jW24jyy/KBGMxpqhWgTDNDXIcpa9LKNm8BU0UrBoUJqW2n1nn2mWrRoD2xq904aKnJXQKslQs96PjHdsLZOUsSJnFbVKbk5Ohppljw3tVP9NkUlRzYPyZKL3s1wmk7qYgvJeHdtdQyPukoKRVSV+RB+ak9NTvatrQ+oR72xzrHY1RSZVilJbWl8bjwyrV0qbipzluWI8c/h0OFuIYemnapfUK0NTB6RKZnwUOctxNUSMmSKT1JY2PpY1Jk7+2we7qxLczjXDUuQssbHIIEOaYZmKfJQ3J0xtU+sSUK2+aZ+MRpZpGeo4L6fab1o3i/vcO44yA/d080Tta7Y+ttSTvmYqMklrac40JqZFOGw6V5bcerpJZtmm+VaRX2Qeb+gD1fhgD/WurY+5pCq/YJ6vD03NsGx90DNtQzMt4qLE+4wJ0WRojeyBOjzrazbVSZFfHD503qnetzQjn8fCqEeA0LbMOyUJryLv6KHzKvJecM5raMQWtqH9/4luaD2lk6Wo4YgmBfVMMxkwnSw3mUN1bL4d5dmQbxrbWWSMDf2cDJL6SVoB4pWdLF2Rh7y7dtqHWdjk7fpANd8xpmysa2g9bWjpaj9Ntr3anridRSBpZ6qtTqd9BI1G0YrQpopow7R/AZUx8pygSqq/LSud9ssqBVd836vmQOm0X93L5EDpyO17KQ6VTpa7t1A8VzpyhgrrQzInz/tTzTgngUyiUT/Vu8QWxshKE6ilnikd+aDR8GYw8wIXWghPQcK3SwSzfR+kwFkgEJ5KEfKREyMBpGXkBRikT4mHofOm5aJVK0h8H77CPEJLkD7BTnPnNeBrFDQAAEamIu7GYYRBiij7Vs6NzHE+38DOwsHT612xvQ+tf+zqPbuvv9OU3WkYoTDe+6r3lN3m0709sbUPzh7cQaoCDpPlEkW7zkXnEpyLg8u914C+eBjWO3tMcmb279Qgd5bvFgxfAUcgubAj7Ow1kB8jqgmaXocgVEQHIYZZmASu0Jh5jcbkZDK0JvbItIfqQFOE9G+hMVAN4lTFAHtQjNBusTpMHgoNWr7oDrQgKJ4JDbb3UVpJHLX8cOr4dNN8k1yhKfYbaSFPR8lzN5zeoKiBviwJmrRRO1cE8a5o6zLEj5W1UKLTTIuXEqw813OYgNxMclM+aMqSnM0cnus9Xc1Y6wP1TLPNt2omMn/AS6ubQ9w8U/N8LYl3WxhvcOEWZn0Ya5W1kkffEK0Ii2nUXHjTKIzDGW5Ow0XLuYnJ/6X5MilUqbAtmJKOJ+120zTZHfQUYUq8LICbl3HTCyFKApBIYK48H82RC5IULUCSAoSl6zDGIEmfPXwtBTEsPfe4tYzCaUtuBXFr6RHiRZgQt75dIuXKC9z9OJoqrXCJW/Nlsu/GWGktgvSPcIm9MIiViNDdN9OZUsJidvagxCFfJPODjXWmDle3wABhha1t6bns4woytY8zlfOHTIFjXhsKlNAgPXZX7b7V7J5uKK2VE7WmzvQatRwyL5peeysUtxqkX1aHpEHjiKMwxIQundDQzrWhRfaEZ2e0xcr4+eG85fwziVBrkPuCSv5ual8wCmKiTbObxDhcmNPIW+IWWqEAx61Gd2L0yf52PLGUFl4sW9Mk8u0Viq7CGDXDBDdobeApwsiJNykM7Uw3LeMDa3XT9p7mJELfmobBzJs3b52FD41GhHB0O124tjezZ47nJxHa3YM7ms3ImIdiRZRfw2fHw3bsI7RUxM5rwN4ChQlWxIPXEF97Mwy//FL5QFnMwgg88AIQd2P0CWQQGdO91+CGlIT8Y+xAzD4I4t2va4HwuoqQcwNfv8LHnNqbwQWIHkjoU84PLrlSlP2j6Vj7gqYJRi58FMRfPwpkIpESvy6RRggnUQBy/jDP6dk/ungQCyDy0ZlHP7phwFWB7WLXBehB7IfhTbLMIedhljmYCeQhdnybBz5C0zByFfGQTo2xE2E6roi7roMRPHsSpwXy87XnI8BRgkqoZ9JByrlm+EtURaVN8CVCtlhimkQRCrZILUy1u8sTgsTpurcH0hyBWFrddmMKFqHj/KU0LUIkON3971oZ8XrkCvd7AzPxdj/IjX8vJOkactf4LjXD6FtAxmgaBm4slFysiGs7CO0YOzj+KwQ4ie/HhvcfFbMcWnOEbexEV47v5yhhJ7LvQyolp0glkZ+FY2pq8Y6bvc4AF7ZAx9FW4HMikPA/Z5SESHsIdBy3H4QvM9ZRm7i1D9IsNvsrEOnnsFDmDYhc9YLOm1/kEh+i1gWIf4efFGjDZZ0yNHQcXGJUIuAi8LGWtWdRuLAjNPdiHN3apGWySWl8pMXJrFnouygice9F6ZYqA0nY+290CwIbLMm2kHcKBgPpuhjIUtp1gHi3tUVZEzfiWpzHuRHH6A93oysvcKLbb3oRI7vHkRjF0sHXVWfKZGz6Ezep4lNlgRW32uJb5Tll96JuI80qMmudhjrddo8pOWBZJGwz44Yf1nL+tj+WkPyjXfI73PKbrlnjnve7aGXCFo+l24iZ5xd9PX3ywNpPJqb+ecj883nJ53he30xkPHHZ1S6oo4mZNLi8zFNZfRbjWT0yjeU9SW2Ny1UitoevgBEqV7viaOyvUvMowSyMyla/x+CFkQ8o6dJZIZft7+leduqHiSt5gYclQhs3KQWlTQ8DTz8RZ8j4rAUQKQUxIjNE+3vaxZzpzs/a6HSHs8L9XvFndIuUErkgeSC0iHotVygULIKj0PnNGwZHY92Ib2OMFlNMnJc279/XjEO8mpI6kJWJH22/czXAddAiDKQI+aHjPmQC0xtEpsqf0MXnssn2JYkL0ZIUhNLSmZPEXg6/38MkChyfTJKSfMIPhVNhshiHy/84exGl/0xjfTeqrhc7Vz76jwOW6f3XxDbNMGQp34frY8GkASelIP11AFmhKPbCwJ7jzM0wijEI4i696ZnBzpP4Y7ADgvirAF+B3SGdw1e4Ro4LUgDyngCKAoIoC411o/BeLSA+oAauWUrmG2ke5HYbnsNBG8R0PYaW3qKalmpNTEX8e6M+1cnlJAdvoHLOLMpSStv0w3mjALgsAKQAkT6kAjNr42SYhonv0quqK5SeKvFnYiVLMGi9GfwENcdMIHfISjvPucWgII0U+UHiU2oXrm4LFtt14a3RS0OSmoNL1d6M08X3YiwlgYdjkKQZ2SpIklO61xREuRmjaOVNkVBRuFwLIFupKBMX3wZmuFzyYG5kvgexYbSMD1s3WqxQ1A0XS4c7ts9uNVVF3E07EdK3ThMMkgvCM4F02vJeifQkJ+1sI724IB1eznvNwiF/crIWWNdeavhIKCE3Z88xAH5uep+6Q/5H4jALwXNIhV9782sU4/M0jBVxVz81lXwPkspYC7nqImUizTr3qC7elZmu67TPfW3dcMPPAUmnPXQ1vplb4SnfW4/fnaWXriy4yd/5lXQnf9TTDa1rjYwPWaJd3LheBNISxNJw2oQn8bUL4l1pZJ1n8o2oIz501G6Ds8TSHGHIFGYsiHprJf3MVFs/TQWFS9KZOktMTzeyeWxx91SN8nHw6wYAvfMlUxSCH1tB6daNODgXwQ+oNO7yZg4S262TlUoOCdwwmiL60EWz4uqE7HrIQvxwehPTxxkcUgi95c38+HiUXkweHys8l9B3C8Sk2+oFVONbhYsuWn5NS9RmWXqdJk22fyCAV3BgHwnXxroxR7g7nqjR9Dr3MCeaXivibpK2vYu9BrfHvCOD+/trGpEO+ePoUCACKiPRgjzf3IumcZQONzbqLBtduNkozT1erBqDo0M+xRJVdgvV93ih9TLlLdLaXI7zYoMd2Eyi4kw+dTR2tEOPJWQWGew4LkJz9EXZ+Ufz2cdW+v/j5jNxpwRbMX0Nyr8I+PzkXGeolp428HUwsyIQbf1wHts4tNNL3Yq62IlvaBwV1yfpQEpNMsrQKd0aPTkY7jU4QlqYLf5mSXhyCk+s5pODITsMJH6b6ZV1FUxK4G6fSul+j8PAjnHkBXNF3IXfP5HOp2jcJMmJ5kB4xNhZLAFo8s1UWgsbpKMlihwSbbpLSJkCNYQsB9MngtzsHGySWE58Q9CBVCzBsoaRRpDsoxXyAQQ9mIXRgirg+Ju0AxTHzhylQkkR9RFG7jGIT7fwHXsupW1vGbfqxnfucsCOQcw/7/PgHIPI/bWfwXEMIvu0ny+f8GAf97nVHoNY/LGfLe0YRPZpP19BRjn23P1c7eyh5bnrNEa4k2XxjvMLeiR6t/n2w1q8K3vxuklmNYrEKZDkJsBPCgWonA/49Me1N9ekAbLjG29pp+8R2W7kkV6+6LNJZv+SnpiH7q0i7haHeCC9BWGAsOM62Dmm198CbaaXUfjlFoSnAgjXGC+PWy356FWz8/ywyf7bWrBZLS+IsRNM0d+dpSexXYTSaXdkqd2R2jKLOS7UfmSpdCHFWrNmSRDJkkhXQwIRwU5zGi6WCUZN7Mzjvhdj+AoLZ7kbIx9N8W6T1oavdGuzK5g33vJsmfQoYDpZhu8Lr0HwhL29vYv2ZXPl+AmCVguEmePHSMhnUqBSyp3SBQOno8DZh3Wm9k1yhXyEbdo6B3N7iiLszbypg5EdhZh693+t4RgI9baLamx3cUm6XN5ytFzexBJjJTE8JYanxOEpZXgKe/AVUlPW2orxEtJKOnAiL0DRKKJvJPW9IPlSKVFhnFVSViTDmDbLlZcTSa/89WsdAf+O4ibV5muKm51B+bzYq/bhDbRy/LEzvXHmqMcatonRr6yDtgR38rG05hYjBSCISeTXtCNAuIIQoTjxsSLekZ6AeyUkzYPpaKNyPsHrmYKfop2G3P/7xDQLE7xMsCLuEofIPJKYLL1lI6qlJGW/Y+ZkQw2uW/JmUGtREMSRWd63xokbAnaDGTCtSIf7+yfS3ab8f/8En504G6VFsKznRl+Y7RYyhs9BhqP2jzCl0KUJP1mSzsRI35utWHSZmlyhJzAlhxXETvlJtk0UxAOBnbXQb2oqAnt7pkzeDz+jqOvEXPDehTHdTpI96cUxfQv4+HKHfPYJ8fElC7afT8MI0hd494lBxFw4eDHIL5vtQ3ACF4RIftk+FMhDx49DcNHMC5BLNj4kL4QBqZy0YO6nLaeYvTzsxTRV4jDjkco1vYXnO5F/S3dQnXYmqNNptg+bMMLXKPrsxaiOUZOh0CyWwKKXCgduhuN/dm4LDTL4IAg/c7OLqK4B4aDZTiFYHTTb34MAMxqPAGXxLeentquEd7Y7yczLnGnNErTQdPNMosdNwiJ3inXzo7AiT7Jzgo+CsEcrRJD4tamEd7jNuXWvlNWlvIozv/fwdZjgXohLXpoxpqeWyIWduPWx2WrNd0obxAeuO7lKApw0I45xIXZ9/6q5FW+Zn62dD3WWxxlx/G8P+VKCKQOSBX0Z1j8qUbBv1mQnL6ayu9doPNYzhXSLvcUivL6Ci2ZO4uPcAo+W3RTvGMTrJsvn8Xnnfh9JcfQdXJy6xcruVvlS9CMqlPqqkiyiGtGMtkylEWFvr6LkMkIrL0zi/p+obK3MktK1FLzypBisstxLWoq7MtoXv16S3Mjd4dQ55zNlVxDvVlkMFOzz++96WfWg/ZEyq4ny3+LG94fV9ly9+vd4ycVlZuFNxFdbMX4Qvjm2+aLyzDxIfOyp0fS6kpvTpXoLZ46s8ASNE9LZpRm6AfDz759oC7ExG2ZRuKBD0zDADinbOuERN0GfQbf87MK7bC6qHM47pBMIQkzDYT9TGV87eD89dWVPHsKssek1lSVlFqtTZGuS+1aC2yKDekWNnMeksoemsceo9MiE9b3JajDpW7pNf6/gYV79oxnquwXlG8E0JW1PB9+Fdhb4Dw37h6nNbsTLDdj2jXTWg7FTgeKUoFPbf7F7rb9Y95VuVbwZ3Jd7AX3xYsx2H3Oy47hGUND38xQWIbb3CfNd1lbyskDWhcEf0fnd02dxWiiPL4scNwGkqKjM9FaVG10LUOgEv/yS16D8K9tEIYHeTNUPVdg1th+0/MgSGfrfXNufsy5WrYh3rhsNx3Xfpcd9w9BFfecKVe+6+uqJ1rdNy9CHZ9wZXfrOggeCyBMI8Le//Q0EMftu+HDU02xKYArwBoovc3fe/FL/TgY7fIQgdBH4RB8oSUg38hFy3FtSZWIU4H1Sna+9YE726o67+fpIuW1j94quS2bUScAhbGoRN5tNoTiwpedmtausBkUNETFMzeP1vnjHK7KuuRSt41bSntvqRmgRrtBjzItA2NDpERZ+OBStqthWDgavXIVo/09Srir2Qcr93+iWqcYffhCPOKFX0PkNN1d+uSNrKsA+0Yeq8cFOE1L6rkrpbryWsDa2K1Q0lPObc0gifx8+e74PSYzAoydv9BsVpMCRgGTX7kIJloxf/jUKlvg2NNqMpfRNfnpdf43xMj5utS7+0bp8Rn+dIAoQRnFrddGWXl0++9jM/tt81qJqeChuNZ/tVE76pAA2Rdcf1bGXALIrImGVTjSGmqXlvyuxFqDu5f5NEcq/6DcHKm8QbLz1n72PSL80tIzQzPtSA9bPTzkE1sIGl6rqeafH833ypPW0Zm72TVQcOVOM3Eyj4/z7MlnHSduYimLHsM2w935PZ6v3pdf0RI0kQF+WiGjk33JemLleikXeDTsxw2Cr+sI3vizzLfctfrdobIzoj2nlv/5S0Ka/FLduiXf0twmzx4Y2Hq05J5ZIFTvOXzvJunLJ94LkiyTedccT2r2XUsXPb7X+WDNMbXTa+N8AAAD//5eBO8/qUgAA @@ -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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/CustomData b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/CustomData index f2685c7c6d7..2f0ffafdce2 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/+x9bXfbNvLv678+xZRhYykJKdvp7uZ6q2xVWUl1bUs6kpzu3sTVoUlIYk2RKgDKdhTez34PAD6AJCjJdrrt7rndc5KNAAxmBoOZHwYPfPZN89r1m9cWWdRqnc503B196HW6015/OrkYtprBijatzyFGTTvwqeX6CJOmbRsrHNzdmwThtWsj0/V520HnrDvZt2lg3yDKW/Z7086g/673fnraG7W0JqJ20/bdpo+o6Wi8/MdePy5kVFnhtetrtWeTwekAVqHnAV24BIKQQjADO1iuAh9Rn5i/ksAHGgT/4GROBz/3zwft03GBmBPc+l5gOUSrdUa9zuQ8rSlXxK5NPUXdjLmQ4KYX2JYn2OsM+pN2r98dnap7TtTiyERHl/2OsjoOfVuuePZmrKx3E14j7COKSLH2cNT70J50p8N256z9vjuedtqdn7o7mjZX2F1bFBkry76x5iimNeq+740no39NR93hoKUFhDCZLewiIpHRapc/XvYnl9NR97zbHndbet0j11OMPGQRBAYGgzRqg3FLr7sz8AjwwX9hJBWO3kLTQeumz4b4+O3zo78DXSAfSIApa12o/gXm1u0NHCwtai/q+uEraP5S751Oz3tn3VbdDjAKSONL77RVN180GnrzFVgN2MAKuz4FGoSrFcJ16+PxFVgfX181/g7ozqUQHfwdZm6jNu52Lkfd6eR8PP1xMJiMJ6P2cHp2+WP3vDuZdv/Z7UyH55fvmTGUjUdMBOqR6yCghGJrpe1P70N3NO4N+i1tfWgemYeG5a0Wlnms1Sbd8+5wMJqcbumZIg+tAkydvOV2T7v9Sa99Ph2OBh96p92R2uSRg3zqWt4KB2vXQXgXkWwurC3c9NxrbgwekmkZCTGFAJVz6aLd773rjifTd73z7rA9+Smn2KXluzNEKJ/vbOJdDAf9bn8yVlePHYRPSdzgot2fnv44bV9OBtPL4SmbJO/O2+/l1ok8S8s3nOumFdLACFeORZFW61yOzqeDy8nwctJq0uWqaYfYm64Rvg4IMoOQJtNgMJ722xfdlib+zToeMQeRFcQ/aLXO8HLaHnV+amlazUG2Z2EEhgU/t8cX4596F8Pe6bhVb8hF42Gvz8wnKaoRRDvDyza2F/UGbGoAAClVvT5PSxu1qFbDaBms0YXln163QxpcctHeedb8neuhtD1egjEDfZe+GEEbI4vuJEiD0F7sSdBDlh+uOqnbPPUYKZJjDs9Ar/K7jIjrE2p5XkbkZ5cuOqk9/G8S+Cm9gLT0TX7kIl7gzuDjRzA+g6bn/ZsGV1fCRfF6KZHBOJJ+YJZB3MBvaXaIMfKpxguRR5CyVspE3Esk6s9c/hf/I4slQ+GmW3r9199AM4eJ1wZNV0wLDb4Ar/fxCr4AQR6yad30rSWCVgs+aRndT1pDa8CXL8In6t3RaCrpOXZR017/Q/u8d8p5isNMUsZtMtaeSy4szMgOcJvNyHPXD+9A44rS4Plzpl5N3/TG07P2pB1pjBmN4hBVKTiZR6x6fqxiLYmpGmvjg9AsYX2UNBcxVW0CkvydjEOsdf7Hs8x+DgisE3IWxtY9uATQ3QrZFDlAA1hYawSB791D4CNAHloin5qCTG8GLoWFRWAZYAR0YflyrVdwi+DW9TyIzZZJDp5FaFIDXJ//xns2JePUN8+K+v/4w1UExpzCUVmJyF4EoP3cHvV7/fcnkjlBHPaLQlbybEJP8Or68x3s5sx4B9voNzhk1qdvSuWHVxG3j+/HZ73hW61KuF7/3WAfydjwuXSBMKDlit5DgDnLMxfLchAQ3ZkwvnFXKyasRDoeLou6gR+LyR0UoiH24VCWu/du3NIPPvkHHNQgp2CirbpeF2jnA3z//feaQv4XV5HWEFMr9AmijCT/F5dnStzPqKVvninJM+Xyukz39XrWwjhqNMDwKBzC1RWbkWwYp67voLsWHwjp36WGnOIq11NL36gZ0DcZpShmJtPkhfVrgC9cP8BDhuk+pC6xLgZVz/fC3JkdUjAcA4zZUUMrkPspoO/cuwdRIWDMjmNCzEaF29/FoQZXTEkf96rKjJchXGWjHMu5ukord/215bmObIyxfZ9AUcys6b4uPbZZL5iTKQ2maM1iJmjts7HZGXfNYnAdhT51lyj5fUwt37G8wEeZ+9QYy5WlIPtntfqiXJ2ctmKPnSgGKtgDA8piQwv0TV5fkVarRBAXMQDN4QcOX6WRSCKJZEsz0PQStC2P7VZKeROXYANDAAYGMys0kTNHyi4bmTVwzhSgg9ve0Rvz8Lsyg7t4OJCZWLm+jxxTO3pz+J12sIud2OZy6Kg6XMU9gx9QmAWhz3wxJMuDV+CgmRV6lMcmFpqxYwcO40U2b0mQFbM0WZzYYZRl3eV6phit3QdS2eZ38qwpXUexylY/k/L3CB8juRiFSNvdTK8/nrTPz6eT3kV3cDn5491MXmt595Iq6cmupbI/TeVjYnKpZ9mjX7YSHPW7k+4412/550iT8Jemb/rd7ulYGqFIg2+q0XfMwEVwfQ9FOCfcm3LVwSHFr7/BQbpAUS5ApPWH1jiA70FFDaQkkdJe4y4KyxlmjoQS5h9UVCXYtseasfY//yPAnayDrb07ASLcS3E2dnCxM+ZIRtNH9DbAN0MvnLtZLJKGd/LzYHQWJ1yYVweNZ0WqB5cv0Tr9Xm58Y476PXiG0Qxh5NsIVrxTYsJFQKh3D7MAw014jXxE4Tqk4AXB6tqyb+KKDEaHBDlwfS/7cGbDcrSD4/zyvpjJhefA5E9SU5000zSME01Z+mNb3utydM7W2rvqnLRyM8bwYY9GkUK7Nkapk5zOAjwNsEVaaXDYRZKFijlGKzCCIRysPzkv65/MT87LxosDPpMcOCDNX9bNJvvnAlkOY/WokQyijFAYI0lSbhpir6Uf5yXUS1XK4uzUbZlIjpfljeNiMFag78pOivpZznQ4GrD5kvmsLDs97o4+dEdsWB9QXTnCD2ivGuxM08I0Mz0kZssUkpnBA3ts6ptSVj4S2U7DsrGhyL6erPWN0gQjw3P98M7QN0m2MNK2jvLk/f/hWz57zINnz140Iw2ewSVBcG2RBVyHLsNj8ExeJeN7e+lM54hOqYWvLc+bznCwnGI0dwnF99Nbly44r3B0fAh/2TVbTnujpr6Fc57p2XtsIi2fBhuM2uPp8PL8fMqG4F27d15c8McAlie+RrEMl9jbz3FUGlIKS7+Syyj4iJ2jvdW6yjZk5M0tMqmFzfln7Y8e9z1c98OGO+fVfuf5ss/A79ICmKYJu22nVjVGX2ssdrJQyD5vqy2vJoSOMlQACSyAZHojB0ho24iQWeh59zkIXg0mdi1PSi3NaoSiQXWZ2CexMBh3n2d7qXmzRc+RBkZnjxibC8kVlhrv1sXhwV4Etz4YI8BBQE/YH/u1W653TkNWeXs003b11axqGPO+DBz421/+8jQyCUTdLY0MWMfIDjGanI9/TDaHz8SmafcO2QUcL9y/gM8cqmkLSlfkpNm8eUPifXBiXnvBtWkHGJm3ru8Et8T0EW1aN8SgHjHSPWjD9lzk06a+eehedNTk/r1pLZ2/ftdUEZURlF53SXt08dfvGmxRp9h++PPIg5db5SmD1UedCqhJQqcYY2XRBYsJj6IYVTCdLca/EctxVa/lRE/q593ZdGa5XogRvGZe/q+HYDP4b8zG52AElQTT30PsFQJoyvbegsrevNLTPEptmkSTeQBjFDuBJ1CbuWxy31pkybenu2x9X50TZvWmM9dDfPj1zVEk1SMLd5nBvM2xXJbAdhLOZu5dS9+8Lrbk0SkZl1Zd0zc/nHwXaQ2QF3/81M69IsW5kTtnIAgoBhOMOCfJlvasBrh+UjnX38cfrhh2dYJ8Xjm2wk2VBiLpWJTBiBqCNoOPeVbZL3kdROq8dAzCj6CYUnYCH0kIgUEZxgswXkicl2FiPoTbF3vxWZN3A0G9q2CR5Zgptd6QLSedZuyfVJhFbDLJxmB+0b05jkCOHCIblTBHYrN4zc0i3d9mUieZdDG+xXbl4a22O7JyfQ004rnzBdUaOYP4CJqeS1Afmm/MQ8UCmv1XIv6yVddub4lEMx7aQu6dDxpPbNTR2vLilNxpTIVBy2xfNYf9M8IpPiuPEOilUcklwpPeQVtnslbOGcjb5q3F/OZGPveTbtr+VwyTOJmhUOsQ4aVLxNa8QsN7KTPTpZwgVE2yR/lnpYnl3XTBhf/bnDSkoT8fifKbPjnpmB5lehpoxvpI2+beFdl2ySMy6twtErA8jCznXk66V7HxShx58QMK1yidd64/L52kyEGyf1s+8BswPsPD0nNV+cA0scGR7wNTfrkztw5yiWddk6ZS/ScFQ9mW4ROc8RGJR33+eUqXq1blgKn7LPcRZ3xqT8v4bMqsRRroG1mXUVXKRtqNYx415YQvrz/fMWhSJi9WzFXSpzT4OnYfHaVAIT8mYqo9iEARaayPpCmyFFBLIc+2afRwXLfXWmEtFgt7S1eN+tRqCrFXSYO1OH77/Ih5R4RAl47rwtvsfHmSG+2C9kudMX5ivmh8qX9E3SuMzRcNnZ9MrNsWzZN4/lwytbPR5XjC1gjFVFQDnqcak4P5y1Zd/6aRi1P7RMTfYUFRFY1ef40lwyNtS87LfB3byWk6OROwcv2z8Bo9HWrvi7QfDd8kJTC8dhNeo68EbBMl7EKzcrc5EKbErfKh9CfhVtkSSgyWTIAxaayP1fhPPdwqEffAfflR+KrYLztDsY23StkrTu9UVN+B0Erd/n+U9giUlmhROWZfBaTlUyulUYu2z5QSKIsd6OMwmVYAZdpDUdn+EAZKNyIeiUoeML20Kq9Y3eRPg0JktxwjkCwcDrCV4Qs+Soq7YWz85dtgad3uPyejdmfSFZWZ4wQFoVzA5EXJLTfuJwtJ9hITNSlvJ903YJynkUWXyZqmKfE4uRi29E2JI77bWr3ZunXzs8RiM+5A7LkpelMtUtLy7mg0GJWz9zt6UXt8tviH7U0Lx9FM1aFNFYOya9+/MxFi4k5I6ATy+muHiGwpVrazZrb9piIhn9astpHkUFthO9jk+8FqeFWA4QIDHJ0YUfH8EN8GKWfLGFXQMCKhR1v6hntJqZQxrIvSGqijaiaYJmOc5MxeymA2mTZHhn5SOkQnOP7Q706mrEzsboyTeXpi6Kqi0nU4VaXKGzmqyuAKMySImtC9cylDFGYlpuBHLPq99EiFvlERfcq8LimqqW+kHvnUVqqmcFpBIpPuZ+UOLbo29dLReubOQD/id5GWK3r/Cqh1g/i+cul6egQWSc61w9ryQmTCgC4QvnUJitsdsTp0gUR5TYb9py4WJqsmHhWMR2ombhzJqFdckZ/MP0+WK2HNXPN5JfO7sSy6wlEcjjWZalPfyGS4fssZnSKrkkbT4xc5hVZcfOVci0uY6UWluugfDCPxEse5+BwfrYxrJXWazflBI3/UNk84PkddORtSl1Rsx580EJ0lGD11VCaQ5PpZTm7Whlp4jmjm6hRnv781X0TmoeL6aaxfbuTdi2FLEwwY69RKko3zyjSfVthAiCOYwsiaKdGkv6hiZ0E6X1E21VxNodMVRoZt2QvkJBpM74WcVGhOU+4dqjYuRBeXPlu78vt/ogfXp0HGYf6oS5Jq/Hy3foguWMwrEixshmc74Xq+YmyninX0lopiCzuZlZPkCYHCWZQ8mBM6ym70p3ju+CEnQRRLxjS86Js8fKqYSAnbzDfBysLWElGEedKhQiK2kOKWMXfXSHlhJRNLBkDl+6ucy5IOKllNH2fI3Vt6AheZo976NsRuj7zZ2j7KnpVgLqEsMF/85UarqayX0ZEWh5tqWSPJw1eZ5eMtrXM5GnX7k8x069kA7YgG5ZFcZxFBgMNJe/S+mxGPt1ATlglarhHuBMuVhXmkz/NyYmiH5qF5qEXMwHKUInWaRwQRTwoWUGay1E/EMMecP92Axd3ueoAB/RZaHtCgkQSVa4sgiUiBoXJUKoyVqQg5VXNzmylyN1DqPr8j8zUsueqdkr3sN7nhxs1Xlc78yuRjV5DGyu3yswlFEA1XnX7v1MVEsWCQXmCqOuipqCMdp8qVKohnzz9tpV+qlkWyfGlUy2CgtASSF9IVt9K+fIFv9rqX5rtGfNnpCRfT0gusfgASRcjep4EVRgT5FGZxhoPfnoqvrgK/u5pOHIb5jszvzCMTJguXAFkEoecAwpjN4DXyaWh53r0GW/dfs5xeeYnYxGhm+24C8CA9q2nZxFi6rCOTn9JFzhzxI5qSVM01Zy5LhkplMYjkp0kNUc+krIfY6PP7tOIY9B788YPOBcNU5AzFisvybq17Ar+GhEJIENwuLP7Og+cSivg14sKzQUACuEXgBP4BFa980ADIvW+Ldzhs3/3Kb7Fk+lI9xtLvKa/sx++V9Hs8xcNYxYiZAdgszljXQUjF42nXIYVby49fLcGI6UD9asrtwrUXgNFvoYsRATd+zUT1XA78ju/lxH5uj5dy/pAXZ6qev6l+iSY1mL2eoImnt72w/Dk3vXjj7T/t/ZfHPEBReltE9ShMbQ80mPlC7k16I3ExR+Ga8JK5JsWbEAmQ2Z+U8HIVpOQ9jHjeOFvSUHE/qgXzM7aWsD1kYWYdS+bRkC/m+q2IDGuEYWGtVsg3wSIkXCJwKQGMPCt2A3wAXZ87ijWCc4siQuHDT6dJdBF+b4Eg9KmFX0HgOQiXCun8swkyLFN677xEzRc55w1Vr0Aw15bErrjfJE1yzdj67K5WyRXjwrNvCvOr8KJJlNgFfbLVSSkB++Q0pWxWuRzktyxWRmnOovYVbOdRQ1QeoXzmZ2cmVZnz2XHNKtGzWcx8Z1eqcvfX5dEsXqzayaAKUDzANNAdxZZNz8Jr9GOMggobCDdv5GgWn1aJi8JrlOzHio3oY7nYJdP4pc649LVWoJtu1k0dF7c0/TutVqgRb67yXADDHS19U+hV5HNlx5rvl3lXFjXLQynRZ3F6+3ukzNBUDEVaTW1bcu0qQ4rXxSIdmIS1fMssPbg7DVh7CF1OMz4yEVsBi5w0f1wPzyD/7mXyeqbxQlVgU894UZ50BU2Xhn6LctPpn20WlZvLI1C6z1ywl9IZYSlNhyiyadGsX0GZxiuwSHoIA3glrkiGUPkxBBqIR4AtTN0ZU61onB/D3WrJ3q01/MBBe2S2H3+INW+vZZn3vnP8qKmQBj2tgnxeRDnpLVva7jXkw8SUnzQuXfr6GoKqOqgUNf6/yVTngcKg2PLJLMDLlka+mC++PDcEHwlC/6KBYZBFcJvVRI7BphdhYWatYPxT2qNhEIrdlZEBldZrFnPycx+kZ5qZncqOorLMpl5Z11LqqFZQb4W7yQsLV+Ihqeo2zHeV2hTXHlt5yu8CKMLNzGLgu5zeXaqsRNrdiPFDfNX2TAjY9h32/4Y4uLvPkNvleDK44Lf/WDRvj/5VfjSmXEV+KiaJdNtIqOrINITXDAlbV8UqYL7wBNRNcznSV2CHhAbLpMEOiaLcq0PTeHN56s6m/PixP2+xGF8rn7bbRVc9TI8Ke7U98WH1+JoKOKaB4kf1s1n7iMtts/ickkqfWUX+TEim0Z1Dqzq0+IcpZDe33HDK81q49Eqno3q1rOB8tErvU9G4+NZVvGtfPUhaNbj9ysdO80DpVACl9HEAWOGA79alcMcl0GHw81G4iP1XPNG/rtBaqaH8QlLBcYkRev68jBFLFSvEz1RQaMEEtqoQoUtTuekC8YBYKbcAMPnTvSXuysNSxEDpVUbsMdCH7loHSWb84y/Nq5fyhxXWHw+N/3X18pOZ/G2+zFLi5ssDJeHsIa4Se9XWk2+saNn6v6CnLO+mw/5LLjJzRLvCaObeKXT27IUkcKRtpVi6TLJR9PHtt80XO+gIQ+kKZ4XkV2/zPQCD5lAMsrDPuCsw4h4/P+n0uPJZr8I65aR8z2XLyXHVCjbNHBV/yH9jZNK9GPLcz7vR4CJlqqXxTx4oPztSpvjHBSd5HGLQKLS7S8Aoryj+0ZkTEN9L4C7GDnzH5fdk7AWybyDwi/YFgW8jGA2TbL3Lk6zIIsjJr4xZ8K/X4wtVakGSB2I1U+NPxMLbFhz9rdHgmxjVrrhicv+BYKHkj/JoqXI1luzsPyzgV1TXtpHbAj4qqms1aWvaenlXAWwrYG3tKYgYmotgiZqL+xXC7EcjnYbwnK13WERM7xT2ltY8e062c96bTgaD9BBX5pB6F+33XXG+61hahTBayf6OuxT5LkWjCMRyRd8kPeSu6Eg/i011irUHwFnWL2PEpthUd6+BproGcgxHPENhU7ai52vzlWUjuHlDTDeIBeIAQldQ5ZvS8Y1H6i6Rwz87lWhkqzbWrgVcyNxlDWnLqzNh9d+LXExyZSO3LCjpTBxafIzaeMtHak4cdfzddBQLVakmcXCxSlOSE9mphcfJ7wT2DcK/m/yCfEH+00HnrFtlHiKlgRG15k+f46PupP1e/vm1NPV5H3MmBgdSFVLwI7AFOl/FG2yds9SaK4cD9AIrj5tSyQHfR/WVO+nGrecxdKRxvuiM+AiTdwHuLFzfKr/1LAHLyz6zl/hcg/SqdllKy/NS0q26Xt+mcXE6JrmzdvDL0sbm0rVxQIIZNe1gyR8f5t9k24ivrOlH0UFDMVGLvco6Ivt1QCiGFhDez6yufUtOviXaK9CPXoF+3Igg5oBQnLKQO7ur6RuZi1hXlef1mU8Qm+Qz13dgaafczgIMfIi23VphlZa2mKT8sm2u848/XL3USj9FWlR8eSGzg1aKGhOyUXw81UD8Keiy7tgv1mc2oLafHlZ9ugWlrOVdUTylZf70TU6EaOs2Q5le4if3Iik/+pV+7+zpzjJTVerUuIYS3krayc1+vFRO/vL8iH0PXrrVDYRz4J9Ju1wJoylsL4vTu7G5CNHQ3SrAVC4RtELfFksa8dU1QW4UZses5U+FKL4ZIJ2fqkyWlbVW6XvThpwPfm+e4WGUXddJXUXe3Wgnmn4cHaT3atfdZIFUwPT6F+XPcZ6motRQ/zxNX1rWN5JmI/EixgH73ydfmm+VWSWVuPv446LL/fOLv22PUaGFfHwwjFmAlxaFg83GHKFVQFwa4PsoOtlszIk1j/7sGpCkFzOV4b6pHTiopf+j4Jb1tAy+afHvc6n22DluTGvWchkGMfWKWq2+oCa9NK1q9QVuF66HACPLESOSi1JPdhZZDCi77Bx6i7mL9s/YKklKcaWCXiHVlz56IpVFsnc1ZiU/WvlIAb+DwxYZ/AiYYZdbZk4+zcYUvL0AAnXHoqjxSq8vAkKZw2i8AkItTDvK1iJzIUcP0HgigX+xWdtBGPlOBdns050jvnZAToHb1CLjexyd88Fl8tkZcXaLwduOF4ROxcbNf1YMEjA2BV4Hf3hUeAhD/y4/vS9PEj//ZZ4tgct/Hp+mOH1LSl+/TPwVX+EUp28Zp+b5lFyY8Jzl2CqXJjO34GsVbrVUo6wjlcNOPKG6TOVAc167VEWkYouiO7lPGI92fMI4WCOMXQfFH3rqBP7MnWdLF3ENSvpyNf+ePtO++NO0Z3PTab45nPKrOlMfMYjAaLASTf4q86ZALL7lb1H4/vvu4B28fauo4ljUIkGIbXTCq3MTOMkW+quVd886ZbzHHZ/Eqf/u4B0T8Bn7+/8FAAD//3raSPuagAAA + H4sIAAAAAAAC/+x9bXfbNvLv678+xZRhYykJKdvp7uZ6q2xVWUl1bUs6kpzu3sTVoUlIYk2RKgDKdhTez34PAD6AJCjJdrrt7rm75ySNAAxmBoPfDAYPfPZN89r1m9cWWdRqnc503B196HW6015/OrkYtprBijatzyFGTTvwqeX6CJOmbRsrHNzdmwThtWsj0/V520HnrDvZt2lg3yDKW/Z7086g/673fnraG7W0JqJ20/bdpo+o6Wi8/MdePy5kVFnhtetrtWeTwekAVqHnAV24BIKQQjADO1iuAh9Rn5i/ksAHGgT/4GROBz/3zwft03GBmBPc+l5gOUSrdUa9zuQ8rSlXxK5NPUXdjLmQ4KYX2JYn2OsM+pN2r98dnap7TtTiyERHl/2OsjoOfVuuePZmrKx3E14j7COKSLH2cNT70J50p8N256z9vjuedtqdn7o7mjZX2F1bFBkry76x5iimNeq+740no39NR93hoKUFhDCZLewiIpHRapc/XvYnl9NR97zbHndbet0j11OMPGQRBAYGgzRqg3FLr7sz8AjwwX9hJBWO3kLTQeumz4b4+O3zo78DXSAfSIApa12o/gXm1u0NHCwtai/q+uEraP5S751Oz3tn3VbdDjAKSONL77RVN180GnrzFVgN2MAKuz4FGoSrFcJ16+PxFVgfX181/g7ozqUQHfwdZm6jNu52Lkfd6eR8PP1xMJiMJ6P2cHp2+WP3vDuZdv/Z7UyH55fvmTGUjUdMBOqR6yCghGJrpe1P70N3NO4N+i1tfWgemYeG5a0Wlnms1Sbd8+5wMJqcbumZIg+tAkydvOV2T7v9Sa99Ph2OBh96p92R2uSRg3zqWt4KB2vXQXgXkWwurC3c9NxrbgwekmkZCTGFAJVz6aLd773rjifTd73z7rA9+Smn2KXluzNEKJ/vbOJdDAf9bn8yVlePAcKnJG5w0e5PT3+cti8ng+nl8JRNknfn7fdy60SepeUbznXTCmlghCvHokirdS5H59PB5WR4OWk16XLVtEPsTdcIXwcEmUFIk2kwGE/77YtuSxP/Zh2PGEBkBfEPWq0zvJy2R52fWppWc5DtWRiBYcHP7fHF+KfexbB3Om7VG3LReNjrM/NJimoE0c7wso3tRb0BmxoAQEpVr8/T0kYtqtUwWgZrdGH5p9ftkAaXXLR3njV/53oobY+XYMxA36UvRtDGyKI7CdIgtBd7EvSQ5YerTgqbpx4jRXLM4RnoVbjLiLg+oZbnZUR+dumik9rD/yaBn9ILSEvf5Ecu4gXuDD5+BOMzaHoe3zS4uhIQxeulRAbjSPqBWQZxA7+l2SHGyKcaL0QeQcpaKRNxL5GoP3P5X/yPzJcMBUy39Pqvv4FmDhPUBk1XTAsNvgCv9/EKvgBBHrJp3fStJYJWCz5pGd1PWkNrwJcvAhP17mg0lfQcQ9S01//QPu+dcp5iN5OUcZuMteeSCwszsgPcZjPy3PXDO9C4ojR4/pypV9M3vfH0rD1pRxpjRqM4RFUKTuYRq54fq1hLYqrG2vggNEtYHyXNRUxVm4AkfyfjEGud//Ess58DAuuEnIWxdQ8uAXS3QjZFDtAAFtYaQeB79xD4CJCHlsinpiDTm4FLYWERWAYYAV1YvlzrFdwiuHU9D2KzZZKDZxGa1ADX57/xnk3JOPXNs6L+P/5wFYExp3BUViKyFwFoP7dH/V7//YlkThC7/aKQlTyb0BO8uv58B7s5M97BNvoNDpn16ZtS+eFVxO3j+/FZb/hWqxKu13832EcyNnwuXSAMaLmi9xBgzvLMxbIcBER3Joxv3NWKCSuRjofLom7gx2JygEI0xD4cynL33o1b+sEn/4AHNcgpmGirrtdFtPMBvv/+e00h/4urSGuIqRX6BFFGkv+LyzMl7mfU0jfPlOSZcnldpvt6PWthHDUaYHgUDuHqis1INoxT13fQXYsPhPTvUkNOcZXrqaVv1Azom4xSFDOTafLC+jXAF64f4CGL6T6kkFgXg6rne2FwZocUDMcAY3bU0ArkfgroO/fuQVQIGLPjmBCzUQH7uzjU4Iop6eNeVZnxsghX2SjHcq6u0spdf215riMbY2zfJ1AUM2u6L6THNusFczKlwRStmc8ErX02Njvjrll0rqPQp+4SJb+PqeU7lhf4KINPjbFcWQoyPqvVF+Xq5LQVI3aiGKhgDwwoiw0t0Dd5fUVarTKCuIgD0Fz8wMNXaSQSTyLZ0gw0vRTalsd2K6W8iUthA4sADAxmVmgiZ46UXTYya+CcKYIObntHb8zD78oM7uLhQGZi5fo+ckzt6M3hd9rBLnZim8tFR9XuKu4Z/IDCLAh9hsWQLA9egYNmVuhR7puYa8aOHTiMF9m8JUFWzNJkcWLAKMu6C3qmGK3dB1LZhjt51pTQUayyFWdS/h6BMRLEKETaDjO9/njSPj+fTnoX3cHl5I+HmbzW8vCSKunJ0FLZn6bCmJhciix79MtWgqN+d9Id5/ot/xxpUvyl6Zt+t3s6lkYo0uCb6ug7ZuAiuL6HYjgn4E256uAhxa+/wUG6QFEuQKT1h9Y4gO9BRQ2kJJHSXuMuCssZZo6EEoYPKqpS2LbHmrH2P/8jgjtZB1t7dwJEOEpxNnZwsdPnSEbTR/Q2wDdDL5y7mS+Shnfy82B0FidcGKqDxrMi1YPLl2idfi83vjFH/R48w2iGMPJtBCveKTHhIiDUu4dZgOEmvEY+onAdUvCCYHVt2TdxRRZGhwQ5cH0vYzizYdnbwXF+eV/M5MJzYPInqalOmmkaxommLP2xLe91OTpna+1ddU5auRlj+LBHo0ihXRujFCSnswBPA2yRVuocdpFkrmKO0QqMYAgH60/Oy/on85PzsvHigM8kBw5I85d1s8n+uUCWw1g9aiSDKEcojJEkKTcNsdfSj/MS6qUqZXF26rZMJMfL8sZxMRgr0HdlJ0X9LGc6HA3YfMkwK8tOj7ujD90RG9YHVFeO8APaqwY707QwzUwPidkyhWRm8MAem/qmlJWPRLbTsGxsKLKvJ2t9ozTByPBcP7wz9E2SLYy0raM8ef9/+JbPHvPg2bMXzUiDZ3BJEFxbZAHXocviMXgmr5Lxvb10pnNEp9TC15bnTWc4WE4xmruE4vvprUsXnFc4Oj6Ev+yaLae9UVPfwjnP9Ow9NpGWT4MNRu3xdHh5fj5lQ/Cu3TsvLvjjAJYnvkaxDJfY2w84Kg0pDUu/EmQUMGLnaG+1rrINGXlzi0xqYXP+Wfujx30P6H7YcOdQ7XeeL/sM/C4tgGmasNt2alVj9LXGYicLhezzttryakLoKIsKIAkLIJneyAES2jYiZBZ63n0uBK8OJnYtT0otzeoIRYPqMrFPYmEw7j7P9lLzZoueIw2Mzh4+NueSKyw13q2L3YO9CG59MEaAg4CesD/2a7dc75yGrPJ2b6bt6qtZ1TDmfRk48Le//OVpZJIQdbc0csA6RnaI0eR8/GOyOXwmNk27d8guxPEC/kX4zEM1bUHpipw0mzdvSLwPTsxrL7g27QAj89b1neCWmD6iTeuGGNQjRroHbdiei3za1DcP3YuOmhzfm9bS+et3TRVROYLS6y5pjy7++l2DLeoU2w9/Hnnwcqs85WD1UacCapLQaYyxsuiC+YRHUYwqmM4W49+I5biq13KiJ8V5dzadWa4XYgSvGcr/9RBsFv4bs/E5GEElwfT3EHsFB5qyvbegMppXIs2j1KZJNBkCGKMYBJ5AbeayyX1rkSXfnu6y9X11TpjVm85cD/Hh1zdHkVSPLNxlFuZtjuWyJGwn4Wzm3rX0zetiS+6dknFp1TV988PJd5HWAHnxx0/t3CtSnBu5cxYEAcVgghHnJNnSntUA108q5/r7+MMVi12dIJ9Xjq1wU6WBSDoWZTCihqDNwsc8q+yXvA4idV46DsKPoJhSdgIfSRECC2UYL8B4IXFehon5EG5f7MVnTd4NBPWugkWWY6bUekO2nHSasX9SYRaxySQbg/lF9+Y4AtlziGxUwhyJzeI1N4t0f5tJnWTSxfgW25WHt9ruyMr1NdCI584XVGvkDOIjaHouQX1ovjEPFQto9r8S8ZetunZ7SySa8dAWcu980Hhio47Wlhen5E5jKiy0zPZVc7F/RjiNz8ojBHppVHKJ8KR30NaZrJVzBvK2eWsx3NzI537STdv/imESJzMUah0ivHSJ2JpXaHgvZWa6lBOEqkn2KHxWmlgepgsQ/m8DaUhdf94T5Td9ctIxPcr0NNCM9ZG2Dd4V2XYJERl1DosELA8jy7mXk+5VbLwSR178gMI1Sued689LJylyIdm/LR/4DRif4WHpuap8YJrY4JHvA1N+uTO3DnKJZ12TplL9JwVD2ZbhE5zxEYlHff55SperVuWAqfss9xFnfGpPy/hsyqxFGugbWZdRVcpG2o1jiJpywpfXn+9YaFImL1bMVdKnNPg6dh8dpYFCfkzEVHsQgWKksT6SpshShFoKebZNo4fHdXutFdZisbC3dNVRn1pNIfYqabAWx2+fHzF0RAh06bguvM3Olye50S5ov9QZ4yfmi8aX+kfUvcLYfNHQ+cnEum3RPInnzyVTOxtdjidsjVBMRTXgeaox2Zm/bNX1bxo5P7WPR/wdFhRV3uj111gyPNK25LzM17GdnKaTMwEr1z8Lr9HTQ+19I+1Hh2+SEli8dhNeo68U2CZK2BXNyt3mgjBl3CofSn9S3CpbQonBkgkwJo31sTr+Uw+3SsQ94r78KHzV2C87Q7GNt0rZK07vVFTfEaGVuv3/UdojorREi8ox+ypBWj61Uhq1aPtMKQVlMYA+LibTCkGZ9tCobP8QBko3Ih4ZlTxgemlVqFjd5E8ThciwHEcgmTscYCuLL/goKe6GsfGXb4Oldbv/nIzanUlXVGbACQpCOYfJi5JbbhwnC0n2EhM1KW8n3TdgnKeeRZfJmqYp8Ti5GLb0TYkjvttavdm6dfOzxGIz7kDsuSl6Uy1S0vLuaDQYlbP3O3pRIz5b/MP2poXjaKbq0KaKQRna9+9MuJi4ExI6gbz+2iEiW4qV7ayZbb+pSMinNattJDnUVtgONvl+sDq8KoThIgY4OjGi4vkhvg1SzpYxqqBhREKPtvQNR0mplDGsi9IaqL1qJpgmxzjJmb2UwWwybY4M/aR0iE5w/KHfnUxZmdjdGCfz9MTQVUWl63CqSpU3clSVwRVmSBA1oXvnUhZRmJUxBT9i0e+lRyr0jYroU+Z1SVFNfSP1yKe2UjWF0woSmXQ/K3do0bWpl47WM3cG+hG/i7Rc0ftXQK0bxPeVS9fTI7BIcq4d1pYXIhMGdIHwrUtQ3O6I1aELJMprcth/6mJhsmriUcF4pGbixpEc9Yor8pP558lyJayZaz6vZH43lnlXOIrdsSZTbeobmQzXbzmjU2RV0mh6/CKn0IqLr5xrcQkzvahUF/2DYSQocZzzz/HRyrhWUqfZnB808kdt84Tjc9SVsyGFpGI7/qSB6CyJ0VOgMoEk189ycrM21MJzRDOoU5z9/tZ8EZmHiuunsX65kXcvhi1NMGCsUytJNs4r03xaYQMh9mAKI2umRJP+ooqdBel8RdlUczWFTlcYGbZlL5CTaDC9F3JSoTlNuXeo2rgQXVz6bO3K7/+JHlyfBhmH+aMuSarx8936IbpgPq9IsLAZnu2E6/mKsZ0q1tFbKoot7GRWTpInBApnUfLBnNBRdqM/jeeOH3ISRLFkTN2LvsmHTxUTKWGbYROsLGwtEUWYJx0qJGILKW4Zc3eNlBdWMrHkAKh8f5VzWdJBJavp4wy5e0tP4CID6q1vQ+xG5M3W9lH2rASDhLLAfPGXG62msl5GR1ocbqpljSSErzLLx1ta53I06vYnmenWswHa4Q3KI7nOPIIIDift0ftuRjzeQk1YJmi5RrgTLFcW5p4+z8uJoR2ah+ahFjEDy1GK1Gke4UQ8yVlAmclSPxGLOeb86QYs7nbXAwzot9DygAaNxKlcWwRJRAoMlb1SYaxMhcupmpvbTJHDQKn7/I7M17DkqndK9rLf5IYbN19VOvMrk4+hIPWV2+VnE4ogGq46/d6pi4liwSC9wFR10FNRRzpOlStVEM+ef9pKv1Qt82T50qiWhYHSEkheSFfcSvvyBb7Z616a7xrxZacnXExLL7D6AUgUIXufBlYYEeRTmMUZDn57Kr66CvzuajpxWMx3ZH5nHpkwWbgEyCIIPQcQxmwGr5FPQ8vz7jXYuv+a5fTKS8QmRjPbd5MAD9KzmpZNjKXLOjL5KV3kzBE/oilJ1Vxz5rJkqFQWB5H8NKkh6pmU9RAbfX6fVhyD3oM/ftC5YJiKnKFYcVnerXVP4NeQUAgJgtuFxd958FxCEb9GXHg2CEgAtwicwD+g4pUPGgC5923xDoftu1/5LZZMX6rHWPo95ZX9+L2Sfo+neBirGDEzAJv5Ges6CKl4PO06pHBr+fGrJRgxHahfTblduPYCMPotdDEi4Mavmaiey4Hf8b2cGOf2eCnnD3lxpur5m+qXaFKD2esJmnh62wvLn3PTizfe/tPef3nMAxSlt0VUj8LU9ogGMyzkaNIbiYs5CmjCSwZNijchkkBmf1IC5SpIyXsY8bxxtqSh4n5UC+ZnbC1he8jCzDqWDNGQL+b6rfAMa4RhYa1WyDfBIiRcInApAYw8K4YBPoCuz4FijeDcoohQ+PDTaeJdBO4tEIQ+tfArCDwH4VIhnX82QQ7LlOidl6j5IgfeUPUKBIO2xHfF/SZpkmvG1md3tUquGBeefVOYXwWKJl5iV+iTrU5KCdgnpylls8rlIL9lvjJKcxa1r2A7jxqi8gjlMz87M6nKnM+Oa1aJns1i5ju7UpW7vy6PZvFi1U4GVQHFA0wD3VFs2fQsvEY/xlFQYQPh5o3szeLTKnFReI2S/VixEX0sF7tkGr/UGZe+1gp00826qePilqZ/p9UKNeLNVZ4LYHFHS98UehX5XBlY8/0ydGVeszyUEn3mp7e/R8oMTcVQpNXUtiXXrjKkeF0s0oGJW8u3zNKDu9OAtYfQ5TTjIxOxFTDPSfPH9fAM8u9eJq9nGi9UBTb1jBflSVfQdGnotyg3nf7ZZlG5uTwCpfvMBXspnRGW0nSIIpsWzfoVlGm8AoukhzCAV+KKZBEqP4ZAA/EIsIWpO2OqFY3zY7hbLdm7tYYfOGiPzPbjD7Hm7bUs8953jh81FVKnp1WQz4soJ71lS9u9hnyYmPKTxqVLX19DUFUHlaLG/5lMde4oDIotn8wCvGxp5Iv54stzQ/CRROhfNDAMsghus5rIMdj0IszNrBWMf0p7NAxCsbsyskCl9Zr5nPzcB+mZZmanMlBUltnUK+taSh3VCuqtgJu8sHAlHpKqbsOwq9SmuPbYylN+F0DhbmYWC77L6d2lykqk3Y04foiv2p4JAdu+w/5riIO7+yxyuxxPBhf89h/z5u3Rv8qPxpSryE/FJJ5uGwlVHZmGQM2QsHVVrAKGhSegbprLkb4COyQ0WCYNdkgU5V4dmsaby1N3NuXHj/15i/n4Wvm03S666mF6lNur7RkfVo+vqQjHNFD8qH42ax9xuW0Wn1NS6TOryJ8JyTS6c2hVhxb/MIXs5pYbTnleC0ivBB3Vq2UF8NEq0aeicfGtq3jXvnqQtOrg9isfO80HSqciUEofB4AVDvhuXRruuAQ6LPx8VFzE/iePV8oex6VyXZG/Ss3hPg0AR+eluuWOch8tmHQvhnwx+W40uEg7bmn8DXXldwzKFP84a69SWuyRxBpnl7BRLScR/6LFCYjH2HnqxA58x+WH8O0Fsm8g8KHgISDwbQSjYZIKdHkGB1kEOfmwmyFLvR7f1lALlbw+qZkaf38S3rbg6G+NBs+Qxi9hFbqvuHX9ByNRkckCFFeGesm24cPQpKK6to3cFmSrqK7VpH0v6+Vdhdes8Jm1p7hbaC6CJWou7lcIsx+NdErCcxZMzZGPcBUsFHbmK62IPwpZWlGWKipT18U54RKwqtaMLk2Rkc0wJk8JGYtn/ktclNfdIfbYkg/dtQ6SfbGPvzSvXspItv54aPyvq5efzORv82W2IWa+PCi4I8NXmbLSXxQvZa0rbEvhsxRdtP4v6Kk81Q4qedeAL3BXGM3cO4Wynr2QNBCVPUrpPtlGQffbb5svFG3F6HcFMiD5ses8VWAr8iJynkDVwFZjhMo4nv5SXyH1cFK+ulZxGUSsZZgtp/cFe0trnj0V2znvTSeDQXpAK+Osd9F+3xVnt46lFQajlezduEuRy1I0ikAsRfRN0kPu+o30s9gwp1h7QKjK+mWM2BSb6u410FRXPI7hiGcfbMpW63zdvbJsBDdviOkGsUB86usKqnzDOb7NSN0lcvgnpRKNbNXG2rWAC5m7iCFtZ3UmrP57kWdJrmPkQv6SzsSBxMeojbd8pObEMcbfTUexUJVqEocSqzQl4e1OLTxOfiewbxD+3eQX5Avynw46Z90q8xBTHCNqzZ8+x0fdSfu9/PNraerzPuZMDI6WFVLw460FOl8FDbbOWWrNlcMBeoGVx02p5PDuo/rKnWLj1vMYOtI4X3RGfITJuwB3Fq5vld9xljzMZZ/ZS3xmQXoxuyyl5Xkp6VZdr2/TuDj5ktxHO/hlaWNz6do4IMGMmnaw5A8L8++tbcQX1PSj6KChmKjFXmUdkf06IBRDCwjvZ1bXviUn3xLtFehHr0A/bkQQc0AoTlnIncvV9I3MRayryrP4DBPEBvjM9R1Y2im3swADH6JtN1JYpaUtJim/SJvr/OMPVy+10k+RFhVfVcjsoJUu2hKyUXz01ED8meey7tgv1mc2oLafHkR9ugWlrOWhKJ7SMn/6JidCtHULoUwvwcm9SMoPeqXfMns6WGaqSkGNayjhraSd3OzHS+XkL8+PGHvw0q1uIMCBfwLtciWMprB1LE7mxuYiREN3qwBTuUTQCn1bZBTEF9UEuVGYHaGWPwOi+B6AdDaqMhFW1lol9qYNOR/8TjxbjqLsKk4KFXm40U40/Tg6SO/MrrvJgrGw7NG/KH+OV2EVpYb652n6irK+kTQbidcuDtj/P/nSfFOafJW4++BxEXL//OJv2z9UaCHvHwxjFuClReFgszFHaBUQlwb4PopONhtzYs2jP7sGJOnFTGVx39QOHNTS/1GAZT0tg29a/Ntbqv1zHjemNWu5BJ+YekWtVl8+k16RVrX6ArcL10OAkeWIEcl5qSeDReYDypCdi95i7qJyBkA1typJSn6lgp40XLkHTaSySEZXY1bC0coHCPj9GrbI4Me7DLvcMgP5NBlaQHsRCNQdi6LGK72+CAhlgNF4BYRamHaUrUXiUPYeoPE8Hv8as7aDMPKdCrLZZzlHfO2AnAK3qUXGdzQ654PL5JMy4lwWC287XhA6FZsy/1k+SISxaeB18Id7hYcw9O/C6X15kvj5L0O2JFz+82Ca4mQtKX3ZMsErvsIpTt9ynJrnU4IwgZxl3yqXJjO3gLUKWC3VKOtIBdgJEqrLVACaQ+1SFbETUhTdyX2eeLTj88TBGmHsOij+iFMn8GfuPFu6iCtO0lep+bfymfbFn6Y9m5tO883hlF/DmfqIhQiMBivR5C8ubwrE4hv8FoXvv+8O3sHbt4oqjkUtEoTYRie8OjeBk2yhv1p596xTxnvc8Um889YdvGMCPmN//78AAAD//1yZMCV2gAAA - 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/CustomData b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/CustomData index 2a5c202344a..854148d705e 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/CustomData b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/CustomData index 2a5c202344a..854148d705e 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/CustomData b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/CustomData index 2a5c202344a..854148d705e 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/CustomData index 0d32c08873e..480c9cbef3b 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/CustomData index 0d32c08873e..480c9cbef3b 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 | - 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 - 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/CustomData index 3d206d7e96a..5ca40927d17 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/CustomData index 85156672b47..1f3fdc68ac5 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/CustomData index e9363ff8b54..a4705dd0aa2 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 | - 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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+SecurityProfile/line40.sh b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line40.sh index bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/CustomData index 180f013e6a8..0ca81a03775 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/CustomData b/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/CustomData index 0d32c08873e..480c9cbef3b 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/CustomData b/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/CustomData index 955144f8f01..adbf9f83786 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/line40.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AzureLinuxV2+Kata/CustomData b/pkg/agent/testdata/AzureLinuxV2+Kata/CustomData index 01994b6383c..eed931e467d 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 | - 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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/line39.sh b/pkg/agent/testdata/AzureLinuxV2+Kata/line39.sh index bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AzureLinuxV2+Kata/line39.sh +++ b/pkg/agent/testdata/AzureLinuxV2+Kata/line39.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AzureLinuxV2+Kata/line9.sh +++ b/pkg/agent/testdata/AzureLinuxV2+Kata/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/CustomData b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/CustomData index 01994b6383c..eed931e467d 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 | - 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 - 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line39.sh +++ b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line39.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line9.sh +++ b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/CustomData b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/CustomData index 01994b6383c..eed931e467d 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line39.sh +++ b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line39.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line9.sh +++ b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/CustomData b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/CustomData index 01994b6383c..eed931e467d 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line39.sh +++ b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line39.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line9.sh +++ b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/CustomData b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/CustomData index 01994b6383c..eed931e467d 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line39.sh +++ b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line39.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line9.sh +++ b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/CustomizedImage/CustomData b/pkg/agent/testdata/CustomizedImage/CustomData index beb94cd9e18..91e42af4795 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/CustomizedImage/line35.sh +++ b/pkg/agent/testdata/CustomizedImage/line35.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/CustomizedImage/line9.sh +++ b/pkg/agent/testdata/CustomizedImage/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/CustomizedImageKata/CustomData b/pkg/agent/testdata/CustomizedImageKata/CustomData index beb94cd9e18..91e42af4795 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 | - H4sIAAAAAAAC/+x9bXfbNvLv678+xZRhYykJKdvp7uZ6q2xVWUl1bUs6kpzu3sTVoUlIYk2RKgDKdhTez34PAD6AJCjJdrrt7rndc5KNAAxmBoOZHwYPfPZN89r1m9cWWdRqnc503B196HW6015/OrkYtprBijatzyFGTTvwqeX6CJOmbRsrHNzdmwThtWsj0/V520HnrDvZt2lg3yDKW/Z7086g/673fnraG7W0JqJ20/bdpo+o6Wi8/MdePy5kVFnhtetrtWeTwekAVqHnAV24BIKQQjADO1iuAh9Rn5i/ksAHGgT/4GROBz/3zwft03GBmBPc+l5gOUSrdUa9zuQ8rSlXxK5NPUXdjLmQ4KYX2JYn2OsM+pN2r98dnap7TtTiyERHl/2OsjoOfVuuePZmrKx3E14j7COKSLH2cNT70J50p8N256z9vjuedtqdn7o7mjZX2F1bFBkry76x5iimNeq+740no39NR93hoKUFhDCZLewiIpHRapc/XvYnl9NR97zbHndbet0j11OMPGQRBAYGgzRqg3FLr7sz8AjwwX9hJBWO3kLTQeumz4b4+O3zo78DXSAfSIApa12o/gXm1u0NHCwtai/q+uEraP5S751Oz3tn3VbdDjAKSONL77RVN180GnrzFVgN2MAKuz4FGoSrFcJ16+PxFVgfX181/g7ozqUQHfwdZm6jNu52Lkfd6eR8PP1xMJiMJ6P2cHp2+WP3vDuZdv/Z7UyH55fvmTGUjUdMBOqR6yCghGJrpe1P70N3NO4N+i1tfWgemYeG5a0Wlnms1Sbd8+5wMJqcbumZIg+tAkydvOV2T7v9Sa99Ph2OBh96p92R2uSRg3zqWt4KB2vXQXgXkWwurC3c9NxrbgwekmkZCTGFAJVz6aLd773rjifTd73z7rA9+Smn2KXluzNEKJ/vbOJdDAf9bn8yVlePHYRPSdzgot2fnv44bV9OBtPL4SmbJO/O2+/l1ok8S8s3nOumFdLACFeORZFW61yOzqeDy8nwctJq0uWqaYfYm64Rvg4IMoOQJtNgMJ722xfdlib+zToeMQeRFcQ/aLXO8HLaHnV+amlazUG2Z2EEhgU/t8cX4596F8Pe6bhVb8hF42Gvz8wnKaoRRDvDyza2F/UGbGoAAClVvT5PSxu1qFbDaBms0YXln163QxpcctHeedb8neuhtD1egjEDfZe+GEEbI4vuJEiD0F7sSdBDlh+uOqnbPPUYKZJjDs9Ar/K7jIjrE2p5XkbkZ5cuOqk9/G8S+Cm9gLT0TX7kIl7gzuDjRzA+g6bn/ZsGV1fCRfF6KZHBOJJ+YJZB3MBvaXaIMfKpxguRR5CyVspE3Esk6s9c/hf/I4slQ+GmW3r9199AM4eJ1wZNV0wLDb4Ar/fxCr4AQR6yad30rSWCVgs+aRndT1pDa8CXL8In6t3RaCrpOXZR017/Q/u8d8p5isNMUsZtMtaeSy4szMgOcJvNyHPXD+9A44rS4Plzpl5N3/TG07P2pB1pjBmN4hBVKTiZR6x6fqxiLYmpGmvjg9AsYX2UNBcxVW0CkvydjEOsdf7Hs8x+DgisE3IWxtY9uATQ3QrZFDlAA1hYawSB791D4CNAHloin5qCTG8GLoWFRWAZYAR0YflyrVdwi+DW9TyIzZZJDp5FaFIDXJ//xns2JePUN8+K+v/4w1UExpzCUVmJyF4EoP3cHvV7/fcnkjlBHPaLQlbybEJP8Or68x3s5sx4B9voNzhk1qdvSuWHVxG3j+/HZ73hW61KuF7/3WAfydjwuXSBMKDlit5DgDnLMxfLchAQ3ZkwvnFXKyasRDoeLou6gR+LyR0UoiH24VCWu/du3NIPPvkHHNQgp2CirbpeF2jnA3z//feaQv4XV5HWEFMr9AmijCT/F5dnStzPqKVvninJM+Xyukz39XrWwjhqNMDwKBzC1RWbkWwYp67voLsWHwjp36WGnOIq11NL36gZ0DcZpShmJtPkhfVrgC9cP8BDhuk+pC6xLgZVz/fC3JkdUjAcA4zZUUMrkPspoO/cuwdRIWDMjmNCzEaF29/FoQZXTEkf96rKjJchXGWjHMu5ukord/215bmObIyxfZ9AUcys6b4uPbZZL5iTKQ2maM1iJmjts7HZGXfNYnAdhT51lyj5fUwt37G8wEeZ+9QYy5WlIPtntfqiXJ2ctmKPnSgGKtgDA8piQwv0TV5fkVarRBAXMQDN4QcOX6WRSCKJZEsz0PQStC2P7VZKeROXYANDAAYGMys0kTNHyi4bmTVwzhSgg9ve0Rvz8Lsyg7t4OJCZWLm+jxxTO3pz+J12sIud2OZy6Kg6XMU9gx9QmAWhz3wxJMuDV+CgmRV6lMcmFpqxYwcO40U2b0mQFbM0WZzYYZRl3eV6phit3QdS2eZ38qwpXUexylY/k/L3CB8juRiFSNvdTK8/nrTPz6eT3kV3cDn5491MXmt595Iq6cmupbI/TeVjYnKpZ9mjX7YSHPW7k+4412/550iT8Jemb/rd7ulYGqFIg2+q0XfMwEVwfQ9FOCfcm3LVwSHFr7/BQbpAUS5ApPWH1jiA70FFDaQkkdJe4y4KyxlmjoQS5h9UVCXYtseasfY//yPAnayDrb07ASLcS3E2dnCxM+ZIRtNH9DbAN0MvnLtZLJKGd/LzYHQWJ1yYVweNZ0WqB5cv0Tr9Xm58Y476PXiG0Qxh5NsIVrxTYsJFQKh3D7MAw014jXxE4Tqk4AXB6tqyb+KKDEaHBDlwfS/7cGbDcrSD4/zyvpjJhefA5E9SU5000zSME01Z+mNb3utydM7W2rvqnLRyM8bwYY9GkUK7Nkapk5zOAjwNsEVaaXDYRZKFijlGKzCCIRysPzkv65/MT87LxosDPpMcOCDNX9bNJvvnAlkOY/WokQyijFAYI0lSbhpir6Uf5yXUS1XK4uzUbZlIjpfljeNiMFag78pOivpZznQ4GrD5kvmsLDs97o4+dEdsWB9QXTnCD2ivGuxM08I0Mz0kZssUkpnBA3ts6ptSVj4S2U7DsrGhyL6erPWN0gQjw3P98M7QN0m2MNK2jvLk/f/hWz57zINnz140Iw2ewSVBcG2RBVyHLsNj8ExeJeN7e+lM54hOqYWvLc+bznCwnGI0dwnF99Nbly44r3B0fAh/2TVbTnujpr6Fc57p2XtsIi2fBhuM2uPp8PL8fMqG4F27d15c8McAlie+RrEMl9jbz3FUGlIKS7+Syyj4iJ2jvdW6yjZk5M0tMqmFzfln7Y8e9z1c98OGO+fVfuf5ss/A79ICmKYJu22nVjVGX2ssdrJQyD5vqy2vJoSOMlQACSyAZHojB0ho24iQWeh59zkIXg0mdi1PSi3NaoSiQXWZ2CexMBh3n2d7qXmzRc+RBkZnjxibC8kVlhrv1sXhwV4Etz4YI8BBQE/YH/u1W653TkNWeXs003b11axqGPO+DBz421/+8jQyCUTdLY0MWMfIDjGanI9/TDaHz8SmafcO2QUcL9y/gM8cqmkLSlfkpNm8eUPifXBiXnvBtWkHGJm3ru8Et8T0EW1aN8SgHjHSPWjD9lzk06a+eehedNTk/r1pLZ2/ftdUEZURlF53SXt08dfvGmxRp9h++PPIg5db5SmD1UedCqhJQqcYY2XRBYsJj6IYVTCdLca/EctxVa/lRE/q593ZdGa5XogRvGZe/q+HYDP4b8zG52AElQTT30PsFQJoyvbegsrevNLTPEptmkSTeQBjFDuBJ1CbuWxy31pkybenu2x9X50TZvWmM9dDfPj1zVEk1SMLd5nBvM2xXJbAdhLOZu5dS9+8Lrbk0SkZl1Zd0zc/nHwXaQ2QF3/81M69IsW5kTtnIAgoBhOMOCfJlvasBrh+UjnX38cfrhh2dYJ8Xjm2wk2VBiLpWJTBiBqCNoOPeVbZL3kdROq8dAzCj6CYUnYCH0kIgUEZxgswXkicl2FiPoTbF3vxWZN3A0G9q2CR5Zgptd6QLSedZuyfVJhFbDLJxmB+0b05jkCOHCIblTBHYrN4zc0i3d9mUieZdDG+xXbl4a22O7JyfQ004rnzBdUaOYP4CJqeS1Afmm/MQ8UCmv1XIv6yVddub4lEMx7aQu6dDxpPbNTR2vLilNxpTIVBy2xfNYf9M8IpPiuPEOilUcklwpPeQVtnslbOGcjb5q3F/OZGPveTbtr+VwyTOJmhUOsQ4aVLxNa8QsN7KTPTpZwgVE2yR/lnpYnl3XTBhf/bnDSkoT8fifKbPjnpmB5lehpoxvpI2+beFdl2ySMy6twtErA8jCznXk66V7HxShx58QMK1yidd64/L52kyEGyf1s+8BswPsPD0nNV+cA0scGR7wNTfrkztw5yiWddk6ZS/ScFQ9mW4ROc8RGJR33+eUqXq1blgKn7LPcRZ3xqT8v4bMqsRRroG1mXUVXKRtqNYx415YQvrz/fMWhSJi9WzFXSpzT4OnYfHaVAIT8mYqo9iEARaayPpCmyFFBLIc+2afRwXLfXWmEtFgt7S1eN+tRqCrFXSYO1OH77/Ih5R4RAl47rwtvsfHmSG+2C9kudMX5ivmh8qX9E3SuMzRcNnZ9MrNsWzZN4/lwytbPR5XjC1gjFVFQDnqcak4P5y1Zd/6aRi1P7RMTfYUFRFY1ef40lwyNtS87LfB3byWk6OROwcv2z8Bo9HWrvi7QfDd8kJTC8dhNeo68EbBMl7EKzcrc5EKbErfKh9CfhVtkSSgyWTIAxaayP1fhPPdwqEffAfflR+KrYLztDsY23StkrTu9UVN+B0Erd/n+U9giUlmhROWZfBaTlUyulUYu2z5QSKIsd6OMwmVYAZdpDUdn+EAZKNyIeiUoeML20Kq9Y3eRPg0JktxwjkCwcDrCV4Qs+Soq7YWz85dtgad3uPyejdmfSFZWZ4wQFoVzA5EXJLTfuJwtJ9hITNSlvJ903YJynkUWXyZqmKfE4uRi29E2JI77bWr3ZunXzs8RiM+5A7LkpelMtUtLy7mg0GJWz9zt6UXt8tviH7U0Lx9FM1aFNFYOya9+/MxFi4k5I6ATy+muHiGwpVrazZrb9piIhn9astpHkUFthO9jk+8FqeFWA4QIDHJ0YUfH8EN8GKWfLGFXQMCKhR1v6hntJqZQxrIvSGqijaiaYJmOc5MxeymA2mTZHhn5SOkQnOP7Q706mrEzsboyTeXpi6Kqi0nU4VaXKGzmqyuAKMySImtC9cylDFGYlpuBHLPq99EiFvlERfcq8LimqqW+kHvnUVqqmcFpBIpPuZ+UOLbo29dLReubOQD/id5GWK3r/Cqh1g/i+cul6egQWSc61w9ryQmTCgC4QvnUJitsdsTp0gUR5TYb9py4WJqsmHhWMR2ombhzJqFdckZ/MP0+WK2HNXPN5JfO7sSy6wlEcjjWZalPfyGS4fssZnSKrkkbT4xc5hVZcfOVci0uY6UWluugfDCPxEse5+BwfrYxrJXWazflBI3/UNk84PkddORtSl1Rsx580EJ0lGD11VCaQ5PpZTm7Whlp4jmjm6hRnv781X0TmoeL6aaxfbuTdi2FLEwwY69RKko3zyjSfVthAiCOYwsiaKdGkv6hiZ0E6X1E21VxNodMVRoZt2QvkJBpM74WcVGhOU+4dqjYuRBeXPlu78vt/ogfXp0HGYf6oS5Jq/Hy3foguWMwrEixshmc74Xq+YmyninX0lopiCzuZlZPkCYHCWZQ8mBM6ym70p3ju+CEnQRRLxjS86Js8fKqYSAnbzDfBysLWElGEedKhQiK2kOKWMXfXSHlhJRNLBkDl+6ucy5IOKllNH2fI3Vt6AheZo976NsRuj7zZ2j7KnpVgLqEsMF/85UarqayX0ZEWh5tqWSPJw1eZ5eMtrXM5GnX7k8x069kA7YgG5ZFcZxFBgMNJe/S+mxGPt1ATlglarhHuBMuVhXmkz/NyYmiH5qF5qEXMwHKUInWaRwQRTwoWUGay1E/EMMecP92Axd3ueoAB/RZaHtCgkQSVa4sgiUiBoXJUKoyVqQg5VXNzmylyN1DqPr8j8zUsueqdkr3sN7nhxs1Xlc78yuRjV5DGyu3yswlFEA1XnX7v1MVEsWCQXmCqOuipqCMdp8qVKohnzz9tpV+qlkWyfGlUy2CgtASSF9IVt9K+fIFv9rqX5rtGfNnpCRfT0gusfgASRcjep4EVRgT5FGZxhoPfnoqvrgK/u5pOHIb5jszvzCMTJguXAFkEoecAwpjN4DXyaWh53r0GW/dfs5xeeYnYxGhm+24C8CA9q2nZxFi6rCOTn9JFzhzxI5qSVM01Zy5LhkplMYjkp0kNUc+krIfY6PP7tOIY9B788YPOBcNU5AzFisvybq17Ar+GhEJIENwuLP7Og+cSivg14sKzQUACuEXgBP4BFa980ADIvW+Ldzhs3/3Kb7Fk+lI9xtLvKa/sx++V9Hs8xcNYxYiZAdgszljXQUjF42nXIYVby49fLcGI6UD9asrtwrUXgNFvoYsRATd+zUT1XA78ju/lxH5uj5dy/pAXZ6qev6l+iSY1mL2eoImnt72w/Dk3vXjj7T/t/ZfHPEBReltE9ShMbQ80mPlC7k16I3ExR+Ga8JK5JsWbEAmQ2Z+U8HIVpOQ9jHjeOFvSUHE/qgXzM7aWsD1kYWYdS+bRkC/m+q2IDGuEYWGtVsg3wSIkXCJwKQGMPCt2A3wAXZ87ijWCc4siQuHDT6dJdBF+b4Eg9KmFX0HgOQiXCun8swkyLFN677xEzRc55w1Vr0Aw15bErrjfJE1yzdj67K5WyRXjwrNvCvOr8KJJlNgFfbLVSSkB++Q0pWxWuRzktyxWRmnOovYVbOdRQ1QeoXzmZ2cmVZnz2XHNKtGzWcx8Z1eqcvfX5dEsXqzayaAKUDzANNAdxZZNz8Jr9GOMggobCDdv5GgWn1aJi8JrlOzHio3oY7nYJdP4pc649LVWoJtu1k0dF7c0/TutVqgRb67yXADDHS19U+hV5HNlx5rvl3lXFjXLQynRZ3F6+3ukzNBUDEVaTW1bcu0qQ4rXxSIdmIS1fMssPbg7DVh7CF1OMz4yEVsBi5w0f1wPzyD/7mXyeqbxQlVgU894UZ50BU2Xhn6LctPpn20WlZvLI1C6z1ywl9IZYSlNhyiyadGsX0GZxiuwSHoIA3glrkiGUPkxBBqIR4AtTN0ZU61onB/D3WrJ3q01/MBBe2S2H3+INW+vZZn3vnP8qKmQBj2tgnxeRDnpLVva7jXkw8SUnzQuXfr6GoKqOqgUNf6/yVTngcKg2PLJLMDLlka+mC++PDcEHwlC/6KBYZBFcJvVRI7BphdhYWatYPxT2qNhEIrdlZEBldZrFnPycx+kZ5qZncqOorLMpl5Z11LqqFZQb4W7yQsLV+Ihqeo2zHeV2hTXHlt5yu8CKMLNzGLgu5zeXaqsRNrdiPFDfNX2TAjY9h32/4Y4uLvPkNvleDK44Lf/WDRvj/5VfjSmXEV+KiaJdNtIqOrINITXDAlbV8UqYL7wBNRNcznSV2CHhAbLpMEOiaLcq0PTeHN56s6m/PixP2+xGF8rn7bbRVc9TI8Ke7U98WH1+JoKOKaB4kf1s1n7iMtts/ickkqfWUX+TEim0Z1Dqzq0+IcpZDe33HDK81q49Eqno3q1rOB8tErvU9G4+NZVvGtfPUhaNbj9ysdO80DpVACl9HEAWOGA79alcMcl0GHw81G4iP1XPNG/rtBaqaH8QlLBcYkRev68jBFLFSvEz1RQaMEEtqoQoUtTuekC8YBYKbcAMPnTvSXuysNSxEDpVUbsMdCH7loHSWb84y/Nq5fyhxXWHw+N/3X18pOZ/G2+zFLi5ssDJeHsIa4Se9XWk2+saNn6v6CnLO+mw/5LLjJzRLvCaObeKXT27IUkcKRtpVi6TLJR9PHtt80XO+gIQ+kKZ4XkV2/zPQCD5lAMsrDPuCsw4h4/P+n0uPJZr8I65aR8z2XLyXHVCjbNHBV/yH9jZNK9GPLcz7vR4CJlqqXxTx4oPztSpvjHBSd5HGLQKLS7S8Aoryj+0ZkTEN9L4C7GDnzH5fdk7AWybyDwi/YFgW8jGA2TbL3Lk6zIIsjJr4xZ8K/X4wtVakGSB2I1U+NPxMLbFhz9rdHgmxjVrrhicv+BYKHkj/JoqXI1luzsPyzgV1TXtpHbAj4qqms1aWvaenlXAWwrYG3tKYgYmotgiZqL+xXC7EcjnYbwnK13WERM7xT2ltY8e062c96bTgaD9BBX5pB6F+33XXG+61hahTBayf6OuxT5LkWjCMRyRd8kPeSu6Eg/i011irUHwFnWL2PEpthUd6+BproGcgxHPENhU7ai52vzlWUjuHlDTDeIBeIAQldQ5ZvS8Y1H6i6Rwz87lWhkqzbWrgVcyNxlDWnLqzNh9d+LXExyZSO3LCjpTBxafIzaeMtHak4cdfzddBQLVakmcXCxSlOSE9mphcfJ7wT2DcK/m/yCfEH+00HnrFtlHiKlgRG15k+f46PupP1e/vm1NPV5H3MmBgdSFVLwI7AFOl/FG2yds9SaK4cD9AIrj5tSyQHfR/WVO+nGrecxdKRxvuiM+AiTdwHuLFzfKr/1LAHLyz6zl/hcg/SqdllKy/NS0q26Xt+mcXE6JrmzdvDL0sbm0rVxQIIZNe1gyR8f5t9k24ivrOlH0UFDMVGLvco6Ivt1QCiGFhDez6yufUtOviXaK9CPXoF+3Igg5oBQnLKQO7ur6RuZi1hXlef1mU8Qm+Qz13dgaafczgIMfIi23VphlZa2mKT8sm2u848/XL3USj9FWlR8eSGzg1aKGhOyUXw81UD8Keiy7tgv1mc2oLafHlZ9ugWlrOVdUTylZf70TU6EaOs2Q5le4if3Iik/+pV+7+zpzjJTVerUuIYS3krayc1+vFRO/vL8iH0PXrrVDYRz4J9Ju1wJoylsL4vTu7G5CNHQ3SrAVC4RtELfFksa8dU1QW4UZses5U+FKL4ZIJ2fqkyWlbVW6XvThpwPfm+e4WGUXddJXUXe3Wgnmn4cHaT3atfdZIFUwPT6F+XPcZ6motRQ/zxNX1rWN5JmI/EixgH73ydfmm+VWSWVuPv446LL/fOLv22PUaGFfHwwjFmAlxaFg83GHKFVQFwa4PsoOtlszIk1j/7sGpCkFzOV4b6pHTiopf+j4Jb1tAy+afHvc6n22DluTGvWchkGMfWKWq2+oCa9NK1q9QVuF66HACPLESOSi1JPdhZZDCi77Bx6i7mL9s/YKklKcaWCXiHVlz56IpVFsnc1ZiU/WvlIAb+DwxYZ/AiYYZdbZk4+zcYUvL0AAnXHoqjxSq8vAkKZw2i8AkItTDvK1iJzIUcP0HgigX+xWdtBGPlOBdns050jvnZAToHb1CLjexyd88Fl8tkZcXaLwduOF4ROxcbNf1YMEjA2BV4Hf3hUeAhD/y4/vS9PEj//ZZ4tgct/Hp+mOH1LSl+/TPwVX+EUp28Zp+b5lFyY8Jzl2CqXJjO34GsVbrVUo6wjlcNOPKG6TOVAc167VEWkYouiO7lPGI92fMI4WCOMXQfFH3rqBP7MnWdLF3ENSvpyNf+ePtO++NO0Z3PTab45nPKrOlMfMYjAaLASTf4q86ZALL7lb1H4/vvu4B28fauo4ljUIkGIbXTCq3MTOMkW+quVd886ZbzHHZ/Eqf/u4B0T8Bn7+/8FAAD//3raSPuagAAA + H4sIAAAAAAAC/+x9bXfbNvLv678+xZRhYykJKdvp7uZ6q2xVWUl1bUs6kpzu3sTVoUlIYk2RKgDKdhTez34PAD6AJCjJdrrt7rm75ySNAAxmBoPfDAYPfPZN89r1m9cWWdRqnc503B196HW6015/OrkYtprBijatzyFGTTvwqeX6CJOmbRsrHNzdmwThtWsj0/V520HnrDvZt2lg3yDKW/Z7086g/673fnraG7W0JqJ20/bdpo+o6Wi8/MdePy5kVFnhtetrtWeTwekAVqHnAV24BIKQQjADO1iuAh9Rn5i/ksAHGgT/4GROBz/3zwft03GBmBPc+l5gOUSrdUa9zuQ8rSlXxK5NPUXdjLmQ4KYX2JYn2OsM+pN2r98dnap7TtTiyERHl/2OsjoOfVuuePZmrKx3E14j7COKSLH2cNT70J50p8N256z9vjuedtqdn7o7mjZX2F1bFBkry76x5iimNeq+740no39NR93hoKUFhDCZLewiIpHRapc/XvYnl9NR97zbHndbet0j11OMPGQRBAYGgzRqg3FLr7sz8AjwwX9hJBWO3kLTQeumz4b4+O3zo78DXSAfSIApa12o/gXm1u0NHCwtai/q+uEraP5S751Oz3tn3VbdDjAKSONL77RVN180GnrzFVgN2MAKuz4FGoSrFcJ16+PxFVgfX181/g7ozqUQHfwdZm6jNu52Lkfd6eR8PP1xMJiMJ6P2cHp2+WP3vDuZdv/Z7UyH55fvmTGUjUdMBOqR6yCghGJrpe1P70N3NO4N+i1tfWgemYeG5a0Wlnms1Sbd8+5wMJqcbumZIg+tAkydvOV2T7v9Sa99Ph2OBh96p92R2uSRg3zqWt4KB2vXQXgXkWwurC3c9NxrbgwekmkZCTGFAJVz6aLd773rjifTd73z7rA9+Smn2KXluzNEKJ/vbOJdDAf9bn8yVlePAcKnJG5w0e5PT3+cti8ng+nl8JRNknfn7fdy60SepeUbznXTCmlghCvHokirdS5H59PB5WR4OWk16XLVtEPsTdcIXwcEmUFIk2kwGE/77YtuSxP/Zh2PGEBkBfEPWq0zvJy2R52fWppWc5DtWRiBYcHP7fHF+KfexbB3Om7VG3LReNjrM/NJimoE0c7wso3tRb0BmxoAQEpVr8/T0kYtqtUwWgZrdGH5p9ftkAaXXLR3njV/53oobY+XYMxA36UvRtDGyKI7CdIgtBd7EvSQ5YerTgqbpx4jRXLM4RnoVbjLiLg+oZbnZUR+dumik9rD/yaBn9ILSEvf5Ecu4gXuDD5+BOMzaHoe3zS4uhIQxeulRAbjSPqBWQZxA7+l2SHGyKcaL0QeQcpaKRNxL5GoP3P5X/yPzJcMBUy39Pqvv4FmDhPUBk1XTAsNvgCv9/EKvgBBHrJp3fStJYJWCz5pGd1PWkNrwJcvAhP17mg0lfQcQ9S01//QPu+dcp5iN5OUcZuMteeSCwszsgPcZjPy3PXDO9C4ojR4/pypV9M3vfH0rD1pRxpjRqM4RFUKTuYRq54fq1hLYqrG2vggNEtYHyXNRUxVm4AkfyfjEGud//Ess58DAuuEnIWxdQ8uAXS3QjZFDtAAFtYaQeB79xD4CJCHlsinpiDTm4FLYWERWAYYAV1YvlzrFdwiuHU9D2KzZZKDZxGa1ADX57/xnk3JOPXNs6L+P/5wFYExp3BUViKyFwFoP7dH/V7//YlkThC7/aKQlTyb0BO8uv58B7s5M97BNvoNDpn16ZtS+eFVxO3j+/FZb/hWqxKu13832EcyNnwuXSAMaLmi9xBgzvLMxbIcBER3Joxv3NWKCSuRjofLom7gx2JygEI0xD4cynL33o1b+sEn/4AHNcgpmGirrtdFtPMBvv/+e00h/4urSGuIqRX6BFFGkv+LyzMl7mfU0jfPlOSZcnldpvt6PWthHDUaYHgUDuHqis1INoxT13fQXYsPhPTvUkNOcZXrqaVv1Azom4xSFDOTafLC+jXAF64f4CGL6T6kkFgXg6rne2FwZocUDMcAY3bU0ArkfgroO/fuQVQIGLPjmBCzUQH7uzjU4Iop6eNeVZnxsghX2SjHcq6u0spdf215riMbY2zfJ1AUM2u6L6THNusFczKlwRStmc8ErX02Njvjrll0rqPQp+4SJb+PqeU7lhf4KINPjbFcWQoyPqvVF+Xq5LQVI3aiGKhgDwwoiw0t0Dd5fUVarTKCuIgD0Fz8wMNXaSQSTyLZ0gw0vRTalsd2K6W8iUthA4sADAxmVmgiZ46UXTYya+CcKYIObntHb8zD78oM7uLhQGZi5fo+ckzt6M3hd9rBLnZim8tFR9XuKu4Z/IDCLAh9hsWQLA9egYNmVuhR7puYa8aOHTiMF9m8JUFWzNJkcWLAKMu6C3qmGK3dB1LZhjt51pTQUayyFWdS/h6BMRLEKETaDjO9/njSPj+fTnoX3cHl5I+HmbzW8vCSKunJ0FLZn6bCmJhciix79MtWgqN+d9Id5/ot/xxpUvyl6Zt+t3s6lkYo0uCb6ug7ZuAiuL6HYjgn4E256uAhxa+/wUG6QFEuQKT1h9Y4gO9BRQ2kJJHSXuMuCssZZo6EEoYPKqpS2LbHmrH2P/8jgjtZB1t7dwJEOEpxNnZwsdPnSEbTR/Q2wDdDL5y7mS+Shnfy82B0FidcGKqDxrMi1YPLl2idfi83vjFH/R48w2iGMPJtBCveKTHhIiDUu4dZgOEmvEY+onAdUvCCYHVt2TdxRRZGhwQ5cH0vYzizYdnbwXF+eV/M5MJzYPInqalOmmkaxommLP2xLe91OTpna+1ddU5auRlj+LBHo0ihXRujFCSnswBPA2yRVuocdpFkrmKO0QqMYAgH60/Oy/on85PzsvHigM8kBw5I85d1s8n+uUCWw1g9aiSDKEcojJEkKTcNsdfSj/MS6qUqZXF26rZMJMfL8sZxMRgr0HdlJ0X9LGc6HA3YfMkwK8tOj7ujD90RG9YHVFeO8APaqwY707QwzUwPidkyhWRm8MAem/qmlJWPRLbTsGxsKLKvJ2t9ozTByPBcP7wz9E2SLYy0raM8ef9/+JbPHvPg2bMXzUiDZ3BJEFxbZAHXocviMXgmr5Lxvb10pnNEp9TC15bnTWc4WE4xmruE4vvprUsXnFc4Oj6Ev+yaLae9UVPfwjnP9Ow9NpGWT4MNRu3xdHh5fj5lQ/Cu3TsvLvjjAJYnvkaxDJfY2w84Kg0pDUu/EmQUMGLnaG+1rrINGXlzi0xqYXP+Wfujx30P6H7YcOdQ7XeeL/sM/C4tgGmasNt2alVj9LXGYicLhezzttryakLoKIsKIAkLIJneyAES2jYiZBZ63n0uBK8OJnYtT0otzeoIRYPqMrFPYmEw7j7P9lLzZoueIw2Mzh4+NueSKyw13q2L3YO9CG59MEaAg4CesD/2a7dc75yGrPJ2b6bt6qtZ1TDmfRk48Le//OVpZJIQdbc0csA6RnaI0eR8/GOyOXwmNk27d8guxPEC/kX4zEM1bUHpipw0mzdvSLwPTsxrL7g27QAj89b1neCWmD6iTeuGGNQjRroHbdiei3za1DcP3YuOmhzfm9bS+et3TRVROYLS6y5pjy7++l2DLeoU2w9/Hnnwcqs85WD1UacCapLQaYyxsuiC+YRHUYwqmM4W49+I5biq13KiJ8V5dzadWa4XYgSvGcr/9RBsFv4bs/E5GEElwfT3EHsFB5qyvbegMppXIs2j1KZJNBkCGKMYBJ5AbeayyX1rkSXfnu6y9X11TpjVm85cD/Hh1zdHkVSPLNxlFuZtjuWyJGwn4Wzm3rX0zetiS+6dknFp1TV988PJd5HWAHnxx0/t3CtSnBu5cxYEAcVgghHnJNnSntUA108q5/r7+MMVi12dIJ9Xjq1wU6WBSDoWZTCihqDNwsc8q+yXvA4idV46DsKPoJhSdgIfSRECC2UYL8B4IXFehon5EG5f7MVnTd4NBPWugkWWY6bUekO2nHSasX9SYRaxySQbg/lF9+Y4AtlziGxUwhyJzeI1N4t0f5tJnWTSxfgW25WHt9ruyMr1NdCI584XVGvkDOIjaHouQX1ovjEPFQto9r8S8ZetunZ7SySa8dAWcu980Hhio47Wlhen5E5jKiy0zPZVc7F/RjiNz8ojBHppVHKJ8KR30NaZrJVzBvK2eWsx3NzI537STdv/imESJzMUah0ivHSJ2JpXaHgvZWa6lBOEqkn2KHxWmlgepgsQ/m8DaUhdf94T5Td9ctIxPcr0NNCM9ZG2Dd4V2XYJERl1DosELA8jy7mXk+5VbLwSR178gMI1Sued689LJylyIdm/LR/4DRif4WHpuap8YJrY4JHvA1N+uTO3DnKJZ12TplL9JwVD2ZbhE5zxEYlHff55SperVuWAqfss9xFnfGpPy/hsyqxFGugbWZdRVcpG2o1jiJpywpfXn+9YaFImL1bMVdKnNPg6dh8dpYFCfkzEVHsQgWKksT6SpshShFoKebZNo4fHdXutFdZisbC3dNVRn1pNIfYqabAWx2+fHzF0RAh06bguvM3Olye50S5ov9QZ4yfmi8aX+kfUvcLYfNHQ+cnEum3RPInnzyVTOxtdjidsjVBMRTXgeaox2Zm/bNX1bxo5P7WPR/wdFhRV3uj111gyPNK25LzM17GdnKaTMwEr1z8Lr9HTQ+19I+1Hh2+SEli8dhNeo68U2CZK2BXNyt3mgjBl3CofSn9S3CpbQonBkgkwJo31sTr+Uw+3SsQ94r78KHzV2C87Q7GNt0rZK07vVFTfEaGVuv3/UdojorREi8ox+ypBWj61Uhq1aPtMKQVlMYA+LibTCkGZ9tCobP8QBko3Ih4ZlTxgemlVqFjd5E8ThciwHEcgmTscYCuLL/goKe6GsfGXb4Oldbv/nIzanUlXVGbACQpCOYfJi5JbbhwnC0n2EhM1KW8n3TdgnKeeRZfJmqYp8Ti5GLb0TYkjvttavdm6dfOzxGIz7kDsuSl6Uy1S0vLuaDQYlbP3O3pRIz5b/MP2poXjaKbq0KaKQRna9+9MuJi4ExI6gbz+2iEiW4qV7ayZbb+pSMinNattJDnUVtgONvl+sDq8KoThIgY4OjGi4vkhvg1SzpYxqqBhREKPtvQNR0mplDGsi9IaqL1qJpgmxzjJmb2UwWwybY4M/aR0iE5w/KHfnUxZmdjdGCfz9MTQVUWl63CqSpU3clSVwRVmSBA1oXvnUhZRmJUxBT9i0e+lRyr0jYroU+Z1SVFNfSP1yKe2UjWF0woSmXQ/K3do0bWpl47WM3cG+hG/i7Rc0ftXQK0bxPeVS9fTI7BIcq4d1pYXIhMGdIHwrUtQ3O6I1aELJMprcth/6mJhsmriUcF4pGbixpEc9Yor8pP558lyJayZaz6vZH43lnlXOIrdsSZTbeobmQzXbzmjU2RV0mh6/CKn0IqLr5xrcQkzvahUF/2DYSQocZzzz/HRyrhWUqfZnB808kdt84Tjc9SVsyGFpGI7/qSB6CyJ0VOgMoEk189ycrM21MJzRDOoU5z9/tZ8EZmHiuunsX65kXcvhi1NMGCsUytJNs4r03xaYQMh9mAKI2umRJP+ooqdBel8RdlUczWFTlcYGbZlL5CTaDC9F3JSoTlNuXeo2rgQXVz6bO3K7/+JHlyfBhmH+aMuSarx8936IbpgPq9IsLAZnu2E6/mKsZ0q1tFbKoot7GRWTpInBApnUfLBnNBRdqM/jeeOH3ISRLFkTN2LvsmHTxUTKWGbYROsLGwtEUWYJx0qJGILKW4Zc3eNlBdWMrHkAKh8f5VzWdJBJavp4wy5e0tP4CID6q1vQ+xG5M3W9lH2rASDhLLAfPGXG62msl5GR1ocbqpljSSErzLLx1ta53I06vYnmenWswHa4Q3KI7nOPIIIDift0ftuRjzeQk1YJmi5RrgTLFcW5p4+z8uJoR2ah+ahFjEDy1GK1Gke4UQ8yVlAmclSPxGLOeb86QYs7nbXAwzot9DygAaNxKlcWwRJRAoMlb1SYaxMhcupmpvbTJHDQKn7/I7M17DkqndK9rLf5IYbN19VOvMrk4+hIPWV2+VnE4ogGq46/d6pi4liwSC9wFR10FNRRzpOlStVEM+ef9pKv1Qt82T50qiWhYHSEkheSFfcSvvyBb7Z616a7xrxZacnXExLL7D6AUgUIXufBlYYEeRTmMUZDn57Kr66CvzuajpxWMx3ZH5nHpkwWbgEyCIIPQcQxmwGr5FPQ8vz7jXYuv+a5fTKS8QmRjPbd5MAD9KzmpZNjKXLOjL5KV3kzBE/oilJ1Vxz5rJkqFQWB5H8NKkh6pmU9RAbfX6fVhyD3oM/ftC5YJiKnKFYcVnerXVP4NeQUAgJgtuFxd958FxCEb9GXHg2CEgAtwicwD+g4pUPGgC5923xDoftu1/5LZZMX6rHWPo95ZX9+L2Sfo+neBirGDEzAJv5Ges6CKl4PO06pHBr+fGrJRgxHahfTblduPYCMPotdDEi4Mavmaiey4Hf8b2cGOf2eCnnD3lxpur5m+qXaFKD2esJmnh62wvLn3PTizfe/tPef3nMAxSlt0VUj8LU9ogGMyzkaNIbiYs5CmjCSwZNijchkkBmf1IC5SpIyXsY8bxxtqSh4n5UC+ZnbC1he8jCzDqWDNGQL+b6rfAMa4RhYa1WyDfBIiRcInApAYw8K4YBPoCuz4FijeDcoohQ+PDTaeJdBO4tEIQ+tfArCDwH4VIhnX82QQ7LlOidl6j5IgfeUPUKBIO2xHfF/SZpkmvG1md3tUquGBeefVOYXwWKJl5iV+iTrU5KCdgnpylls8rlIL9lvjJKcxa1r2A7jxqi8gjlMz87M6nKnM+Oa1aJns1i5ju7UpW7vy6PZvFi1U4GVQHFA0wD3VFs2fQsvEY/xlFQYQPh5o3szeLTKnFReI2S/VixEX0sF7tkGr/UGZe+1gp00826qePilqZ/p9UKNeLNVZ4LYHFHS98UehX5XBlY8/0ydGVeszyUEn3mp7e/R8oMTcVQpNXUtiXXrjKkeF0s0oGJW8u3zNKDu9OAtYfQ5TTjIxOxFTDPSfPH9fAM8u9eJq9nGi9UBTb1jBflSVfQdGnotyg3nf7ZZlG5uTwCpfvMBXspnRGW0nSIIpsWzfoVlGm8AoukhzCAV+KKZBEqP4ZAA/EIsIWpO2OqFY3zY7hbLdm7tYYfOGiPzPbjD7Hm7bUs8953jh81FVKnp1WQz4soJ71lS9u9hnyYmPKTxqVLX19DUFUHlaLG/5lMde4oDIotn8wCvGxp5Iv54stzQ/CRROhfNDAMsghus5rIMdj0IszNrBWMf0p7NAxCsbsyskCl9Zr5nPzcB+mZZmanMlBUltnUK+taSh3VCuqtgJu8sHAlHpKqbsOwq9SmuPbYylN+F0DhbmYWC77L6d2lykqk3Y04foiv2p4JAdu+w/5riIO7+yxyuxxPBhf89h/z5u3Rv8qPxpSryE/FJJ5uGwlVHZmGQM2QsHVVrAKGhSegbprLkb4COyQ0WCYNdkgU5V4dmsaby1N3NuXHj/15i/n4Wvm03S666mF6lNur7RkfVo+vqQjHNFD8qH42ax9xuW0Wn1NS6TOryJ8JyTS6c2hVhxb/MIXs5pYbTnleC0ivBB3Vq2UF8NEq0aeicfGtq3jXvnqQtOrg9isfO80HSqciUEofB4AVDvhuXRruuAQ6LPx8VFzE/iePV8oex6VyXZG/Ss3hPg0AR+eluuWOch8tmHQvhnwx+W40uEg7bmn8DXXldwzKFP84a69SWuyRxBpnl7BRLScR/6LFCYjH2HnqxA58x+WH8O0Fsm8g8KHgISDwbQSjYZIKdHkGB1kEOfmwmyFLvR7f1lALlbw+qZkaf38S3rbg6G+NBs+Qxi9hFbqvuHX9ByNRkckCFFeGesm24cPQpKK6to3cFmSrqK7VpH0v6+Vdhdes8Jm1p7hbaC6CJWou7lcIsx+NdErCcxZMzZGPcBUsFHbmK62IPwpZWlGWKipT18U54RKwqtaMLk2Rkc0wJk8JGYtn/ktclNfdIfbYkg/dtQ6SfbGPvzSvXspItv54aPyvq5efzORv82W2IWa+PCi4I8NXmbLSXxQvZa0rbEvhsxRdtP4v6Kk81Q4qedeAL3BXGM3cO4Wynr2QNBCVPUrpPtlGQffbb5svFG3F6HcFMiD5ses8VWAr8iJynkDVwFZjhMo4nv5SXyH1cFK+ulZxGUSsZZgtp/cFe0trnj0V2znvTSeDQXpAK+Osd9F+3xVnt46lFQajlezduEuRy1I0ikAsRfRN0kPu+o30s9gwp1h7QKjK+mWM2BSb6u410FRXPI7hiGcfbMpW63zdvbJsBDdviOkGsUB86usKqnzDOb7NSN0lcvgnpRKNbNXG2rWAC5m7iCFtZ3UmrP57kWdJrmPkQv6SzsSBxMeojbd8pObEMcbfTUexUJVqEocSqzQl4e1OLTxOfiewbxD+3eQX5Avynw46Z90q8xBTHCNqzZ8+x0fdSfu9/PNraerzPuZMDI6WFVLw460FOl8FDbbOWWrNlcMBeoGVx02p5PDuo/rKnWLj1vMYOtI4X3RGfITJuwB3Fq5vld9xljzMZZ/ZS3xmQXoxuyyl5Xkp6VZdr2/TuDj5ktxHO/hlaWNz6do4IMGMmnaw5A8L8++tbcQX1PSj6KChmKjFXmUdkf06IBRDCwjvZ1bXviUn3xLtFehHr0A/bkQQc0AoTlnIncvV9I3MRayryrP4DBPEBvjM9R1Y2im3swADH6JtN1JYpaUtJim/SJvr/OMPVy+10k+RFhVfVcjsoJUu2hKyUXz01ED8meey7tgv1mc2oLafHkR9ugWlrOWhKJ7SMn/6JidCtHULoUwvwcm9SMoPeqXfMns6WGaqSkGNayjhraSd3OzHS+XkL8+PGHvw0q1uIMCBfwLtciWMprB1LE7mxuYiREN3qwBTuUTQCn1bZBTEF9UEuVGYHaGWPwOi+B6AdDaqMhFW1lol9qYNOR/8TjxbjqLsKk4KFXm40U40/Tg6SO/MrrvJgrGw7NG/KH+OV2EVpYb652n6irK+kTQbidcuDtj/P/nSfFOafJW4++BxEXL//OJv2z9UaCHvHwxjFuClReFgszFHaBUQlwb4PopONhtzYs2jP7sGJOnFTGVx39QOHNTS/1GAZT0tg29a/Ntbqv1zHjemNWu5BJ+YekWtVl8+k16RVrX6ArcL10OAkeWIEcl5qSeDReYDypCdi95i7qJyBkA1typJSn6lgp40XLkHTaSySEZXY1bC0coHCPj9GrbI4Me7DLvcMgP5NBlaQHsRCNQdi6LGK72+CAhlgNF4BYRamHaUrUXiUPYeoPE8Hv8as7aDMPKdCrLZZzlHfO2AnAK3qUXGdzQ654PL5JMy4lwWC287XhA6FZsy/1k+SISxaeB18Id7hYcw9O/C6X15kvj5L0O2JFz+82Ca4mQtKX3ZMsErvsIpTt9ynJrnU4IwgZxl3yqXJjO3gLUKWC3VKOtIBdgJEqrLVACaQ+1SFbETUhTdyX2eeLTj88TBGmHsOij+iFMn8GfuPFu6iCtO0lep+bfymfbFn6Y9m5tO883hlF/DmfqIhQiMBivR5C8ubwrE4hv8FoXvv+8O3sHbt4oqjkUtEoTYRie8OjeBk2yhv1p596xTxnvc8Um889YdvGMCPmN//78AAAD//1yZMCV2gAAA - 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/CustomizedImageKata/line35.sh +++ b/pkg/agent/testdata/CustomizedImageKata/line35.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/CustomizedImageKata/line9.sh +++ b/pkg/agent/testdata/CustomizedImageKata/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/MarinerV2+CustomCloud/CustomData b/pkg/agent/testdata/MarinerV2+CustomCloud/CustomData index 5a0ea6d4179..39b2042e378 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/MarinerV2+CustomCloud/line39.sh +++ b/pkg/agent/testdata/MarinerV2+CustomCloud/line39.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/MarinerV2+CustomCloud/line9.sh +++ b/pkg/agent/testdata/MarinerV2+CustomCloud/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/MarinerV2+Kata/CustomData b/pkg/agent/testdata/MarinerV2+Kata/CustomData index 44fa0a8c01d..4f2c4abe87d 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 | - 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 - 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/MarinerV2+Kata/line39.sh +++ b/pkg/agent/testdata/MarinerV2+Kata/line39.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/MarinerV2+Kata/line9.sh +++ b/pkg/agent/testdata/MarinerV2+Kata/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/CustomData b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/CustomData index 44fa0a8c01d..4f2c4abe87d 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line39.sh +++ b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line39.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line9.sh +++ b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/CustomData b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/CustomData index 44fa0a8c01d..4f2c4abe87d 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line39.sh +++ b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line39.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line9.sh +++ b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/CustomData b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/CustomData index 44fa0a8c01d..4f2c4abe87d 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line39.sh +++ b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line39.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line9.sh +++ b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/CustomData b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/CustomData index 44fa0a8c01d..4f2c4abe87d 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line39.sh +++ b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line39.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line9.sh +++ b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/RawUbuntu/CustomData b/pkg/agent/testdata/RawUbuntu/CustomData index d1b1bc66c2f..90616828415 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/RawUbuntu/line40.sh +++ b/pkg/agent/testdata/RawUbuntu/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/RawUbuntu/line9.sh +++ b/pkg/agent/testdata/RawUbuntu/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF diff --git a/pkg/agent/testdata/RawUbuntuContainerd/CustomData b/pkg/agent/testdata/RawUbuntuContainerd/CustomData index 1cb75dd573e..db78e1b2ef3 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 bb2cf613222..7260e832c45 100644 --- a/pkg/agent/testdata/RawUbuntuContainerd/line40.sh +++ b/pkg/agent/testdata/RawUbuntuContainerd/line40.sh @@ -560,25 +560,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" - binary_version="v${KUBERNETES_VERSION}" - 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 - 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 - + 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 @@ -593,6 +579,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 ca850ba0f2b..80f6c65da89 100644 --- a/pkg/agent/testdata/RawUbuntuContainerd/line9.sh +++ b/pkg/agent/testdata/RawUbuntuContainerd/line9.sh @@ -603,4 +603,24 @@ 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 +} + #HELPERSEOF