diff --git a/parts/linux/cloud-init/artifacts/cse_helpers.sh b/parts/linux/cloud-init/artifacts/cse_helpers.sh index 98315a19a4f..a13de062ad1 100755 --- a/parts/linux/cloud-init/artifacts/cse_helpers.sh +++ b/parts/linux/cloud-init/artifacts/cse_helpers.sh @@ -125,6 +125,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 # Error either getting the install mode or cleaning up container images ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 # Error checking DNS health + # For both Ubuntu and Mariner, /etc/*-release should exist. # For unit tests, the OS and OS_VERSION will be set in the unit test script. # So whether it's if or else actually doesn't matter to our unit test. @@ -737,6 +739,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/parts/linux/cloud-init/artifacts/cse_main.sh b/parts/linux/cloud-init/artifacts/cse_main.sh index 4bd3280ff59..2917e385a5f 100755 --- a/parts/linux/cloud-init/artifacts/cse_main.sh +++ b/parts/linux/cloud-init/artifacts/cse_main.sh @@ -72,6 +72,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1604+Containerd/CustomData b/pkg/agent/testdata/AKSUbuntu1604+Containerd/CustomData index 70c14f3ab98..ab436d186cf 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+Containerd/line33.sh b/pkg/agent/testdata/AKSUbuntu1604+Containerd/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Containerd/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Containerd/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1604+Containerd/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+Containerd/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Containerd/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Containerd/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/CustomData b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/CustomData index f41b58d453d..2321007dee9 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line33.sh b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/CustomData b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/CustomData index f41b58d453d..2321007dee9 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line33.sh b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/CustomData b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/CustomData index 10175b409dc..cbbb8f32fe7 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/9x7bXfauLbwd36FxsPTtHPGvPRtpp1Dz3LBIV4Bw2ObzO3t9HoJW4BOjORKcppMm/vb75JkG0MMJJne+XBZqw3IW1t7b+13yT/+0J5j0p5DvmrYnheeOiM7/N0K+mdh4IztySzovQYNjgQwrxt4AT4CcwHaNBVt+GfGUDuiREBMEOPtlNErzDElrYiu0wQJBD79BsQKkQZQHxStKDCshCEY3wAGCRAU8CyKEOcAXWOBybLVahkF+DUWoNNY4EYDpmIN2eXv1giT7NpaIiLAiiYxeNJojCbDcOB4vfYVZO2ELnPC4CVvrC9jzICZgubXHOq2kRBgcrADHCUZF4iZGxYSugR/5IQcAzYjjkyaiTQT2/M2Yvqp9W9OSd2TKKFZbGKChbnACeKtFF6huA7yaiXhuIBJspFwAbfhsN1opDdiRcmLY/sUMhTDSISKhDCiZIGXrfQmx2mamjQ9bqZQrHJJ4Lmmuq2oIVHBRI5BXIsShZaKnlwhcRe+0Zi9n7nBLPTskW35dq/5NOHzkKEEQY6AyYDJnyn1+wiaX7dhb0GvB4zu61bnpQE+VTWOZzEFMBXmUqrvDYCZoAyt6RUC0YpRctMotbL5r80MfsMFWkciAQxxAZnIR2JT4DXiNySKlVLqiU9jKNCzn5tPV5QLAtfo2c9AzYoyLuiaRwyn4t07tRXrRmNBGcAAE9B8ytFn0AUvXnc6z34DMVUEaAvjwGh+7ft2eGaPprbnK6ucWsHZrbFjUgAsGUqBefoZnPyYQ9uT05MDCJ48AXOG4KXCsMCbZZsYmOizIujOKsoWm/UOQksx4aiE5glCKegWK8SUoAZHMTAxMNoVMtuxsZ/QBqcZi9ABgB2IgeMH3uQ4Jsf1A2s02g+QIzoK15+4p85wiyKtokbz68DxrfcjO/R9KXOpoYJlaEdBY8zhPEG+fwa+favIuDJ5o2lGyvAVFAigJZMOM2X0+gbAOFa/MAcnza9Tz7mwAju0h57t++HUm/zHh9AaDOSv25Mqff7ZZDYa5CzMPDs8C4KpnrCf3vvMDvvWfgTyo60+Y0jOmUom+tY2+7PpQDLRt8K+7QV+VVHLybaIbHKFGSVrRISS0gHm+jM/mIwlxsCb+cF+AhO65KGgIbpCRHBgWOd+q+/brXLdvrLqPuwjJvACR1AgAxx6epg1Sbcm2ySS8skseD+ZuZL28dhyB7e1O6BhtbgvLM+/rREzuoIJaG5gqlJkSLCbaB2HeBEuIE4yhsCrDuiCV6C5SwF49+7BAfD5uyfdbb4rWF03PLWc0W+K933y5kj0pzOLRSsDbL4X9tdGImpTbubxoVFGBmdwC37oAWMNmYx1UizS3209UzwkMo/YkZq2Mk8GCEyWYA2JGc9V0DCzVHp5sEjgEsgoXWYp++jXYWYMyWBuZYLO1PzTBC5PcYIMcPDxtlI0v76fTAI/8CxlYMr99iduYDmu7YWePZTO6kPo296F7d2WHIGD5FEG+YguMVHfwkR+Db9gsQovszlKkAhxjIjA4sYAxyCkKj6AxP/XvjVAc+bbXmj5vjN07UHoDGw3cIIPoTMAzcB2LTeQX0sN+pf2gtcpZULmn3xFsyQO+SVOQ3KFYwzDmOErxHjj7liY50y95tMavQ8JDbmAgoOuNIBuB8hUGJjR9YFVnjUYEr3mv0qPw5AwlHJ1anXqFOIExTLbjZFAbI0JkpaskQKNFORk5suCOQJy5RTFWtM2tuReOAPHCgeec2F7RZSqKI3R/DqczkJ3MrBvNVWFo5MS1QD7xfQI35ggSGbpcDobaPEY4M7QQWMvwqDOsjzEaXKFYgPUj+/HU7phK15jMuPSAdwdqyrSEglHsz2mMbJI3JeEZ2m/yJadNVwi3vDPnWn43nEt70PYH9mWO5v+JXWaYwLZTRjp1Z41TmejUZlvePb/nzmePeg1n96TPtCsIRA0HT+8OBs8Xlll2ixWqNTMNY0RgCQGOd2gLCoAVnTsampOScUZOGNraFfDXnPiS31r5jn9xA9da2wXfhsYzVrRGGCjovfQ0JyBAUq5ASo/GmXWqlkf0iRGRDPzmzY/GQlilCISIxJhxIvpUGBKjINqnUOWe+VlRBYQJQW7D3R5bTS/urY98DdCG2ybZCGYr4E9sqcTLwhtV2aLO2D3CQM5IQFKkLSIeJpkS0xKAnfGFbMciSztu84AM36UdReJL5Rd7qDdGm2UXDt+eC6Ts5Ed1HGSMxLBBEiHginhv0O+7jWf/vuzLBBPWlMYXUot/PgJfAMcJSgST1uyIlPISl2NzS+Qr02+wmtuPAPfQCumX0hCYTzzHN6K0QJmiWhFGWOIiFax2MXzj59aCRSIiws9JIus/mQ8nbi2G2zqDeNZhdQC9YhGSmO+N8kF3ofQMvNGf4vkKusdI+9+BhRLsn21Otj/DBjNOqkblfFcAnKoqktGo0bJ/BST82yO7isunmIiU6S/XbUeSqhRUPo9FOrRi/+NelTQWCpPMbClGRuou3pUfbarH0YZ1KQz0y459O2+LD+DkR+WKfLUcYcHHNyeFCmnxEdRxlAw8t9TKrhgMD3X6bh9jaLCzz4AWBHt2ZK4Mu1YQBkVD7S3DF91xYrUSobI4XSW57HcqE1De0Ayu6nHjuWgPzwsB0WEZwxVU9Ddke0GRr4/ksCBfeH07XA6mg0dN3ROQxl+dTQtaN4prUssY2dY8ldNszWL5gIYqlLN24f537Zm2YzRFY6Qmap9aHHE5M+aQl5+ykb2gxG2YmMLk0DoMUja3Y65xstQapFAyxuVaxvgHWjH6KpNsiQB//zniT05PWl89PWkT41Kg6ZnSFlJ/Q/s4YeeKZGZBTLAMVkmyGhIvVS61at8bWectZXDyWlUBxZ15IJmdRHJbcOenJbs582PQ2qkGretOtwGMMq+sE1kWWKRWNtBPfhW++OunvmB5QWqEXK3fbqfOpoeJW6giyZFHU3riSt6Qds2oaxVpZ6n1nvP6Ydjy7WGtne4nYcXAPOx7rdMmPVnxpA6pAFGc+IbNbp8LGdUBJ/COcPRGBK4lFXc/mcP2d1cFgs1f13gPravO+B391XV4f7ujt4R7x5nsSOhHV8socpnRxnUPm+Ml1PIBFYVCrg7VpB3+AzDsGWht8/F79Qqg0n/3PbC0WTouHtjG0cC/ONaN75pdIkYUF0lYGag6duetg7PcfvO1BqF/ZFj6zaQmR547tt9zw4kJdZ/ylBbdMB3G2NGSYJ5fZ+qLY+U8k8kEovE8pvqVpfauB+k0YgYggLJgTEkeIG4GGC2kdqZ5Rc9ad+2vP5ZOJiMrQOyM5pf6+Cr5zrv9hz3qYrN1KdRJkeQRSszpmuIyZ5ebd1CvlZs1WY/HIzy9mA1/hxv2OSiVJGDLCtdm+0H98H0K69O/5XfY07fdao9fNepFKXTi9fhYGaNpHn3zw+V2vfITwZn/enV68Im9a8ibbyfEz3KS94sm3E0UHtclcadZ1sp6+Guw7153FRkBZ+bEbBpuBwRlPIPpaDUr+0O59j2fWtoh5PTMDizw4H1IU8a7x6YHJCs7qWYC32iEJNFG2aCrqHAkRLpzjlocYbJ22iNRXiFIeiBNRVx9TcXMabtpbEPZx7vt9pfxk7/q5pFxrmd6TMIUy7XimvzRHjJ9QHUmIpYnylMoVj17k5vv3ljwkteeAU5WMEjaBatpJD3ILytppTRak1j0Pnl1av7zlAxx0TAqNw9+YNEUGiJSWKkNzuKLY/4unW3RyO+gTnk6PVLKcZ3G/zbuhRY3tAOwv5oMiu0XilKf4UJ7Cc02xU3QwIux31Pd19PKVOQ20jzCuNs4gd+cVJsDW330YePU33829eHb2eUi9K2ax5tmfbWeWgYeJbrTy1Phs+z2dAOp9bQfrC1l14lYJDwFMpS/SxboilcVk9Ea54eIM3/3ZqqmPZ4cvwvMNWHbHeG6tzd0JvMphfP9663t166E+dkiRQtGc3Sq+e15ZGsRfYUR+ez9/ZIqqAiJzwdWUO/Z+boTJ119XICDFXUPMpzl5FbMbTp623ZkaTFtYMwsMfTkRXY9Va0mawkQZAIBVqnCRRIe7nHSG/TaJTrmYsELh9eaJayLOVRypPpRrvJ0OcMcaHu89BM9Lqv1sDcLF/CIRKnFBPRywi+fttut1lGqpxvvrY4jS7BZgW9c7yX89viCY7QFnxe75cVahGtfgAcra8Q69O1NBugN8Rz7cD2Q1loOBP3rWl0Wp1Wx7gFRrf1/JdWZ7fQeqTgS/q/k+hDb+YGzthWO9CrEXGPoTUVFTHkdUk1US6wDhz/PAw+TO3vZKxzTOI1zYjYb60zgsWnhoc+Z5gh3pMzTD0lx9SwFgKxugeFkR5OdPwbHomkSHT0r8YDDoLqnGhF8WcjZ+wE/h6BHbp8UWrqLMFrLKpp5J1n9+Azz+MLRvOflXapL4s3dxIOZlNZxE3Gjt+fTWZ++N5zBo8IT3odlw6ydEKmjK4xj7L3DMcyOh14eK+jyW/f/mK6ns0zIjKfwJSvqNCZTakEW6MFPfXnoHduBu2lefd2kHT2z+O4G6HuL2bnlzfIfNl5EZnzF6+em7D75nkXoeedXxCSVsFveHue8fbVWv6f9wDaq6swEzhpZ0Rq/+buX54jd1/gP777Kn+QPK1mUUu1BKs+48IaOQMrcCZuaHter9NoNKypkzcA9MUjzw48x/Z7rzrFHlcglKR6PfBTK79pl2By2fppW3j7MHY76qaycuDqutEO4lvQ+2/wXx875ptP//ijVf+3uXepgeurlT6Ul7JfdDrVbX8oG8fQv87RV+6HHs1qfzjU1fJ7zaf7rAGmWHpNxFyeUHqZpQYwyrsVJB8DXdB9tS3XO2Tf1sg9PxuSHz/we/lF361+qxyvYbfpB75kqnOXHxm6QEnZ3UV3jgqanq3M8iej+/rX1usXre7zN63ua+MnUN/u39Fk1ZU5/9UPK8vobpeUwGgyOZc5Y9F4vMPePTHuw1WUWVWUhd/euYmtnXT3V30Vu4axH4PJYAKexv/myc2zt/k1OCBWmANKIgTUVIA5ORGAZ2lKmUAxgORmTRm6Vxd5o0v9qhZVLjpu7VbVhm/1hR0SAfPqzzoLfvnyher/6t0/BCah7iHy8jLk/o07ymc/Y8kjOY0ylgDzSqa+MEIsr79lrsQIEoi35SBvR7AVMQFWQqT8bbt9l+O3W4J5GFbjHmgfJclcbRd403Pa57sLX/p/TKcqmcz3uRirmtrHrsaqC2KXOLqUgHSxKIBzuJRR9boPFMWxg27m6Ib5vhux6k2YjDPVL1pDEs8l9ZquHP8CE8xXKM4X2loBPCnTqO3zlV0mTxiaUyoA0xl//DPQA5IXQmMEMAFdsMYkE+hEU1V0sIAZAYOvMhHTLwSYDHTBE+MRmVndq04ZyV922tXoh6HeuZwwc60gsN2BPQhn06FnDWx/b5pdfGazIuoPHK+nay2YCvlPVVGqtZgihmmMI2PPGXbzaYyZugkiQ0gV463xbOe4umhF7oBtAeUtyNcvXx6D1JtsTYO3b6c5kW/fal0z8/sq5ghzafxd47cT8O7d4zASKAQiMYrNWbpkMEb3xrd5+Sgja8gv1ftLMcTJTVFZbkbMTCMva856REgda/5vIJJOi9WgUeN7kBTvVJkmoeY8odHlfRFW8T0GeR1zdcfHRy1QNe/vf+j9HcyuekfSCqyj8BvN1GfaG4Us9BFzQGg1yZrfgEsoYH6T92fwBSeJApmjfOPjk23N301Vtrciv7wNYrIwywMQk1CBFzeUFHt9AAEXNH387Nx6tucXb08WBrB17Ol/8AN73A9Guyf5j1hA6+tfQL9zFeH7rVLR802GtHnHTB+3AP3WYhlTWzJ1AjoHAhElBEUCUwKiFYouQURj9NYAze3k5MDVAkTi+pcjNR87eBqNH+3J6f8EAAD//5MULimoPAAA + H4sIAAAAAAAC/9x7e5fauJL4/3wKjYdfOpk75pHXTDKX3OOAm/YJGH626dlsJusjbAG6bSRHkkn3dHo/+x5JtjE0r+7Jzh/LOUmDXCpVlapK9ZB//KE5xaQ5hXxRsz0vPHcGdvi7FXQvwsAZ2qNJ0HkNahwJYF7X8Ax8AuYMNGkqmvDPjKFmRImAmCDGmymjK8wxJY2ILtMECQQ+/wbEApEaUB8ULSgwrIQhGN8ABgkQFPAsihDnAF1jgcm80WgYBfg1FqBVm+FaDaZiCdnV79YAk+zamiMiwIImMXhSqw1G/bDneJ3mCrJmQuc5YfCK15ZXMWbATEH9Noe6qyUEmBxsAUdJxgVi5pqFhM7BHzkhx4DNiCOTZiLNxOa8tZh+avybU7LrSZTQLDYxwcKc4QTxRgpXKN4FuVpIOC5gkqwlXMCtOWzWaumNWFDy4tg+hQzFMBKhIiGMKJnheSO9yXGapiZNj5spFItcEniqqW4qakhUMJFjENeiRKGloidXSNyGr9Um7yduMAk9e2Bbvt2pP034NGQoQZAjYDJg8mdK/T6B+u0m7B3odIDRft1ovTTA56rG8SymAKbCnEv1vQEwE5ShJV0hEC0YJTe1Uivr/1rP4DdcoGUkEsAQF5CJfCQ2BV4ifkOiWCmlnvg0hgI9+7n+dEG5IHCJnv0M1Kwo44IuecRwKt69U1uxrNVmlAEMMAH1pxx9AW3w4nWr9ew3EFNFgLYwDoz6bde3wwt7MLY9X1nl2Aou7owtkwJgzlAKzPMv4OzHHNoenZ8dQPDkCZgyBK8UhhleL1vHwERfFEH3VlG2WN/tILQUE45KaJ4glIJ2sUJMCapxFAMTA6NZIbMZG/sJrXGasQgdANiC6Dl+4I2OY3JcP7AGg/0AOaKjcN2Re+70NyjSKmrUb3uOb70f2KHvS5lLDRUsQ1sKGmMOpwny/Qvw7VtFxpXJa00zUoZXUCCA5kw6zJTR6xsA41j9whyc1W/HnnNpBXZo9z3b98OxN/qPj6HV68lfd2dV+vyL0WTQy1mYeHZ4EQRjPWE/vafMDrvWfgTyo60+Y0jOGUsmutYm+5NxTzLRtcKu7QV+VVHLybaIbLLCjJIlIkJJ6QBz3YkfjIYSY+BN/GA/gQmd81DQEK0QERwY1ge/0fXtRrluV1l1F3YRE3iGIyiQAQ49PcyapDumS4hJKH1Hx1hGrLHEEaOczoR080bOlklA/fb9aBT4gWcpWStL7I7cwHJc2ws9uy/19mPo296l7d1tqVp1kQch+n/NO0PSuUIMz27CnuuHCwQT6dArSLcU2PXDC9saBBfhueUMamsejPrtaBK8H01cuT/DoeX27nZqmYbVKnVpef7dDlVCK5iA+hqmqikMCXYTLeMQz8IZxEnGEHjVAm3wCtS3KQDv3j34kH/+7kl7k+kKVtdVfP+m9nefTnEkuuOJxaKFAdbfCx/TRCJqUm7mZ2CtPP2c3h34oQOMJWTyPJdikT5945niIZGx0pbUtCfx5CGIyRwsITHjqToYzSyVJxmYJXAOZCRSRmL76NdH6RCS3tTKBJ2o+ecJnJ/jBBng4GMlmL+q2OAgeZRBPqBzTNS3MJFfw69YLMKrbIoSJEIcIyKwuDHAMQjwcJMB9Ylve6Hl+07ftXuh07PdwAk+hk4P1APbtdxAfi016F/a01+nlAkZY/MFzZI45Fc4DckKxxiGMcMrxHjt/liYx4Wd+tMdeh8SGnIBBQdtaQDtFpDhPjCj6wOrPKsxJDr1f5VelSFhKOVq7dSpc4gTFMuIPkYCsSUmSFqyRgo0UpCTmS8LpgjIlVMUa01b25J76fQcK+x5zqXtFSdxRWmM+m1/PAndUc++01QVzlxKVAPsF9Mj/H+CIJmk/fGkp8VjgHtDB429OOp1JOkhTpMVig2we3w/nvKoseIlJhMuHcD9saoizZFwNNtDGiOLxF1JeJZ2i4zAWcI54jX/gzMO3zuu5X0MuwPbcifjv6ROU0wguwkjvdqz2vlkMChjKs/+/xPHs3ud+tMT6QP1HQSCuuOHlxe9xyurTA3EApWauaQxApDEIKcblIkTwIqObU3NKak4A2do9W2/oqz1kS/1rZ7nLSM/dK2hXfhtYNR3isYAaxU9QUNzBnoo5Qao/KiVkblmvU+TGBHNzG/a/ORJEKMUkRiRCCNeTIcCU2IcVOscstwrLyMySSop2H6gSwhG/da17Z6/Flpv0yQLwdwG9sAej7wgtF0ZEW+BnXIM5IQEKEHSIuJxks0xKQncGlfMciSytOs6Pcz4UdZdJL5SdrWFdmO0VnLt+OEHGYAO7GAXJzkjEUyAdCiYEv475MtO/em/v8gk+KwxhtGV1MJPn8E3wFGCIvG0oeIviazU1dj8CvnS5Au85MYz8A00YvqVJBTGE8/hjRjNYJaIRpQxhohoFItdPv/0uZFAgbi41EMykeyOhuORa7vBOqcynlVILVAPaKQ05nuTXOB9CC0Tb/C3SK6y3jHyTjOgWJLtq9XB/mfAqO+SulEZzyUgh6q6ZNR2KJmfYvIhm6JTxcVTTGSI9Ler1kMJNQpKv4dCPXrxv1GPChpL5SkGNjRjDXVfj6rPtvXDKA816cy0Sw59uytT7GDgh2WIPHbc/gEHtydEyinxUZQxFAz895QKLhhMP+hw3L5GUeFnHwCsiPZsSVwZdsygPBUPlPAMX1X+itBKHpH98SSPY7mxMwztAMnsOh87FoP+8LAYFBGeMVQNQbdHNos0+f5IAnv2pdO1w/Fg0nfc0DkP5fGrT9OC5q3UusQydPolf9UwW7NozoChMtW8RJr/bWqWzRitcITMVO1DgyMmf+5I5OWnLNY/GGEjNjYwCYQeg6TZbplLPA+lFgk0v1GxtgHegWaMVk2SJQn45z/P7NH5We2Tryd9rlWKUB1Dykrqf2D3P3ZMicwskAGOyTxBRk3qpdKtTuVrM+OsqRxOTqNqyuwiF9Sri0hua/bovGQ/L34cUiNVnG7swm0Ao6x920SmJRaJtR3sBt8of9zXMz+wvEAXgO6ViPdTR9OjxPV00qSoo+lu4opa0KZNKGtVoee59d5zuuHQcq2+7R0uWeIZwHyo6y0jZv2ZMaQaUcCoj3xjhy4fixkVwedwynA0hATOZRa3/9lDdjeXxUzNXxa4j+3rFvj9fVV5uL+9o/fEu8dZbEloyxdLqPLZUQa1zxvi+RgygVWGAu6PFeQd7tMYtkz09rn4rVylN+p+sL1wMOo77t6zjSMB/nGdV1yjK8SAqioBMwN13/a0dXiO23XG1iDsDhxbl4HM9MBz3+56diApsf5THrVFlX+7MGaUJJjXp2Rt+Ukp/0QisUgsv6mKfKmN+0FqtYghKJAcGEKCZ4iLHmZrqV1YflF3923L616EvdHQOiA7o367C77au3q3p6WpMjZTd9xMjiCLFqYuTu+p1e5ayNeKrVoJhw+jvDxYPX+OF2xyUaqTg8wrVZvNB6dg+pVXp//KT5jTdZ1qn8J1Kknp+PJ12JtYA2ne3Q+HUu0T4pPeRXe8el3YpP5VhI2nOdGjvOTFsglHPbXHVWnce7YRsh6uOpzM4zojK/hcj4B1weWIoJR/KAWlfm1WOIe271t9Oxydh8GFHfasj3nQeL9hckCyupZiznRHISazJswEXUKBIyXSrV5v0aflTbTEIlxhCDpgSUVc/c1FjGlzbuzDmZ/3G+UvY6v+VY0i49zOdA/ClMs14p1xIrziusk2pCLWPYUxFIvO/enNN29MeMULryAHK3gEzaKFFPIehHfVkDJaLGkMWr+8enXqDHXmmAgYlfs1f5AICi0xSYz0Zkex5Se+Lt3t0YhvYAo5ev1SivHdGv+mLgWW17eDsDsYTQqtV4rSXWACuwnNtsXNkIDzYdfT1ddzyhTkJtI8w7gY+YFfdMOtvu0+usE61i3urm6+XVAuStve8WjDtDd6vmHgWa4/tjx5fF5M+nY4tvr2g6299CoBg4SnUKbqF9kcjeG82vXd8fQAaf7v1lidaY8nx/8KU91kuze0y931vdFkfPl873p786V755xMkaI5o1m6er4zPZK5yJ7k6MPkvT2QKqjICc8HVt/vmDk6U0ddnZwAQyU1j/Lc5cmtGFrX9TbsSNLi2kEY2MPxwArs3Va0nqwkQZAIBVqmCRRIe7nHSG9daJTrmbMEzh+eaJayLOVRypPpQrvJ0JcMcaHuLNFMdNqvlsBcL1/CIRKnFBPRyQi+fttsNllGqpyvvzY4ja7AegW9c7yT89vgCY7QBnye75cZanFa/QA4Wq4Q69KlNBugN8Rz7cD2Q5loOCP3rWm0Gq1Gy7gDRrvx/JdGazvReqTgS/q/k+hDb+IGztBWO9DZIeIOQ0sqKmLI85JqoFxg7Tn+hzD4OLa/k7FOMYmXNCNiv7VOCBafax76kmGGeEfOMPWUHFPNmgnEdj0ojPRwoOPf8EgkRaCjf9Ue0Aja5UQrij8ZOEMn8PcI7NDli1JTJwleYlENI+89O4HPPI4vGM1/Vsqlvkze3FHYm4xlEjcaOn53Mpr44XvP6T3ieNLruLSXpSMyZnSJeZS9ZziWp9OBhye1Jr99+4vhejbNiMh8AlO+oEJHNqUSbIwW9Ozug967GbSX5u3bQdLZP4/jdoTav5itX94g82XrRWROX7x6bsL2m+dthJ63fkFIWgW/4c1pxpurpfw/rwE0F6swEzhpZkRq//p+Yx4jt1/gP777Kn+QPKxmUUOVBKs+49IaOD0rcEZuaHtep1Wr1ayxkxcA9MUjzw48x/Y7r1rFHlcglKQ6HfBTI79NmGBy1fhpU3j7MLZb6ja2cuDqutEW4jvQ+W/wX59a5pvP//ijsftvfe9SPddXK30sL56/aLWq2/5QNo6hf52jr9yBPRrV/nCoquV36k/3WQNMsfSaiLk8ofQqSw1glHcrSD4G2qD9alOu98i+2yH3vDckP37gd/LLzBv1Vjm+g926H/iSqdZ9fuTRBUrK7i+61Sqoe7Yyy5+M9utfG69fNNrP3zTar42fwO5y/5Ymq6rMh1/9sLKMrnZJCQxGow8yZiwKj/fYOxHjPlxFmlVFWfjtrdvm2km3f9XXzXcw9mMw6o3A0/jfPLl59ja/BgfEAnNASYSAmgowJ2cC8CxNKRMoBpDcLClDJ1WR17rUrWpR5aLjxm5VbfhOX9ghETBXf+6y4JcvX6j6r979Q2AS6gSRl5ch92/cUT67GUseyWmUsQSYKxn6wgixPP+WsRIjSCDelIO8GcFGxARYCJHyt83mfY7fbgjmYViNE9A+SpK52s7wuua0z3cXvvT/mE5VIpnvczFWFbWPXY1VF8SucHQlAelsVgDncCmj6pUmKIq2gy7m6IL5vhux6m2fjDNVL1pCEk8l9ZquHP8ME8wXKM4X2lgBPCnDqM3+yjaTZwxNKRWA6Yg//hnoAckLoTECmIA2WGKSCXSmqSoqWMCMgMEXmYjpVwJMBtrgifGIyGzX61wZyV/o2tboh6Heupwwca0gsN2e3Qsn475n9Wx/b5hdfCaT4tTvOV5H51owFfKfyqJUaTFFDNMYR8aeHnb9aYyZugkij5Aqxjvj2Va7uihFboFtAOUlyNcvXx6D1JtsjYO3b8c5kW/fal0z8/sq5gBzafxt47cz8O7d4zASKAQiMYrNSTpnMEYn41u/YJWRJeRX6h2tGOLkpsgs1yNmppGXOeduREi1Nf83EEmnxXagUeN7kBTvjZkmoeY0odHVqQir+B6DfBdzu9rHRy1QFe9Pb3p/B7Or3pG0Auso/FozdU97rZCFPmIOCK0GWdMbcAUFzG/y/gy+4iRRIFOUb3x8tqn526HK5lbkl7dBTGZm2QAxCRV4dkNJsdcHEHBB08fPzq1nc37xhmhhABttT/+jH9jDbjDY7uQ/YgGtr38B/dZVhO+3SkXP1xHS+j063W4B+s3M8kxtyNAJ6BgIRJQQFAlMCYgWKLoCEY3RWwPUN4OTA1cLEIl3vwCq+djCU6v9aI/O/ycAAP//Z7zg3Yw9AAA= - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line33.sh b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/CustomData b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/CustomData index 10175b409dc..cbbb8f32fe7 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line33.sh b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+Docker/CustomData b/pkg/agent/testdata/AKSUbuntu1604+Docker/CustomData index 70c14f3ab98..ab436d186cf 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+Docker/line33.sh b/pkg/agent/testdata/AKSUbuntu1604+Docker/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Docker/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Docker/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1604+Docker/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+Docker/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Docker/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Docker/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/CustomData b/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/CustomData index 4813ff627fe..446441b021b 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line33.sh b/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/CustomData b/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/CustomData index d1d0b8aa8b0..e3abaa1f05e 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 | - 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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/9x7bXfauLbwd36FxsPTtHPGvPRtpp1Dz3LBIV4Bw2ObzO3t9HoJW4BOjORKcppMm/vb75JkG0MMJJne+XBZqw3IW1t7b+13yT/+0J5j0p5DvmrYnheeOiM7/N0K+mdh4IztySzovQYNjgQwrxt4AT4CcwHaNBVt+GfGUDuiREBMEOPtlNErzDElrYiu0wQJBD79BsQKkQZQHxStKDCshCEY3wAGCRAU8CyKEOcAXWOBybLVahkF+DUWoNNY4EYDpmIN2eXv1giT7NpaIiLAiiYxeNJojCbDcOB4vfYVZO2ELnPC4CVvrC9jzICZgubXHOq2kRBgcrADHCUZF4iZGxYSugR/5IQcAzYjjkyaiTQT2/M2Yvqp9W9OSd2TKKFZbGKChbnACeKtFF6huA7yaiXhuIBJspFwAbfhsN1opDdiRcmLY/sUMhTDSISKhDCiZIGXrfQmx2mamjQ9bqZQrHJJ4Lmmuq2oIVHBRI5BXIsShZaKnlwhcRe+0Zi9n7nBLPTskW35dq/5NOHzkKEEQY6AyYDJnyn1+wiaX7dhb0GvB4zu61bnpQE+VTWOZzEFMBXmUqrvDYCZoAyt6RUC0YpRctMotbL5r80MfsMFWkciAQxxAZnIR2JT4DXiNySKlVLqiU9jKNCzn5tPV5QLAtfo2c9AzYoyLuiaRwyn4t07tRXrRmNBGcAAE9B8ytFn0AUvXnc6z34DMVUEaAvjwGh+7ft2eGaPprbnK6ucWsHZrbFjUgAsGUqBefoZnPyYQ9uT05MDCJ48AXOG4KXCsMCbZZsYmOizIujOKsoWm/UOQksx4aiE5glCKegWK8SUoAZHMTAxMNoVMtuxsZ/QBqcZi9ABgB2IgeMH3uQ4Jsf1A2s02g+QIzoK15+4p85wiyKtokbz68DxrfcjO/R9KXOpoYJlaEdBY8zhPEG+fwa+favIuDJ5o2lGyvAVFAigJZMOM2X0+gbAOFa/MAcnza9Tz7mwAju0h57t++HUm/zHh9AaDOSv25Mqff7ZZDYa5CzMPDs8C4KpnrCf3vvMDvvWfgTyo60+Y0jOmUom+tY2+7PpQDLRt8K+7QV+VVHLybaIbHKFGSVrRISS0gHm+jM/mIwlxsCb+cF+AhO65KGgIbpCRHBgWOd+q+/brXLdvrLqPuwjJvACR1AgAxx6epg1Sbcm2ySS8skseD+ZuZL28dhyB7e1O6BhtbgvLM+/rREzuoIJaG5gqlJkSLCbaB2HeBEuIE4yhsCrDuiCV6C5SwF49+7BAfD5uyfdbb4rWF03PLWc0W+K933y5kj0pzOLRSsDbL4X9tdGImpTbubxoVFGBmdwC37oAWMNmYx1UizS3209UzwkMo/YkZq2Mk8GCEyWYA2JGc9V0DCzVHp5sEjgEsgoXWYp++jXYWYMyWBuZYLO1PzTBC5PcYIMcPDxtlI0v76fTAI/8CxlYMr99iduYDmu7YWePZTO6kPo296F7d2WHIGD5FEG+YguMVHfwkR+Db9gsQovszlKkAhxjIjA4sYAxyCkKj6AxP/XvjVAc+bbXmj5vjN07UHoDGw3cIIPoTMAzcB2LTeQX0sN+pf2gtcpZULmn3xFsyQO+SVOQ3KFYwzDmOErxHjj7liY50y95tMavQ8JDbmAgoOuNIBuB8hUGJjR9YFVnjUYEr3mv0qPw5AwlHJ1anXqFOIExTLbjZFAbI0JkpaskQKNFORk5suCOQJy5RTFWtM2tuReOAPHCgeec2F7RZSqKI3R/DqczkJ3MrBvNVWFo5MS1QD7xfQI35ggSGbpcDobaPEY4M7QQWMvwqDOsjzEaXKFYgPUj+/HU7phK15jMuPSAdwdqyrSEglHsz2mMbJI3JeEZ2m/yJadNVwi3vDPnWn43nEt70PYH9mWO5v+JXWaYwLZTRjp1Z41TmejUZlvePb/nzmePeg1n96TPtCsIRA0HT+8OBs8Xlll2ixWqNTMNY0RgCQGOd2gLCoAVnTsampOScUZOGNraFfDXnPiS31r5jn9xA9da2wXfhsYzVrRGGCjovfQ0JyBAUq5ASo/GmXWqlkf0iRGRDPzmzY/GQlilCISIxJhxIvpUGBKjINqnUOWe+VlRBYQJQW7D3R5bTS/urY98DdCG2ybZCGYr4E9sqcTLwhtV2aLO2D3CQM5IQFKkLSIeJpkS0xKAnfGFbMciSztu84AM36UdReJL5Rd7qDdGm2UXDt+eC6Ts5Ed1HGSMxLBBEiHginhv0O+7jWf/vuzLBBPWlMYXUot/PgJfAMcJSgST1uyIlPISl2NzS+Qr02+wmtuPAPfQCumX0hCYTzzHN6K0QJmiWhFGWOIiFax2MXzj59aCRSIiws9JIus/mQ8nbi2G2zqDeNZhdQC9YhGSmO+N8kF3ofQMvNGf4vkKusdI+9+BhRLsn21Otj/DBjNOqkblfFcAnKoqktGo0bJ/BST82yO7isunmIiU6S/XbUeSqhRUPo9FOrRi/+NelTQWCpPMbClGRuou3pUfbarH0YZ1KQz0y459O2+LD+DkR+WKfLUcYcHHNyeFCmnxEdRxlAw8t9TKrhgMD3X6bh9jaLCzz4AWBHt2ZK4Mu1YQBkVD7S3DF91xYrUSobI4XSW57HcqE1De0Ayu6nHjuWgPzwsB0WEZwxVU9Ddke0GRr4/ksCBfeH07XA6mg0dN3ROQxl+dTQtaN4prUssY2dY8ldNszWL5gIYqlLN24f537Zm2YzRFY6Qmap9aHHE5M+aQl5+ykb2gxG2YmMLk0DoMUja3Y65xstQapFAyxuVaxvgHWjH6KpNsiQB//zniT05PWl89PWkT41Kg6ZnSFlJ/Q/s4YeeKZGZBTLAMVkmyGhIvVS61at8bWectZXDyWlUBxZ15IJmdRHJbcOenJbs582PQ2qkGretOtwGMMq+sE1kWWKRWNtBPfhW++OunvmB5QWqEXK3fbqfOpoeJW6giyZFHU3riSt6Qds2oaxVpZ6n1nvP6Ydjy7WGtne4nYcXAPOx7rdMmPVnxpA6pAFGc+IbNbp8LGdUBJ/COcPRGBK4lFXc/mcP2d1cFgs1f13gPravO+B391XV4f7ujt4R7x5nsSOhHV8socpnRxnUPm+Ml1PIBFYVCrg7VpB3+AzDsGWht8/F79Qqg0n/3PbC0WTouHtjG0cC/ONaN75pdIkYUF0lYGag6duetg7PcfvO1BqF/ZFj6zaQmR547tt9zw4kJdZ/ylBbdMB3G2NGSYJ5fZ+qLY+U8k8kEovE8pvqVpfauB+k0YgYggLJgTEkeIG4GGC2kdqZ5Rc9ad+2vP5ZOJiMrQOyM5pf6+Cr5zrv9hz3qYrN1KdRJkeQRSszpmuIyZ5ebd1CvlZs1WY/HIzy9mA1/hxv2OSiVJGDLCtdm+0H98H0K69O/5XfY07fdao9fNepFKXTi9fhYGaNpHn3zw+V2vfITwZn/enV68Im9a8ibbyfEz3KS94sm3E0UHtclcadZ1sp6+Guw7153FRkBZ+bEbBpuBwRlPIPpaDUr+0O59j2fWtoh5PTMDizw4H1IU8a7x6YHJCs7qWYC32iEJNFG2aCrqHAkRLpzjlocYbJ22iNRXiFIeiBNRVx9TcXMabtpbEPZx7vt9pfxk7/q5pFxrmd6TMIUy7XimvzRHjJ9QHUmIpYnylMoVj17k5vv3ljwkteeAU5WMEjaBatpJD3ILytppTRak1j0Pnl1av7zlAxx0TAqNw9+YNEUGiJSWKkNzuKLY/4unW3RyO+gTnk6PVLKcZ3G/zbuhRY3tAOwv5oMiu0XilKf4UJ7Cc02xU3QwIux31Pd19PKVOQ20jzCuNs4gd+cVJsDW330YePU33829eHb2eUi9K2ax5tmfbWeWgYeJbrTy1Phs+z2dAOp9bQfrC1l14lYJDwFMpS/SxboilcVk9Ea54eIM3/3ZqqmPZ4cvwvMNWHbHeG6tzd0JvMphfP9663t166E+dkiRQtGc3Sq+e15ZGsRfYUR+ez9/ZIqqAiJzwdWUO/Z+boTJ119XICDFXUPMpzl5FbMbTp623ZkaTFtYMwsMfTkRXY9Va0mawkQZAIBVqnCRRIe7nHSG/TaJTrmYsELh9eaJayLOVRypPpRrvJ0OcMcaHu89BM9Lqv1sDcLF/CIRKnFBPRywi+fttut1lGqpxvvrY4jS7BZgW9c7yX89viCY7QFnxe75cVahGtfgAcra8Q69O1NBugN8Rz7cD2Q1loOBP3rWl0Wp1Wx7gFRrf1/JdWZ7fQeqTgS/q/k+hDb+YGzthWO9CrEXGPoTUVFTHkdUk1US6wDhz/PAw+TO3vZKxzTOI1zYjYb60zgsWnhoc+Z5gh3pMzTD0lx9SwFgKxugeFkR5OdPwbHomkSHT0r8YDDoLqnGhF8WcjZ+wE/h6BHbp8UWrqLMFrLKpp5J1n9+Azz+MLRvOflXapL4s3dxIOZlNZxE3Gjt+fTWZ++N5zBo8IT3odlw6ydEKmjK4xj7L3DMcyOh14eK+jyW/f/mK6ns0zIjKfwJSvqNCZTakEW6MFPfXnoHduBu2lefd2kHT2z+O4G6HuL2bnlzfIfNl5EZnzF6+em7D75nkXoeedXxCSVsFveHue8fbVWv6f9wDaq6swEzhpZ0Rq/+buX54jd1/gP777Kn+QPK1mUUu1BKs+48IaOQMrcCZuaHter9NoNKypkzcA9MUjzw48x/Z7rzrFHlcglKR6PfBTK79pl2By2fppW3j7MHY76qaycuDqutEO4lvQ+2/wXx875ptP//ijVf+3uXepgeurlT6Ul7JfdDrVbX8oG8fQv87RV+6HHs1qfzjU1fJ7zaf7rAGmWHpNxFyeUHqZpQYwyrsVJB8DXdB9tS3XO2Tf1sg9PxuSHz/we/lF361+qxyvYbfpB75kqnOXHxm6QEnZ3UV3jgqanq3M8iej+/rX1usXre7zN63ua+MnUN/u39Fk1ZU5/9UPK8vobpeUwGgyOZc5Y9F4vMPePTHuw1WUWVWUhd/euYmtnXT3V30Vu4axH4PJYAKexv/myc2zt/k1OCBWmANKIgTUVIA5ORGAZ2lKmUAxgORmTRm6Vxd5o0v9qhZVLjpu7VbVhm/1hR0SAfPqzzoLfvnyher/6t0/BCah7iHy8jLk/o07ymc/Y8kjOY0ylgDzSqa+MEIsr79lrsQIEoi35SBvR7AVMQFWQqT8bbt9l+O3W4J5GFbjHmgfJclcbRd403Pa57sLX/p/TKcqmcz3uRirmtrHrsaqC2KXOLqUgHSxKIBzuJRR9boPFMWxg27m6Ib5vhux6k2YjDPVL1pDEs8l9ZquHP8CE8xXKM4X2loBPCnTqO3zlV0mTxiaUyoA0xl//DPQA5IXQmMEMAFdsMYkE+hEU1V0sIAZAYOvMhHTLwSYDHTBE+MRmVndq04ZyV922tXoh6HeuZwwc60gsN2BPQhn06FnDWx/b5pdfGazIuoPHK+nay2YCvlPVVGqtZgihmmMI2PPGXbzaYyZugkiQ0gV463xbOe4umhF7oBtAeUtyNcvXx6D1JtsTYO3b6c5kW/fal0z8/sq5ghzafxd47cT8O7d4zASKAQiMYrNWbpkMEb3xrd5+Sgja8gv1ftLMcTJTVFZbkbMTCMva856REgda/5vIJJOi9WgUeN7kBTvVJkmoeY8odHlfRFW8T0GeR1zdcfHRy1QNe/vf+j9HcyuekfSCqyj8BvN1GfaG4Us9BFzQGg1yZrfgEsoYH6T92fwBSeJApmjfOPjk23N301Vtrciv7wNYrIwywMQk1CBFzeUFHt9AAEXNH387Nx6tucXb08WBrB17Ol/8AN73A9Guyf5j1hA6+tfQL9zFeH7rVLR802GtHnHTB+3AP3WYhlTWzJ1AjoHAhElBEUCUwKiFYouQURj9NYAze3k5MDVAkTi+pcjNR87eBqNH+3J6f8EAAD//5MULimoPAAA + H4sIAAAAAAAC/9x7e5fauJL4/3wKjYdfOpk75pHXTDKX3OOAm/YJGH626dlsJusjbAG6bSRHkkn3dHo/+x5JtjE0r+7Jzh/LOUmDXCpVlapK9ZB//KE5xaQ5hXxRsz0vPHcGdvi7FXQvwsAZ2qNJ0HkNahwJYF7X8Ax8AuYMNGkqmvDPjKFmRImAmCDGmymjK8wxJY2ILtMECQQ+/wbEApEaUB8ULSgwrIQhGN8ABgkQFPAsihDnAF1jgcm80WgYBfg1FqBVm+FaDaZiCdnV79YAk+zamiMiwIImMXhSqw1G/bDneJ3mCrJmQuc5YfCK15ZXMWbATEH9Noe6qyUEmBxsAUdJxgVi5pqFhM7BHzkhx4DNiCOTZiLNxOa8tZh+avybU7LrSZTQLDYxwcKc4QTxRgpXKN4FuVpIOC5gkqwlXMCtOWzWaumNWFDy4tg+hQzFMBKhIiGMKJnheSO9yXGapiZNj5spFItcEniqqW4qakhUMJFjENeiRKGloidXSNyGr9Um7yduMAk9e2Bbvt2pP034NGQoQZAjYDJg8mdK/T6B+u0m7B3odIDRft1ovTTA56rG8SymAKbCnEv1vQEwE5ShJV0hEC0YJTe1Uivr/1rP4DdcoGUkEsAQF5CJfCQ2BV4ifkOiWCmlnvg0hgI9+7n+dEG5IHCJnv0M1Kwo44IuecRwKt69U1uxrNVmlAEMMAH1pxx9AW3w4nWr9ew3EFNFgLYwDoz6bde3wwt7MLY9X1nl2Aou7owtkwJgzlAKzPMv4OzHHNoenZ8dQPDkCZgyBK8UhhleL1vHwERfFEH3VlG2WN/tILQUE45KaJ4glIJ2sUJMCapxFAMTA6NZIbMZG/sJrXGasQgdANiC6Dl+4I2OY3JcP7AGg/0AOaKjcN2Re+70NyjSKmrUb3uOb70f2KHvS5lLDRUsQ1sKGmMOpwny/Qvw7VtFxpXJa00zUoZXUCCA5kw6zJTR6xsA41j9whyc1W/HnnNpBXZo9z3b98OxN/qPj6HV68lfd2dV+vyL0WTQy1mYeHZ4EQRjPWE/vafMDrvWfgTyo60+Y0jOGUsmutYm+5NxTzLRtcKu7QV+VVHLybaIbLLCjJIlIkJJ6QBz3YkfjIYSY+BN/GA/gQmd81DQEK0QERwY1ge/0fXtRrluV1l1F3YRE3iGIyiQAQ49PcyapDumS4hJKH1Hx1hGrLHEEaOczoR080bOlklA/fb9aBT4gWcpWStL7I7cwHJc2ws9uy/19mPo296l7d1tqVp1kQch+n/NO0PSuUIMz27CnuuHCwQT6dArSLcU2PXDC9saBBfhueUMamsejPrtaBK8H01cuT/DoeX27nZqmYbVKnVpef7dDlVCK5iA+hqmqikMCXYTLeMQz8IZxEnGEHjVAm3wCtS3KQDv3j34kH/+7kl7k+kKVtdVfP+m9nefTnEkuuOJxaKFAdbfCx/TRCJqUm7mZ2CtPP2c3h34oQOMJWTyPJdikT5945niIZGx0pbUtCfx5CGIyRwsITHjqToYzSyVJxmYJXAOZCRSRmL76NdH6RCS3tTKBJ2o+ecJnJ/jBBng4GMlmL+q2OAgeZRBPqBzTNS3MJFfw69YLMKrbIoSJEIcIyKwuDHAMQjwcJMB9Ylve6Hl+07ftXuh07PdwAk+hk4P1APbtdxAfi016F/a01+nlAkZY/MFzZI45Fc4DckKxxiGMcMrxHjt/liYx4Wd+tMdeh8SGnIBBQdtaQDtFpDhPjCj6wOrPKsxJDr1f5VelSFhKOVq7dSpc4gTFMuIPkYCsSUmSFqyRgo0UpCTmS8LpgjIlVMUa01b25J76fQcK+x5zqXtFSdxRWmM+m1/PAndUc++01QVzlxKVAPsF9Mj/H+CIJmk/fGkp8VjgHtDB429OOp1JOkhTpMVig2we3w/nvKoseIlJhMuHcD9saoizZFwNNtDGiOLxF1JeJZ2i4zAWcI54jX/gzMO3zuu5X0MuwPbcifjv6ROU0wguwkjvdqz2vlkMChjKs/+/xPHs3ud+tMT6QP1HQSCuuOHlxe9xyurTA3EApWauaQxApDEIKcblIkTwIqObU3NKak4A2do9W2/oqz1kS/1rZ7nLSM/dK2hXfhtYNR3isYAaxU9QUNzBnoo5Qao/KiVkblmvU+TGBHNzG/a/ORJEKMUkRiRCCNeTIcCU2IcVOscstwrLyMySSop2H6gSwhG/da17Z6/Flpv0yQLwdwG9sAej7wgtF0ZEW+BnXIM5IQEKEHSIuJxks0xKQncGlfMciSytOs6Pcz4UdZdJL5SdrWFdmO0VnLt+OEHGYAO7GAXJzkjEUyAdCiYEv475MtO/em/v8gk+KwxhtGV1MJPn8E3wFGCIvG0oeIviazU1dj8CvnS5Au85MYz8A00YvqVJBTGE8/hjRjNYJaIRpQxhohoFItdPv/0uZFAgbi41EMykeyOhuORa7vBOqcynlVILVAPaKQ05nuTXOB9CC0Tb/C3SK6y3jHyTjOgWJLtq9XB/mfAqO+SulEZzyUgh6q6ZNR2KJmfYvIhm6JTxcVTTGSI9Ler1kMJNQpKv4dCPXrxv1GPChpL5SkGNjRjDXVfj6rPtvXDKA816cy0Sw59uytT7GDgh2WIPHbc/gEHtydEyinxUZQxFAz895QKLhhMP+hw3L5GUeFnHwCsiPZsSVwZdsygPBUPlPAMX1X+itBKHpH98SSPY7mxMwztAMnsOh87FoP+8LAYFBGeMVQNQbdHNos0+f5IAnv2pdO1w/Fg0nfc0DkP5fGrT9OC5q3UusQydPolf9UwW7NozoChMtW8RJr/bWqWzRitcITMVO1DgyMmf+5I5OWnLNY/GGEjNjYwCYQeg6TZbplLPA+lFgk0v1GxtgHegWaMVk2SJQn45z/P7NH5We2Tryd9rlWKUB1Dykrqf2D3P3ZMicwskAGOyTxBRk3qpdKtTuVrM+OsqRxOTqNqyuwiF9Sri0hua/bovGQ/L34cUiNVnG7swm0Ao6x920SmJRaJtR3sBt8of9zXMz+wvEAXgO6ViPdTR9OjxPV00qSoo+lu4opa0KZNKGtVoee59d5zuuHQcq2+7R0uWeIZwHyo6y0jZv2ZMaQaUcCoj3xjhy4fixkVwedwynA0hATOZRa3/9lDdjeXxUzNXxa4j+3rFvj9fVV5uL+9o/fEu8dZbEloyxdLqPLZUQa1zxvi+RgygVWGAu6PFeQd7tMYtkz09rn4rVylN+p+sL1wMOo77t6zjSMB/nGdV1yjK8SAqioBMwN13/a0dXiO23XG1iDsDhxbl4HM9MBz3+56diApsf5THrVFlX+7MGaUJJjXp2Rt+Ukp/0QisUgsv6mKfKmN+0FqtYghKJAcGEKCZ4iLHmZrqV1YflF3923L616EvdHQOiA7o367C77au3q3p6WpMjZTd9xMjiCLFqYuTu+p1e5ayNeKrVoJhw+jvDxYPX+OF2xyUaqTg8wrVZvNB6dg+pVXp//KT5jTdZ1qn8J1Kknp+PJ12JtYA2ne3Q+HUu0T4pPeRXe8el3YpP5VhI2nOdGjvOTFsglHPbXHVWnce7YRsh6uOpzM4zojK/hcj4B1weWIoJR/KAWlfm1WOIe271t9Oxydh8GFHfasj3nQeL9hckCyupZiznRHISazJswEXUKBIyXSrV5v0aflTbTEIlxhCDpgSUVc/c1FjGlzbuzDmZ/3G+UvY6v+VY0i49zOdA/ClMs14p1xIrziusk2pCLWPYUxFIvO/enNN29MeMULryAHK3gEzaKFFPIehHfVkDJaLGkMWr+8enXqDHXmmAgYlfs1f5AICi0xSYz0Zkex5Se+Lt3t0YhvYAo5ev1SivHdGv+mLgWW17eDsDsYTQqtV4rSXWACuwnNtsXNkIDzYdfT1ddzyhTkJtI8w7gY+YFfdMOtvu0+usE61i3urm6+XVAuStve8WjDtDd6vmHgWa4/tjx5fF5M+nY4tvr2g6299CoBg4SnUKbqF9kcjeG82vXd8fQAaf7v1lidaY8nx/8KU91kuze0y931vdFkfPl873p786V755xMkaI5o1m6er4zPZK5yJ7k6MPkvT2QKqjICc8HVt/vmDk6U0ddnZwAQyU1j/Lc5cmtGFrX9TbsSNLi2kEY2MPxwArs3Va0nqwkQZAIBVqmCRRIe7nHSG9daJTrmbMEzh+eaJayLOVRypPpQrvJ0JcMcaHuLNFMdNqvlsBcL1/CIRKnFBPRyQi+fttsNllGqpyvvzY4ja7AegW9c7yT89vgCY7QBnye75cZanFa/QA4Wq4Q69KlNBugN8Rz7cD2Q5loOCP3rWm0Gq1Gy7gDRrvx/JdGazvReqTgS/q/k+hDb+IGztBWO9DZIeIOQ0sqKmLI85JqoFxg7Tn+hzD4OLa/k7FOMYmXNCNiv7VOCBafax76kmGGeEfOMPWUHFPNmgnEdj0ojPRwoOPf8EgkRaCjf9Ue0Aja5UQrij8ZOEMn8PcI7NDli1JTJwleYlENI+89O4HPPI4vGM1/Vsqlvkze3FHYm4xlEjcaOn53Mpr44XvP6T3ieNLruLSXpSMyZnSJeZS9ZziWp9OBhye1Jr99+4vhejbNiMh8AlO+oEJHNqUSbIwW9Ozug967GbSX5u3bQdLZP4/jdoTav5itX94g82XrRWROX7x6bsL2m+dthJ63fkFIWgW/4c1pxpurpfw/rwE0F6swEzhpZkRq//p+Yx4jt1/gP777Kn+QPKxmUUOVBKs+49IaOD0rcEZuaHtep1Wr1ayxkxcA9MUjzw48x/Y7r1rFHlcglKQ6HfBTI79NmGBy1fhpU3j7MLZb6ja2cuDqutEW4jvQ+W/wX59a5pvP//ijsftvfe9SPddXK30sL56/aLWq2/5QNo6hf52jr9yBPRrV/nCoquV36k/3WQNMsfSaiLk8ofQqSw1glHcrSD4G2qD9alOu98i+2yH3vDckP37gd/LLzBv1Vjm+g926H/iSqdZ9fuTRBUrK7i+61Sqoe7Yyy5+M9utfG69fNNrP3zTar42fwO5y/5Ymq6rMh1/9sLKMrnZJCQxGow8yZiwKj/fYOxHjPlxFmlVFWfjtrdvm2km3f9XXzXcw9mMw6o3A0/jfPLl59ja/BgfEAnNASYSAmgowJ2cC8CxNKRMoBpDcLClDJ1WR17rUrWpR5aLjxm5VbfhOX9ghETBXf+6y4JcvX6j6r979Q2AS6gSRl5ch92/cUT67GUseyWmUsQSYKxn6wgixPP+WsRIjSCDelIO8GcFGxARYCJHyt83mfY7fbgjmYViNE9A+SpK52s7wuua0z3cXvvT/mE5VIpnvczFWFbWPXY1VF8SucHQlAelsVgDncCmj6pUmKIq2gy7m6IL5vhux6m2fjDNVL1pCEk8l9ZquHP8ME8wXKM4X2lgBPCnDqM3+yjaTZwxNKRWA6Yg//hnoAckLoTECmIA2WGKSCXSmqSoqWMCMgMEXmYjpVwJMBtrgifGIyGzX61wZyV/o2tboh6Heupwwca0gsN2e3Qsn475n9Wx/b5hdfCaT4tTvOV5H51owFfKfyqJUaTFFDNMYR8aeHnb9aYyZugkij5Aqxjvj2Va7uihFboFtAOUlyNcvXx6D1JtsjYO3b8c5kW/fal0z8/sq5gBzafxt47cz8O7d4zASKAQiMYrNSTpnMEYn41u/YJWRJeRX6h2tGOLkpsgs1yNmppGXOeduREi1Nf83EEmnxXagUeN7kBTvjZkmoeY0odHVqQir+B6DfBdzu9rHRy1QFe9Pb3p/B7Or3pG0Auso/FozdU97rZCFPmIOCK0GWdMbcAUFzG/y/gy+4iRRIFOUb3x8tqn526HK5lbkl7dBTGZm2QAxCRV4dkNJsdcHEHBB08fPzq1nc37xhmhhABttT/+jH9jDbjDY7uQ/YgGtr38B/dZVhO+3SkXP1xHS+j063W4B+s3M8kxtyNAJ6BgIRJQQFAlMCYgWKLoCEY3RWwPUN4OTA1cLEIl3vwCq+djCU6v9aI/O/ycAAP//Z7zg3Yw9AAA= - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line33.sh b/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/CustomData b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/CustomData index 4203b0c7054..e547b4e8577 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line33.sh b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S115/CustomData b/pkg/agent/testdata/AKSUbuntu1604+K8S115/CustomData index 70c14f3ab98..ab436d186cf 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S115/line33.sh b/pkg/agent/testdata/AKSUbuntu1604+K8S115/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S115/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S115/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S115/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+K8S115/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S115/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S115/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S117/CustomData b/pkg/agent/testdata/AKSUbuntu1604+K8S117/CustomData index d1d0b8aa8b0..e3abaa1f05e 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S117/line33.sh b/pkg/agent/testdata/AKSUbuntu1604+K8S117/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S117/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S117/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S117/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+K8S117/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S117/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S117/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S118/CustomData b/pkg/agent/testdata/AKSUbuntu1604+K8S118/CustomData index d1d0b8aa8b0..e3abaa1f05e 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S118/line33.sh b/pkg/agent/testdata/AKSUbuntu1604+K8S118/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S118/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S118/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S118/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+K8S118/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S118/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S118/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/CustomData b/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/CustomData index f41b58d453d..2321007dee9 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line33.sh b/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/CustomData b/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/CustomData index 70c14f3ab98..ab436d186cf 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/9x7bXfauLbwd36FxsPTtHPGvPRtpp1Dz3LBIV4Bw2ObzO3t9HoJW4BOjORKcppMm/vb75JkG0MMJJne+XBZqw3IW1t7b+13yT/+0J5j0p5DvmrYnheeOiM7/N0K+mdh4IztySzovQYNjgQwrxt4AT4CcwHaNBVt+GfGUDuiREBMEOPtlNErzDElrYiu0wQJBD79BsQKkQZQHxStKDCshCEY3wAGCRAU8CyKEOcAXWOBybLVahkF+DUWoNNY4EYDpmIN2eXv1giT7NpaIiLAiiYxeNJojCbDcOB4vfYVZO2ELnPC4CVvrC9jzICZgubXHOq2kRBgcrADHCUZF4iZGxYSugR/5IQcAzYjjkyaiTQT2/M2Yvqp9W9OSd2TKKFZbGKChbnACeKtFF6huA7yaiXhuIBJspFwAbfhsN1opDdiRcmLY/sUMhTDSISKhDCiZIGXrfQmx2mamjQ9bqZQrHJJ4Lmmuq2oIVHBRI5BXIsShZaKnlwhcRe+0Zi9n7nBLPTskW35dq/5NOHzkKEEQY6AyYDJnyn1+wiaX7dhb0GvB4zu61bnpQE+VTWOZzEFMBXmUqrvDYCZoAyt6RUC0YpRctMotbL5r80MfsMFWkciAQxxAZnIR2JT4DXiNySKlVLqiU9jKNCzn5tPV5QLAtfo2c9AzYoyLuiaRwyn4t07tRXrRmNBGcAAE9B8ytFn0AUvXnc6z34DMVUEaAvjwGh+7ft2eGaPprbnK6ucWsHZrbFjUgAsGUqBefoZnPyYQ9uT05MDCJ48AXOG4KXCsMCbZZsYmOizIujOKsoWm/UOQksx4aiE5glCKegWK8SUoAZHMTAxMNoVMtuxsZ/QBqcZi9ABgB2IgeMH3uQ4Jsf1A2s02g+QIzoK15+4p85wiyKtokbz68DxrfcjO/R9KXOpoYJlaEdBY8zhPEG+fwa+favIuDJ5o2lGyvAVFAigJZMOM2X0+gbAOFa/MAcnza9Tz7mwAju0h57t++HUm/zHh9AaDOSv25Mqff7ZZDYa5CzMPDs8C4KpnrCf3vvMDvvWfgTyo60+Y0jOmUom+tY2+7PpQDLRt8K+7QV+VVHLybaIbHKFGSVrRISS0gHm+jM/mIwlxsCb+cF+AhO65KGgIbpCRHBgWOd+q+/brXLdvrLqPuwjJvACR1AgAxx6epg1Sbcm2ySS8skseD+ZuZL28dhyB7e1O6BhtbgvLM+/rREzuoIJaG5gqlJkSLCbaB2HeBEuIE4yhsCrDuiCV6C5SwF49+7BAfD5uyfdbb4rWF03PLWc0W+K933y5kj0pzOLRSsDbL4X9tdGImpTbubxoVFGBmdwC37oAWMNmYx1UizS3209UzwkMo/YkZq2Mk8GCEyWYA2JGc9V0DCzVHp5sEjgEsgoXWYp++jXYWYMyWBuZYLO1PzTBC5PcYIMcPDxtlI0v76fTAI/8CxlYMr99iduYDmu7YWePZTO6kPo296F7d2WHIGD5FEG+YguMVHfwkR+Db9gsQovszlKkAhxjIjA4sYAxyCkKj6AxP/XvjVAc+bbXmj5vjN07UHoDGw3cIIPoTMAzcB2LTeQX0sN+pf2gtcpZULmn3xFsyQO+SVOQ3KFYwzDmOErxHjj7liY50y95tMavQ8JDbmAgoOuNIBuB8hUGJjR9YFVnjUYEr3mv0qPw5AwlHJ1anXqFOIExTLbjZFAbI0JkpaskQKNFORk5suCOQJy5RTFWtM2tuReOAPHCgeec2F7RZSqKI3R/DqczkJ3MrBvNVWFo5MS1QD7xfQI35ggSGbpcDobaPEY4M7QQWMvwqDOsjzEaXKFYgPUj+/HU7phK15jMuPSAdwdqyrSEglHsz2mMbJI3JeEZ2m/yJadNVwi3vDPnWn43nEt70PYH9mWO5v+JXWaYwLZTRjp1Z41TmejUZlvePb/nzmePeg1n96TPtCsIRA0HT+8OBs8Xlll2ixWqNTMNY0RgCQGOd2gLCoAVnTsampOScUZOGNraFfDXnPiS31r5jn9xA9da2wXfhsYzVrRGGCjovfQ0JyBAUq5ASo/GmXWqlkf0iRGRDPzmzY/GQlilCISIxJhxIvpUGBKjINqnUOWe+VlRBYQJQW7D3R5bTS/urY98DdCG2ybZCGYr4E9sqcTLwhtV2aLO2D3CQM5IQFKkLSIeJpkS0xKAnfGFbMciSztu84AM36UdReJL5Rd7qDdGm2UXDt+eC6Ts5Ed1HGSMxLBBEiHginhv0O+7jWf/vuzLBBPWlMYXUot/PgJfAMcJSgST1uyIlPISl2NzS+Qr02+wmtuPAPfQCumX0hCYTzzHN6K0QJmiWhFGWOIiFax2MXzj59aCRSIiws9JIus/mQ8nbi2G2zqDeNZhdQC9YhGSmO+N8kF3ofQMvNGf4vkKusdI+9+BhRLsn21Otj/DBjNOqkblfFcAnKoqktGo0bJ/BST82yO7isunmIiU6S/XbUeSqhRUPo9FOrRi/+NelTQWCpPMbClGRuou3pUfbarH0YZ1KQz0y459O2+LD+DkR+WKfLUcYcHHNyeFCmnxEdRxlAw8t9TKrhgMD3X6bh9jaLCzz4AWBHt2ZK4Mu1YQBkVD7S3DF91xYrUSobI4XSW57HcqE1De0Ayu6nHjuWgPzwsB0WEZwxVU9Ddke0GRr4/ksCBfeH07XA6mg0dN3ROQxl+dTQtaN4prUssY2dY8ldNszWL5gIYqlLN24f537Zm2YzRFY6Qmap9aHHE5M+aQl5+ykb2gxG2YmMLk0DoMUja3Y65xstQapFAyxuVaxvgHWjH6KpNsiQB//zniT05PWl89PWkT41Kg6ZnSFlJ/Q/s4YeeKZGZBTLAMVkmyGhIvVS61at8bWectZXDyWlUBxZ15IJmdRHJbcOenJbs582PQ2qkGretOtwGMMq+sE1kWWKRWNtBPfhW++OunvmB5QWqEXK3fbqfOpoeJW6giyZFHU3riSt6Qds2oaxVpZ6n1nvP6Ydjy7WGtne4nYcXAPOx7rdMmPVnxpA6pAFGc+IbNbp8LGdUBJ/COcPRGBK4lFXc/mcP2d1cFgs1f13gPravO+B391XV4f7ujt4R7x5nsSOhHV8socpnRxnUPm+Ml1PIBFYVCrg7VpB3+AzDsGWht8/F79Qqg0n/3PbC0WTouHtjG0cC/ONaN75pdIkYUF0lYGag6duetg7PcfvO1BqF/ZFj6zaQmR547tt9zw4kJdZ/ylBbdMB3G2NGSYJ5fZ+qLY+U8k8kEovE8pvqVpfauB+k0YgYggLJgTEkeIG4GGC2kdqZ5Rc9ad+2vP5ZOJiMrQOyM5pf6+Cr5zrv9hz3qYrN1KdRJkeQRSszpmuIyZ5ebd1CvlZs1WY/HIzy9mA1/hxv2OSiVJGDLCtdm+0H98H0K69O/5XfY07fdao9fNepFKXTi9fhYGaNpHn3zw+V2vfITwZn/enV68Im9a8ibbyfEz3KS94sm3E0UHtclcadZ1sp6+Guw7153FRkBZ+bEbBpuBwRlPIPpaDUr+0O59j2fWtoh5PTMDizw4H1IU8a7x6YHJCs7qWYC32iEJNFG2aCrqHAkRLpzjlocYbJ22iNRXiFIeiBNRVx9TcXMabtpbEPZx7vt9pfxk7/q5pFxrmd6TMIUy7XimvzRHjJ9QHUmIpYnylMoVj17k5vv3ljwkteeAU5WMEjaBatpJD3ILytppTRak1j0Pnl1av7zlAxx0TAqNw9+YNEUGiJSWKkNzuKLY/4unW3RyO+gTnk6PVLKcZ3G/zbuhRY3tAOwv5oMiu0XilKf4UJ7Cc02xU3QwIux31Pd19PKVOQ20jzCuNs4gd+cVJsDW330YePU33829eHb2eUi9K2ax5tmfbWeWgYeJbrTy1Phs+z2dAOp9bQfrC1l14lYJDwFMpS/SxboilcVk9Ea54eIM3/3ZqqmPZ4cvwvMNWHbHeG6tzd0JvMphfP9663t166E+dkiRQtGc3Sq+e15ZGsRfYUR+ez9/ZIqqAiJzwdWUO/Z+boTJ119XICDFXUPMpzl5FbMbTp623ZkaTFtYMwsMfTkRXY9Va0mawkQZAIBVqnCRRIe7nHSG/TaJTrmYsELh9eaJayLOVRypPpRrvJ0OcMcaHu89BM9Lqv1sDcLF/CIRKnFBPRywi+fttut1lGqpxvvrY4jS7BZgW9c7yX89viCY7QFnxe75cVahGtfgAcra8Q69O1NBugN8Rz7cD2Q1loOBP3rWl0Wp1Wx7gFRrf1/JdWZ7fQeqTgS/q/k+hDb+YGzthWO9CrEXGPoTUVFTHkdUk1US6wDhz/PAw+TO3vZKxzTOI1zYjYb60zgsWnhoc+Z5gh3pMzTD0lx9SwFgKxugeFkR5OdPwbHomkSHT0r8YDDoLqnGhF8WcjZ+wE/h6BHbp8UWrqLMFrLKpp5J1n9+Azz+MLRvOflXapL4s3dxIOZlNZxE3Gjt+fTWZ++N5zBo8IT3odlw6ydEKmjK4xj7L3DMcyOh14eK+jyW/f/mK6ns0zIjKfwJSvqNCZTakEW6MFPfXnoHduBu2lefd2kHT2z+O4G6HuL2bnlzfIfNl5EZnzF6+em7D75nkXoeedXxCSVsFveHue8fbVWv6f9wDaq6swEzhpZ0Rq/+buX54jd1/gP777Kn+QPK1mUUu1BKs+48IaOQMrcCZuaHter9NoNKypkzcA9MUjzw48x/Z7rzrFHlcglKR6PfBTK79pl2By2fppW3j7MHY76qaycuDqutEO4lvQ+2/wXx875ptP//ijVf+3uXepgeurlT6Ul7JfdDrVbX8oG8fQv87RV+6HHs1qfzjU1fJ7zaf7rAGmWHpNxFyeUHqZpQYwyrsVJB8DXdB9tS3XO2Tf1sg9PxuSHz/we/lF361+qxyvYbfpB75kqnOXHxm6QEnZ3UV3jgqanq3M8iej+/rX1usXre7zN63ua+MnUN/u39Fk1ZU5/9UPK8vobpeUwGgyOZc5Y9F4vMPePTHuw1WUWVWUhd/euYmtnXT3V30Vu4axH4PJYAKexv/myc2zt/k1OCBWmANKIgTUVIA5ORGAZ2lKmUAxgORmTRm6Vxd5o0v9qhZVLjpu7VbVhm/1hR0SAfPqzzoLfvnyher/6t0/BCah7iHy8jLk/o07ymc/Y8kjOY0ylgDzSqa+MEIsr79lrsQIEoi35SBvR7AVMQFWQqT8bbt9l+O3W4J5GFbjHmgfJclcbRd403Pa57sLX/p/TKcqmcz3uRirmtrHrsaqC2KXOLqUgHSxKIBzuJRR9boPFMWxg27m6Ib5vhux6k2YjDPVL1pDEs8l9ZquHP8CE8xXKM4X2loBPCnTqO3zlV0mTxiaUyoA0xl//DPQA5IXQmMEMAFdsMYkE+hEU1V0sIAZAYOvMhHTLwSYDHTBE+MRmVndq04ZyV922tXoh6HeuZwwc60gsN2BPQhn06FnDWx/b5pdfGazIuoPHK+nay2YCvlPVVGqtZgihmmMI2PPGXbzaYyZugkiQ0gV463xbOe4umhF7oBtAeUtyNcvXx6D1JtsTYO3b6c5kW/fal0z8/sq5ghzafxd47cT8O7d4zASKAQiMYrNWbpkMEb3xrd5+Sgja8gv1ftLMcTJTVFZbkbMTCMva856REgda/5vIJJOi9WgUeN7kBTvVJkmoeY8odHlfRFW8T0GeR1zdcfHRy1QNe/vf+j9HcyuekfSCqyj8BvN1GfaG4Us9BFzQGg1yZrfgEsoYH6T92fwBSeJApmjfOPjk23N301Vtrciv7wNYrIwywMQk1CBFzeUFHt9AAEXNH387Nx6tucXb08WBrB17Ol/8AN73A9Guyf5j1hA6+tfQL9zFeH7rVLR802GtHnHTB+3AP3WYhlTWzJ1AjoHAhElBEUCUwKiFYouQURj9NYAze3k5MDVAkTi+pcjNR87eBqNH+3J6f8EAAD//5MULimoPAAA + H4sIAAAAAAAC/9x7e5fauJL4/3wKjYdfOpk75pHXTDKX3OOAm/YJGH626dlsJusjbAG6bSRHkkn3dHo/+x5JtjE0r+7Jzh/LOUmDXCpVlapK9ZB//KE5xaQ5hXxRsz0vPHcGdvi7FXQvwsAZ2qNJ0HkNahwJYF7X8Ax8AuYMNGkqmvDPjKFmRImAmCDGmymjK8wxJY2ILtMECQQ+/wbEApEaUB8ULSgwrIQhGN8ABgkQFPAsihDnAF1jgcm80WgYBfg1FqBVm+FaDaZiCdnV79YAk+zamiMiwIImMXhSqw1G/bDneJ3mCrJmQuc5YfCK15ZXMWbATEH9Noe6qyUEmBxsAUdJxgVi5pqFhM7BHzkhx4DNiCOTZiLNxOa8tZh+avybU7LrSZTQLDYxwcKc4QTxRgpXKN4FuVpIOC5gkqwlXMCtOWzWaumNWFDy4tg+hQzFMBKhIiGMKJnheSO9yXGapiZNj5spFItcEniqqW4qakhUMJFjENeiRKGloidXSNyGr9Um7yduMAk9e2Bbvt2pP034NGQoQZAjYDJg8mdK/T6B+u0m7B3odIDRft1ovTTA56rG8SymAKbCnEv1vQEwE5ShJV0hEC0YJTe1Uivr/1rP4DdcoGUkEsAQF5CJfCQ2BV4ifkOiWCmlnvg0hgI9+7n+dEG5IHCJnv0M1Kwo44IuecRwKt69U1uxrNVmlAEMMAH1pxx9AW3w4nWr9ew3EFNFgLYwDoz6bde3wwt7MLY9X1nl2Aou7owtkwJgzlAKzPMv4OzHHNoenZ8dQPDkCZgyBK8UhhleL1vHwERfFEH3VlG2WN/tILQUE45KaJ4glIJ2sUJMCapxFAMTA6NZIbMZG/sJrXGasQgdANiC6Dl+4I2OY3JcP7AGg/0AOaKjcN2Re+70NyjSKmrUb3uOb70f2KHvS5lLDRUsQ1sKGmMOpwny/Qvw7VtFxpXJa00zUoZXUCCA5kw6zJTR6xsA41j9whyc1W/HnnNpBXZo9z3b98OxN/qPj6HV68lfd2dV+vyL0WTQy1mYeHZ4EQRjPWE/vafMDrvWfgTyo60+Y0jOGUsmutYm+5NxTzLRtcKu7QV+VVHLybaIbLLCjJIlIkJJ6QBz3YkfjIYSY+BN/GA/gQmd81DQEK0QERwY1ge/0fXtRrluV1l1F3YRE3iGIyiQAQ49PcyapDumS4hJKH1Hx1hGrLHEEaOczoR080bOlklA/fb9aBT4gWcpWStL7I7cwHJc2ws9uy/19mPo296l7d1tqVp1kQch+n/NO0PSuUIMz27CnuuHCwQT6dArSLcU2PXDC9saBBfhueUMamsejPrtaBK8H01cuT/DoeX27nZqmYbVKnVpef7dDlVCK5iA+hqmqikMCXYTLeMQz8IZxEnGEHjVAm3wCtS3KQDv3j34kH/+7kl7k+kKVtdVfP+m9nefTnEkuuOJxaKFAdbfCx/TRCJqUm7mZ2CtPP2c3h34oQOMJWTyPJdikT5945niIZGx0pbUtCfx5CGIyRwsITHjqToYzSyVJxmYJXAOZCRSRmL76NdH6RCS3tTKBJ2o+ecJnJ/jBBng4GMlmL+q2OAgeZRBPqBzTNS3MJFfw69YLMKrbIoSJEIcIyKwuDHAMQjwcJMB9Ylve6Hl+07ftXuh07PdwAk+hk4P1APbtdxAfi016F/a01+nlAkZY/MFzZI45Fc4DckKxxiGMcMrxHjt/liYx4Wd+tMdeh8SGnIBBQdtaQDtFpDhPjCj6wOrPKsxJDr1f5VelSFhKOVq7dSpc4gTFMuIPkYCsSUmSFqyRgo0UpCTmS8LpgjIlVMUa01b25J76fQcK+x5zqXtFSdxRWmM+m1/PAndUc++01QVzlxKVAPsF9Mj/H+CIJmk/fGkp8VjgHtDB429OOp1JOkhTpMVig2we3w/nvKoseIlJhMuHcD9saoizZFwNNtDGiOLxF1JeJZ2i4zAWcI54jX/gzMO3zuu5X0MuwPbcifjv6ROU0wguwkjvdqz2vlkMChjKs/+/xPHs3ud+tMT6QP1HQSCuuOHlxe9xyurTA3EApWauaQxApDEIKcblIkTwIqObU3NKak4A2do9W2/oqz1kS/1rZ7nLSM/dK2hXfhtYNR3isYAaxU9QUNzBnoo5Qao/KiVkblmvU+TGBHNzG/a/ORJEKMUkRiRCCNeTIcCU2IcVOscstwrLyMySSop2H6gSwhG/da17Z6/Flpv0yQLwdwG9sAej7wgtF0ZEW+BnXIM5IQEKEHSIuJxks0xKQncGlfMciSytOs6Pcz4UdZdJL5SdrWFdmO0VnLt+OEHGYAO7GAXJzkjEUyAdCiYEv475MtO/em/v8gk+KwxhtGV1MJPn8E3wFGCIvG0oeIviazU1dj8CvnS5Au85MYz8A00YvqVJBTGE8/hjRjNYJaIRpQxhohoFItdPv/0uZFAgbi41EMykeyOhuORa7vBOqcynlVILVAPaKQ05nuTXOB9CC0Tb/C3SK6y3jHyTjOgWJLtq9XB/mfAqO+SulEZzyUgh6q6ZNR2KJmfYvIhm6JTxcVTTGSI9Ler1kMJNQpKv4dCPXrxv1GPChpL5SkGNjRjDXVfj6rPtvXDKA816cy0Sw59uytT7GDgh2WIPHbc/gEHtydEyinxUZQxFAz895QKLhhMP+hw3L5GUeFnHwCsiPZsSVwZdsygPBUPlPAMX1X+itBKHpH98SSPY7mxMwztAMnsOh87FoP+8LAYFBGeMVQNQbdHNos0+f5IAnv2pdO1w/Fg0nfc0DkP5fGrT9OC5q3UusQydPolf9UwW7NozoChMtW8RJr/bWqWzRitcITMVO1DgyMmf+5I5OWnLNY/GGEjNjYwCYQeg6TZbplLPA+lFgk0v1GxtgHegWaMVk2SJQn45z/P7NH5We2Tryd9rlWKUB1Dykrqf2D3P3ZMicwskAGOyTxBRk3qpdKtTuVrM+OsqRxOTqNqyuwiF9Sri0hua/bovGQ/L34cUiNVnG7swm0Ao6x920SmJRaJtR3sBt8of9zXMz+wvEAXgO6ViPdTR9OjxPV00qSoo+lu4opa0KZNKGtVoee59d5zuuHQcq2+7R0uWeIZwHyo6y0jZv2ZMaQaUcCoj3xjhy4fixkVwedwynA0hATOZRa3/9lDdjeXxUzNXxa4j+3rFvj9fVV5uL+9o/fEu8dZbEloyxdLqPLZUQa1zxvi+RgygVWGAu6PFeQd7tMYtkz09rn4rVylN+p+sL1wMOo77t6zjSMB/nGdV1yjK8SAqioBMwN13/a0dXiO23XG1iDsDhxbl4HM9MBz3+56diApsf5THrVFlX+7MGaUJJjXp2Rt+Ukp/0QisUgsv6mKfKmN+0FqtYghKJAcGEKCZ4iLHmZrqV1YflF3923L616EvdHQOiA7o367C77au3q3p6WpMjZTd9xMjiCLFqYuTu+p1e5ayNeKrVoJhw+jvDxYPX+OF2xyUaqTg8wrVZvNB6dg+pVXp//KT5jTdZ1qn8J1Kknp+PJ12JtYA2ne3Q+HUu0T4pPeRXe8el3YpP5VhI2nOdGjvOTFsglHPbXHVWnce7YRsh6uOpzM4zojK/hcj4B1weWIoJR/KAWlfm1WOIe271t9Oxydh8GFHfasj3nQeL9hckCyupZiznRHISazJswEXUKBIyXSrV5v0aflTbTEIlxhCDpgSUVc/c1FjGlzbuzDmZ/3G+UvY6v+VY0i49zOdA/ClMs14p1xIrziusk2pCLWPYUxFIvO/enNN29MeMULryAHK3gEzaKFFPIehHfVkDJaLGkMWr+8enXqDHXmmAgYlfs1f5AICi0xSYz0Zkex5Se+Lt3t0YhvYAo5ev1SivHdGv+mLgWW17eDsDsYTQqtV4rSXWACuwnNtsXNkIDzYdfT1ddzyhTkJtI8w7gY+YFfdMOtvu0+usE61i3urm6+XVAuStve8WjDtDd6vmHgWa4/tjx5fF5M+nY4tvr2g6299CoBg4SnUKbqF9kcjeG82vXd8fQAaf7v1lidaY8nx/8KU91kuze0y931vdFkfPl873p786V755xMkaI5o1m6er4zPZK5yJ7k6MPkvT2QKqjICc8HVt/vmDk6U0ddnZwAQyU1j/Lc5cmtGFrX9TbsSNLi2kEY2MPxwArs3Va0nqwkQZAIBVqmCRRIe7nHSG9daJTrmbMEzh+eaJayLOVRypPpQrvJ0JcMcaHuLNFMdNqvlsBcL1/CIRKnFBPRyQi+fttsNllGqpyvvzY4ja7AegW9c7yT89vgCY7QBnye75cZanFa/QA4Wq4Q69KlNBugN8Rz7cD2Q5loOCP3rWm0Gq1Gy7gDRrvx/JdGazvReqTgS/q/k+hDb+IGztBWO9DZIeIOQ0sqKmLI85JqoFxg7Tn+hzD4OLa/k7FOMYmXNCNiv7VOCBafax76kmGGeEfOMPWUHFPNmgnEdj0ojPRwoOPf8EgkRaCjf9Ue0Aja5UQrij8ZOEMn8PcI7NDli1JTJwleYlENI+89O4HPPI4vGM1/Vsqlvkze3FHYm4xlEjcaOn53Mpr44XvP6T3ieNLruLSXpSMyZnSJeZS9ZziWp9OBhye1Jr99+4vhejbNiMh8AlO+oEJHNqUSbIwW9Ozug967GbSX5u3bQdLZP4/jdoTav5itX94g82XrRWROX7x6bsL2m+dthJ63fkFIWgW/4c1pxpurpfw/rwE0F6swEzhpZkRq//p+Yx4jt1/gP777Kn+QPKxmUUOVBKs+49IaOD0rcEZuaHtep1Wr1ayxkxcA9MUjzw48x/Y7r1rFHlcglKQ6HfBTI79NmGBy1fhpU3j7MLZb6ja2cuDqutEW4jvQ+W/wX59a5pvP//ijsftvfe9SPddXK30sL56/aLWq2/5QNo6hf52jr9yBPRrV/nCoquV36k/3WQNMsfSaiLk8ofQqSw1glHcrSD4G2qD9alOu98i+2yH3vDckP37gd/LLzBv1Vjm+g926H/iSqdZ9fuTRBUrK7i+61Sqoe7Yyy5+M9utfG69fNNrP3zTar42fwO5y/5Ymq6rMh1/9sLKMrnZJCQxGow8yZiwKj/fYOxHjPlxFmlVFWfjtrdvm2km3f9XXzXcw9mMw6o3A0/jfPLl59ja/BgfEAnNASYSAmgowJ2cC8CxNKRMoBpDcLClDJ1WR17rUrWpR5aLjxm5VbfhOX9ghETBXf+6y4JcvX6j6r979Q2AS6gSRl5ch92/cUT67GUseyWmUsQSYKxn6wgixPP+WsRIjSCDelIO8GcFGxARYCJHyt83mfY7fbgjmYViNE9A+SpK52s7wuua0z3cXvvT/mE5VIpnvczFWFbWPXY1VF8SucHQlAelsVgDncCmj6pUmKIq2gy7m6IL5vhux6m2fjDNVL1pCEk8l9ZquHP8ME8wXKM4X2lgBPCnDqM3+yjaTZwxNKRWA6Yg//hnoAckLoTECmIA2WGKSCXSmqSoqWMCMgMEXmYjpVwJMBtrgifGIyGzX61wZyV/o2tboh6Heupwwca0gsN2e3Qsn475n9Wx/b5hdfCaT4tTvOV5H51owFfKfyqJUaTFFDNMYR8aeHnb9aYyZugkij5Aqxjvj2Va7uihFboFtAOUlyNcvXx6D1JtsjYO3b8c5kW/fal0z8/sq5gBzafxt47cz8O7d4zASKAQiMYrNSTpnMEYn41u/YJWRJeRX6h2tGOLkpsgs1yNmppGXOeduREi1Nf83EEmnxXagUeN7kBTvjZkmoeY0odHVqQir+B6DfBdzu9rHRy1QFe9Pb3p/B7Or3pG0Auso/FozdU97rZCFPmIOCK0GWdMbcAUFzG/y/gy+4iRRIFOUb3x8tqn526HK5lbkl7dBTGZm2QAxCRV4dkNJsdcHEHBB08fPzq1nc37xhmhhABttT/+jH9jDbjDY7uQ/YgGtr38B/dZVhO+3SkXP1xHS+j063W4B+s3M8kxtyNAJ6BgIRJQQFAlMCYgWKLoCEY3RWwPUN4OTA1cLEIl3vwCq+djCU6v9aI/O/ycAAP//Z7zg3Yw9AAA= - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line33.sh b/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/CustomData b/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/CustomData index c7b9e5acd90..2cab1d05201 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line33.sh b/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/CustomData b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/CustomData index 44241cc74bb..0c40ba55261 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line33.sh b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/CustomData b/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/CustomData index c7b9e5acd90..2cab1d05201 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line33.sh b/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/CustomData b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/CustomData index 4ceab32c5df..1b312376859 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line33.sh b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/CustomData index 4575fda81c2..66d34d677cb 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line33.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/CustomData index 81eeeea1fbb..754c312a1cc 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 | - H4sIAAAAAAAC/+R8e3ebRt7w//oUU0pjuzWSkB0ndZa2WMIOb2RJLyCn2STLwWIkUyMgMDhxbT2f/TlzgwEhX+K2290ne3pWZn7zu99mmOHbbzrnQdQ597KLlmFZrv3OdozTvjN0bUe3HPdYN4faPiBj/eF4OnDNkem4jnlqjKeO9pyOHJtDw32rO/3XxcgBHXk9Hg7ct/rQHE1/1U+MkaO9oAOWMTR022gAeEkB9InjmiPb0YfDAumPdGgw7r8xrLXRXrcyPBi/HQ3H+qAcVyvjb4x3DTC9CgxmAsMVw3uVYUFHPaak0/HROzJtaNqlnnpMUae2ezI52UD6QMCwJhtTW388cnRzZFiDdRCmOGs66q8PMtW9eWljgJE5OinG9rrl2BpXe0xpb6ZHBnaL0dhxj8fT0UDbY6oyT08apu2V04aGI2pqb79qxdMTdzIVWN17viZq32mCO1iHs0zM4zroZu0R1xWEerkGeWZYtjkeueboTB+aA22PqbI/Mtfl3lcLQ0+s8cAdGEcNQL11oMmbE1cfDFjAMe2NLV0wiWFZY0vbZ+qhkSoIQia+5D40mFjjI4M9ZRyPp84RlhJLN6JDzwXb6xPTtQ3rzLBEALURYDCy3eF4/GY6YWC9RjD9n1PLWAfmzqE7enMsHHQFiHoQHqjCYN3RDxgjZ68HddserDvWGuEXXSGI1kcZ5f7Udsanrm3oVv+1Oxif6ubIprK9ZAhOJtP1+S/3hEHLxJ4lRsbL/fXhunwvnwswxpnZN9zJcHpijiqIDkogc3Q8dq3xqdsfW9Z04hgD7SULB/vk1410fuyuwwgUflTLLD3QzWFpnR+F/D2dDHTHKId45NgGdvwzk8SV3bfMiUPsZBn6oMSkdrsCEZxOp5MTSx8YAoTAxmRqnTCHV7u9IkhwQrAMbAZN7TL9903b1W3bPBm51njsuJO3mqqqa2PEfyaGdWramFNNVRnaiU5SV388eUeANFUVMU8mw3fuRLftt2OLBNuxeaKpai1wixoyZmGhqjyj0TS25j6q+qICMJ4Ylu5gHdLUoKo8ezlWw+CPoEWVRYLSdvT+G/fEcFzdOnWd8RtjpKm8hNZBRobzdmy9YbJMKWJN5RW1Dm5Pj0aG404s49j8VVNxUS2C8mhqDnkuU3FdpEp5q0/cvmVgd6HK4FVJHDFH9vT42Oybxoh4xBvXnuh9Q1NxlSLQjjE0JmPLGVTSpqbyPFeOc4enw1wQyzGP9T6uV5ahn+IqyfFoKs9xDUAMmabi1EYbH8eZYCf/9Z3b17HezgzL0VSe2Fhk4CHDcmxNPSiaE8a2bfSxUp2h7R6Nx47tWPqkKKfGr0afx33hHQfcwAPTPtKHhmtOHP1oaNiaitMazZnW1HYwhnXn4sltYNp4lmvbrzX1Bfd4yzzVrXfuyOy75kRIquoL5vnmyDYsxzVPB7ZrGbaDXRR7nzXFnIycsXuqj06Ghkt40tQX+w+dd2wOHcMq5rEwGmBFGBvmHeOEV6N38NB5NXovBOe1DGwL1zL+/9S0jIHW4ylqNCZJQT8xbKaYHs9N9kif2K/HRTYUm8Yuj4yJZZ7hQVw/cSuAvbLH0xV+KLprr7vPw6Zo1091+w1Dysb6ljEwRo6pD2myHTT2xF0egbidqbc6ve4BaLXKVoQ0VZgbxv0LUBvDz7FWcfV3Va3XfVmHEIrvW90+1XrdH+9E0tN6arcOwdNR2dmrdZDpSJ86r8eW+U9sJpUrhbUh3MeL9tSwznAc42A0j80+NoU1dmj+dPQTrafuMTUNDX00nZRyuOYptrrWU/dbrWAO5kHkgw5EM6Cg6wSC+W4IlMhbQiB9r6QwhF4GJaAkaRAhoHzKAwR6P3V8eNWJ8jAEt2CRwgQon8BWe+sVQBcwagEAwNjW5O0sThFQUoK+U2DDc7zPl2Br6aHZxbbc3QWdf22bA3dovjG07VmcwjjbuTUH2nb7+50dubMLvB1wAygLKM6TBKbb3vveR+C93/u48wrALwECq60dRpn7xSM5KLzp0YTBLUApUHywJW3ttGCYQcIJnF3EQKqRjmIE5nEe+VJrHrRa06PpyJm6Y9sd6aeGJtG/pdapbhFrFQPsQTlC2sn6MH4otUh9I0vUEqB8JrXY4kjr5FnaCeOZF5JV9WV+DmcobNFKT0fxcz+eXcK0Bb8kWJukkzvTJPmm7Pu4xg+1lVSBM2xHpBJdBX7gMQKFmdS2utdWFZXPHJ2ZA1PnqIm/uvZrnZMsHojUmubgQOBsnq0U+WYD4jUsgmDOu4lRkxU/uoe0Ji1naXsZzNI4i+eoPYuXHe8yw/8piyQvWamhLZHiloi2wzSP9k8HmjTDXhaBy5dZO4hBmkdAwYF5FYRwAX2gKOkSKEoEkXIRZwgoyucAXShRBpLAP+wkaTzrqJ0o6yQBBl7GOXbr6wRq50Hk72bpTOvECeosknzXz5DWWUb0jzhBQRxlWorh7prpzQhgOZs/qGAohGR+sCYndbgmASOINCZbEvjs5xXgbB9ylouHjIFDkRuiKKmFm/C+3n9tuAPT0jpXXtqZebML2PHwvHR2EVzBrNPCDbU+wh2cAJzGMcJwdELLODNGDl40npyQHozjC+NFx/s9T2HntPAFHf/dNr4gGGWYm3Y/z1C8tGdpkKAOvIIRyjqt/tQa4gXwZOpoHbRMOrM8Dd0rmJ7HGWzHOWqR2iFCxKmXrUNYxolpO9Y71gvT/p/kJAzfmcXRPFi0r71lCFqtFKL0erb03WDuzr0gzFO4vQNuSDbDYwHMNFl9BT57AXKzEMJEk3uvAAqWMM6RJu+9AtlFMEfg2bPaD4JiHqcgAEEE5O0MfgIqkBnSnVfAjwkI/sfQAZn/kOSbX1YSxnWeQu8S3N6CDwV0MAfvgRwABX4q8IGPQini/0g6Nr7AWY6gDz5I8i8fJDwRU8leVUBTiPI0AmrxsMjp/B8RHsilIorReUB++nEkVIHNZFeNWnezIIQR+u9R/h+lUVFdURbG8WWeFFoSNaMKmsFaipEXuqKuUjiLU1+T98nUDHkpIuOavO17CIIfvstoQ/H5IgghQGkOK4ri1IFSYOUqUwiLWherBBPZoLxZnqYw2kC11O72tggIFIHXnR2gLCCQK9Jtdn7JwXCCiSvTUoiTmb/7KMmwv0JfutvWzICbrVwEy50qoTIUofQoNuP0PkVmcBZHfibhkGyKyCh2M+Sh7O8Qkzgk/z4RWWhrAZGLvPTcC8NCS8hL3bs0RcGJpvI05OFITS3fCLNXXOHSBtUJsDX1eSlQ0O9zAoKpPUR1AravVB831kEXu3UIlHlmD6+ATH7HJTM/AVmo9qD30zO1ggez9R7IP4NvNNAFH5uYIaHjoQqiCoAQgU+1rDtP46WbwkWQofTaxS2mi1uJJ1ocz5rHoQ9THPdBSpegXEnSzn+jW2C1gQQvo0WnYGrAXSpTskK7NCDfbGzpVtiNhJbwaW4kIPrD3cibzWCWuSi+hJE7j9Oq89zhOMRZ9h6TN/V+37BtulnMW2V5ey0ur4CSAeU1kE4h8nwPeYe42Et4uREnafzlGkjfS0DCNpJqxVmJgCQ3kJG4c4CGKtw4ocmLul9RQdlU+c4dqLpNUjhPYXbxFUbxZqlLDfMKIBh5EXID3FS9qihfk58/xm6WcWwZ9usHGu5XMBnbDjFgP44QjJDiXCfwEHhJEgYzD6/5Ol+Uz58/K/M4XSp5GsJoFvvQl4Qox/8UH0iLFMtA1raipz7LYHoVzKAmM4mfUWk1uZD6mQivVYxcJ3SBUJIddjocWSf2cnTR68AvswsvWsAmL2tSyt1u1jjj3+ZnZHkaxosgeqxfVeTg9eKBrkRYG45PTMGPSNolnACJWwBHe+DDCAXoWiEWVDLkB1FDFpbuSsMS+Mc//lHXvUSycWlU+CVALvZATf65VcvPxRipNxsSNTPwmnCPta4kmFdqtm/BTz1nnAeRl17f2w0wsDtMzSASD13UmwJOY70vECbVeoMqwVp7sMF1qnOqHkQjcF6j2Vj8SfOwufJXGokqSbCpHK/1E42Y7+8rKpr8o1uLR7QX97YYDW3G3a1GbcKGzmPmRSwDZa43S/+cfiPOUYJXfdt1W6QwiUGYsR6iMadsVH89eVAv+pmnh43ZwZulIMjoqt47D+HDcwM1pSRTcSSgaeB7KY9wiYrT4HfoHwL8GydLWl1BCj/lQQp96fu78pXetzBHUYxKrg4BJ/OgLYTqrpqUR/BLAmcI+iCFWRJHGQQ4IeHyUcP86HpFNlznQVjugJInD1z144k0o+0zT3peyVIirnuXMCJw1ePek9Qkc2rg48diEdO8fhFRPXEBU+xGNK5uC5b+xstbAoC73YqZ77BwaVWaFxLvCvrs1QfZ5p+Fce4rQRQgBcNmbQJBYOl70uNP2Pocz0oCMoHAVquE5AMzToF061tjfLwlqP1uN/grNoYIJPSBEgCpg9nr+FLJYBkNgqv8xNTRWrWy6wzB5QxhbyX7dI/bdwPZ1Qy3Co9sF9d8u2AD+B5cxpGSwjD2/IdMYHwDmbHyF2zYFbQz5KE8K0njpaySeAtc+8PKnN/iPI28EE9S8mLCV4VTabIMxcl/nL0w03+lsR6tVT/IcMn8j1Ms4/vvqVuaYbAoj9PrU5VJAk6hSvr7KOQKplkQR+4CcTdDMENAkrfJIZg52Pou+xBtAUn+RQK3gB2vOQO34AJ6PlAioO6QhlGSVam1apXea0TYB/TItyvJfC3NA7XbBc/BXhfIVB7LoCfQbEd3pjZfMa+nOrWa5MBPoPYKXlYVCtsO40WrVHCVAFAi2NBXs75NBbM4D33Sw55D+gJJfP1VsQRTbTAH34CGN0pA7WFJe88FYWBEI0V9EHkK7YPz6xLFZl5EawxoSBJzCKk6mAu8hEGGlDwKUAYUZY5Xk4riVY58SbLaZvtiUo3hai0AXFJZxS6+SZlxkojKXMt8D0LDYBkeJjdcXsG0Hy8TTzjRwA986Zq8TTsRFdyCWY7IRuAPEm6t2cKLgx4VoL1NoGTpdFPgXrFwKJ4crSTWplcaPhxK0C/QCwiAOJceNdvC/8NxyEPwDFDiF8HiAmbojIaxJm+bx7ZWLDoojZVUsC4TJMq8dwfr8k0V6aqJ+8LXVi0//hzhdDqA55PLhRMfi7315M0JPY/Gghv/XZzW6xWPBqZl9J2x9Y4n2uWlH6RASYBcGaZNeJ5d+EC+qYysiky+FnXYhw66XeAlSFlABDjDDAVmb6XR34y11feUUJzgztRLENkA4/OYcHdUjeqb31ctAMhxODxFw/pjElQOJGEHFyL4AZXGTy4XQGE7ClhSxcOBG6czSB76cF6eksCrHixIGM8uM/KYq0OJwSC5XBwejumZrcNDTcQSh36pMeW6fjykdV/hIkKrr0iJWi9Lr2jSZOsHrPCaHvgyPoWotWotIOpPpno6uyg8zEtnF5q8ndO2d7nTEtaYN3hwd3dFItLDfxzsS5hAbSRd4ufra1G2sUKGW2t1lo0ufT5Kck+Q6dbpwb6YYjEr2yXrOyLRZprqBmpdIccFmcU2laZp+fqdOhrb/SP7ECqLDLZjm8IF/KJt/av9w4cO/e+w/YO8VVFbOX0FtP/ByhcnFzyDeunpArEOcisCzG0YLzIXxS4971ZjF3nZJYmj8qQEHaDQOKOMvMoBke/2RjstAZAUZkc8RCJ9dwy+c9rf7Y3YfjH2W84X7yoYlcjfPJXA/ZbFkZuhNIgWmrwNfvuEO5+ycVMUL10AjCND3jIBgCRfztJKWgMdJzAlO2mmj0EZAw2ALAeTJ5La7u2tgzhedom1AyhZrMsGRAbW5BBewRAAyYzmcbokDHjhOuwpzDJvASlRXERDiKB/COTvN+CdBD6B7W4Yd5rGt24KhR0Cufi9KyrnEMjCX7tcHYdAZr92C/ExDvZzV5D2EMjlH7tctEMgs1+7hQQcchL4uwXb/KET+CsaI8LLB/lG8Auya36zfjB0Jd9UvXjVxrNaZeKUcHKTwDcaUVA1H4jpT2hvLnAD5GaXQeLSI9aunwa4ly/7bJzZv9CXKrF/rcnb5a5d9d03aHz5fYFQctjpqAc/tnvP99vs/ztLNqsTRBnyohn82UsCha0itF63pyrdntJVWcwJofY1ohJBSll5syTJWCTc1eBAhGCrPYuXSY5gG3mLbBhkCNyCpZdsZzCEM7TdJrXhlixttiX7MkhOknxAFGZiMcJQegWkQNrZ2Xnf/di+8sIcgk4HSHMvzKBUzCSKopBblXdQAo+SYB/WmbqX+TkMIXJJ6xwt3BlMUTAPZh6Cbhoj4t3/tYZjSmi2Xdpgu/cfcZcrWo6Uy8tMYagUpk+F6VMR9KlwfUo74BZQU1ZtdVPla3d3JdVDipW/WQi9SDht+n8npB5uFhxMR0Rdfaqte/WOqXKlB9mplwYRTMcpOSU/DKL8S603iDPewrDuJM7IKqV2YQYvUm5vmwDEezPrUOtXZ9ZbsupGfVBfALXglRdOvNmlt4AD1ilPrWFNDtKL3aiHykoQhhz0IK8I19+DYKxASmGWh0iTb3AzJrwzowWIjrZqG0Min1T7VNs01/2/T4yz4u0lNjl3OGyz8gwKfyMoMsfsWb5rK9rUYA4aLQokeWxXNwyy3I8B8qM5YFzhpcVvn/CyguL/7RP47GV8lHQfVT7XGnK+TOMInwMVHHS/BilRHa20eYJbQove5apZNKEm18jWV8VhJblXfcLX55K8J7FNLvJ5EU1iJ5Sr4MP4M0z7XiZkzZs4I+t4lIKt94fkZtrhxy38O8TAhx9ZtH17HKeAXirbxQaRC+IgyID6st3dB17kAylVX3b3JfzQC7MY+HAeRNDHK04c+XGEWxbSqezSXl/mF9qCjGRCFHMclK4dLIPQS8NrsnTtdTmhXq/d3W+DMbqA6ecgg02I2kwL7VIEFr2EOBBmeOFn77rkgKsPRPFnYXYZ1Q1K2Gt3qQqu9trdx2iAGU3UAEFxn/MT29XCmy8LuXmZM61YCpbafpFJzKyNURROsWp/kK7wE75B80GSdkgBiPKwMZWIDrc+t+lIQFPKqznz2wBdxDkaxKjipRwx2S6GPtjKOh/anc5iq7Iyf6Dc+XkeobydCohLsqu7pRYk3jCfyy6GOsvjDDj700O+kmCqCuFBX1XrH5Uo2HVwvuVla9s7rdZTPVOiexsbLCLyK/lw7uUhKizwZNpt+YapeNVm+Tw7693tI1SPoYfK7c5M295IX0m/hoVK51ShhVnDnJGeqTIi7ezUmExSeBXEeTb8C5ltpFlhuhFCZB4Xgyuee3FLcVPV9vtfPuLcKLw8a3LOH7RtSb654jFQoi8OHjTTalbaH0mznij/FDe+O6w25+qrP8dL3n/kFl7X+NVGHT9Iv/XjqN0yM5/mIQr0dHZRy81U1GDpLaATH8FJjjs7mqFbAHz72yfSQqzNpufG8NAsjpCHy7aJcWRtYM5Bv/rsffCxvaxjOOvx023YMLucZXThoV263c2ePARZa91raiJxizUxsjHJ3ZfgNtAgXtFA5ymp7KFp7CksPTFhPTZZnU6HjumSj2w9zKu/NkM9mlCxEKQpaXM6eJS2eeA/NOwfxja/51tpwDYvpHkPxnYFyl2CXmP/xV4o/s26L7pUCebgrtwL4JcgQ2z1scArjgsISvhhkcJSyNY+cbHK2gheJci6MPBHdH539FkCF9rTy6KATQJKWlZm8jpbGF1JoOQJPHtW1KDiO0OYIYm8EmweqqFrbd5o+RoRmfbvle2vkYtVK+ydq1bL8/03dJ91FPtw6J3D+kvGoX5kDF3bsczRibBHRw+LBECSRQB+T4Z/0Wg0HhguAbAl8BMoPzDU++lZ82EYtusLotiHIMT8gAoFupBPoedf4yqTwQjt4up8EUQLvFb3/PVzO9W2jb3Q9X08o4kCisE6F1m73ZZa1btbjVLWg6IBCBum4fFqV74RGVk1vI1uwlbhXljqpnAZX8GnmBcCaY2nJ1j44aro1Ml2CmWIzNWAdv8i5upkH8Tcv4c3zlqDRxyH3qLmDMdD/eRuXxAg1iTCYw+XhUCLUpAHnRqNTaoVYXb/FEZqNB7CyF/AR9We5eVLekWPv4LkVx5r5i1uX4o91SwMILveK7ZWwq3fPeEttvI7kORiCq5Lt7f8cTFF2nDOspgH4rQkALyUfj8tg6gNxuUtTrbsSuIsC85DuAuSNJ5BSPI2Fhd4URxdL+Oc3opbS/uVrL/pyhg9OMbvi3JQfo2z0jHx55uucLLCUmGKlivcFdKvlWCKW5za1mNFKj2wyk8EgbqJH/opF44dwDSNU0A6SLyGjYB4A2yX3GENogWvdbXXi/TGqKjWDCLwwxeqJnZRGnvY/W9BmYfyK9Lkbm7tlaj6kr4SfZbCLM7TGdT4BeulF3kLuIQRapNDwORLbM8ETy49lFrU++xWr3Fv3//xgsIzuFQ7m72jZoxNB42ZLVDMjhVeQaY0QEgflmjuV794pa8uH7vcR2zddHnvQdyss7D525YiU9UvBPAeeZ1FvgJti493aqmmet2eZZv6Y2HX7B5BEy/Nni5l4VOVDyzUnar56wvVfAPKpAkqQv0pvsY4+gOcrSLbV3tbhZ+vdbfaZwREf6txWThc5Xnd42pX/AuXqz1/rM89WdZqFSsrP9gT/anOZ6tyt/hB7kKx4qVUpVbRCsLz9tNslke4boj+XjUj2zlhR3EeUb9lBDPkkt2uVuUWKhP9K2XfLWp5hoIwrNTMr7YlpZ3lJBnN8zC8xuQX9N30A9W/arW+fW0MJ4ZlG+Pj1v8GAAD//x7OgQxIZQAA + H4sIAAAAAAAC/+R8/Xebxrbo7/orppTGdmMkITtO6hzaYgk7vMiSHiCnuUkuC8NIokagwODEdfT+9rfmCwaEHDtue3vOzVldR57Zs7/3nj1ffP9d5zKMO5detmgZluXab23HOO87Q9d2dMtxT3VzqB0C0tcfjqcD1xyZjuuY58Z46mjPaM+pOTTcN7rTf1X0HNGeV+PhwH2jD83R9Df9zBg52nPaYRlDQ7eNBoAXFECfOK45sh19OCyQ/kS7BuP+a8Pa6O11K92D8ZvRcKwPyn610v/aeNsA06vAYCYwXNF9UOkWdNRjSjofn7wlw4amXeqpxxR1brtnk7MtpI8EDBuyMbX1xyNHN0eGNdgEYYqzpqP+ZidT3esXNgYYmaOzou+gW/ZtcHXAlPZ6emJgtxiNHfd0PB0NtAOmKvP8rGHYQTlsaDiipg4Oq1Y8P3MnU4HVg2cbovadJrijTTjLxDxugm7XHnFdQagXG5AXhmWb45Frji70oTnQDpgq+yNzU+5DtTD0xBoP3IFx0gDU2wSavD5z9cGABRzT3tjSBZMYljW2tEOmHhqpgiBk4AvuQ4OJNT4xWCvjeDx1TrCUWLoR7Xom2F6fmK5tWBeGJQKojQCDke0Ox+PX0wkD6zWC6f81tYxNYO4cuqM3x8JRV4CoB+GRKnTWHf2IMXLxalC37dGmY20Qft4Vgmizl1HuT21nfO7ahm71X7mD8blujmwq2wuG4Gwy3Rz/4kDotEzsWWJkvDjc7K7L9+KZAGNcmH3DnQynZ+aoguioBDJHp2PXGp+7/bFlTSeOMdBesHCwz37bSuen7iaMQOEntczSA90cltb5Scjf08lAd4yyi0eObWDHvzBJXNl9y5w4xE6WoQ9KTGq3KxDB6XQ6ObP0gSFACGxMptYZc3i12yuCBCcEy8Bm0NQu03/ftF3dts2zkWuNx447eaOpqrrRR/xnYljnpo051VSVoZ3oJHX1x5O3BEhTVRHzZDJ86050234ztkiwnZpnmqrWAreYQ8YsLFSVZzSaxjbcR1WfVwDGE8PSHaxDmhpUlWcvx2ro/Am0qLJIUNqO3n/tnhmOq1vnrjN+bYw0lU+hdZCR4bwZW6+ZLFOKWFP5jFoHt6cnI8NxJ5Zxav6mqXhSLYLyZGoOeS5T8bxIlfJGn7h9y8DuQpXBZyWxxxzZ09NTs28aI+IRr117ovcNTcWzFIF2jKExGVvOoJI2NZXnubKfOzzt5oJYjnmq9/F8ZRn6OZ4lOR5N5TmuAYgh01Sc2mjh4zgT7OS/vXX7OtbbhWE5msoTG4sM3GVYjq2pR0Vxwti2jT5WqjO03ZPx2LEdS58U06nxm9HncV94xxE38MC0T/Sh4ZoTRz8ZGram4rRGc6Y1tR2MYdO5eHIbmDYe5dr2K019zj3eMs916607MvuuORGSqvqceb45sg3Lcc3zge1ahu1gF8XeZ00xJyNn7J7ro7Oh4RKeNPX54X3HnZpDx7CKcSyMBlgRxpZxpzjh1egd3Xdcjd5zwXktA9vCtYz/OzUtY6D1eIoajUlS0M8Mmymmx3OTPdIn9qtxkQ3ForHLI2NimRe4E8+fuBTAXtnj6Qo3iu7a6x7ysCnK9XPdfs2Qsr6+ZQyMkWPqQ5psB401cZdHIC5n6qVOr3sEWq2yFCFFFeaGcf8c1PpwO9Yqnv1dVet1X9QhhMn3jW6fa73uT3ci6Wk9tVuH4OmorOzVOsh0pE+dV2PL/C9sJpUrhZUh3MeL8tSwLnAc42A0T80+NoU1dmj+dPQzraceMDUNDX00nZRyuOY5trrWUw9Z9I1s95WhD51XTE048bfCGZiFcQA6EPlAQTcrCGb7EVBibwmB9KOSwgh6GZSAskrDGAHlYx4i0Pu5E8DrTpxHEfgC5ilcAeUj2GnvvARoAeMWAACMbU3ezZIUASUl6DsFNjzG+3QFdpYe8he7cncfdP571xy4Q/O1oe36SQqTbO+LOdB22z/u7cmdfeDtgVtAWUBJvlrBdNd71/sAvHcHH/ZeAvg5RGC9s8coc495IAeFnz2YMPgCUAqUAOxIO3stGGWQcAL9RQKkGuk4QWCW5HEgtWZhqzU9mY6cqTu23ZF+bmgS/VtqnesWsWPRwRrKHlJo1rtxo9QiMx9ZvJYAZZvUYssmrZNnaSdKfC8i6+2r/BL6KGrRGoD24vYg8a9g2oKfV1ibpMa70CT5tqwIucaPtbVUgTNsR6QSX4dB6DEChZnUtnrQVhWVjxxdmANT56iJJ7v2K52TLBpEak1jcIhwNi/Winy7BfEGFkEw5+3EqMmKm75CWpOWftpehn6aZMkMtf1k2fGuMvyfMl/lJSs1tCVSXCzRQplm2P75QJN87GUxuHqRtcMEpHkMFByY12EE5zAAipIugaLEECmLJENAUT6FaKHEGViFwXFnlSZ+R+3EWWcVYuBlkmO3vllB7TKMg/0s9bVOskKd+SrfDzKkdZYx/SNZoTCJMy3FcHeN9HwCWI7mDRUMhZDMDzbkpA7XJGAMkcZkW4UB+3kNONvHnOWikTFwLHJDFCW1cHne1/uvDHdgWlrn2ks7vucvYMfD41J/EV7DrNPCpbY+wrWdAJwmCcJwdEDLuDBGDl5Onp2R6ozji5J5x/sjT2HnvPAFHf/dNj4jGGeYm3Y/z1CytP00XKEOvIYxyjqt/tQa4qXxZOpoHbRcdfw8jdxrmF4mGWwnOWqRWUWESFIv24SwjDPTdqy3rEqmKwOSkzB8x0/iWThv33jLCLRaKUTpjb8M3HDmzrwwylO4uwduSTbDfSHMNFl9CT55IXKzCMKVJvdeAhQuYZIjTT54CbJFOEPgyZPaD4JilqQgBGEM5N0MfgQqkBnSvZcgSAgI/sfQAZn/kOTbX9cSxnWZQu8KfPkC3hfQ4Qy8A3IIFPixwAc+CFMR/0fSsfEZ+jmCAXgvyb++l/BATCV7WQFNIcrTGKhFY5HT+T8iPJBLRRS9s5D8DJJYmAW2k103at3NwgjG6D9H+X+WRkV1xVmUJFf5qtCSqBlV0AzWUoK8yBV1lUI/SQNNPiRDM+SliPRr8m7gIQie/pDRguLTIowgQGkOK4ri1IFSYOUqUwiLWherBBPZojw/T1MYb6Faand3VwQEisDr3h5Q5hDIFem2O7/kYDjBxJVhKcTJLNh/kGTYX2Eg3W1rZsDtVi6C5U6VUBmKUHoQm0n6NUVm0E/iIJNwSDZFZJy4GfJQ9k+ISRyS/5yILLQ1h8hFXnrpRVGhJeSl7l2aouBEU3ka8XCkppZvhdFrrnBpi+oE2Jr6vBQo6I8ZAcHU7qM6Ads3qo8b66iL3ToCyiyzh9dAJr+TkpmfgSzM9qD38xO1ggez9Q7Iv4DvNNAFH5qYIaHjoQqiCoAQgY+1rDtLk6WbwnmYofTGxSWmi0uJR1ocj5olUQBTHPdhSpegXEnS3n+iW2C1gRVeRotOwdSAq1SmZIVWaUC+3VrSrbEbCSXh49xIQPSnu5Hn+zDLXJRcwdidJWnVee5wHOIsBw/Jm3q/b9g23UbmpbK8uxGX10DJgPIKSOcQeYGHvGM82Ut4uZGs0uTzDZB+lICEbSTVJmclBpLcQEbizgEaZuHGAU1e1P2GGZQNle/cm6rbJIWzFGaLbzCK56cuNcxLgGDsxcgNcVH1sqJ8TX72ELtZxqll2K/uabjfwGRsO8SA/SRGMEaKc7OCx8BbraLQ9/Car/NZ+fTpkzJL0qWSpxGM/SSAgSREOf6nBECap1gGsrYVPfVJBtPr0IeazCR+QqXV5ELqJyK8VjFyndACoVV23OlwZJ3Ey9Gi14Gf/YUXz2GTlzUp5W43axzxP+ZnZHkaJfMwfqhfVeTg88U9XYmwNhyfmYIfkbRLOAEStwCO9jCAMQrRjUIsqGQoCOOGLCzdlYYl8K9//auue4lk49Ko8HOIXOyBmvxLq5afiz4y32xJ1MzAG8I91LqSYF6p2b4FP/WccRnGXnrz1WqAgd1hagax8tCiXhRwGpt1gTCoVhtUCdbKgy2uUx1T9SAagbMazcbJnxQP22f+SiFRJQm2Tccb9UQj5q/XFRVN/tmlxQPKi6+WGA1lxt2lRm3AlsrD92KWgTLX89O/pt5IcrTCq77dui1SuEpAlLEaojGnbFV/PXlQL/qFp4et2cHzUxBmdFXvXUbw/rmBmlKSqTgS0DTwo5THeIpK0vAPGBwD/BsnSzq7ghR+zMMUBtKPd+UrvW9hjuIElVwdA07mXlsI1V01KY/h5xX0EQxACrNVEmcQ4ISEp48a5gfPV2TDdRZG5Q4oabnnqh8PpBntkHnSs0qWEnF9dQkjAlc97h1JTTKnBj58KBYxzesXEdUjFzDFbkTj6rZg6R+8vCUAuNqtmPkOC5dWpXlh5V3DgB19kG1+P0ryQAnjECkYNmsTCAJLz0lPP2LrczxrCcgEAlutEpL3zDgF0p3vjfHpjqD2u93g79gYIpAwAEoIpA5mrxNIJYNlNAiu8jNTR2vdym4yBJc+wt5K9uketu8GsmsflwoPLBc3fLtgAwQeXCaxksIo8YL7DGB8A5mx8jds2BW0M+ShPCtJ46WssvLmeO6PKmN+T/I09iI8SMmLAd8UTqXJMpSs/u3shZn+O431YK0GYYanzH87xTK+/5m6pRkGi/IwvT5WmSTgFKqkf45CrmGahUnszhF3MwQzBCR5l1yCmYGdH7L38Q6Q5F8l8AWw6zUX4AtYQC8ASgzUPVIwSrIqtdat0nuNGPuAHgd2JZlvpHmgdrvgGTjoApnKYxn0bprt6M7U5ivmzVSnVpMc+BnUjuBlVaGw7SiZt0oFVwkAJYYNdTWr21TgJ3kUkBr2EtIDJPH4q2IJptpwBr4DDSdKQO1hSXvPBGFgTCNFvRd5Ch2Ay5sSxXZeRGsMaEgScwipOpwJvERhhpQ8DlEGFGWGV5OK4lWufEmy2mb7YlKN4epcALiksopdfJsyk9VKVOZG5rsXGgbL8DC54fIapv1kufKEGw38wpeuybu0ElHBF+DniGwEPpVwac0WXhz0pADtbQMlS6fbAveahUPRcrKWWJleKfhwKMGgQC8gAOJYetVsB/8PxyEPwQtAiS/C+QJm6IKGsSbvmqe2Viw6KI21VLAuEyTKrHcH6/JtFem6ifvC19atIPkU43Q6gJeTq7mTnIq19eT1Gb2PxoIb/13c1usVTQPTMvrO2HrLE+3yKghToKyAXOmmRXieLQIg31Z61kUm34g67ENH3S7wVkiZQwQ4wwwFZm+t0d+MtfWPlFCywpWpt0JkA4yPY8LdMWtUT35ftgAg1+HwEA3rj0lQuZCEHVyI4HvMNMHqag4UtqOAJVU8HLhJ6kPSGMBZeUsCr3qwIFHiX2WkmatDScBgdTU/Ph7TO1vHx5qIJYmCUmPKTf16SOtrExcRWn1JpqjNaeklTZps/YAVXtMDX8anELXWrTlE/clUT/1F4WFe6i80eTenZe9yryWsMW9x5/7+mkSkh/84OpQwgVpPusTtm2tRtrFCulsb8yzrXQa8l+SeMNOt86NDMcViVnZL1vdEos001S3UukKOCzOLbSpN0/L4nToa2/0j+xAqiwy2Y5vCOfys7fx3++n7Dv3vuP1U3qmorRy+Btr/w8oXBxc8g/rU0wXiPMitCDC3UTLPXJS49L5bjV3kZVckjsqbErSDQuOMMvIqF0R+OBjttQRAMjE74iUS6YdT8IPT/uFgxPaLsd9yvnhVwajEwfahBO73LIndDKVhPNfkXfD7R1z5lIWbonjpHGAcGfKWKwBI8uUsraUN0PEKpmQnzQwwKGOgAZDlYNIiqe3ewSaI42VXWDuAksW6bEBkYE0O4TWMAJDMeJakS8KAF23CnsMs8+aQEsWTaAQRDI6B/OMWvJMwILDdLf1OU//ObaGwYyAXv/dF5RwDWfhrn6vjGMjs134hPsbBfu4L0h4Dufxjn4t2DGT2a7+QgENOwmC/YJs3OmGwpjEiHD7It4JfkF3z282LoWv5turF6zYe1SoTp4STmwS+04iCqvlATH9CebPABZCbXYUrl16xdoM0xLV8WWfjzP6ZHqokwY0m75a7dtWzb9B4+L1AaHXc6ahHP7V7zw7b7P87SzaqE8YZ8mIf/uKtQoWtIrRet6cq3Z7SVVnMCaH2LaISQUpZebEkyVgkXNXgQIRgp+0ny1WOYBt582wYZgh8AUtvtZvBCPpot03mhi9kabMr2Vfh6myVD4jCTCxGFEkvgRRKe3t777of2tdelEPQ6QBp5kUZlIqRRFEUcqdyBiXwKAn2YZWpe5Vfwggil5TO8dz1YYrCWeh7CLppgoh3/8cajimh2XZpg+3efcBVrmg5Ml1eZQpDpTB9KkyfiqBPhetT2gNfADVl1Va3Vb7299dSPaTY9OdH0IuF26b/e0Lq/mbBwXRC1NWn2vqq3jFVrvQwO/fSMIbpOCW35IdhnH+u1QZJxksYVp0kGVml1B7M4EXKly9NAOK7mU2ozaczmyVZdaM+rC+AWvDaiyaef+XN4YBVylNrWJOD1GK36rGyFoQhFz3IEeHmOQjGCqQUZnmENPkWF2PCmRmdgGhvq7YxJPJJtU+1TXPd//nIOCtOL7HJucNhm5V3UPiJoMgcs2d51laUqeEMNFoUSPLYrm4YZHmQABTEM8C4wkuL3z/iZQXF//tH8MnLeC+pPqp8bhTkfJnGET4DKjjqfgtSojo60+YrXBJa9C1XzaIranKNbH1VHFaSe9UWvj6X5AOJbXKRD49oEruhXAUfJp9g2vcyIWveJhlZx6MU7Lw7Ji/Tjj/s4N8RBj7+wKLt+9MkBfRR2T42iFwQB2EG1Bft7iHw4gBIqfqieyjhRi/KEhDAWRjDAK84ceQnMS5ZSKWyT2t9mT9oCzOSCVHCcVC6drgMIy+NbsjStdflhHq9dvewDcZoAdNPYQabELWZFtqlCCx6CXEgjPCiT95NyQFXH4iTT8LoMqoblHDQ7lIVXB+0uw/RADOaqAGC4mvOT2xXC2++LOTmZc60ZilYagdFJjGzNkZROMW6/V66xi18g+a9JO2RCSDOo8ZUIjrc5timKwFNKa/mzG9CtEhyNEhQxUs5YrJdDAOwk3Xetzud+U5lZX5PufPLPEZ5OxUQl2TXd0stSLxlPJddDHWWxxlw9peHfCXBVBXCg76q1j8rUbCH4nzLy9Z291qtx3qmRPc2tlhE5FcK4MzLI1RY4NG02/ItU/G6zfJ5dtG720eoHiMPldudmba7lb6SfgsLlcqpQguzhjkjNVOlR9rbqzG5SuF1mOTZ8G9ktpFmhelGCJF5PBlc89yLS4rbqrbf/foB50bh8KzJOZ9qu5J8e81joERfXDxoptWstD+TZj1R/iVufHdYbc/V13+Nl7z7wC28qfHrrTq+l37r11G7ZWY+zyMU6qm/qOVmKmq49ObQSU7gJMeVHc3QLQC+//0jKSE2RtN7Y7jLT2Lk4WnbxDiyNjBnoF9texd+aC/rGC56/HYbNsw+ZxktPLRPt7tZy32QtTa9piYSt1gTI1uT3NcS3BYaxCsa6Dwmld03jT2GpUcmrIcmq/Pp0DFd8vmt+3n1t2aoBxMqFoI0JW1PBw/SNg/8+4b9/djm73wrBdj2hTSvwdiuQLlL0Gusv9iB4j+s+qJLlXAG7sq9AH4OM8RWH3O84lhAUMIPixSWQrb2SYpV1lbwKkFWhYE/o/K7o84SuNAePy0K2CSgpOXMTI6zhd61BEqewJMnxRxUfIEIMySRI8Hmrhq61vaNlm8RkWn/q7L9PXKx2Qp757rV8oLgNd1nHSUBHHqXsH7IONRPjKFrO5Y5OhP26OhlkRBIsgjA38nwbx2NxgPDJQC2BH4G5QeGej8/ab4Mw3Z9QZwEEESYH1ChQBfyKfSCGzzLZDBG+3h2XoTxHK/VvWDz3k61bGMHukGARzRRQAnY5CJrt9tSq/p2q1HKelA0AGHDNDSv9+VbkZF1w2l0E7YK98JSN4XL5Bo+xrwQSBs8PcLC91dFp062UyhDZK4GtP83MVcney/m/md446w1eMRp5M1rznA61M/u9gUBYkMi3Hd/WQi0KAVp6NRobFOtCLP/lzBSo3EfRv4GPqr2vIZpOLshX4FbQC9Ci9090ZxBsvTC2KX3hFUhef0BJFnolLbcixyMbIYDZ124XKGbjdwqN3yGrpJug3Du+gvoX7lx4lJs5MnfHDyNkxT64Gm2SFIEntJ7Vs/AU34b9xlo77Uqb6PuuMN5Sr5YgnN3CrMkuoYgTRLE2d9p7zyG8yrbDYwyGUSlFud4lSehRBTeyAUih1XMKjWa0r3FZZKKLHBJMa1jcj5IyD5IE1VvoF4GCIdg5WUZDMihU/kKmL4V5Wfh/O1tLc8Uz4DF4t6PQsjemYs1vvD8/KBV8+FiiFRRYjFkm/aKcSBJSwLAS+mH/DKI2mBcPidm6/9VkmXhZQT3wSpNfAhJAYHFBV6cxDfLJKfPMzf0W/GqbW8X6Q1G/nC57jyV0r30n+a3xKzCqTBF6ya8PKGfzcEUdzi1nYeKVKbCKj8xBOo2fug3hTh2ANM0SQFZygC08GIgPkXcJ4+pw3jOi67aOTd9uiyqNYMIPP1M1cRe7GMP+/pxPPNQ/lafPBKvnc2rL+jZ/BMca3nqQ42/9F96sTeHSxijNrmNTj4J+ETw5NJDqUW9T271ewK7X/+KRuEZXKq97d5RM8a2bDkT0gdOZ9eQKQ0Q0ncmi7r6xbeldfnYK1Ni66ZXpPfipjlfNX9+VWSq+qkKvljbZJFvhbTF5r1aqql+94Flm3qzsH37FUFXXpo9XsrCpypf+qg7VfNnQKr5BpRJE1SE+kt8jXH0JzhbRbZv9rYKP9/qbrXvWYj+VuOycLhKe93jat+aKFyu1v5Qn3u0rNVZrJz5wYHoT3U+713IlfxSrHhNX5mr6AzC8/bjbJbHeN4Q/b1qRraFx+6EPWD+lhHMkEu2XVuV59BM9G+Ufb+YyzMURlFlzvxmW1LaWU6S0SyPohtMfk4vSdxT/etW6/tXxnBiWLYxPm39/wAAAP//6NQ9SOtnAAA= @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/9x7bXfauLbwd36FxsPTtHPGvPRtpp1Dz3LBIV4Bw2ObzO3t9HoJW4BOjORKcppMm/vb75JkG0MMJJne+XBZqw3IW1t7b+13yT/+0J5j0p5DvmrYnheeOiM7/N0K+mdh4IztySzovQYNjgQwrxt4AT4CcwHaNBVt+GfGUDuiREBMEOPtlNErzDElrYiu0wQJBD79BsQKkQZQHxStKDCshCEY3wAGCRAU8CyKEOcAXWOBybLVahkF+DUWoNNY4EYDpmIN2eXv1giT7NpaIiLAiiYxeNJojCbDcOB4vfYVZO2ELnPC4CVvrC9jzICZgubXHOq2kRBgcrADHCUZF4iZGxYSugR/5IQcAzYjjkyaiTQT2/M2Yvqp9W9OSd2TKKFZbGKChbnACeKtFF6huA7yaiXhuIBJspFwAbfhsN1opDdiRcmLY/sUMhTDSISKhDCiZIGXrfQmx2mamjQ9bqZQrHJJ4Lmmuq2oIVHBRI5BXIsShZaKnlwhcRe+0Zi9n7nBLPTskW35dq/5NOHzkKEEQY6AyYDJnyn1+wiaX7dhb0GvB4zu61bnpQE+VTWOZzEFMBXmUqrvDYCZoAyt6RUC0YpRctMotbL5r80MfsMFWkciAQxxAZnIR2JT4DXiNySKlVLqiU9jKNCzn5tPV5QLAtfo2c9AzYoyLuiaRwyn4t07tRXrRmNBGcAAE9B8ytFn0AUvXnc6z34DMVUEaAvjwGh+7ft2eGaPprbnK6ucWsHZrbFjUgAsGUqBefoZnPyYQ9uT05MDCJ48AXOG4KXCsMCbZZsYmOizIujOKsoWm/UOQksx4aiE5glCKegWK8SUoAZHMTAxMNoVMtuxsZ/QBqcZi9ABgB2IgeMH3uQ4Jsf1A2s02g+QIzoK15+4p85wiyKtokbz68DxrfcjO/R9KXOpoYJlaEdBY8zhPEG+fwa+favIuDJ5o2lGyvAVFAigJZMOM2X0+gbAOFa/MAcnza9Tz7mwAju0h57t++HUm/zHh9AaDOSv25Mqff7ZZDYa5CzMPDs8C4KpnrCf3vvMDvvWfgTyo60+Y0jOmUom+tY2+7PpQDLRt8K+7QV+VVHLybaIbHKFGSVrRISS0gHm+jM/mIwlxsCb+cF+AhO65KGgIbpCRHBgWOd+q+/brXLdvrLqPuwjJvACR1AgAxx6epg1Sbcm2ySS8skseD+ZuZL28dhyB7e1O6BhtbgvLM+/rREzuoIJaG5gqlJkSLCbaB2HeBEuIE4yhsCrDuiCV6C5SwF49+7BAfD5uyfdbb4rWF03PLWc0W+K933y5kj0pzOLRSsDbL4X9tdGImpTbubxoVFGBmdwC37oAWMNmYx1UizS3209UzwkMo/YkZq2Mk8GCEyWYA2JGc9V0DCzVHp5sEjgEsgoXWYp++jXYWYMyWBuZYLO1PzTBC5PcYIMcPDxtlI0v76fTAI/8CxlYMr99iduYDmu7YWePZTO6kPo296F7d2WHIGD5FEG+YguMVHfwkR+Db9gsQovszlKkAhxjIjA4sYAxyCkKj6AxP/XvjVAc+bbXmj5vjN07UHoDGw3cIIPoTMAzcB2LTeQX0sN+pf2gtcpZULmn3xFsyQO+SVOQ3KFYwzDmOErxHjj7liY50y95tMavQ8JDbmAgoOuNIBuB8hUGJjR9YFVnjUYEr3mv0qPw5AwlHJ1anXqFOIExTLbjZFAbI0JkpaskQKNFORk5suCOQJy5RTFWtM2tuReOAPHCgeec2F7RZSqKI3R/DqczkJ3MrBvNVWFo5MS1QD7xfQI35ggSGbpcDobaPEY4M7QQWMvwqDOsjzEaXKFYgPUj+/HU7phK15jMuPSAdwdqyrSEglHsz2mMbJI3JeEZ2m/yJadNVwi3vDPnWn43nEt70PYH9mWO5v+JXWaYwLZTRjp1Z41TmejUZlvePb/nzmePeg1n96TPtCsIRA0HT+8OBs8Xlll2ixWqNTMNY0RgCQGOd2gLCoAVnTsampOScUZOGNraFfDXnPiS31r5jn9xA9da2wXfhsYzVrRGGCjovfQ0JyBAUq5ASo/GmXWqlkf0iRGRDPzmzY/GQlilCISIxJhxIvpUGBKjINqnUOWe+VlRBYQJQW7D3R5bTS/urY98DdCG2ybZCGYr4E9sqcTLwhtV2aLO2D3CQM5IQFKkLSIeJpkS0xKAnfGFbMciSztu84AM36UdReJL5Rd7qDdGm2UXDt+eC6Ts5Ed1HGSMxLBBEiHginhv0O+7jWf/vuzLBBPWlMYXUot/PgJfAMcJSgST1uyIlPISl2NzS+Qr02+wmtuPAPfQCumX0hCYTzzHN6K0QJmiWhFGWOIiFax2MXzj59aCRSIiws9JIus/mQ8nbi2G2zqDeNZhdQC9YhGSmO+N8kF3ofQMvNGf4vkKusdI+9+BhRLsn21Otj/DBjNOqkblfFcAnKoqktGo0bJ/BST82yO7isunmIiU6S/XbUeSqhRUPo9FOrRi/+NelTQWCpPMbClGRuou3pUfbarH0YZ1KQz0y459O2+LD+DkR+WKfLUcYcHHNyeFCmnxEdRxlAw8t9TKrhgMD3X6bh9jaLCzz4AWBHt2ZK4Mu1YQBkVD7S3DF91xYrUSobI4XSW57HcqE1De0Ayu6nHjuWgPzwsB0WEZwxVU9Ddke0GRr4/ksCBfeH07XA6mg0dN3ROQxl+dTQtaN4prUssY2dY8ldNszWL5gIYqlLN24f537Zm2YzRFY6Qmap9aHHE5M+aQl5+ykb2gxG2YmMLk0DoMUja3Y65xstQapFAyxuVaxvgHWjH6KpNsiQB//zniT05PWl89PWkT41Kg6ZnSFlJ/Q/s4YeeKZGZBTLAMVkmyGhIvVS61at8bWectZXDyWlUBxZ15IJmdRHJbcOenJbs582PQ2qkGretOtwGMMq+sE1kWWKRWNtBPfhW++OunvmB5QWqEXK3fbqfOpoeJW6giyZFHU3riSt6Qds2oaxVpZ6n1nvP6Ydjy7WGtne4nYcXAPOx7rdMmPVnxpA6pAFGc+IbNbp8LGdUBJ/COcPRGBK4lFXc/mcP2d1cFgs1f13gPravO+B391XV4f7ujt4R7x5nsSOhHV8socpnRxnUPm+Ml1PIBFYVCrg7VpB3+AzDsGWht8/F79Qqg0n/3PbC0WTouHtjG0cC/ONaN75pdIkYUF0lYGag6duetg7PcfvO1BqF/ZFj6zaQmR547tt9zw4kJdZ/ylBbdMB3G2NGSYJ5fZ+qLY+U8k8kEovE8pvqVpfauB+k0YgYggLJgTEkeIG4GGC2kdqZ5Rc9ad+2vP5ZOJiMrQOyM5pf6+Cr5zrv9hz3qYrN1KdRJkeQRSszpmuIyZ5ebd1CvlZs1WY/HIzy9mA1/hxv2OSiVJGDLCtdm+0H98H0K69O/5XfY07fdao9fNepFKXTi9fhYGaNpHn3zw+V2vfITwZn/enV68Im9a8ibbyfEz3KS94sm3E0UHtclcadZ1sp6+Guw7153FRkBZ+bEbBpuBwRlPIPpaDUr+0O59j2fWtoh5PTMDizw4H1IU8a7x6YHJCs7qWYC32iEJNFG2aCrqHAkRLpzjlocYbJ22iNRXiFIeiBNRVx9TcXMabtpbEPZx7vt9pfxk7/q5pFxrmd6TMIUy7XimvzRHjJ9QHUmIpYnylMoVj17k5vv3ljwkteeAU5WMEjaBatpJD3ILytppTRak1j0Pnl1av7zlAxx0TAqNw9+YNEUGiJSWKkNzuKLY/4unW3RyO+gTnk6PVLKcZ3G/zbuhRY3tAOwv5oMiu0XilKf4UJ7Cc02xU3QwIux31Pd19PKVOQ20jzCuNs4gd+cVJsDW330YePU33829eHb2eUi9K2ax5tmfbWeWgYeJbrTy1Phs+z2dAOp9bQfrC1l14lYJDwFMpS/SxboilcVk9Ea54eIM3/3ZqqmPZ4cvwvMNWHbHeG6tzd0JvMphfP9663t166E+dkiRQtGc3Sq+e15ZGsRfYUR+ez9/ZIqqAiJzwdWUO/Z+boTJ119XICDFXUPMpzl5FbMbTp623ZkaTFtYMwsMfTkRXY9Va0mawkQZAIBVqnCRRIe7nHSG/TaJTrmYsELh9eaJayLOVRypPpRrvJ0OcMcaHu89BM9Lqv1sDcLF/CIRKnFBPRywi+fttut1lGqpxvvrY4jS7BZgW9c7yX89viCY7QFnxe75cVahGtfgAcra8Q69O1NBugN8Rz7cD2Q1loOBP3rWl0Wp1Wx7gFRrf1/JdWZ7fQeqTgS/q/k+hDb+YGzthWO9CrEXGPoTUVFTHkdUk1US6wDhz/PAw+TO3vZKxzTOI1zYjYb60zgsWnhoc+Z5gh3pMzTD0lx9SwFgKxugeFkR5OdPwbHomkSHT0r8YDDoLqnGhF8WcjZ+wE/h6BHbp8UWrqLMFrLKpp5J1n9+Azz+MLRvOflXapL4s3dxIOZlNZxE3Gjt+fTWZ++N5zBo8IT3odlw6ydEKmjK4xj7L3DMcyOh14eK+jyW/f/mK6ns0zIjKfwJSvqNCZTakEW6MFPfXnoHduBu2lefd2kHT2z+O4G6HuL2bnlzfIfNl5EZnzF6+em7D75nkXoeedXxCSVsFveHue8fbVWv6f9wDaq6swEzhpZ0Rq/+buX54jd1/gP777Kn+QPK1mUUu1BKs+48IaOQMrcCZuaHter9NoNKypkzcA9MUjzw48x/Z7rzrFHlcglKR6PfBTK79pl2By2fppW3j7MHY76qaycuDqutEO4lvQ+2/wXx875ptP//ijVf+3uXepgeurlT6Ul7JfdDrVbX8oG8fQv87RV+6HHs1qfzjU1fJ7zaf7rAGmWHpNxFyeUHqZpQYwyrsVJB8DXdB9tS3XO2Tf1sg9PxuSHz/we/lF361+qxyvYbfpB75kqnOXHxm6QEnZ3UV3jgqanq3M8iej+/rX1usXre7zN63ua+MnUN/u39Fk1ZU5/9UPK8vobpeUwGgyOZc5Y9F4vMPePTHuw1WUWVWUhd/euYmtnXT3V30Vu4axH4PJYAKexv/myc2zt/k1OCBWmANKIgTUVIA5ORGAZ2lKmUAxgORmTRm6Vxd5o0v9qhZVLjpu7VbVhm/1hR0SAfPqzzoLfvnyher/6t0/BCah7iHy8jLk/o07ymc/Y8kjOY0ylgDzSqa+MEIsr79lrsQIEoi35SBvR7AVMQFWQqT8bbt9l+O3W4J5GFbjHmgfJclcbRd403Pa57sLX/p/TKcqmcz3uRirmtrHrsaqC2KXOLqUgHSxKIBzuJRR9boPFMWxg27m6Ib5vhux6k2YjDPVL1pDEs8l9ZquHP8CE8xXKM4X2loBPCnTqO3zlV0mTxiaUyoA0xl//DPQA5IXQmMEMAFdsMYkE+hEU1V0sIAZAYOvMhHTLwSYDHTBE+MRmVndq04ZyV922tXoh6HeuZwwc60gsN2BPQhn06FnDWx/b5pdfGazIuoPHK+nay2YCvlPVVGqtZgihmmMI2PPGXbzaYyZugkiQ0gV463xbOe4umhF7oBtAeUtyNcvXx6D1JtsTYO3b6c5kW/fal0z8/sq5ghzafxd47cT8O7d4zASKAQiMYrNWbpkMEb3xrd5+Sgja8gv1ftLMcTJTVFZbkbMTCMva856REgda/5vIJJOi9WgUeN7kBTvVJkmoeY8odHlfRFW8T0GeR1zdcfHRy1QNe/vf+j9HcyuekfSCqyj8BvN1GfaG4Us9BFzQGg1yZrfgEsoYH6T92fwBSeJApmjfOPjk23N301Vtrciv7wNYrIwywMQk1CBFzeUFHt9AAEXNH387Nx6tucXb08WBrB17Ol/8AN73A9Guyf5j1hA6+tfQL9zFeH7rVLR802GtHnHTB+3AP3WYhlTWzJ1AjoHAhElBEUCUwKiFYouQURj9NYAze3k5MDVAkTi+pcjNR87eBqNH+3J6f8EAAD//5MULimoPAAA + H4sIAAAAAAAC/9x7e5fauJL4/3wKjYdfOpk75pHXTDKX3OOAm/YJGH626dlsJusjbAG6bSRHkkn3dHo/+x5JtjE0r+7Jzh/LOUmDXCpVlapK9ZB//KE5xaQ5hXxRsz0vPHcGdvi7FXQvwsAZ2qNJ0HkNahwJYF7X8Ax8AuYMNGkqmvDPjKFmRImAmCDGmymjK8wxJY2ILtMECQQ+/wbEApEaUB8ULSgwrIQhGN8ABgkQFPAsihDnAF1jgcm80WgYBfg1FqBVm+FaDaZiCdnV79YAk+zamiMiwIImMXhSqw1G/bDneJ3mCrJmQuc5YfCK15ZXMWbATEH9Noe6qyUEmBxsAUdJxgVi5pqFhM7BHzkhx4DNiCOTZiLNxOa8tZh+avybU7LrSZTQLDYxwcKc4QTxRgpXKN4FuVpIOC5gkqwlXMCtOWzWaumNWFDy4tg+hQzFMBKhIiGMKJnheSO9yXGapiZNj5spFItcEniqqW4qakhUMJFjENeiRKGloidXSNyGr9Um7yduMAk9e2Bbvt2pP034NGQoQZAjYDJg8mdK/T6B+u0m7B3odIDRft1ovTTA56rG8SymAKbCnEv1vQEwE5ShJV0hEC0YJTe1Uivr/1rP4DdcoGUkEsAQF5CJfCQ2BV4ifkOiWCmlnvg0hgI9+7n+dEG5IHCJnv0M1Kwo44IuecRwKt69U1uxrNVmlAEMMAH1pxx9AW3w4nWr9ew3EFNFgLYwDoz6bde3wwt7MLY9X1nl2Aou7owtkwJgzlAKzPMv4OzHHNoenZ8dQPDkCZgyBK8UhhleL1vHwERfFEH3VlG2WN/tILQUE45KaJ4glIJ2sUJMCapxFAMTA6NZIbMZG/sJrXGasQgdANiC6Dl+4I2OY3JcP7AGg/0AOaKjcN2Re+70NyjSKmrUb3uOb70f2KHvS5lLDRUsQ1sKGmMOpwny/Qvw7VtFxpXJa00zUoZXUCCA5kw6zJTR6xsA41j9whyc1W/HnnNpBXZo9z3b98OxN/qPj6HV68lfd2dV+vyL0WTQy1mYeHZ4EQRjPWE/vafMDrvWfgTyo60+Y0jOGUsmutYm+5NxTzLRtcKu7QV+VVHLybaIbLLCjJIlIkJJ6QBz3YkfjIYSY+BN/GA/gQmd81DQEK0QERwY1ge/0fXtRrluV1l1F3YRE3iGIyiQAQ49PcyapDumS4hJKH1Hx1hGrLHEEaOczoR080bOlklA/fb9aBT4gWcpWStL7I7cwHJc2ws9uy/19mPo296l7d1tqVp1kQch+n/NO0PSuUIMz27CnuuHCwQT6dArSLcU2PXDC9saBBfhueUMamsejPrtaBK8H01cuT/DoeX27nZqmYbVKnVpef7dDlVCK5iA+hqmqikMCXYTLeMQz8IZxEnGEHjVAm3wCtS3KQDv3j34kH/+7kl7k+kKVtdVfP+m9nefTnEkuuOJxaKFAdbfCx/TRCJqUm7mZ2CtPP2c3h34oQOMJWTyPJdikT5945niIZGx0pbUtCfx5CGIyRwsITHjqToYzSyVJxmYJXAOZCRSRmL76NdH6RCS3tTKBJ2o+ecJnJ/jBBng4GMlmL+q2OAgeZRBPqBzTNS3MJFfw69YLMKrbIoSJEIcIyKwuDHAMQjwcJMB9Ylve6Hl+07ftXuh07PdwAk+hk4P1APbtdxAfi016F/a01+nlAkZY/MFzZI45Fc4DckKxxiGMcMrxHjt/liYx4Wd+tMdeh8SGnIBBQdtaQDtFpDhPjCj6wOrPKsxJDr1f5VelSFhKOVq7dSpc4gTFMuIPkYCsSUmSFqyRgo0UpCTmS8LpgjIlVMUa01b25J76fQcK+x5zqXtFSdxRWmM+m1/PAndUc++01QVzlxKVAPsF9Mj/H+CIJmk/fGkp8VjgHtDB429OOp1JOkhTpMVig2we3w/nvKoseIlJhMuHcD9saoizZFwNNtDGiOLxF1JeJZ2i4zAWcI54jX/gzMO3zuu5X0MuwPbcifjv6ROU0wguwkjvdqz2vlkMChjKs/+/xPHs3ud+tMT6QP1HQSCuuOHlxe9xyurTA3EApWauaQxApDEIKcblIkTwIqObU3NKak4A2do9W2/oqz1kS/1rZ7nLSM/dK2hXfhtYNR3isYAaxU9QUNzBnoo5Qao/KiVkblmvU+TGBHNzG/a/ORJEKMUkRiRCCNeTIcCU2IcVOscstwrLyMySSop2H6gSwhG/da17Z6/Flpv0yQLwdwG9sAej7wgtF0ZEW+BnXIM5IQEKEHSIuJxks0xKQncGlfMciSytOs6Pcz4UdZdJL5SdrWFdmO0VnLt+OEHGYAO7GAXJzkjEUyAdCiYEv475MtO/em/v8gk+KwxhtGV1MJPn8E3wFGCIvG0oeIviazU1dj8CvnS5Au85MYz8A00YvqVJBTGE8/hjRjNYJaIRpQxhohoFItdPv/0uZFAgbi41EMykeyOhuORa7vBOqcynlVILVAPaKQ05nuTXOB9CC0Tb/C3SK6y3jHyTjOgWJLtq9XB/mfAqO+SulEZzyUgh6q6ZNR2KJmfYvIhm6JTxcVTTGSI9Ler1kMJNQpKv4dCPXrxv1GPChpL5SkGNjRjDXVfj6rPtvXDKA816cy0Sw59uytT7GDgh2WIPHbc/gEHtydEyinxUZQxFAz895QKLhhMP+hw3L5GUeFnHwCsiPZsSVwZdsygPBUPlPAMX1X+itBKHpH98SSPY7mxMwztAMnsOh87FoP+8LAYFBGeMVQNQbdHNos0+f5IAnv2pdO1w/Fg0nfc0DkP5fGrT9OC5q3UusQydPolf9UwW7NozoChMtW8RJr/bWqWzRitcITMVO1DgyMmf+5I5OWnLNY/GGEjNjYwCYQeg6TZbplLPA+lFgk0v1GxtgHegWaMVk2SJQn45z/P7NH5We2Tryd9rlWKUB1Dykrqf2D3P3ZMicwskAGOyTxBRk3qpdKtTuVrM+OsqRxOTqNqyuwiF9Sri0hua/bovGQ/L34cUiNVnG7swm0Ao6x920SmJRaJtR3sBt8of9zXMz+wvEAXgO6ViPdTR9OjxPV00qSoo+lu4opa0KZNKGtVoee59d5zuuHQcq2+7R0uWeIZwHyo6y0jZv2ZMaQaUcCoj3xjhy4fixkVwedwynA0hATOZRa3/9lDdjeXxUzNXxa4j+3rFvj9fVV5uL+9o/fEu8dZbEloyxdLqPLZUQa1zxvi+RgygVWGAu6PFeQd7tMYtkz09rn4rVylN+p+sL1wMOo77t6zjSMB/nGdV1yjK8SAqioBMwN13/a0dXiO23XG1iDsDhxbl4HM9MBz3+56diApsf5THrVFlX+7MGaUJJjXp2Rt+Ukp/0QisUgsv6mKfKmN+0FqtYghKJAcGEKCZ4iLHmZrqV1YflF3923L616EvdHQOiA7o367C77au3q3p6WpMjZTd9xMjiCLFqYuTu+p1e5ayNeKrVoJhw+jvDxYPX+OF2xyUaqTg8wrVZvNB6dg+pVXp//KT5jTdZ1qn8J1Kknp+PJ12JtYA2ne3Q+HUu0T4pPeRXe8el3YpP5VhI2nOdGjvOTFsglHPbXHVWnce7YRsh6uOpzM4zojK/hcj4B1weWIoJR/KAWlfm1WOIe271t9Oxydh8GFHfasj3nQeL9hckCyupZiznRHISazJswEXUKBIyXSrV5v0aflTbTEIlxhCDpgSUVc/c1FjGlzbuzDmZ/3G+UvY6v+VY0i49zOdA/ClMs14p1xIrziusk2pCLWPYUxFIvO/enNN29MeMULryAHK3gEzaKFFPIehHfVkDJaLGkMWr+8enXqDHXmmAgYlfs1f5AICi0xSYz0Zkex5Se+Lt3t0YhvYAo5ev1SivHdGv+mLgWW17eDsDsYTQqtV4rSXWACuwnNtsXNkIDzYdfT1ddzyhTkJtI8w7gY+YFfdMOtvu0+usE61i3urm6+XVAuStve8WjDtDd6vmHgWa4/tjx5fF5M+nY4tvr2g6299CoBg4SnUKbqF9kcjeG82vXd8fQAaf7v1lidaY8nx/8KU91kuze0y931vdFkfPl873p786V755xMkaI5o1m6er4zPZK5yJ7k6MPkvT2QKqjICc8HVt/vmDk6U0ddnZwAQyU1j/Lc5cmtGFrX9TbsSNLi2kEY2MPxwArs3Va0nqwkQZAIBVqmCRRIe7nHSG9daJTrmbMEzh+eaJayLOVRypPpQrvJ0JcMcaHuLNFMdNqvlsBcL1/CIRKnFBPRyQi+fttsNllGqpyvvzY4ja7AegW9c7yT89vgCY7QBnye75cZanFa/QA4Wq4Q69KlNBugN8Rz7cD2Q5loOCP3rWm0Gq1Gy7gDRrvx/JdGazvReqTgS/q/k+hDb+IGztBWO9DZIeIOQ0sqKmLI85JqoFxg7Tn+hzD4OLa/k7FOMYmXNCNiv7VOCBafax76kmGGeEfOMPWUHFPNmgnEdj0ojPRwoOPf8EgkRaCjf9Ue0Aja5UQrij8ZOEMn8PcI7NDli1JTJwleYlENI+89O4HPPI4vGM1/Vsqlvkze3FHYm4xlEjcaOn53Mpr44XvP6T3ieNLruLSXpSMyZnSJeZS9ZziWp9OBhye1Jr99+4vhejbNiMh8AlO+oEJHNqUSbIwW9Ozug967GbSX5u3bQdLZP4/jdoTav5itX94g82XrRWROX7x6bsL2m+dthJ63fkFIWgW/4c1pxpurpfw/rwE0F6swEzhpZkRq//p+Yx4jt1/gP777Kn+QPKxmUUOVBKs+49IaOD0rcEZuaHtep1Wr1ayxkxcA9MUjzw48x/Y7r1rFHlcglKQ6HfBTI79NmGBy1fhpU3j7MLZb6ja2cuDqutEW4jvQ+W/wX59a5pvP//ijsftvfe9SPddXK30sL56/aLWq2/5QNo6hf52jr9yBPRrV/nCoquV36k/3WQNMsfSaiLk8ofQqSw1glHcrSD4G2qD9alOu98i+2yH3vDckP37gd/LLzBv1Vjm+g926H/iSqdZ9fuTRBUrK7i+61Sqoe7Yyy5+M9utfG69fNNrP3zTar42fwO5y/5Ymq6rMh1/9sLKMrnZJCQxGow8yZiwKj/fYOxHjPlxFmlVFWfjtrdvm2km3f9XXzXcw9mMw6o3A0/jfPLl59ja/BgfEAnNASYSAmgowJ2cC8CxNKRMoBpDcLClDJ1WR17rUrWpR5aLjxm5VbfhOX9ghETBXf+6y4JcvX6j6r979Q2AS6gSRl5ch92/cUT67GUseyWmUsQSYKxn6wgixPP+WsRIjSCDelIO8GcFGxARYCJHyt83mfY7fbgjmYViNE9A+SpK52s7wuua0z3cXvvT/mE5VIpnvczFWFbWPXY1VF8SucHQlAelsVgDncCmj6pUmKIq2gy7m6IL5vhux6m2fjDNVL1pCEk8l9ZquHP8ME8wXKM4X2lgBPCnDqM3+yjaTZwxNKRWA6Yg//hnoAckLoTECmIA2WGKSCXSmqSoqWMCMgMEXmYjpVwJMBtrgifGIyGzX61wZyV/o2tboh6Heupwwca0gsN2e3Qsn475n9Wx/b5hdfCaT4tTvOV5H51owFfKfyqJUaTFFDNMYR8aeHnb9aYyZugkij5Aqxjvj2Va7uihFboFtAOUlyNcvXx6D1JtsjYO3b8c5kW/fal0z8/sq5gBzafxt47cz8O7d4zASKAQiMYrNSTpnMEYn41u/YJWRJeRX6h2tGOLkpsgs1yNmppGXOeduREi1Nf83EEmnxXagUeN7kBTvjZkmoeY0odHVqQir+B6DfBdzu9rHRy1QFe9Pb3p/B7Or3pG0Auso/FozdU97rZCFPmIOCK0GWdMbcAUFzG/y/gy+4iRRIFOUb3x8tqn526HK5lbkl7dBTGZm2QAxCRV4dkNJsdcHEHBB08fPzq1nc37xhmhhABttT/+jH9jDbjDY7uQ/YgGtr38B/dZVhO+3SkXP1xHS+j063W4B+s3M8kxtyNAJ6BgIRJQQFAlMCYgWKLoCEY3RWwPUN4OTA1cLEIl3vwCq+djCU6v9aI/O/ycAAP//Z7zg3Yw9AAA= - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line33.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/CustomData index ed0845a3860..6d87a503063 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line33.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/CustomData index bf96fd12b03..561e7808a93 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line33.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/CustomData index ed0845a3860..6d87a503063 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line33.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/CustomData index 94895fdae51..89d2923f1ca 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line33.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/CustomData index ed0845a3860..6d87a503063 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line33.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/CustomData index ed0845a3860..6d87a503063 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line33.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/CustomData index 4575fda81c2..66d34d677cb 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line33.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/CustomData index 4575fda81c2..66d34d677cb 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/9x7bXfauLbwd36FxsPTtHPGvPRtpp1Dz3LBIV4Bw2ObzO3t9HoJW4BOjORKcppMm/vb75JkG0MMJJne+XBZqw3IW1t7b+13yT/+0J5j0p5DvmrYnheeOiM7/N0K+mdh4IztySzovQYNjgQwrxt4AT4CcwHaNBVt+GfGUDuiREBMEOPtlNErzDElrYiu0wQJBD79BsQKkQZQHxStKDCshCEY3wAGCRAU8CyKEOcAXWOBybLVahkF+DUWoNNY4EYDpmIN2eXv1giT7NpaIiLAiiYxeNJojCbDcOB4vfYVZO2ELnPC4CVvrC9jzICZgubXHOq2kRBgcrADHCUZF4iZGxYSugR/5IQcAzYjjkyaiTQT2/M2Yvqp9W9OSd2TKKFZbGKChbnACeKtFF6huA7yaiXhuIBJspFwAbfhsN1opDdiRcmLY/sUMhTDSISKhDCiZIGXrfQmx2mamjQ9bqZQrHJJ4Lmmuq2oIVHBRI5BXIsShZaKnlwhcRe+0Zi9n7nBLPTskW35dq/5NOHzkKEEQY6AyYDJnyn1+wiaX7dhb0GvB4zu61bnpQE+VTWOZzEFMBXmUqrvDYCZoAyt6RUC0YpRctMotbL5r80MfsMFWkciAQxxAZnIR2JT4DXiNySKlVLqiU9jKNCzn5tPV5QLAtfo2c9AzYoyLuiaRwyn4t07tRXrRmNBGcAAE9B8ytFn0AUvXnc6z34DMVUEaAvjwGh+7ft2eGaPprbnK6ucWsHZrbFjUgAsGUqBefoZnPyYQ9uT05MDCJ48AXOG4KXCsMCbZZsYmOizIujOKsoWm/UOQksx4aiE5glCKegWK8SUoAZHMTAxMNoVMtuxsZ/QBqcZi9ABgB2IgeMH3uQ4Jsf1A2s02g+QIzoK15+4p85wiyKtokbz68DxrfcjO/R9KXOpoYJlaEdBY8zhPEG+fwa+favIuDJ5o2lGyvAVFAigJZMOM2X0+gbAOFa/MAcnza9Tz7mwAju0h57t++HUm/zHh9AaDOSv25Mqff7ZZDYa5CzMPDs8C4KpnrCf3vvMDvvWfgTyo60+Y0jOmUom+tY2+7PpQDLRt8K+7QV+VVHLybaIbHKFGSVrRISS0gHm+jM/mIwlxsCb+cF+AhO65KGgIbpCRHBgWOd+q+/brXLdvrLqPuwjJvACR1AgAxx6epg1Sbcm2ySS8skseD+ZuZL28dhyB7e1O6BhtbgvLM+/rREzuoIJaG5gqlJkSLCbaB2HeBEuIE4yhsCrDuiCV6C5SwF49+7BAfD5uyfdbb4rWF03PLWc0W+K933y5kj0pzOLRSsDbL4X9tdGImpTbubxoVFGBmdwC37oAWMNmYx1UizS3209UzwkMo/YkZq2Mk8GCEyWYA2JGc9V0DCzVHp5sEjgEsgoXWYp++jXYWYMyWBuZYLO1PzTBC5PcYIMcPDxtlI0v76fTAI/8CxlYMr99iduYDmu7YWePZTO6kPo296F7d2WHIGD5FEG+YguMVHfwkR+Db9gsQovszlKkAhxjIjA4sYAxyCkKj6AxP/XvjVAc+bbXmj5vjN07UHoDGw3cIIPoTMAzcB2LTeQX0sN+pf2gtcpZULmn3xFsyQO+SVOQ3KFYwzDmOErxHjj7liY50y95tMavQ8JDbmAgoOuNIBuB8hUGJjR9YFVnjUYEr3mv0qPw5AwlHJ1anXqFOIExTLbjZFAbI0JkpaskQKNFORk5suCOQJy5RTFWtM2tuReOAPHCgeec2F7RZSqKI3R/DqczkJ3MrBvNVWFo5MS1QD7xfQI35ggSGbpcDobaPEY4M7QQWMvwqDOsjzEaXKFYgPUj+/HU7phK15jMuPSAdwdqyrSEglHsz2mMbJI3JeEZ2m/yJadNVwi3vDPnWn43nEt70PYH9mWO5v+JXWaYwLZTRjp1Z41TmejUZlvePb/nzmePeg1n96TPtCsIRA0HT+8OBs8Xlll2ixWqNTMNY0RgCQGOd2gLCoAVnTsampOScUZOGNraFfDXnPiS31r5jn9xA9da2wXfhsYzVrRGGCjovfQ0JyBAUq5ASo/GmXWqlkf0iRGRDPzmzY/GQlilCISIxJhxIvpUGBKjINqnUOWe+VlRBYQJQW7D3R5bTS/urY98DdCG2ybZCGYr4E9sqcTLwhtV2aLO2D3CQM5IQFKkLSIeJpkS0xKAnfGFbMciSztu84AM36UdReJL5Rd7qDdGm2UXDt+eC6Ts5Ed1HGSMxLBBEiHginhv0O+7jWf/vuzLBBPWlMYXUot/PgJfAMcJSgST1uyIlPISl2NzS+Qr02+wmtuPAPfQCumX0hCYTzzHN6K0QJmiWhFGWOIiFax2MXzj59aCRSIiws9JIus/mQ8nbi2G2zqDeNZhdQC9YhGSmO+N8kF3ofQMvNGf4vkKusdI+9+BhRLsn21Otj/DBjNOqkblfFcAnKoqktGo0bJ/BST82yO7isunmIiU6S/XbUeSqhRUPo9FOrRi/+NelTQWCpPMbClGRuou3pUfbarH0YZ1KQz0y459O2+LD+DkR+WKfLUcYcHHNyeFCmnxEdRxlAw8t9TKrhgMD3X6bh9jaLCzz4AWBHt2ZK4Mu1YQBkVD7S3DF91xYrUSobI4XSW57HcqE1De0Ayu6nHjuWgPzwsB0WEZwxVU9Ddke0GRr4/ksCBfeH07XA6mg0dN3ROQxl+dTQtaN4prUssY2dY8ldNszWL5gIYqlLN24f537Zm2YzRFY6Qmap9aHHE5M+aQl5+ykb2gxG2YmMLk0DoMUja3Y65xstQapFAyxuVaxvgHWjH6KpNsiQB//zniT05PWl89PWkT41Kg6ZnSFlJ/Q/s4YeeKZGZBTLAMVkmyGhIvVS61at8bWectZXDyWlUBxZ15IJmdRHJbcOenJbs582PQ2qkGretOtwGMMq+sE1kWWKRWNtBPfhW++OunvmB5QWqEXK3fbqfOpoeJW6giyZFHU3riSt6Qds2oaxVpZ6n1nvP6Ydjy7WGtne4nYcXAPOx7rdMmPVnxpA6pAFGc+IbNbp8LGdUBJ/COcPRGBK4lFXc/mcP2d1cFgs1f13gPravO+B391XV4f7ujt4R7x5nsSOhHV8socpnRxnUPm+Ml1PIBFYVCrg7VpB3+AzDsGWht8/F79Qqg0n/3PbC0WTouHtjG0cC/ONaN75pdIkYUF0lYGag6duetg7PcfvO1BqF/ZFj6zaQmR547tt9zw4kJdZ/ylBbdMB3G2NGSYJ5fZ+qLY+U8k8kEovE8pvqVpfauB+k0YgYggLJgTEkeIG4GGC2kdqZ5Rc9ad+2vP5ZOJiMrQOyM5pf6+Cr5zrv9hz3qYrN1KdRJkeQRSszpmuIyZ5ebd1CvlZs1WY/HIzy9mA1/hxv2OSiVJGDLCtdm+0H98H0K69O/5XfY07fdao9fNepFKXTi9fhYGaNpHn3zw+V2vfITwZn/enV68Im9a8ibbyfEz3KS94sm3E0UHtclcadZ1sp6+Guw7153FRkBZ+bEbBpuBwRlPIPpaDUr+0O59j2fWtoh5PTMDizw4H1IU8a7x6YHJCs7qWYC32iEJNFG2aCrqHAkRLpzjlocYbJ22iNRXiFIeiBNRVx9TcXMabtpbEPZx7vt9pfxk7/q5pFxrmd6TMIUy7XimvzRHjJ9QHUmIpYnylMoVj17k5vv3ljwkteeAU5WMEjaBatpJD3ILytppTRak1j0Pnl1av7zlAxx0TAqNw9+YNEUGiJSWKkNzuKLY/4unW3RyO+gTnk6PVLKcZ3G/zbuhRY3tAOwv5oMiu0XilKf4UJ7Cc02xU3QwIux31Pd19PKVOQ20jzCuNs4gd+cVJsDW330YePU33829eHb2eUi9K2ax5tmfbWeWgYeJbrTy1Phs+z2dAOp9bQfrC1l14lYJDwFMpS/SxboilcVk9Ea54eIM3/3ZqqmPZ4cvwvMNWHbHeG6tzd0JvMphfP9663t166E+dkiRQtGc3Sq+e15ZGsRfYUR+ez9/ZIqqAiJzwdWUO/Z+boTJ119XICDFXUPMpzl5FbMbTp623ZkaTFtYMwsMfTkRXY9Va0mawkQZAIBVqnCRRIe7nHSG/TaJTrmYsELh9eaJayLOVRypPpRrvJ0OcMcaHu89BM9Lqv1sDcLF/CIRKnFBPRywi+fttut1lGqpxvvrY4jS7BZgW9c7yX89viCY7QFnxe75cVahGtfgAcra8Q69O1NBugN8Rz7cD2Q1loOBP3rWl0Wp1Wx7gFRrf1/JdWZ7fQeqTgS/q/k+hDb+YGzthWO9CrEXGPoTUVFTHkdUk1US6wDhz/PAw+TO3vZKxzTOI1zYjYb60zgsWnhoc+Z5gh3pMzTD0lx9SwFgKxugeFkR5OdPwbHomkSHT0r8YDDoLqnGhF8WcjZ+wE/h6BHbp8UWrqLMFrLKpp5J1n9+Azz+MLRvOflXapL4s3dxIOZlNZxE3Gjt+fTWZ++N5zBo8IT3odlw6ydEKmjK4xj7L3DMcyOh14eK+jyW/f/mK6ns0zIjKfwJSvqNCZTakEW6MFPfXnoHduBu2lefd2kHT2z+O4G6HuL2bnlzfIfNl5EZnzF6+em7D75nkXoeedXxCSVsFveHue8fbVWv6f9wDaq6swEzhpZ0Rq/+buX54jd1/gP777Kn+QPK1mUUu1BKs+48IaOQMrcCZuaHter9NoNKypkzcA9MUjzw48x/Z7rzrFHlcglKR6PfBTK79pl2By2fppW3j7MHY76qaycuDqutEO4lvQ+2/wXx875ptP//ijVf+3uXepgeurlT6Ul7JfdDrVbX8oG8fQv87RV+6HHs1qfzjU1fJ7zaf7rAGmWHpNxFyeUHqZpQYwyrsVJB8DXdB9tS3XO2Tf1sg9PxuSHz/we/lF361+qxyvYbfpB75kqnOXHxm6QEnZ3UV3jgqanq3M8iej+/rX1usXre7zN63ua+MnUN/u39Fk1ZU5/9UPK8vobpeUwGgyOZc5Y9F4vMPePTHuw1WUWVWUhd/euYmtnXT3V30Vu4axH4PJYAKexv/myc2zt/k1OCBWmANKIgTUVIA5ORGAZ2lKmUAxgORmTRm6Vxd5o0v9qhZVLjpu7VbVhm/1hR0SAfPqzzoLfvnyher/6t0/BCah7iHy8jLk/o07ymc/Y8kjOY0ylgDzSqa+MEIsr79lrsQIEoi35SBvR7AVMQFWQqT8bbt9l+O3W4J5GFbjHmgfJclcbRd403Pa57sLX/p/TKcqmcz3uRirmtrHrsaqC2KXOLqUgHSxKIBzuJRR9boPFMWxg27m6Ib5vhux6k2YjDPVL1pDEs8l9ZquHP8CE8xXKM4X2loBPCnTqO3zlV0mTxiaUyoA0xl//DPQA5IXQmMEMAFdsMYkE+hEU1V0sIAZAYOvMhHTLwSYDHTBE+MRmVndq04ZyV922tXoh6HeuZwwc60gsN2BPQhn06FnDWx/b5pdfGazIuoPHK+nay2YCvlPVVGqtZgihmmMI2PPGXbzaYyZugkiQ0gV463xbOe4umhF7oBtAeUtyNcvXx6D1JtsTYO3b6c5kW/fal0z8/sq5ghzafxd47cT8O7d4zASKAQiMYrNWbpkMEb3xrd5+Sgja8gv1ftLMcTJTVFZbkbMTCMva856REgda/5vIJJOi9WgUeN7kBTvVJkmoeY8odHlfRFW8T0GeR1zdcfHRy1QNe/vf+j9HcyuekfSCqyj8BvN1GfaG4Us9BFzQGg1yZrfgEsoYH6T92fwBSeJApmjfOPjk23N301Vtrciv7wNYrIwywMQk1CBFzeUFHt9AAEXNH387Nx6tucXb08WBrB17Ol/8AN73A9Guyf5j1hA6+tfQL9zFeH7rVLR802GtHnHTB+3AP3WYhlTWzJ1AjoHAhElBEUCUwKiFYouQURj9NYAze3k5MDVAkTi+pcjNR87eBqNH+3J6f8EAAD//5MULimoPAAA + H4sIAAAAAAAC/9x7e5fauJL4/3wKjYdfOpk75pHXTDKX3OOAm/YJGH626dlsJusjbAG6bSRHkkn3dHo/+x5JtjE0r+7Jzh/LOUmDXCpVlapK9ZB//KE5xaQ5hXxRsz0vPHcGdvi7FXQvwsAZ2qNJ0HkNahwJYF7X8Ax8AuYMNGkqmvDPjKFmRImAmCDGmymjK8wxJY2ILtMECQQ+/wbEApEaUB8ULSgwrIQhGN8ABgkQFPAsihDnAF1jgcm80WgYBfg1FqBVm+FaDaZiCdnV79YAk+zamiMiwIImMXhSqw1G/bDneJ3mCrJmQuc5YfCK15ZXMWbATEH9Noe6qyUEmBxsAUdJxgVi5pqFhM7BHzkhx4DNiCOTZiLNxOa8tZh+avybU7LrSZTQLDYxwcKc4QTxRgpXKN4FuVpIOC5gkqwlXMCtOWzWaumNWFDy4tg+hQzFMBKhIiGMKJnheSO9yXGapiZNj5spFItcEniqqW4qakhUMJFjENeiRKGloidXSNyGr9Um7yduMAk9e2Bbvt2pP034NGQoQZAjYDJg8mdK/T6B+u0m7B3odIDRft1ovTTA56rG8SymAKbCnEv1vQEwE5ShJV0hEC0YJTe1Uivr/1rP4DdcoGUkEsAQF5CJfCQ2BV4ifkOiWCmlnvg0hgI9+7n+dEG5IHCJnv0M1Kwo44IuecRwKt69U1uxrNVmlAEMMAH1pxx9AW3w4nWr9ew3EFNFgLYwDoz6bde3wwt7MLY9X1nl2Aou7owtkwJgzlAKzPMv4OzHHNoenZ8dQPDkCZgyBK8UhhleL1vHwERfFEH3VlG2WN/tILQUE45KaJ4glIJ2sUJMCapxFAMTA6NZIbMZG/sJrXGasQgdANiC6Dl+4I2OY3JcP7AGg/0AOaKjcN2Re+70NyjSKmrUb3uOb70f2KHvS5lLDRUsQ1sKGmMOpwny/Qvw7VtFxpXJa00zUoZXUCCA5kw6zJTR6xsA41j9whyc1W/HnnNpBXZo9z3b98OxN/qPj6HV68lfd2dV+vyL0WTQy1mYeHZ4EQRjPWE/vafMDrvWfgTyo60+Y0jOGUsmutYm+5NxTzLRtcKu7QV+VVHLybaIbLLCjJIlIkJJ6QBz3YkfjIYSY+BN/GA/gQmd81DQEK0QERwY1ge/0fXtRrluV1l1F3YRE3iGIyiQAQ49PcyapDumS4hJKH1Hx1hGrLHEEaOczoR080bOlklA/fb9aBT4gWcpWStL7I7cwHJc2ws9uy/19mPo296l7d1tqVp1kQch+n/NO0PSuUIMz27CnuuHCwQT6dArSLcU2PXDC9saBBfhueUMamsejPrtaBK8H01cuT/DoeX27nZqmYbVKnVpef7dDlVCK5iA+hqmqikMCXYTLeMQz8IZxEnGEHjVAm3wCtS3KQDv3j34kH/+7kl7k+kKVtdVfP+m9nefTnEkuuOJxaKFAdbfCx/TRCJqUm7mZ2CtPP2c3h34oQOMJWTyPJdikT5945niIZGx0pbUtCfx5CGIyRwsITHjqToYzSyVJxmYJXAOZCRSRmL76NdH6RCS3tTKBJ2o+ecJnJ/jBBng4GMlmL+q2OAgeZRBPqBzTNS3MJFfw69YLMKrbIoSJEIcIyKwuDHAMQjwcJMB9Ylve6Hl+07ftXuh07PdwAk+hk4P1APbtdxAfi016F/a01+nlAkZY/MFzZI45Fc4DckKxxiGMcMrxHjt/liYx4Wd+tMdeh8SGnIBBQdtaQDtFpDhPjCj6wOrPKsxJDr1f5VelSFhKOVq7dSpc4gTFMuIPkYCsSUmSFqyRgo0UpCTmS8LpgjIlVMUa01b25J76fQcK+x5zqXtFSdxRWmM+m1/PAndUc++01QVzlxKVAPsF9Mj/H+CIJmk/fGkp8VjgHtDB429OOp1JOkhTpMVig2we3w/nvKoseIlJhMuHcD9saoizZFwNNtDGiOLxF1JeJZ2i4zAWcI54jX/gzMO3zuu5X0MuwPbcifjv6ROU0wguwkjvdqz2vlkMChjKs/+/xPHs3ud+tMT6QP1HQSCuuOHlxe9xyurTA3EApWauaQxApDEIKcblIkTwIqObU3NKak4A2do9W2/oqz1kS/1rZ7nLSM/dK2hXfhtYNR3isYAaxU9QUNzBnoo5Qao/KiVkblmvU+TGBHNzG/a/ORJEKMUkRiRCCNeTIcCU2IcVOscstwrLyMySSop2H6gSwhG/da17Z6/Flpv0yQLwdwG9sAej7wgtF0ZEW+BnXIM5IQEKEHSIuJxks0xKQncGlfMciSytOs6Pcz4UdZdJL5SdrWFdmO0VnLt+OEHGYAO7GAXJzkjEUyAdCiYEv475MtO/em/v8gk+KwxhtGV1MJPn8E3wFGCIvG0oeIviazU1dj8CvnS5Au85MYz8A00YvqVJBTGE8/hjRjNYJaIRpQxhohoFItdPv/0uZFAgbi41EMykeyOhuORa7vBOqcynlVILVAPaKQ05nuTXOB9CC0Tb/C3SK6y3jHyTjOgWJLtq9XB/mfAqO+SulEZzyUgh6q6ZNR2KJmfYvIhm6JTxcVTTGSI9Ler1kMJNQpKv4dCPXrxv1GPChpL5SkGNjRjDXVfj6rPtvXDKA816cy0Sw59uytT7GDgh2WIPHbc/gEHtydEyinxUZQxFAz895QKLhhMP+hw3L5GUeFnHwCsiPZsSVwZdsygPBUPlPAMX1X+itBKHpH98SSPY7mxMwztAMnsOh87FoP+8LAYFBGeMVQNQbdHNos0+f5IAnv2pdO1w/Fg0nfc0DkP5fGrT9OC5q3UusQydPolf9UwW7NozoChMtW8RJr/bWqWzRitcITMVO1DgyMmf+5I5OWnLNY/GGEjNjYwCYQeg6TZbplLPA+lFgk0v1GxtgHegWaMVk2SJQn45z/P7NH5We2Tryd9rlWKUB1Dykrqf2D3P3ZMicwskAGOyTxBRk3qpdKtTuVrM+OsqRxOTqNqyuwiF9Sri0hua/bovGQ/L34cUiNVnG7swm0Ao6x920SmJRaJtR3sBt8of9zXMz+wvEAXgO6ViPdTR9OjxPV00qSoo+lu4opa0KZNKGtVoee59d5zuuHQcq2+7R0uWeIZwHyo6y0jZv2ZMaQaUcCoj3xjhy4fixkVwedwynA0hATOZRa3/9lDdjeXxUzNXxa4j+3rFvj9fVV5uL+9o/fEu8dZbEloyxdLqPLZUQa1zxvi+RgygVWGAu6PFeQd7tMYtkz09rn4rVylN+p+sL1wMOo77t6zjSMB/nGdV1yjK8SAqioBMwN13/a0dXiO23XG1iDsDhxbl4HM9MBz3+56diApsf5THrVFlX+7MGaUJJjXp2Rt+Ukp/0QisUgsv6mKfKmN+0FqtYghKJAcGEKCZ4iLHmZrqV1YflF3923L616EvdHQOiA7o367C77au3q3p6WpMjZTd9xMjiCLFqYuTu+p1e5ayNeKrVoJhw+jvDxYPX+OF2xyUaqTg8wrVZvNB6dg+pVXp//KT5jTdZ1qn8J1Kknp+PJ12JtYA2ne3Q+HUu0T4pPeRXe8el3YpP5VhI2nOdGjvOTFsglHPbXHVWnce7YRsh6uOpzM4zojK/hcj4B1weWIoJR/KAWlfm1WOIe271t9Oxydh8GFHfasj3nQeL9hckCyupZiznRHISazJswEXUKBIyXSrV5v0aflTbTEIlxhCDpgSUVc/c1FjGlzbuzDmZ/3G+UvY6v+VY0i49zOdA/ClMs14p1xIrziusk2pCLWPYUxFIvO/enNN29MeMULryAHK3gEzaKFFPIehHfVkDJaLGkMWr+8enXqDHXmmAgYlfs1f5AICi0xSYz0Zkex5Se+Lt3t0YhvYAo5ev1SivHdGv+mLgWW17eDsDsYTQqtV4rSXWACuwnNtsXNkIDzYdfT1ddzyhTkJtI8w7gY+YFfdMOtvu0+usE61i3urm6+XVAuStve8WjDtDd6vmHgWa4/tjx5fF5M+nY4tvr2g6299CoBg4SnUKbqF9kcjeG82vXd8fQAaf7v1lidaY8nx/8KU91kuze0y931vdFkfPl873p786V755xMkaI5o1m6er4zPZK5yJ7k6MPkvT2QKqjICc8HVt/vmDk6U0ddnZwAQyU1j/Lc5cmtGFrX9TbsSNLi2kEY2MPxwArs3Va0nqwkQZAIBVqmCRRIe7nHSG9daJTrmbMEzh+eaJayLOVRypPpQrvJ0JcMcaHuLNFMdNqvlsBcL1/CIRKnFBPRyQi+fttsNllGqpyvvzY4ja7AegW9c7yT89vgCY7QBnye75cZanFa/QA4Wq4Q69KlNBugN8Rz7cD2Q5loOCP3rWm0Gq1Gy7gDRrvx/JdGazvReqTgS/q/k+hDb+IGztBWO9DZIeIOQ0sqKmLI85JqoFxg7Tn+hzD4OLa/k7FOMYmXNCNiv7VOCBafax76kmGGeEfOMPWUHFPNmgnEdj0ojPRwoOPf8EgkRaCjf9Ue0Aja5UQrij8ZOEMn8PcI7NDli1JTJwleYlENI+89O4HPPI4vGM1/Vsqlvkze3FHYm4xlEjcaOn53Mpr44XvP6T3ieNLruLSXpSMyZnSJeZS9ZziWp9OBhye1Jr99+4vhejbNiMh8AlO+oEJHNqUSbIwW9Ozug967GbSX5u3bQdLZP4/jdoTav5itX94g82XrRWROX7x6bsL2m+dthJ63fkFIWgW/4c1pxpurpfw/rwE0F6swEzhpZkRq//p+Yx4jt1/gP777Kn+QPKxmUUOVBKs+49IaOD0rcEZuaHtep1Wr1ayxkxcA9MUjzw48x/Y7r1rFHlcglKQ6HfBTI79NmGBy1fhpU3j7MLZb6ja2cuDqutEW4jvQ+W/wX59a5pvP//ijsftvfe9SPddXK30sL56/aLWq2/5QNo6hf52jr9yBPRrV/nCoquV36k/3WQNMsfSaiLk8ofQqSw1glHcrSD4G2qD9alOu98i+2yH3vDckP37gd/LLzBv1Vjm+g926H/iSqdZ9fuTRBUrK7i+61Sqoe7Yyy5+M9utfG69fNNrP3zTar42fwO5y/5Ymq6rMh1/9sLKMrnZJCQxGow8yZiwKj/fYOxHjPlxFmlVFWfjtrdvm2km3f9XXzXcw9mMw6o3A0/jfPLl59ja/BgfEAnNASYSAmgowJ2cC8CxNKRMoBpDcLClDJ1WR17rUrWpR5aLjxm5VbfhOX9ghETBXf+6y4JcvX6j6r979Q2AS6gSRl5ch92/cUT67GUseyWmUsQSYKxn6wgixPP+WsRIjSCDelIO8GcFGxARYCJHyt83mfY7fbgjmYViNE9A+SpK52s7wuua0z3cXvvT/mE5VIpnvczFWFbWPXY1VF8SucHQlAelsVgDncCmj6pUmKIq2gy7m6IL5vhux6m2fjDNVL1pCEk8l9ZquHP8ME8wXKM4X2lgBPCnDqM3+yjaTZwxNKRWA6Yg//hnoAckLoTECmIA2WGKSCXSmqSoqWMCMgMEXmYjpVwJMBtrgifGIyGzX61wZyV/o2tboh6Heupwwca0gsN2e3Qsn475n9Wx/b5hdfCaT4tTvOV5H51owFfKfyqJUaTFFDNMYR8aeHnb9aYyZugkij5Aqxjvj2Va7uihFboFtAOUlyNcvXx6D1JtsjYO3b8c5kW/fal0z8/sq5gBzafxt47cz8O7d4zASKAQiMYrNSTpnMEYn41u/YJWRJeRX6h2tGOLkpsgs1yNmppGXOeduREi1Nf83EEmnxXagUeN7kBTvjZkmoeY0odHVqQir+B6DfBdzu9rHRy1QFe9Pb3p/B7Or3pG0Auso/FozdU97rZCFPmIOCK0GWdMbcAUFzG/y/gy+4iRRIFOUb3x8tqn526HK5lbkl7dBTGZm2QAxCRV4dkNJsdcHEHBB08fPzq1nc37xhmhhABttT/+jH9jDbjDY7uQ/YgGtr38B/dZVhO+3SkXP1xHS+j063W4B+s3M8kxtyNAJ6BgIRJQQFAlMCYgWKLoCEY3RWwPUN4OTA1cLEIl3vwCq+djCU6v9aI/O/ycAAP//Z7zg3Yw9AAA= - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line33.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/CustomData index d1d0b8aa8b0..e3abaa1f05e 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line33.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/CustomData index 05f7a9c57c9..c573c1ad4e8 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line33.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/CustomData index ed0845a3860..6d87a503063 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line33.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/CustomData index ed0845a3860..6d87a503063 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line33.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/CustomData index d1d0b8aa8b0..e3abaa1f05e 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line33.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/CustomData b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/CustomData index d1d0b8aa8b0..e3abaa1f05e 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line33.sh b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/CustomData index ed0845a3860..6d87a503063 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line33.sh b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/CustomData index ed0845a3860..6d87a503063 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line33.sh b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/CustomData b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/CustomData index d1d0b8aa8b0..e3abaa1f05e 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line33.sh b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/CustomData b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/CustomData index d1d0b8aa8b0..e3abaa1f05e 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line33.sh b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/CustomData b/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/CustomData index 234582f521f..dc4fe41be1a 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 | - H4sIAAAAAAAC/+R8e3ebRt7w//oUU0pjuzWSkB0ndZa2WMIOb2RJLyCn2STLwWIkUyMgMDhxbT2f/TlzgwEhX+K2290ne3pWZn7zu99mmOHbbzrnQdQ597KLlmFZrv3OdozTvjN0bUe3HPdYN4faPiBj/eF4OnDNkem4jnlqjKeO9pyOHJtDw32rO/3XxcgBHXk9Hg7ct/rQHE1/1U+MkaO9oAOWMTR022gAeEkB9InjmiPb0YfDAumPdGgw7r8xrLXRXrcyPBi/HQ3H+qAcVyvjb4x3DTC9CgxmAsMVw3uVYUFHPaak0/HROzJtaNqlnnpMUae2ezI52UD6QMCwJhtTW388cnRzZFiDdRCmOGs66q8PMtW9eWljgJE5OinG9rrl2BpXe0xpb6ZHBnaL0dhxj8fT0UDbY6oyT08apu2V04aGI2pqb79qxdMTdzIVWN17viZq32mCO1iHs0zM4zroZu0R1xWEerkGeWZYtjkeueboTB+aA22PqbI/Mtfl3lcLQ0+s8cAdGEcNQL11oMmbE1cfDFjAMe2NLV0wiWFZY0vbZ+qhkSoIQia+5D40mFjjI4M9ZRyPp84RlhJLN6JDzwXb6xPTtQ3rzLBEALURYDCy3eF4/GY6YWC9RjD9n1PLWAfmzqE7enMsHHQFiHoQHqjCYN3RDxgjZ68HddserDvWGuEXXSGI1kcZ5f7Udsanrm3oVv+1Oxif6ubIprK9ZAhOJtP1+S/3hEHLxJ4lRsbL/fXhunwvnwswxpnZN9zJcHpijiqIDkogc3Q8dq3xqdsfW9Z04hgD7SULB/vk1410fuyuwwgUflTLLD3QzWFpnR+F/D2dDHTHKId45NgGdvwzk8SV3bfMiUPsZBn6oMSkdrsCEZxOp5MTSx8YAoTAxmRqnTCHV7u9IkhwQrAMbAZN7TL9903b1W3bPBm51njsuJO3mqqqa2PEfyaGdWramFNNVRnaiU5SV388eUeANFUVMU8mw3fuRLftt2OLBNuxeaKpai1wixoyZmGhqjyj0TS25j6q+qICMJ4Ylu5gHdLUoKo8ezlWw+CPoEWVRYLSdvT+G/fEcFzdOnWd8RtjpKm8hNZBRobzdmy9YbJMKWJN5RW1Dm5Pj0aG404s49j8VVNxUS2C8mhqDnkuU3FdpEp5q0/cvmVgd6HK4FVJHDFH9vT42Oybxoh4xBvXnuh9Q1NxlSLQjjE0JmPLGVTSpqbyPFeOc4enw1wQyzGP9T6uV5ahn+IqyfFoKs9xDUAMmabi1EYbH8eZYCf/9Z3b17HezgzL0VSe2Fhk4CHDcmxNPSiaE8a2bfSxUp2h7R6Nx47tWPqkKKfGr0afx33hHQfcwAPTPtKHhmtOHP1oaNiaitMazZnW1HYwhnXn4sltYNp4lmvbrzX1Bfd4yzzVrXfuyOy75kRIquoL5vnmyDYsxzVPB7ZrGbaDXRR7nzXFnIycsXuqj06Ghkt40tQX+w+dd2wOHcMq5rEwGmBFGBvmHeOEV6N38NB5NXovBOe1DGwL1zL+/9S0jIHW4ylqNCZJQT8xbKaYHs9N9kif2K/HRTYUm8Yuj4yJZZ7hQVw/cSuAvbLH0xV+KLprr7vPw6Zo1091+w1Dysb6ljEwRo6pD2myHTT2xF0egbidqbc6ve4BaLXKVoQ0VZgbxv0LUBvDz7FWcfV3Va3XfVmHEIrvW90+1XrdH+9E0tN6arcOwdNR2dmrdZDpSJ86r8eW+U9sJpUrhbUh3MeL9tSwznAc42A0j80+NoU1dmj+dPQTrafuMTUNDX00nZRyuOYptrrWU/dbrWAO5kHkgw5EM6Cg6wSC+W4IlMhbQiB9r6QwhF4GJaAkaRAhoHzKAwR6P3V8eNWJ8jAEt2CRwgQon8BWe+sVQBcwagEAwNjW5O0sThFQUoK+U2DDc7zPl2Br6aHZxbbc3QWdf22bA3dovjG07VmcwjjbuTUH2nb7+50dubMLvB1wAygLKM6TBKbb3vveR+C93/u48wrALwECq60dRpn7xSM5KLzp0YTBLUApUHywJW3ttGCYQcIJnF3EQKqRjmIE5nEe+VJrHrRa06PpyJm6Y9sd6aeGJtG/pdapbhFrFQPsQTlC2sn6MH4otUh9I0vUEqB8JrXY4kjr5FnaCeOZF5JV9WV+DmcobNFKT0fxcz+eXcK0Bb8kWJukkzvTJPmm7Pu4xg+1lVSBM2xHpBJdBX7gMQKFmdS2utdWFZXPHJ2ZA1PnqIm/uvZrnZMsHojUmubgQOBsnq0U+WYD4jUsgmDOu4lRkxU/uoe0Ji1naXsZzNI4i+eoPYuXHe8yw/8piyQvWamhLZHiloi2wzSP9k8HmjTDXhaBy5dZO4hBmkdAwYF5FYRwAX2gKOkSKEoEkXIRZwgoyucAXShRBpLAP+wkaTzrqJ0o6yQBBl7GOXbr6wRq50Hk72bpTOvECeosknzXz5DWWUb0jzhBQRxlWorh7prpzQhgOZs/qGAohGR+sCYndbgmASOINCZbEvjs5xXgbB9ylouHjIFDkRuiKKmFm/C+3n9tuAPT0jpXXtqZebML2PHwvHR2EVzBrNPCDbU+wh2cAJzGMcJwdELLODNGDl40npyQHozjC+NFx/s9T2HntPAFHf/dNr4gGGWYm3Y/z1C8tGdpkKAOvIIRyjqt/tQa4gXwZOpoHbRMOrM8Dd0rmJ7HGWzHOWqR2iFCxKmXrUNYxolpO9Y71gvT/p/kJAzfmcXRPFi0r71lCFqtFKL0erb03WDuzr0gzFO4vQNuSDbDYwHMNFl9BT57AXKzEMJEk3uvAAqWMM6RJu+9AtlFMEfg2bPaD4JiHqcgAEEE5O0MfgIqkBnSnVfAjwkI/sfQAZn/kOSbX1YSxnWeQu8S3N6CDwV0MAfvgRwABX4q8IGPQini/0g6Nr7AWY6gDz5I8i8fJDwRU8leVUBTiPI0AmrxsMjp/B8RHsilIorReUB++nEkVIHNZFeNWnezIIQR+u9R/h+lUVFdURbG8WWeFFoSNaMKmsFaipEXuqKuUjiLU1+T98nUDHkpIuOavO17CIIfvstoQ/H5IgghQGkOK4ri1IFSYOUqUwiLWherBBPZoLxZnqYw2kC11O72tggIFIHXnR2gLCCQK9Jtdn7JwXCCiSvTUoiTmb/7KMmwv0JfutvWzICbrVwEy50qoTIUofQoNuP0PkVmcBZHfibhkGyKyCh2M+Sh7O8Qkzgk/z4RWWhrAZGLvPTcC8NCS8hL3bs0RcGJpvI05OFITS3fCLNXXOHSBtUJsDX1eSlQ0O9zAoKpPUR1AravVB831kEXu3UIlHlmD6+ATH7HJTM/AVmo9qD30zO1ggez9R7IP4NvNNAFH5uYIaHjoQqiCoAQgU+1rDtP46WbwkWQofTaxS2mi1uJJ1ocz5rHoQ9THPdBSpegXEnSzn+jW2C1gQQvo0WnYGrAXSpTskK7NCDfbGzpVtiNhJbwaW4kIPrD3cibzWCWuSi+hJE7j9Oq89zhOMRZ9h6TN/V+37BtulnMW2V5ey0ur4CSAeU1kE4h8nwPeYe42Et4uREnafzlGkjfS0DCNpJqxVmJgCQ3kJG4c4CGKtw4ocmLul9RQdlU+c4dqLpNUjhPYXbxFUbxZqlLDfMKIBh5EXID3FS9qihfk58/xm6WcWwZ9usHGu5XMBnbDjFgP44QjJDiXCfwEHhJEgYzD6/5Ol+Uz58/K/M4XSp5GsJoFvvQl4Qox/8UH0iLFMtA1raipz7LYHoVzKAmM4mfUWk1uZD6mQivVYxcJ3SBUJIddjocWSf2cnTR68AvswsvWsAmL2tSyt1u1jjj3+ZnZHkaxosgeqxfVeTg9eKBrkRYG45PTMGPSNolnACJWwBHe+DDCAXoWiEWVDLkB1FDFpbuSsMS+Mc//lHXvUSycWlU+CVALvZATf65VcvPxRipNxsSNTPwmnCPta4kmFdqtm/BTz1nnAeRl17f2w0wsDtMzSASD13UmwJOY70vECbVeoMqwVp7sMF1qnOqHkQjcF6j2Vj8SfOwufJXGokqSbCpHK/1E42Y7+8rKpr8o1uLR7QX97YYDW3G3a1GbcKGzmPmRSwDZa43S/+cfiPOUYJXfdt1W6QwiUGYsR6iMadsVH89eVAv+pmnh43ZwZulIMjoqt47D+HDcwM1pSRTcSSgaeB7KY9wiYrT4HfoHwL8GydLWl1BCj/lQQp96fu78pXetzBHUYxKrg4BJ/OgLYTqrpqUR/BLAmcI+iCFWRJHGQQ4IeHyUcP86HpFNlznQVjugJInD1z144k0o+0zT3peyVIirnuXMCJw1ePek9Qkc2rg48diEdO8fhFRPXEBU+xGNK5uC5b+xstbAoC73YqZ77BwaVWaFxLvCvrs1QfZ5p+Fce4rQRQgBcNmbQJBYOl70uNP2Pocz0oCMoHAVquE5AMzToF061tjfLwlqP1uN/grNoYIJPSBEgCpg9nr+FLJYBkNgqv8xNTRWrWy6wzB5QxhbyX7dI/bdwPZ1Qy3Co9sF9d8u2AD+B5cxpGSwjD2/IdMYHwDmbHyF2zYFbQz5KE8K0njpaySeAtc+8PKnN/iPI28EE9S8mLCV4VTabIMxcl/nL0w03+lsR6tVT/IcMn8j1Ms4/vvqVuaYbAoj9PrU5VJAk6hSvr7KOQKplkQR+4CcTdDMENAkrfJIZg52Pou+xBtAUn+RQK3gB2vOQO34AJ6PlAioO6QhlGSVam1apXea0TYB/TItyvJfC3NA7XbBc/BXhfIVB7LoCfQbEd3pjZfMa+nOrWa5MBPoPYKXlYVCtsO40WrVHCVAFAi2NBXs75NBbM4D33Sw55D+gJJfP1VsQRTbTAH34CGN0pA7WFJe88FYWBEI0V9EHkK7YPz6xLFZl5EawxoSBJzCKk6mAu8hEGGlDwKUAYUZY5Xk4riVY58SbLaZvtiUo3hai0AXFJZxS6+SZlxkojKXMt8D0LDYBkeJjdcXsG0Hy8TTzjRwA986Zq8TTsRFdyCWY7IRuAPEm6t2cKLgx4VoL1NoGTpdFPgXrFwKJ4crSTWplcaPhxK0C/QCwiAOJceNdvC/8NxyEPwDFDiF8HiAmbojIaxJm+bx7ZWLDoojZVUsC4TJMq8dwfr8k0V6aqJ+8LXVi0//hzhdDqA55PLhRMfi7315M0JPY/Gghv/XZzW6xWPBqZl9J2x9Y4n2uWlH6RASYBcGaZNeJ5d+EC+qYysiky+FnXYhw66XeAlSFlABDjDDAVmb6XR34y11feUUJzgztRLENkA4/OYcHdUjeqb31ctAMhxODxFw/pjElQOJGEHFyL4AZXGTy4XQGE7ClhSxcOBG6czSB76cF6eksCrHixIGM8uM/KYq0OJwSC5XBwejumZrcNDTcQSh36pMeW6fjykdV/hIkKrr0iJWi9Lr2jSZOsHrPCaHvgyPoWotWotIOpPpno6uyg8zEtnF5q8ndO2d7nTEtaYN3hwd3dFItLDfxzsS5hAbSRd4ufra1G2sUKGW2t1lo0ufT5Kck+Q6dbpwb6YYjEr2yXrOyLRZprqBmpdIccFmcU2laZp+fqdOhrb/SP7ECqLDLZjm8IF/KJt/av9w4cO/e+w/YO8VVFbOX0FtP/ByhcnFzyDeunpArEOcisCzG0YLzIXxS4971ZjF3nZJYmj8qQEHaDQOKOMvMoBke/2RjstAZAUZkc8RCJ9dwy+c9rf7Y3YfjH2W84X7yoYlcjfPJXA/ZbFkZuhNIgWmrwNfvuEO5+ycVMUL10AjCND3jIBgCRfztJKWgMdJzAlO2mmj0EZAw2ALAeTJ5La7u2tgzhedom1AyhZrMsGRAbW5BBewRAAyYzmcbokDHjhOuwpzDJvASlRXERDiKB/COTvN+CdBD6B7W4Yd5rGt24KhR0Cufi9KyrnEMjCX7tcHYdAZr92C/ExDvZzV5D2EMjlH7tctEMgs1+7hQQcchL4uwXb/KET+CsaI8LLB/lG8Auya36zfjB0Jd9UvXjVxrNaZeKUcHKTwDcaUVA1H4jpT2hvLnAD5GaXQeLSI9aunwa4ly/7bJzZv9CXKrF/rcnb5a5d9d03aHz5fYFQctjpqAc/tnvP99vs/ztLNqsTRBnyohn82UsCha0itF63pyrdntJVWcwJofY1ohJBSll5syTJWCTc1eBAhGCrPYuXSY5gG3mLbBhkCNyCpZdsZzCEM7TdJrXhlixttiX7MkhOknxAFGZiMcJQegWkQNrZ2Xnf/di+8sIcgk4HSHMvzKBUzCSKopBblXdQAo+SYB/WmbqX+TkMIXJJ6xwt3BlMUTAPZh6Cbhoj4t3/tYZjSmi2Xdpgu/cfcZcrWo6Uy8tMYagUpk+F6VMR9KlwfUo74BZQU1ZtdVPla3d3JdVDipW/WQi9SDht+n8npB5uFhxMR0Rdfaqte/WOqXKlB9mplwYRTMcpOSU/DKL8S603iDPewrDuJM7IKqV2YQYvUm5vmwDEezPrUOtXZ9ZbsupGfVBfALXglRdOvNmlt4AD1ilPrWFNDtKL3aiHykoQhhz0IK8I19+DYKxASmGWh0iTb3AzJrwzowWIjrZqG0Min1T7VNs01/2/T4yz4u0lNjl3OGyz8gwKfyMoMsfsWb5rK9rUYA4aLQokeWxXNwyy3I8B8qM5YFzhpcVvn/CyguL/7RP47GV8lHQfVT7XGnK+TOMInwMVHHS/BilRHa20eYJbQove5apZNKEm18jWV8VhJblXfcLX55K8J7FNLvJ5EU1iJ5Sr4MP4M0z7XiZkzZs4I+t4lIKt94fkZtrhxy38O8TAhx9ZtH17HKeAXirbxQaRC+IgyID6st3dB17kAylVX3b3JfzQC7MY+HAeRNDHK04c+XGEWxbSqezSXl/mF9qCjGRCFHMclK4dLIPQS8NrsnTtdTmhXq/d3W+DMbqA6ecgg02I2kwL7VIEFr2EOBBmeOFn77rkgKsPRPFnYXYZ1Q1K2Gt3qQqu9trdx2iAGU3UAEFxn/MT29XCmy8LuXmZM61YCpbafpFJzKyNURROsWp/kK7wE75B80GSdkgBiPKwMZWIDrc+t+lIQFPKqznz2wBdxDkaxKjipRwx2S6GPtjKOh/anc5iq7Iyf6Dc+XkeobydCohLsqu7pRYk3jCfyy6GOsvjDDj700O+kmCqCuFBX1XrH5Uo2HVwvuVla9s7rdZTPVOiexsbLCLyK/lw7uUhKizwZNpt+YapeNVm+Tw7693tI1SPoYfK7c5M295IX0m/hoVK51ShhVnDnJGeqTIi7ezUmExSeBXEeTb8C5ltpFlhuhFCZB4Xgyuee3FLcVPV9vtfPuLcKLw8a3LOH7RtSb654jFQoi8OHjTTalbaH0mznij/FDe+O6w25+qrP8dL3n/kFl7X+NVGHT9Iv/XjqN0yM5/mIQr0dHZRy81U1GDpLaATH8FJjjs7mqFbAHz72yfSQqzNpufG8NAsjpCHy7aJcWRtYM5Bv/rsffCxvaxjOOvx023YMLucZXThoV263c2ePARZa91raiJxizUxsjHJ3ZfgNtAgXtFA5ymp7KFp7CksPTFhPTZZnU6HjumSj2w9zKu/NkM9mlCxEKQpaXM6eJS2eeA/NOwfxja/51tpwDYvpHkPxnYFyl2CXmP/xV4o/s26L7pUCebgrtwL4JcgQ2z1scArjgsISvhhkcJSyNY+cbHK2gheJci6MPBHdH539FkCF9rTy6KATQJKWlZm8jpbGF1JoOQJPHtW1KDiO0OYIYm8EmweqqFrbd5o+RoRmfbvle2vkYtVK+ydq1bL8/03dJ91FPtw6J3D+kvGoX5kDF3bsczRibBHRw+LBECSRQB+T4Z/0Wg0HhguAbAl8BMoPzDU++lZ82EYtusLotiHIMT8gAoFupBPoedf4yqTwQjt4up8EUQLvFb3/PVzO9W2jb3Q9X08o4kCisE6F1m73ZZa1btbjVLWg6IBCBum4fFqV74RGVk1vI1uwlbhXljqpnAZX8GnmBcCaY2nJ1j44aro1Ml2CmWIzNWAdv8i5upkH8Tcv4c3zlqDRxyH3qLmDMdD/eRuXxAg1iTCYw+XhUCLUpAHnRqNTaoVYXb/FEZqNB7CyF/AR9We5eVLekWPv4LkVx5r5i1uX4o91SwMILveK7ZWwq3fPeEttvI7kORiCq5Lt7f8cTFF2nDOspgH4rQkALyUfj8tg6gNxuUtTrbsSuIsC85DuAuSNJ5BSPI2Fhd4URxdL+Oc3opbS/uVrL/pyhg9OMbvi3JQfo2z0jHx55uucLLCUmGKlivcFdKvlWCKW5za1mNFKj2wyk8EgbqJH/opF44dwDSNU0A6SLyGjYB4A2yX3GENogWvdbXXi/TGqKjWDCLwwxeqJnZRGnvY/W9BmYfyK9Lkbm7tlaj6kr4SfZbCLM7TGdT4BeulF3kLuIQRapNDwORLbM8ETy49lFrU++xWr3Fv3//xgsIzuFQ7m72jZoxNB42ZLVDMjhVeQaY0QEgflmjuV794pa8uH7vcR2zddHnvQdyss7D525YiU9UvBPAeeZ1FvgJti493aqmmet2eZZv6Y2HX7B5BEy/Nni5l4VOVDyzUnar56wvVfAPKpAkqQv0pvsY4+gOcrSLbV3tbhZ+vdbfaZwREf6txWThc5Xnd42pX/AuXqz1/rM89WdZqFSsrP9gT/anOZ6tyt/hB7kKx4qVUpVbRCsLz9tNslke4boj+XjUj2zlhR3EeUb9lBDPkkt2uVuUWKhP9K2XfLWp5hoIwrNTMr7YlpZ3lJBnN8zC8xuQX9N30A9W/arW+fW0MJ4ZlG+Pj1v8GAAD//x7OgQxIZQAA + H4sIAAAAAAAC/+R8/Xebxrbo7/orppTGdmMkITtO6hzaYgk7vMiSHiCnuUkuC8NIokagwODEdfT+9rfmCwaEHDtue3vOzVldR57Zs7/3nj1ffP9d5zKMO5detmgZluXab23HOO87Q9d2dMtxT3VzqB0C0tcfjqcD1xyZjuuY58Z46mjPaM+pOTTcN7rTf1X0HNGeV+PhwH2jD83R9Df9zBg52nPaYRlDQ7eNBoAXFECfOK45sh19OCyQ/kS7BuP+a8Pa6O11K92D8ZvRcKwPyn610v/aeNsA06vAYCYwXNF9UOkWdNRjSjofn7wlw4amXeqpxxR1brtnk7MtpI8EDBuyMbX1xyNHN0eGNdgEYYqzpqP+ZidT3esXNgYYmaOzou+gW/ZtcHXAlPZ6emJgtxiNHfd0PB0NtAOmKvP8rGHYQTlsaDiipg4Oq1Y8P3MnU4HVg2cbovadJrijTTjLxDxugm7XHnFdQagXG5AXhmWb45Frji70oTnQDpgq+yNzU+5DtTD0xBoP3IFx0gDU2wSavD5z9cGABRzT3tjSBZMYljW2tEOmHhqpgiBk4AvuQ4OJNT4xWCvjeDx1TrCUWLoR7Xom2F6fmK5tWBeGJQKojQCDke0Ox+PX0wkD6zWC6f81tYxNYO4cuqM3x8JRV4CoB+GRKnTWHf2IMXLxalC37dGmY20Qft4Vgmizl1HuT21nfO7ahm71X7mD8blujmwq2wuG4Gwy3Rz/4kDotEzsWWJkvDjc7K7L9+KZAGNcmH3DnQynZ+aoguioBDJHp2PXGp+7/bFlTSeOMdBesHCwz37bSuen7iaMQOEntczSA90cltb5Scjf08lAd4yyi0eObWDHvzBJXNl9y5w4xE6WoQ9KTGq3KxDB6XQ6ObP0gSFACGxMptYZc3i12yuCBCcEy8Bm0NQu03/ftF3dts2zkWuNx447eaOpqrrRR/xnYljnpo051VSVoZ3oJHX1x5O3BEhTVRHzZDJ86050234ztkiwnZpnmqrWAreYQ8YsLFSVZzSaxjbcR1WfVwDGE8PSHaxDmhpUlWcvx2ro/Am0qLJIUNqO3n/tnhmOq1vnrjN+bYw0lU+hdZCR4bwZW6+ZLFOKWFP5jFoHt6cnI8NxJ5Zxav6mqXhSLYLyZGoOeS5T8bxIlfJGn7h9y8DuQpXBZyWxxxzZ09NTs28aI+IRr117ovcNTcWzFIF2jKExGVvOoJI2NZXnubKfOzzt5oJYjnmq9/F8ZRn6OZ4lOR5N5TmuAYgh01Sc2mjh4zgT7OS/vXX7OtbbhWE5msoTG4sM3GVYjq2pR0Vxwti2jT5WqjO03ZPx2LEdS58U06nxm9HncV94xxE38MC0T/Sh4ZoTRz8ZGram4rRGc6Y1tR2MYdO5eHIbmDYe5dr2K019zj3eMs916607MvuuORGSqvqceb45sg3Lcc3zge1ahu1gF8XeZ00xJyNn7J7ro7Oh4RKeNPX54X3HnZpDx7CKcSyMBlgRxpZxpzjh1egd3Xdcjd5zwXktA9vCtYz/OzUtY6D1eIoajUlS0M8Mmymmx3OTPdIn9qtxkQ3ForHLI2NimRe4E8+fuBTAXtnj6Qo3iu7a6x7ysCnK9XPdfs2Qsr6+ZQyMkWPqQ5psB401cZdHIC5n6qVOr3sEWq2yFCFFFeaGcf8c1PpwO9Yqnv1dVet1X9QhhMn3jW6fa73uT3ci6Wk9tVuH4OmorOzVOsh0pE+dV2PL/C9sJpUrhZUh3MeL8tSwLnAc42A0T80+NoU1dmj+dPQzraceMDUNDX00nZRyuOY5trrWUw9Z9I1s95WhD51XTE048bfCGZiFcQA6EPlAQTcrCGb7EVBibwmB9KOSwgh6GZSAskrDGAHlYx4i0Pu5E8DrTpxHEfgC5ilcAeUj2GnvvARoAeMWAACMbU3ezZIUASUl6DsFNjzG+3QFdpYe8he7cncfdP571xy4Q/O1oe36SQqTbO+LOdB22z/u7cmdfeDtgVtAWUBJvlrBdNd71/sAvHcHH/ZeAvg5RGC9s8coc495IAeFnz2YMPgCUAqUAOxIO3stGGWQcAL9RQKkGuk4QWCW5HEgtWZhqzU9mY6cqTu23ZF+bmgS/VtqnesWsWPRwRrKHlJo1rtxo9QiMx9ZvJYAZZvUYssmrZNnaSdKfC8i6+2r/BL6KGrRGoD24vYg8a9g2oKfV1ibpMa70CT5tqwIucaPtbVUgTNsR6QSX4dB6DEChZnUtnrQVhWVjxxdmANT56iJJ7v2K52TLBpEak1jcIhwNi/Winy7BfEGFkEw5+3EqMmKm75CWpOWftpehn6aZMkMtf1k2fGuMvyfMl/lJSs1tCVSXCzRQplm2P75QJN87GUxuHqRtcMEpHkMFByY12EE5zAAipIugaLEECmLJENAUT6FaKHEGViFwXFnlSZ+R+3EWWcVYuBlkmO3vllB7TKMg/0s9bVOskKd+SrfDzKkdZYx/SNZoTCJMy3FcHeN9HwCWI7mDRUMhZDMDzbkpA7XJGAMkcZkW4UB+3kNONvHnOWikTFwLHJDFCW1cHne1/uvDHdgWlrn2ks7vucvYMfD41J/EV7DrNPCpbY+wrWdAJwmCcJwdEDLuDBGDl5Onp2R6ozji5J5x/sjT2HnvPAFHf/dNj4jGGeYm3Y/z1CytP00XKEOvIYxyjqt/tQa4qXxZOpoHbRcdfw8jdxrmF4mGWwnOWqRWUWESFIv24SwjDPTdqy3rEqmKwOSkzB8x0/iWThv33jLCLRaKUTpjb8M3HDmzrwwylO4uwduSTbDfSHMNFl9CT55IXKzCMKVJvdeAhQuYZIjTT54CbJFOEPgyZPaD4JilqQgBGEM5N0MfgQqkBnSvZcgSAgI/sfQAZn/kOTbX9cSxnWZQu8KfPkC3hfQ4Qy8A3IIFPixwAc+CFMR/0fSsfEZ+jmCAXgvyb++l/BATCV7WQFNIcrTGKhFY5HT+T8iPJBLRRS9s5D8DJJYmAW2k103at3NwgjG6D9H+X+WRkV1xVmUJFf5qtCSqBlV0AzWUoK8yBV1lUI/SQNNPiRDM+SliPRr8m7gIQie/pDRguLTIowgQGkOK4ri1IFSYOUqUwiLWherBBPZojw/T1MYb6Faand3VwQEisDr3h5Q5hDIFem2O7/kYDjBxJVhKcTJLNh/kGTYX2Eg3W1rZsDtVi6C5U6VUBmKUHoQm0n6NUVm0E/iIJNwSDZFZJy4GfJQ9k+ISRyS/5yILLQ1h8hFXnrpRVGhJeSl7l2aouBEU3ka8XCkppZvhdFrrnBpi+oE2Jr6vBQo6I8ZAcHU7qM6Ads3qo8b66iL3ToCyiyzh9dAJr+TkpmfgSzM9qD38xO1ggez9Q7Iv4DvNNAFH5qYIaHjoQqiCoAQgY+1rDtLk6WbwnmYofTGxSWmi0uJR1ocj5olUQBTHPdhSpegXEnS3n+iW2C1gRVeRotOwdSAq1SmZIVWaUC+3VrSrbEbCSXh49xIQPSnu5Hn+zDLXJRcwdidJWnVee5wHOIsBw/Jm3q/b9g23UbmpbK8uxGX10DJgPIKSOcQeYGHvGM82Ut4uZGs0uTzDZB+lICEbSTVJmclBpLcQEbizgEaZuHGAU1e1P2GGZQNle/cm6rbJIWzFGaLbzCK56cuNcxLgGDsxcgNcVH1sqJ8TX72ELtZxqll2K/uabjfwGRsO8SA/SRGMEaKc7OCx8BbraLQ9/Car/NZ+fTpkzJL0qWSpxGM/SSAgSREOf6nBECap1gGsrYVPfVJBtPr0IeazCR+QqXV5ELqJyK8VjFyndACoVV23OlwZJ3Ey9Gi14Gf/YUXz2GTlzUp5W43axzxP+ZnZHkaJfMwfqhfVeTg88U9XYmwNhyfmYIfkbRLOAEStwCO9jCAMQrRjUIsqGQoCOOGLCzdlYYl8K9//auue4lk49Ko8HOIXOyBmvxLq5afiz4y32xJ1MzAG8I91LqSYF6p2b4FP/WccRnGXnrz1WqAgd1hagax8tCiXhRwGpt1gTCoVhtUCdbKgy2uUx1T9SAagbMazcbJnxQP22f+SiFRJQm2Tccb9UQj5q/XFRVN/tmlxQPKi6+WGA1lxt2lRm3AlsrD92KWgTLX89O/pt5IcrTCq77dui1SuEpAlLEaojGnbFV/PXlQL/qFp4et2cHzUxBmdFXvXUbw/rmBmlKSqTgS0DTwo5THeIpK0vAPGBwD/BsnSzq7ghR+zMMUBtKPd+UrvW9hjuIElVwdA07mXlsI1V01KY/h5xX0EQxACrNVEmcQ4ISEp48a5gfPV2TDdRZG5Q4oabnnqh8PpBntkHnSs0qWEnF9dQkjAlc97h1JTTKnBj58KBYxzesXEdUjFzDFbkTj6rZg6R+8vCUAuNqtmPkOC5dWpXlh5V3DgB19kG1+P0ryQAnjECkYNmsTCAJLz0lPP2LrczxrCcgEAlutEpL3zDgF0p3vjfHpjqD2u93g79gYIpAwAEoIpA5mrxNIJYNlNAiu8jNTR2vdym4yBJc+wt5K9uketu8GsmsflwoPLBc3fLtgAwQeXCaxksIo8YL7DGB8A5mx8jds2BW0M+ShPCtJ46WssvLmeO6PKmN+T/I09iI8SMmLAd8UTqXJMpSs/u3shZn+O431YK0GYYanzH87xTK+/5m6pRkGi/IwvT5WmSTgFKqkf45CrmGahUnszhF3MwQzBCR5l1yCmYGdH7L38Q6Q5F8l8AWw6zUX4AtYQC8ASgzUPVIwSrIqtdat0nuNGPuAHgd2JZlvpHmgdrvgGTjoApnKYxn0bprt6M7U5ivmzVSnVpMc+BnUjuBlVaGw7SiZt0oFVwkAJYYNdTWr21TgJ3kUkBr2EtIDJPH4q2IJptpwBr4DDSdKQO1hSXvPBGFgTCNFvRd5Ch2Ay5sSxXZeRGsMaEgScwipOpwJvERhhpQ8DlEGFGWGV5OK4lWufEmy2mb7YlKN4epcALiksopdfJsyk9VKVOZG5rsXGgbL8DC54fIapv1kufKEGw38wpeuybu0ElHBF+DniGwEPpVwac0WXhz0pADtbQMlS6fbAveahUPRcrKWWJleKfhwKMGgQC8gAOJYetVsB/8PxyEPwQtAiS/C+QJm6IKGsSbvmqe2Viw6KI21VLAuEyTKrHcH6/JtFem6ifvC19atIPkU43Q6gJeTq7mTnIq19eT1Gb2PxoIb/13c1usVTQPTMvrO2HrLE+3yKghToKyAXOmmRXieLQIg31Z61kUm34g67ENH3S7wVkiZQwQ4wwwFZm+t0d+MtfWPlFCywpWpt0JkA4yPY8LdMWtUT35ftgAg1+HwEA3rj0lQuZCEHVyI4HvMNMHqag4UtqOAJVU8HLhJ6kPSGMBZeUsCr3qwIFHiX2WkmatDScBgdTU/Ph7TO1vHx5qIJYmCUmPKTf16SOtrExcRWn1JpqjNaeklTZps/YAVXtMDX8anELXWrTlE/clUT/1F4WFe6i80eTenZe9yryWsMW9x5/7+mkSkh/84OpQwgVpPusTtm2tRtrFCulsb8yzrXQa8l+SeMNOt86NDMcViVnZL1vdEos001S3UukKOCzOLbSpN0/L4nToa2/0j+xAqiwy2Y5vCOfys7fx3++n7Dv3vuP1U3qmorRy+Btr/w8oXBxc8g/rU0wXiPMitCDC3UTLPXJS49L5bjV3kZVckjsqbErSDQuOMMvIqF0R+OBjttQRAMjE74iUS6YdT8IPT/uFgxPaLsd9yvnhVwajEwfahBO73LIndDKVhPNfkXfD7R1z5lIWbonjpHGAcGfKWKwBI8uUsraUN0PEKpmQnzQwwKGOgAZDlYNIiqe3ewSaI42VXWDuAksW6bEBkYE0O4TWMAJDMeJakS8KAF23CnsMs8+aQEsWTaAQRDI6B/OMWvJMwILDdLf1OU//ObaGwYyAXv/dF5RwDWfhrn6vjGMjs134hPsbBfu4L0h4Dufxjn4t2DGT2a7+QgENOwmC/YJs3OmGwpjEiHD7It4JfkF3z282LoWv5turF6zYe1SoTp4STmwS+04iCqvlATH9CebPABZCbXYUrl16xdoM0xLV8WWfjzP6ZHqokwY0m75a7dtWzb9B4+L1AaHXc6ahHP7V7zw7b7P87SzaqE8YZ8mIf/uKtQoWtIrRet6cq3Z7SVVnMCaH2LaISQUpZebEkyVgkXNXgQIRgp+0ny1WOYBt582wYZgh8AUtvtZvBCPpot03mhi9kabMr2Vfh6myVD4jCTCxGFEkvgRRKe3t777of2tdelEPQ6QBp5kUZlIqRRFEUcqdyBiXwKAn2YZWpe5Vfwggil5TO8dz1YYrCWeh7CLppgoh3/8cajimh2XZpg+3efcBVrmg5Ml1eZQpDpTB9KkyfiqBPhetT2gNfADVl1Va3Vb7299dSPaTY9OdH0IuF26b/e0Lq/mbBwXRC1NWn2vqq3jFVrvQwO/fSMIbpOCW35IdhnH+u1QZJxksYVp0kGVml1B7M4EXKly9NAOK7mU2ozaczmyVZdaM+rC+AWvDaiyaef+XN4YBVylNrWJOD1GK36rGyFoQhFz3IEeHmOQjGCqQUZnmENPkWF2PCmRmdgGhvq7YxJPJJtU+1TXPd//nIOCtOL7HJucNhm5V3UPiJoMgcs2d51laUqeEMNFoUSPLYrm4YZHmQABTEM8C4wkuL3z/iZQXF//tH8MnLeC+pPqp8bhTkfJnGET4DKjjqfgtSojo60+YrXBJa9C1XzaIranKNbH1VHFaSe9UWvj6X5AOJbXKRD49oEruhXAUfJp9g2vcyIWveJhlZx6MU7Lw7Ji/Tjj/s4N8RBj7+wKLt+9MkBfRR2T42iFwQB2EG1Bft7iHw4gBIqfqieyjhRi/KEhDAWRjDAK84ceQnMS5ZSKWyT2t9mT9oCzOSCVHCcVC6drgMIy+NbsjStdflhHq9dvewDcZoAdNPYQabELWZFtqlCCx6CXEgjPCiT95NyQFXH4iTT8LoMqoblHDQ7lIVXB+0uw/RADOaqAGC4mvOT2xXC2++LOTmZc60ZilYagdFJjGzNkZROMW6/V66xi18g+a9JO2RCSDOo8ZUIjrc5timKwFNKa/mzG9CtEhyNEhQxUs5YrJdDAOwk3Xetzud+U5lZX5PufPLPEZ5OxUQl2TXd0stSLxlPJddDHWWxxlw9peHfCXBVBXCg76q1j8rUbCH4nzLy9Z291qtx3qmRPc2tlhE5FcK4MzLI1RY4NG02/ItU/G6zfJ5dtG720eoHiMPldudmba7lb6SfgsLlcqpQguzhjkjNVOlR9rbqzG5SuF1mOTZ8G9ktpFmhelGCJF5PBlc89yLS4rbqrbf/foB50bh8KzJOZ9qu5J8e81joERfXDxoptWstD+TZj1R/iVufHdYbc/V13+Nl7z7wC28qfHrrTq+l37r11G7ZWY+zyMU6qm/qOVmKmq49ObQSU7gJMeVHc3QLQC+//0jKSE2RtN7Y7jLT2Lk4WnbxDiyNjBnoF9texd+aC/rGC56/HYbNsw+ZxktPLRPt7tZy32QtTa9piYSt1gTI1uT3NcS3BYaxCsa6Dwmld03jT2GpUcmrIcmq/Pp0DFd8vmt+3n1t2aoBxMqFoI0JW1PBw/SNg/8+4b9/djm73wrBdj2hTSvwdiuQLlL0Gusv9iB4j+s+qJLlXAG7sq9AH4OM8RWH3O84lhAUMIPixSWQrb2SYpV1lbwKkFWhYE/o/K7o84SuNAePy0K2CSgpOXMTI6zhd61BEqewJMnxRxUfIEIMySRI8Hmrhq61vaNlm8RkWn/q7L9PXKx2Qp757rV8oLgNd1nHSUBHHqXsH7IONRPjKFrO5Y5OhP26OhlkRBIsgjA38nwbx2NxgPDJQC2BH4G5QeGej8/ab4Mw3Z9QZwEEESYH1ChQBfyKfSCGzzLZDBG+3h2XoTxHK/VvWDz3k61bGMHukGARzRRQAnY5CJrt9tSq/p2q1HKelA0AGHDNDSv9+VbkZF1w2l0E7YK98JSN4XL5Bo+xrwQSBs8PcLC91dFp062UyhDZK4GtP83MVcney/m/md446w1eMRp5M1rznA61M/u9gUBYkMi3Hd/WQi0KAVp6NRobFOtCLP/lzBSo3EfRv4GPqr2vIZpOLshX4FbQC9Ci9090ZxBsvTC2KX3hFUhef0BJFnolLbcixyMbIYDZ124XKGbjdwqN3yGrpJug3Du+gvoX7lx4lJs5MnfHDyNkxT64Gm2SFIEntJ7Vs/AU34b9xlo77Uqb6PuuMN5Sr5YgnN3CrMkuoYgTRLE2d9p7zyG8yrbDYwyGUSlFud4lSehRBTeyAUih1XMKjWa0r3FZZKKLHBJMa1jcj5IyD5IE1VvoF4GCIdg5WUZDMihU/kKmL4V5Wfh/O1tLc8Uz4DF4t6PQsjemYs1vvD8/KBV8+FiiFRRYjFkm/aKcSBJSwLAS+mH/DKI2mBcPidm6/9VkmXhZQT3wSpNfAhJAYHFBV6cxDfLJKfPMzf0W/GqbW8X6Q1G/nC57jyV0r30n+a3xKzCqTBF6ya8PKGfzcEUdzi1nYeKVKbCKj8xBOo2fug3hTh2ANM0SQFZygC08GIgPkXcJ4+pw3jOi67aOTd9uiyqNYMIPP1M1cRe7GMP+/pxPPNQ/lafPBKvnc2rL+jZ/BMca3nqQ42/9F96sTeHSxijNrmNTj4J+ETw5NJDqUW9T271ewK7X/+KRuEZXKq97d5RM8a2bDkT0gdOZ9eQKQ0Q0ncmi7r6xbeldfnYK1Ni66ZXpPfipjlfNX9+VWSq+qkKvljbZJFvhbTF5r1aqql+94Flm3qzsH37FUFXXpo9XsrCpypf+qg7VfNnQKr5BpRJE1SE+kt8jXH0JzhbRbZv9rYKP9/qbrXvWYj+VuOycLhKe93jat+aKFyu1v5Qn3u0rNVZrJz5wYHoT3U+713IlfxSrHhNX5mr6AzC8/bjbJbHeN4Q/b1qRraFx+6EPWD+lhHMkEu2XVuV59BM9G+Ufb+YyzMURlFlzvxmW1LaWU6S0SyPohtMfk4vSdxT/etW6/tXxnBiWLYxPm39/wAAAP//6NQ9SOtnAAA= @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line33.sh b/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/CustomData b/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/CustomData index 4ceab32c5df..1b312376859 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line33.sh b/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/CustomData b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/CustomData index 81eeeea1fbb..754c312a1cc 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/+R8e3ebRt7w//oUU0pjuzWSkB0ndZa2WMIOb2RJLyCn2STLwWIkUyMgMDhxbT2f/TlzgwEhX+K2290ne3pWZn7zu99mmOHbbzrnQdQ597KLlmFZrv3OdozTvjN0bUe3HPdYN4faPiBj/eF4OnDNkem4jnlqjKeO9pyOHJtDw32rO/3XxcgBHXk9Hg7ct/rQHE1/1U+MkaO9oAOWMTR022gAeEkB9InjmiPb0YfDAumPdGgw7r8xrLXRXrcyPBi/HQ3H+qAcVyvjb4x3DTC9CgxmAsMVw3uVYUFHPaak0/HROzJtaNqlnnpMUae2ezI52UD6QMCwJhtTW388cnRzZFiDdRCmOGs66q8PMtW9eWljgJE5OinG9rrl2BpXe0xpb6ZHBnaL0dhxj8fT0UDbY6oyT08apu2V04aGI2pqb79qxdMTdzIVWN17viZq32mCO1iHs0zM4zroZu0R1xWEerkGeWZYtjkeueboTB+aA22PqbI/Mtfl3lcLQ0+s8cAdGEcNQL11oMmbE1cfDFjAMe2NLV0wiWFZY0vbZ+qhkSoIQia+5D40mFjjI4M9ZRyPp84RlhJLN6JDzwXb6xPTtQ3rzLBEALURYDCy3eF4/GY6YWC9RjD9n1PLWAfmzqE7enMsHHQFiHoQHqjCYN3RDxgjZ68HddserDvWGuEXXSGI1kcZ5f7Udsanrm3oVv+1Oxif6ubIprK9ZAhOJtP1+S/3hEHLxJ4lRsbL/fXhunwvnwswxpnZN9zJcHpijiqIDkogc3Q8dq3xqdsfW9Z04hgD7SULB/vk1410fuyuwwgUflTLLD3QzWFpnR+F/D2dDHTHKId45NgGdvwzk8SV3bfMiUPsZBn6oMSkdrsCEZxOp5MTSx8YAoTAxmRqnTCHV7u9IkhwQrAMbAZN7TL9903b1W3bPBm51njsuJO3mqqqa2PEfyaGdWramFNNVRnaiU5SV388eUeANFUVMU8mw3fuRLftt2OLBNuxeaKpai1wixoyZmGhqjyj0TS25j6q+qICMJ4Ylu5gHdLUoKo8ezlWw+CPoEWVRYLSdvT+G/fEcFzdOnWd8RtjpKm8hNZBRobzdmy9YbJMKWJN5RW1Dm5Pj0aG404s49j8VVNxUS2C8mhqDnkuU3FdpEp5q0/cvmVgd6HK4FVJHDFH9vT42Oybxoh4xBvXnuh9Q1NxlSLQjjE0JmPLGVTSpqbyPFeOc4enw1wQyzGP9T6uV5ahn+IqyfFoKs9xDUAMmabi1EYbH8eZYCf/9Z3b17HezgzL0VSe2Fhk4CHDcmxNPSiaE8a2bfSxUp2h7R6Nx47tWPqkKKfGr0afx33hHQfcwAPTPtKHhmtOHP1oaNiaitMazZnW1HYwhnXn4sltYNp4lmvbrzX1Bfd4yzzVrXfuyOy75kRIquoL5vnmyDYsxzVPB7ZrGbaDXRR7nzXFnIycsXuqj06Ghkt40tQX+w+dd2wOHcMq5rEwGmBFGBvmHeOEV6N38NB5NXovBOe1DGwL1zL+/9S0jIHW4ylqNCZJQT8xbKaYHs9N9kif2K/HRTYUm8Yuj4yJZZ7hQVw/cSuAvbLH0xV+KLprr7vPw6Zo1091+w1Dysb6ljEwRo6pD2myHTT2xF0egbidqbc6ve4BaLXKVoQ0VZgbxv0LUBvDz7FWcfV3Va3XfVmHEIrvW90+1XrdH+9E0tN6arcOwdNR2dmrdZDpSJ86r8eW+U9sJpUrhbUh3MeL9tSwznAc42A0j80+NoU1dmj+dPQTrafuMTUNDX00nZRyuOYptrrWU/dbrWAO5kHkgw5EM6Cg6wSC+W4IlMhbQiB9r6QwhF4GJaAkaRAhoHzKAwR6P3V8eNWJ8jAEt2CRwgQon8BWe+sVQBcwagEAwNjW5O0sThFQUoK+U2DDc7zPl2Br6aHZxbbc3QWdf22bA3dovjG07VmcwjjbuTUH2nb7+50dubMLvB1wAygLKM6TBKbb3vveR+C93/u48wrALwECq60dRpn7xSM5KLzp0YTBLUApUHywJW3ttGCYQcIJnF3EQKqRjmIE5nEe+VJrHrRa06PpyJm6Y9sd6aeGJtG/pdapbhFrFQPsQTlC2sn6MH4otUh9I0vUEqB8JrXY4kjr5FnaCeOZF5JV9WV+DmcobNFKT0fxcz+eXcK0Bb8kWJukkzvTJPmm7Pu4xg+1lVSBM2xHpBJdBX7gMQKFmdS2utdWFZXPHJ2ZA1PnqIm/uvZrnZMsHojUmubgQOBsnq0U+WYD4jUsgmDOu4lRkxU/uoe0Ji1naXsZzNI4i+eoPYuXHe8yw/8piyQvWamhLZHiloi2wzSP9k8HmjTDXhaBy5dZO4hBmkdAwYF5FYRwAX2gKOkSKEoEkXIRZwgoyucAXShRBpLAP+wkaTzrqJ0o6yQBBl7GOXbr6wRq50Hk72bpTOvECeosknzXz5DWWUb0jzhBQRxlWorh7prpzQhgOZs/qGAohGR+sCYndbgmASOINCZbEvjs5xXgbB9ylouHjIFDkRuiKKmFm/C+3n9tuAPT0jpXXtqZebML2PHwvHR2EVzBrNPCDbU+wh2cAJzGMcJwdELLODNGDl40npyQHozjC+NFx/s9T2HntPAFHf/dNr4gGGWYm3Y/z1C8tGdpkKAOvIIRyjqt/tQa4gXwZOpoHbRMOrM8Dd0rmJ7HGWzHOWqR2iFCxKmXrUNYxolpO9Y71gvT/p/kJAzfmcXRPFi0r71lCFqtFKL0erb03WDuzr0gzFO4vQNuSDbDYwHMNFl9BT57AXKzEMJEk3uvAAqWMM6RJu+9AtlFMEfg2bPaD4JiHqcgAEEE5O0MfgIqkBnSnVfAjwkI/sfQAZn/kOSbX1YSxnWeQu8S3N6CDwV0MAfvgRwABX4q8IGPQini/0g6Nr7AWY6gDz5I8i8fJDwRU8leVUBTiPI0AmrxsMjp/B8RHsilIorReUB++nEkVIHNZFeNWnezIIQR+u9R/h+lUVFdURbG8WWeFFoSNaMKmsFaipEXuqKuUjiLU1+T98nUDHkpIuOavO17CIIfvstoQ/H5IgghQGkOK4ri1IFSYOUqUwiLWherBBPZoLxZnqYw2kC11O72tggIFIHXnR2gLCCQK9Jtdn7JwXCCiSvTUoiTmb/7KMmwv0JfutvWzICbrVwEy50qoTIUofQoNuP0PkVmcBZHfibhkGyKyCh2M+Sh7O8Qkzgk/z4RWWhrAZGLvPTcC8NCS8hL3bs0RcGJpvI05OFITS3fCLNXXOHSBtUJsDX1eSlQ0O9zAoKpPUR1AravVB831kEXu3UIlHlmD6+ATH7HJTM/AVmo9qD30zO1ggez9R7IP4NvNNAFH5uYIaHjoQqiCoAQgU+1rDtP46WbwkWQofTaxS2mi1uJJ1ocz5rHoQ9THPdBSpegXEnSzn+jW2C1gQQvo0WnYGrAXSpTskK7NCDfbGzpVtiNhJbwaW4kIPrD3cibzWCWuSi+hJE7j9Oq89zhOMRZ9h6TN/V+37BtulnMW2V5ey0ur4CSAeU1kE4h8nwPeYe42Et4uREnafzlGkjfS0DCNpJqxVmJgCQ3kJG4c4CGKtw4ocmLul9RQdlU+c4dqLpNUjhPYXbxFUbxZqlLDfMKIBh5EXID3FS9qihfk58/xm6WcWwZ9usHGu5XMBnbDjFgP44QjJDiXCfwEHhJEgYzD6/5Ol+Uz58/K/M4XSp5GsJoFvvQl4Qox/8UH0iLFMtA1raipz7LYHoVzKAmM4mfUWk1uZD6mQivVYxcJ3SBUJIddjocWSf2cnTR68AvswsvWsAmL2tSyt1u1jjj3+ZnZHkaxosgeqxfVeTg9eKBrkRYG45PTMGPSNolnACJWwBHe+DDCAXoWiEWVDLkB1FDFpbuSsMS+Mc//lHXvUSycWlU+CVALvZATf65VcvPxRipNxsSNTPwmnCPta4kmFdqtm/BTz1nnAeRl17f2w0wsDtMzSASD13UmwJOY70vECbVeoMqwVp7sMF1qnOqHkQjcF6j2Vj8SfOwufJXGokqSbCpHK/1E42Y7+8rKpr8o1uLR7QX97YYDW3G3a1GbcKGzmPmRSwDZa43S/+cfiPOUYJXfdt1W6QwiUGYsR6iMadsVH89eVAv+pmnh43ZwZulIMjoqt47D+HDcwM1pSRTcSSgaeB7KY9wiYrT4HfoHwL8GydLWl1BCj/lQQp96fu78pXetzBHUYxKrg4BJ/OgLYTqrpqUR/BLAmcI+iCFWRJHGQQ4IeHyUcP86HpFNlznQVjugJInD1z144k0o+0zT3peyVIirnuXMCJw1ePek9Qkc2rg48diEdO8fhFRPXEBU+xGNK5uC5b+xstbAoC73YqZ77BwaVWaFxLvCvrs1QfZ5p+Fce4rQRQgBcNmbQJBYOl70uNP2Pocz0oCMoHAVquE5AMzToF061tjfLwlqP1uN/grNoYIJPSBEgCpg9nr+FLJYBkNgqv8xNTRWrWy6wzB5QxhbyX7dI/bdwPZ1Qy3Co9sF9d8u2AD+B5cxpGSwjD2/IdMYHwDmbHyF2zYFbQz5KE8K0njpaySeAtc+8PKnN/iPI28EE9S8mLCV4VTabIMxcl/nL0w03+lsR6tVT/IcMn8j1Ms4/vvqVuaYbAoj9PrU5VJAk6hSvr7KOQKplkQR+4CcTdDMENAkrfJIZg52Pou+xBtAUn+RQK3gB2vOQO34AJ6PlAioO6QhlGSVam1apXea0TYB/TItyvJfC3NA7XbBc/BXhfIVB7LoCfQbEd3pjZfMa+nOrWa5MBPoPYKXlYVCtsO40WrVHCVAFAi2NBXs75NBbM4D33Sw55D+gJJfP1VsQRTbTAH34CGN0pA7WFJe88FYWBEI0V9EHkK7YPz6xLFZl5EawxoSBJzCKk6mAu8hEGGlDwKUAYUZY5Xk4riVY58SbLaZvtiUo3hai0AXFJZxS6+SZlxkojKXMt8D0LDYBkeJjdcXsG0Hy8TTzjRwA986Zq8TTsRFdyCWY7IRuAPEm6t2cKLgx4VoL1NoGTpdFPgXrFwKJ4crSTWplcaPhxK0C/QCwiAOJceNdvC/8NxyEPwDFDiF8HiAmbojIaxJm+bx7ZWLDoojZVUsC4TJMq8dwfr8k0V6aqJ+8LXVi0//hzhdDqA55PLhRMfi7315M0JPY/Gghv/XZzW6xWPBqZl9J2x9Y4n2uWlH6RASYBcGaZNeJ5d+EC+qYysiky+FnXYhw66XeAlSFlABDjDDAVmb6XR34y11feUUJzgztRLENkA4/OYcHdUjeqb31ctAMhxODxFw/pjElQOJGEHFyL4AZXGTy4XQGE7ClhSxcOBG6czSB76cF6eksCrHixIGM8uM/KYq0OJwSC5XBwejumZrcNDTcQSh36pMeW6fjykdV/hIkKrr0iJWi9Lr2jSZOsHrPCaHvgyPoWotWotIOpPpno6uyg8zEtnF5q8ndO2d7nTEtaYN3hwd3dFItLDfxzsS5hAbSRd4ufra1G2sUKGW2t1lo0ufT5Kck+Q6dbpwb6YYjEr2yXrOyLRZprqBmpdIccFmcU2laZp+fqdOhrb/SP7ECqLDLZjm8IF/KJt/av9w4cO/e+w/YO8VVFbOX0FtP/ByhcnFzyDeunpArEOcisCzG0YLzIXxS4971ZjF3nZJYmj8qQEHaDQOKOMvMoBke/2RjstAZAUZkc8RCJ9dwy+c9rf7Y3YfjH2W84X7yoYlcjfPJXA/ZbFkZuhNIgWmrwNfvuEO5+ycVMUL10AjCND3jIBgCRfztJKWgMdJzAlO2mmj0EZAw2ALAeTJ5La7u2tgzhedom1AyhZrMsGRAbW5BBewRAAyYzmcbokDHjhOuwpzDJvASlRXERDiKB/COTvN+CdBD6B7W4Yd5rGt24KhR0Cufi9KyrnEMjCX7tcHYdAZr92C/ExDvZzV5D2EMjlH7tctEMgs1+7hQQcchL4uwXb/KET+CsaI8LLB/lG8Auya36zfjB0Jd9UvXjVxrNaZeKUcHKTwDcaUVA1H4jpT2hvLnAD5GaXQeLSI9aunwa4ly/7bJzZv9CXKrF/rcnb5a5d9d03aHz5fYFQctjpqAc/tnvP99vs/ztLNqsTRBnyohn82UsCha0itF63pyrdntJVWcwJofY1ohJBSll5syTJWCTc1eBAhGCrPYuXSY5gG3mLbBhkCNyCpZdsZzCEM7TdJrXhlixttiX7MkhOknxAFGZiMcJQegWkQNrZ2Xnf/di+8sIcgk4HSHMvzKBUzCSKopBblXdQAo+SYB/WmbqX+TkMIXJJ6xwt3BlMUTAPZh6Cbhoj4t3/tYZjSmi2Xdpgu/cfcZcrWo6Uy8tMYagUpk+F6VMR9KlwfUo74BZQU1ZtdVPla3d3JdVDipW/WQi9SDht+n8npB5uFhxMR0Rdfaqte/WOqXKlB9mplwYRTMcpOSU/DKL8S603iDPewrDuJM7IKqV2YQYvUm5vmwDEezPrUOtXZ9ZbsupGfVBfALXglRdOvNmlt4AD1ilPrWFNDtKL3aiHykoQhhz0IK8I19+DYKxASmGWh0iTb3AzJrwzowWIjrZqG0Min1T7VNs01/2/T4yz4u0lNjl3OGyz8gwKfyMoMsfsWb5rK9rUYA4aLQokeWxXNwyy3I8B8qM5YFzhpcVvn/CyguL/7RP47GV8lHQfVT7XGnK+TOMInwMVHHS/BilRHa20eYJbQove5apZNKEm18jWV8VhJblXfcLX55K8J7FNLvJ5EU1iJ5Sr4MP4M0z7XiZkzZs4I+t4lIKt94fkZtrhxy38O8TAhx9ZtH17HKeAXirbxQaRC+IgyID6st3dB17kAylVX3b3JfzQC7MY+HAeRNDHK04c+XGEWxbSqezSXl/mF9qCjGRCFHMclK4dLIPQS8NrsnTtdTmhXq/d3W+DMbqA6ecgg02I2kwL7VIEFr2EOBBmeOFn77rkgKsPRPFnYXYZ1Q1K2Gt3qQqu9trdx2iAGU3UAEFxn/MT29XCmy8LuXmZM61YCpbafpFJzKyNURROsWp/kK7wE75B80GSdkgBiPKwMZWIDrc+t+lIQFPKqznz2wBdxDkaxKjipRwx2S6GPtjKOh/anc5iq7Iyf6Dc+XkeobydCohLsqu7pRYk3jCfyy6GOsvjDDj700O+kmCqCuFBX1XrH5Uo2HVwvuVla9s7rdZTPVOiexsbLCLyK/lw7uUhKizwZNpt+YapeNVm+Tw7693tI1SPoYfK7c5M295IX0m/hoVK51ShhVnDnJGeqTIi7ezUmExSeBXEeTb8C5ltpFlhuhFCZB4Xgyuee3FLcVPV9vtfPuLcKLw8a3LOH7RtSb654jFQoi8OHjTTalbaH0mznij/FDe+O6w25+qrP8dL3n/kFl7X+NVGHT9Iv/XjqN0yM5/mIQr0dHZRy81U1GDpLaATH8FJjjs7mqFbAHz72yfSQqzNpufG8NAsjpCHy7aJcWRtYM5Bv/rsffCxvaxjOOvx023YMLucZXThoV263c2ePARZa91raiJxizUxsjHJ3ZfgNtAgXtFA5ymp7KFp7CksPTFhPTZZnU6HjumSj2w9zKu/NkM9mlCxEKQpaXM6eJS2eeA/NOwfxja/51tpwDYvpHkPxnYFyl2CXmP/xV4o/s26L7pUCebgrtwL4JcgQ2z1scArjgsISvhhkcJSyNY+cbHK2gheJci6MPBHdH539FkCF9rTy6KATQJKWlZm8jpbGF1JoOQJPHtW1KDiO0OYIYm8EmweqqFrbd5o+RoRmfbvle2vkYtVK+ydq1bL8/03dJ91FPtw6J3D+kvGoX5kDF3bsczRibBHRw+LBECSRQB+T4Z/0Wg0HhguAbAl8BMoPzDU++lZ82EYtusLotiHIMT8gAoFupBPoedf4yqTwQjt4up8EUQLvFb3/PVzO9W2jb3Q9X08o4kCisE6F1m73ZZa1btbjVLWg6IBCBum4fFqV74RGVk1vI1uwlbhXljqpnAZX8GnmBcCaY2nJ1j44aro1Ml2CmWIzNWAdv8i5upkH8Tcv4c3zlqDRxyH3qLmDMdD/eRuXxAg1iTCYw+XhUCLUpAHnRqNTaoVYXb/FEZqNB7CyF/AR9We5eVLekWPv4LkVx5r5i1uX4o91SwMILveK7ZWwq3fPeEttvI7kORiCq5Lt7f8cTFF2nDOspgH4rQkALyUfj8tg6gNxuUtTrbsSuIsC85DuAuSNJ5BSPI2Fhd4URxdL+Oc3opbS/uVrL/pyhg9OMbvi3JQfo2z0jHx55uucLLCUmGKlivcFdKvlWCKW5za1mNFKj2wyk8EgbqJH/opF44dwDSNU0A6SLyGjYB4A2yX3GENogWvdbXXi/TGqKjWDCLwwxeqJnZRGnvY/W9BmYfyK9Lkbm7tlaj6kr4SfZbCLM7TGdT4BeulF3kLuIQRapNDwORLbM8ETy49lFrU++xWr3Fv3//xgsIzuFQ7m72jZoxNB42ZLVDMjhVeQaY0QEgflmjuV794pa8uH7vcR2zddHnvQdyss7D525YiU9UvBPAeeZ1FvgJti493aqmmet2eZZv6Y2HX7B5BEy/Nni5l4VOVDyzUnar56wvVfAPKpAkqQv0pvsY4+gOcrSLbV3tbhZ+vdbfaZwREf6txWThc5Xnd42pX/AuXqz1/rM89WdZqFSsrP9gT/anOZ6tyt/hB7kKx4qVUpVbRCsLz9tNslke4boj+XjUj2zlhR3EeUb9lBDPkkt2uVuUWKhP9K2XfLWp5hoIwrNTMr7YlpZ3lJBnN8zC8xuQX9N30A9W/arW+fW0MJ4ZlG+Pj1v8GAAD//x7OgQxIZQAA + H4sIAAAAAAAC/+R8/Xebxrbo7/orppTGdmMkITtO6hzaYgk7vMiSHiCnuUkuC8NIokagwODEdfT+9rfmCwaEHDtue3vOzVldR57Zs7/3nj1ffP9d5zKMO5detmgZluXab23HOO87Q9d2dMtxT3VzqB0C0tcfjqcD1xyZjuuY58Z46mjPaM+pOTTcN7rTf1X0HNGeV+PhwH2jD83R9Df9zBg52nPaYRlDQ7eNBoAXFECfOK45sh19OCyQ/kS7BuP+a8Pa6O11K92D8ZvRcKwPyn610v/aeNsA06vAYCYwXNF9UOkWdNRjSjofn7wlw4amXeqpxxR1brtnk7MtpI8EDBuyMbX1xyNHN0eGNdgEYYqzpqP+ZidT3esXNgYYmaOzou+gW/ZtcHXAlPZ6emJgtxiNHfd0PB0NtAOmKvP8rGHYQTlsaDiipg4Oq1Y8P3MnU4HVg2cbovadJrijTTjLxDxugm7XHnFdQagXG5AXhmWb45Frji70oTnQDpgq+yNzU+5DtTD0xBoP3IFx0gDU2wSavD5z9cGABRzT3tjSBZMYljW2tEOmHhqpgiBk4AvuQ4OJNT4xWCvjeDx1TrCUWLoR7Xom2F6fmK5tWBeGJQKojQCDke0Ox+PX0wkD6zWC6f81tYxNYO4cuqM3x8JRV4CoB+GRKnTWHf2IMXLxalC37dGmY20Qft4Vgmizl1HuT21nfO7ahm71X7mD8blujmwq2wuG4Gwy3Rz/4kDotEzsWWJkvDjc7K7L9+KZAGNcmH3DnQynZ+aoguioBDJHp2PXGp+7/bFlTSeOMdBesHCwz37bSuen7iaMQOEntczSA90cltb5Scjf08lAd4yyi0eObWDHvzBJXNl9y5w4xE6WoQ9KTGq3KxDB6XQ6ObP0gSFACGxMptYZc3i12yuCBCcEy8Bm0NQu03/ftF3dts2zkWuNx447eaOpqrrRR/xnYljnpo051VSVoZ3oJHX1x5O3BEhTVRHzZDJ86050234ztkiwnZpnmqrWAreYQ8YsLFSVZzSaxjbcR1WfVwDGE8PSHaxDmhpUlWcvx2ro/Am0qLJIUNqO3n/tnhmOq1vnrjN+bYw0lU+hdZCR4bwZW6+ZLFOKWFP5jFoHt6cnI8NxJ5Zxav6mqXhSLYLyZGoOeS5T8bxIlfJGn7h9y8DuQpXBZyWxxxzZ09NTs28aI+IRr117ovcNTcWzFIF2jKExGVvOoJI2NZXnubKfOzzt5oJYjnmq9/F8ZRn6OZ4lOR5N5TmuAYgh01Sc2mjh4zgT7OS/vXX7OtbbhWE5msoTG4sM3GVYjq2pR0Vxwti2jT5WqjO03ZPx2LEdS58U06nxm9HncV94xxE38MC0T/Sh4ZoTRz8ZGram4rRGc6Y1tR2MYdO5eHIbmDYe5dr2K019zj3eMs916607MvuuORGSqvqceb45sg3Lcc3zge1ahu1gF8XeZ00xJyNn7J7ro7Oh4RKeNPX54X3HnZpDx7CKcSyMBlgRxpZxpzjh1egd3Xdcjd5zwXktA9vCtYz/OzUtY6D1eIoajUlS0M8Mmymmx3OTPdIn9qtxkQ3ForHLI2NimRe4E8+fuBTAXtnj6Qo3iu7a6x7ysCnK9XPdfs2Qsr6+ZQyMkWPqQ5psB401cZdHIC5n6qVOr3sEWq2yFCFFFeaGcf8c1PpwO9Yqnv1dVet1X9QhhMn3jW6fa73uT3ci6Wk9tVuH4OmorOzVOsh0pE+dV2PL/C9sJpUrhZUh3MeL8tSwLnAc42A0T80+NoU1dmj+dPQzraceMDUNDX00nZRyuOY5trrWUw9Z9I1s95WhD51XTE048bfCGZiFcQA6EPlAQTcrCGb7EVBibwmB9KOSwgh6GZSAskrDGAHlYx4i0Pu5E8DrTpxHEfgC5ilcAeUj2GnvvARoAeMWAACMbU3ezZIUASUl6DsFNjzG+3QFdpYe8he7cncfdP571xy4Q/O1oe36SQqTbO+LOdB22z/u7cmdfeDtgVtAWUBJvlrBdNd71/sAvHcHH/ZeAvg5RGC9s8coc495IAeFnz2YMPgCUAqUAOxIO3stGGWQcAL9RQKkGuk4QWCW5HEgtWZhqzU9mY6cqTu23ZF+bmgS/VtqnesWsWPRwRrKHlJo1rtxo9QiMx9ZvJYAZZvUYssmrZNnaSdKfC8i6+2r/BL6KGrRGoD24vYg8a9g2oKfV1ibpMa70CT5tqwIucaPtbVUgTNsR6QSX4dB6DEChZnUtnrQVhWVjxxdmANT56iJJ7v2K52TLBpEak1jcIhwNi/Winy7BfEGFkEw5+3EqMmKm75CWpOWftpehn6aZMkMtf1k2fGuMvyfMl/lJSs1tCVSXCzRQplm2P75QJN87GUxuHqRtcMEpHkMFByY12EE5zAAipIugaLEECmLJENAUT6FaKHEGViFwXFnlSZ+R+3EWWcVYuBlkmO3vllB7TKMg/0s9bVOskKd+SrfDzKkdZYx/SNZoTCJMy3FcHeN9HwCWI7mDRUMhZDMDzbkpA7XJGAMkcZkW4UB+3kNONvHnOWikTFwLHJDFCW1cHne1/uvDHdgWlrn2ks7vucvYMfD41J/EV7DrNPCpbY+wrWdAJwmCcJwdEDLuDBGDl5Onp2R6ozji5J5x/sjT2HnvPAFHf/dNj4jGGeYm3Y/z1CytP00XKEOvIYxyjqt/tQa4qXxZOpoHbRcdfw8jdxrmF4mGWwnOWqRWUWESFIv24SwjDPTdqy3rEqmKwOSkzB8x0/iWThv33jLCLRaKUTpjb8M3HDmzrwwylO4uwduSTbDfSHMNFl9CT55IXKzCMKVJvdeAhQuYZIjTT54CbJFOEPgyZPaD4JilqQgBGEM5N0MfgQqkBnSvZcgSAgI/sfQAZn/kOTbX9cSxnWZQu8KfPkC3hfQ4Qy8A3IIFPixwAc+CFMR/0fSsfEZ+jmCAXgvyb++l/BATCV7WQFNIcrTGKhFY5HT+T8iPJBLRRS9s5D8DJJYmAW2k103at3NwgjG6D9H+X+WRkV1xVmUJFf5qtCSqBlV0AzWUoK8yBV1lUI/SQNNPiRDM+SliPRr8m7gIQie/pDRguLTIowgQGkOK4ri1IFSYOUqUwiLWherBBPZojw/T1MYb6Faand3VwQEisDr3h5Q5hDIFem2O7/kYDjBxJVhKcTJLNh/kGTYX2Eg3W1rZsDtVi6C5U6VUBmKUHoQm0n6NUVm0E/iIJNwSDZFZJy4GfJQ9k+ISRyS/5yILLQ1h8hFXnrpRVGhJeSl7l2aouBEU3ka8XCkppZvhdFrrnBpi+oE2Jr6vBQo6I8ZAcHU7qM6Ads3qo8b66iL3ToCyiyzh9dAJr+TkpmfgSzM9qD38xO1ggez9Q7Iv4DvNNAFH5qYIaHjoQqiCoAQgY+1rDtLk6WbwnmYofTGxSWmi0uJR1ocj5olUQBTHPdhSpegXEnS3n+iW2C1gRVeRotOwdSAq1SmZIVWaUC+3VrSrbEbCSXh49xIQPSnu5Hn+zDLXJRcwdidJWnVee5wHOIsBw/Jm3q/b9g23UbmpbK8uxGX10DJgPIKSOcQeYGHvGM82Ut4uZGs0uTzDZB+lICEbSTVJmclBpLcQEbizgEaZuHGAU1e1P2GGZQNle/cm6rbJIWzFGaLbzCK56cuNcxLgGDsxcgNcVH1sqJ8TX72ELtZxqll2K/uabjfwGRsO8SA/SRGMEaKc7OCx8BbraLQ9/Car/NZ+fTpkzJL0qWSpxGM/SSAgSREOf6nBECap1gGsrYVPfVJBtPr0IeazCR+QqXV5ELqJyK8VjFyndACoVV23OlwZJ3Ey9Gi14Gf/YUXz2GTlzUp5W43axzxP+ZnZHkaJfMwfqhfVeTg88U9XYmwNhyfmYIfkbRLOAEStwCO9jCAMQrRjUIsqGQoCOOGLCzdlYYl8K9//auue4lk49Ko8HOIXOyBmvxLq5afiz4y32xJ1MzAG8I91LqSYF6p2b4FP/WccRnGXnrz1WqAgd1hagax8tCiXhRwGpt1gTCoVhtUCdbKgy2uUx1T9SAagbMazcbJnxQP22f+SiFRJQm2Tccb9UQj5q/XFRVN/tmlxQPKi6+WGA1lxt2lRm3AlsrD92KWgTLX89O/pt5IcrTCq77dui1SuEpAlLEaojGnbFV/PXlQL/qFp4et2cHzUxBmdFXvXUbw/rmBmlKSqTgS0DTwo5THeIpK0vAPGBwD/BsnSzq7ghR+zMMUBtKPd+UrvW9hjuIElVwdA07mXlsI1V01KY/h5xX0EQxACrNVEmcQ4ISEp48a5gfPV2TDdRZG5Q4oabnnqh8PpBntkHnSs0qWEnF9dQkjAlc97h1JTTKnBj58KBYxzesXEdUjFzDFbkTj6rZg6R+8vCUAuNqtmPkOC5dWpXlh5V3DgB19kG1+P0ryQAnjECkYNmsTCAJLz0lPP2LrczxrCcgEAlutEpL3zDgF0p3vjfHpjqD2u93g79gYIpAwAEoIpA5mrxNIJYNlNAiu8jNTR2vdym4yBJc+wt5K9uketu8GsmsflwoPLBc3fLtgAwQeXCaxksIo8YL7DGB8A5mx8jds2BW0M+ShPCtJ46WssvLmeO6PKmN+T/I09iI8SMmLAd8UTqXJMpSs/u3shZn+O431YK0GYYanzH87xTK+/5m6pRkGi/IwvT5WmSTgFKqkf45CrmGahUnszhF3MwQzBCR5l1yCmYGdH7L38Q6Q5F8l8AWw6zUX4AtYQC8ASgzUPVIwSrIqtdat0nuNGPuAHgd2JZlvpHmgdrvgGTjoApnKYxn0bprt6M7U5ivmzVSnVpMc+BnUjuBlVaGw7SiZt0oFVwkAJYYNdTWr21TgJ3kUkBr2EtIDJPH4q2IJptpwBr4DDSdKQO1hSXvPBGFgTCNFvRd5Ch2Ay5sSxXZeRGsMaEgScwipOpwJvERhhpQ8DlEGFGWGV5OK4lWufEmy2mb7YlKN4epcALiksopdfJsyk9VKVOZG5rsXGgbL8DC54fIapv1kufKEGw38wpeuybu0ElHBF+DniGwEPpVwac0WXhz0pADtbQMlS6fbAveahUPRcrKWWJleKfhwKMGgQC8gAOJYetVsB/8PxyEPwQtAiS/C+QJm6IKGsSbvmqe2Viw6KI21VLAuEyTKrHcH6/JtFem6ifvC19atIPkU43Q6gJeTq7mTnIq19eT1Gb2PxoIb/13c1usVTQPTMvrO2HrLE+3yKghToKyAXOmmRXieLQIg31Z61kUm34g67ENH3S7wVkiZQwQ4wwwFZm+t0d+MtfWPlFCywpWpt0JkA4yPY8LdMWtUT35ftgAg1+HwEA3rj0lQuZCEHVyI4HvMNMHqag4UtqOAJVU8HLhJ6kPSGMBZeUsCr3qwIFHiX2WkmatDScBgdTU/Ph7TO1vHx5qIJYmCUmPKTf16SOtrExcRWn1JpqjNaeklTZps/YAVXtMDX8anELXWrTlE/clUT/1F4WFe6i80eTenZe9yryWsMW9x5/7+mkSkh/84OpQwgVpPusTtm2tRtrFCulsb8yzrXQa8l+SeMNOt86NDMcViVnZL1vdEos001S3UukKOCzOLbSpN0/L4nToa2/0j+xAqiwy2Y5vCOfys7fx3++n7Dv3vuP1U3qmorRy+Btr/w8oXBxc8g/rU0wXiPMitCDC3UTLPXJS49L5bjV3kZVckjsqbErSDQuOMMvIqF0R+OBjttQRAMjE74iUS6YdT8IPT/uFgxPaLsd9yvnhVwajEwfahBO73LIndDKVhPNfkXfD7R1z5lIWbonjpHGAcGfKWKwBI8uUsraUN0PEKpmQnzQwwKGOgAZDlYNIiqe3ewSaI42VXWDuAksW6bEBkYE0O4TWMAJDMeJakS8KAF23CnsMs8+aQEsWTaAQRDI6B/OMWvJMwILDdLf1OU//ObaGwYyAXv/dF5RwDWfhrn6vjGMjs134hPsbBfu4L0h4Dufxjn4t2DGT2a7+QgENOwmC/YJs3OmGwpjEiHD7It4JfkF3z282LoWv5turF6zYe1SoTp4STmwS+04iCqvlATH9CebPABZCbXYUrl16xdoM0xLV8WWfjzP6ZHqokwY0m75a7dtWzb9B4+L1AaHXc6ahHP7V7zw7b7P87SzaqE8YZ8mIf/uKtQoWtIrRet6cq3Z7SVVnMCaH2LaISQUpZebEkyVgkXNXgQIRgp+0ny1WOYBt582wYZgh8AUtvtZvBCPpot03mhi9kabMr2Vfh6myVD4jCTCxGFEkvgRRKe3t777of2tdelEPQ6QBp5kUZlIqRRFEUcqdyBiXwKAn2YZWpe5Vfwggil5TO8dz1YYrCWeh7CLppgoh3/8cajimh2XZpg+3efcBVrmg5Ml1eZQpDpTB9KkyfiqBPhetT2gNfADVl1Va3Vb7299dSPaTY9OdH0IuF26b/e0Lq/mbBwXRC1NWn2vqq3jFVrvQwO/fSMIbpOCW35IdhnH+u1QZJxksYVp0kGVml1B7M4EXKly9NAOK7mU2ozaczmyVZdaM+rC+AWvDaiyaef+XN4YBVylNrWJOD1GK36rGyFoQhFz3IEeHmOQjGCqQUZnmENPkWF2PCmRmdgGhvq7YxJPJJtU+1TXPd//nIOCtOL7HJucNhm5V3UPiJoMgcs2d51laUqeEMNFoUSPLYrm4YZHmQABTEM8C4wkuL3z/iZQXF//tH8MnLeC+pPqp8bhTkfJnGET4DKjjqfgtSojo60+YrXBJa9C1XzaIranKNbH1VHFaSe9UWvj6X5AOJbXKRD49oEruhXAUfJp9g2vcyIWveJhlZx6MU7Lw7Ji/Tjj/s4N8RBj7+wKLt+9MkBfRR2T42iFwQB2EG1Bft7iHw4gBIqfqieyjhRi/KEhDAWRjDAK84ceQnMS5ZSKWyT2t9mT9oCzOSCVHCcVC6drgMIy+NbsjStdflhHq9dvewDcZoAdNPYQabELWZFtqlCCx6CXEgjPCiT95NyQFXH4iTT8LoMqoblHDQ7lIVXB+0uw/RADOaqAGC4mvOT2xXC2++LOTmZc60ZilYagdFJjGzNkZROMW6/V66xi18g+a9JO2RCSDOo8ZUIjrc5timKwFNKa/mzG9CtEhyNEhQxUs5YrJdDAOwk3Xetzud+U5lZX5PufPLPEZ5OxUQl2TXd0stSLxlPJddDHWWxxlw9peHfCXBVBXCg76q1j8rUbCH4nzLy9Z291qtx3qmRPc2tlhE5FcK4MzLI1RY4NG02/ItU/G6zfJ5dtG720eoHiMPldudmba7lb6SfgsLlcqpQguzhjkjNVOlR9rbqzG5SuF1mOTZ8G9ktpFmhelGCJF5PBlc89yLS4rbqrbf/foB50bh8KzJOZ9qu5J8e81joERfXDxoptWstD+TZj1R/iVufHdYbc/V13+Nl7z7wC28qfHrrTq+l37r11G7ZWY+zyMU6qm/qOVmKmq49ObQSU7gJMeVHc3QLQC+//0jKSE2RtN7Y7jLT2Lk4WnbxDiyNjBnoF9texd+aC/rGC56/HYbNsw+ZxktPLRPt7tZy32QtTa9piYSt1gTI1uT3NcS3BYaxCsa6Dwmld03jT2GpUcmrIcmq/Pp0DFd8vmt+3n1t2aoBxMqFoI0JW1PBw/SNg/8+4b9/djm73wrBdj2hTSvwdiuQLlL0Gusv9iB4j+s+qJLlXAG7sq9AH4OM8RWH3O84lhAUMIPixSWQrb2SYpV1lbwKkFWhYE/o/K7o84SuNAePy0K2CSgpOXMTI6zhd61BEqewJMnxRxUfIEIMySRI8Hmrhq61vaNlm8RkWn/q7L9PXKx2Qp757rV8oLgNd1nHSUBHHqXsH7IONRPjKFrO5Y5OhP26OhlkRBIsgjA38nwbx2NxgPDJQC2BH4G5QeGej8/ab4Mw3Z9QZwEEESYH1ChQBfyKfSCGzzLZDBG+3h2XoTxHK/VvWDz3k61bGMHukGARzRRQAnY5CJrt9tSq/p2q1HKelA0AGHDNDSv9+VbkZF1w2l0E7YK98JSN4XL5Bo+xrwQSBs8PcLC91dFp062UyhDZK4GtP83MVcney/m/md446w1eMRp5M1rznA61M/u9gUBYkMi3Hd/WQi0KAVp6NRobFOtCLP/lzBSo3EfRv4GPqr2vIZpOLshX4FbQC9Ci9090ZxBsvTC2KX3hFUhef0BJFnolLbcixyMbIYDZ124XKGbjdwqN3yGrpJug3Du+gvoX7lx4lJs5MnfHDyNkxT64Gm2SFIEntJ7Vs/AU34b9xlo77Uqb6PuuMN5Sr5YgnN3CrMkuoYgTRLE2d9p7zyG8yrbDYwyGUSlFud4lSehRBTeyAUih1XMKjWa0r3FZZKKLHBJMa1jcj5IyD5IE1VvoF4GCIdg5WUZDMihU/kKmL4V5Wfh/O1tLc8Uz4DF4t6PQsjemYs1vvD8/KBV8+FiiFRRYjFkm/aKcSBJSwLAS+mH/DKI2mBcPidm6/9VkmXhZQT3wSpNfAhJAYHFBV6cxDfLJKfPMzf0W/GqbW8X6Q1G/nC57jyV0r30n+a3xKzCqTBF6ya8PKGfzcEUdzi1nYeKVKbCKj8xBOo2fug3hTh2ANM0SQFZygC08GIgPkXcJ4+pw3jOi67aOTd9uiyqNYMIPP1M1cRe7GMP+/pxPPNQ/lafPBKvnc2rL+jZ/BMca3nqQ42/9F96sTeHSxijNrmNTj4J+ETw5NJDqUW9T271ewK7X/+KRuEZXKq97d5RM8a2bDkT0gdOZ9eQKQ0Q0ncmi7r6xbeldfnYK1Ni66ZXpPfipjlfNX9+VWSq+qkKvljbZJFvhbTF5r1aqql+94Flm3qzsH37FUFXXpo9XsrCpypf+qg7VfNnQKr5BpRJE1SE+kt8jXH0JzhbRbZv9rYKP9/qbrXvWYj+VuOycLhKe93jat+aKFyu1v5Qn3u0rNVZrJz5wYHoT3U+713IlfxSrHhNX5mr6AzC8/bjbJbHeN4Q/b1qRraFx+6EPWD+lhHMkEu2XVuV59BM9G+Ufb+YyzMURlFlzvxmW1LaWU6S0SyPohtMfk4vSdxT/etW6/tXxnBiWLYxPm39/wAAAP//6NQ9SOtnAAA= @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line33.sh b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804+krustlet/CustomData b/pkg/agent/testdata/AKSUbuntu1804+krustlet/CustomData index ed7ff32792c..07d1e86fbe7 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804+krustlet/line33.sh b/pkg/agent/testdata/AKSUbuntu1804+krustlet/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+krustlet/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+krustlet/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804+krustlet/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+krustlet/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+krustlet/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+krustlet/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/CustomData b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/CustomData index e30e731a52f..d7e1ebe9fe0 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line33.sh b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line9.sh b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/CustomData b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/CustomData index 0bd9b340528..af4e59e906e 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line33.sh b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line9.sh b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/CustomData b/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/CustomData index ed0845a3860..6d87a503063 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/9x7bXfauLbwd36FxsPTtHPGvPRtpp1Dz3LBIV4Bw2ObzO3t9HoJW4BOjORKcppMm/vb75JkG0MMJJne+XBZqw3IW1t7b+13yT/+0J5j0p5DvmrYnheeOiM7/N0K+mdh4IztySzovQYNjgQwrxt4AT4CcwHaNBVt+GfGUDuiREBMEOPtlNErzDElrYiu0wQJBD79BsQKkQZQHxStKDCshCEY3wAGCRAU8CyKEOcAXWOBybLVahkF+DUWoNNY4EYDpmIN2eXv1giT7NpaIiLAiiYxeNJojCbDcOB4vfYVZO2ELnPC4CVvrC9jzICZgubXHOq2kRBgcrADHCUZF4iZGxYSugR/5IQcAzYjjkyaiTQT2/M2Yvqp9W9OSd2TKKFZbGKChbnACeKtFF6huA7yaiXhuIBJspFwAbfhsN1opDdiRcmLY/sUMhTDSISKhDCiZIGXrfQmx2mamjQ9bqZQrHJJ4Lmmuq2oIVHBRI5BXIsShZaKnlwhcRe+0Zi9n7nBLPTskW35dq/5NOHzkKEEQY6AyYDJnyn1+wiaX7dhb0GvB4zu61bnpQE+VTWOZzEFMBXmUqrvDYCZoAyt6RUC0YpRctMotbL5r80MfsMFWkciAQxxAZnIR2JT4DXiNySKlVLqiU9jKNCzn5tPV5QLAtfo2c9AzYoyLuiaRwyn4t07tRXrRmNBGcAAE9B8ytFn0AUvXnc6z34DMVUEaAvjwGh+7ft2eGaPprbnK6ucWsHZrbFjUgAsGUqBefoZnPyYQ9uT05MDCJ48AXOG4KXCsMCbZZsYmOizIujOKsoWm/UOQksx4aiE5glCKegWK8SUoAZHMTAxMNoVMtuxsZ/QBqcZi9ABgB2IgeMH3uQ4Jsf1A2s02g+QIzoK15+4p85wiyKtokbz68DxrfcjO/R9KXOpoYJlaEdBY8zhPEG+fwa+favIuDJ5o2lGyvAVFAigJZMOM2X0+gbAOFa/MAcnza9Tz7mwAju0h57t++HUm/zHh9AaDOSv25Mqff7ZZDYa5CzMPDs8C4KpnrCf3vvMDvvWfgTyo60+Y0jOmUom+tY2+7PpQDLRt8K+7QV+VVHLybaIbHKFGSVrRISS0gHm+jM/mIwlxsCb+cF+AhO65KGgIbpCRHBgWOd+q+/brXLdvrLqPuwjJvACR1AgAxx6epg1Sbcm2ySS8skseD+ZuZL28dhyB7e1O6BhtbgvLM+/rREzuoIJaG5gqlJkSLCbaB2HeBEuIE4yhsCrDuiCV6C5SwF49+7BAfD5uyfdbb4rWF03PLWc0W+K933y5kj0pzOLRSsDbL4X9tdGImpTbubxoVFGBmdwC37oAWMNmYx1UizS3209UzwkMo/YkZq2Mk8GCEyWYA2JGc9V0DCzVHp5sEjgEsgoXWYp++jXYWYMyWBuZYLO1PzTBC5PcYIMcPDxtlI0v76fTAI/8CxlYMr99iduYDmu7YWePZTO6kPo296F7d2WHIGD5FEG+YguMVHfwkR+Db9gsQovszlKkAhxjIjA4sYAxyCkKj6AxP/XvjVAc+bbXmj5vjN07UHoDGw3cIIPoTMAzcB2LTeQX0sN+pf2gtcpZULmn3xFsyQO+SVOQ3KFYwzDmOErxHjj7liY50y95tMavQ8JDbmAgoOuNIBuB8hUGJjR9YFVnjUYEr3mv0qPw5AwlHJ1anXqFOIExTLbjZFAbI0JkpaskQKNFORk5suCOQJy5RTFWtM2tuReOAPHCgeec2F7RZSqKI3R/DqczkJ3MrBvNVWFo5MS1QD7xfQI35ggSGbpcDobaPEY4M7QQWMvwqDOsjzEaXKFYgPUj+/HU7phK15jMuPSAdwdqyrSEglHsz2mMbJI3JeEZ2m/yJadNVwi3vDPnWn43nEt70PYH9mWO5v+JXWaYwLZTRjp1Z41TmejUZlvePb/nzmePeg1n96TPtCsIRA0HT+8OBs8Xlll2ixWqNTMNY0RgCQGOd2gLCoAVnTsampOScUZOGNraFfDXnPiS31r5jn9xA9da2wXfhsYzVrRGGCjovfQ0JyBAUq5ASo/GmXWqlkf0iRGRDPzmzY/GQlilCISIxJhxIvpUGBKjINqnUOWe+VlRBYQJQW7D3R5bTS/urY98DdCG2ybZCGYr4E9sqcTLwhtV2aLO2D3CQM5IQFKkLSIeJpkS0xKAnfGFbMciSztu84AM36UdReJL5Rd7qDdGm2UXDt+eC6Ts5Ed1HGSMxLBBEiHginhv0O+7jWf/vuzLBBPWlMYXUot/PgJfAMcJSgST1uyIlPISl2NzS+Qr02+wmtuPAPfQCumX0hCYTzzHN6K0QJmiWhFGWOIiFax2MXzj59aCRSIiws9JIus/mQ8nbi2G2zqDeNZhdQC9YhGSmO+N8kF3ofQMvNGf4vkKusdI+9+BhRLsn21Otj/DBjNOqkblfFcAnKoqktGo0bJ/BST82yO7isunmIiU6S/XbUeSqhRUPo9FOrRi/+NelTQWCpPMbClGRuou3pUfbarH0YZ1KQz0y459O2+LD+DkR+WKfLUcYcHHNyeFCmnxEdRxlAw8t9TKrhgMD3X6bh9jaLCzz4AWBHt2ZK4Mu1YQBkVD7S3DF91xYrUSobI4XSW57HcqE1De0Ayu6nHjuWgPzwsB0WEZwxVU9Ddke0GRr4/ksCBfeH07XA6mg0dN3ROQxl+dTQtaN4prUssY2dY8ldNszWL5gIYqlLN24f537Zm2YzRFY6Qmap9aHHE5M+aQl5+ykb2gxG2YmMLk0DoMUja3Y65xstQapFAyxuVaxvgHWjH6KpNsiQB//zniT05PWl89PWkT41Kg6ZnSFlJ/Q/s4YeeKZGZBTLAMVkmyGhIvVS61at8bWectZXDyWlUBxZ15IJmdRHJbcOenJbs582PQ2qkGretOtwGMMq+sE1kWWKRWNtBPfhW++OunvmB5QWqEXK3fbqfOpoeJW6giyZFHU3riSt6Qds2oaxVpZ6n1nvP6Ydjy7WGtne4nYcXAPOx7rdMmPVnxpA6pAFGc+IbNbp8LGdUBJ/COcPRGBK4lFXc/mcP2d1cFgs1f13gPravO+B391XV4f7ujt4R7x5nsSOhHV8socpnRxnUPm+Ml1PIBFYVCrg7VpB3+AzDsGWht8/F79Qqg0n/3PbC0WTouHtjG0cC/ONaN75pdIkYUF0lYGag6duetg7PcfvO1BqF/ZFj6zaQmR547tt9zw4kJdZ/ylBbdMB3G2NGSYJ5fZ+qLY+U8k8kEovE8pvqVpfauB+k0YgYggLJgTEkeIG4GGC2kdqZ5Rc9ad+2vP5ZOJiMrQOyM5pf6+Cr5zrv9hz3qYrN1KdRJkeQRSszpmuIyZ5ebd1CvlZs1WY/HIzy9mA1/hxv2OSiVJGDLCtdm+0H98H0K69O/5XfY07fdao9fNepFKXTi9fhYGaNpHn3zw+V2vfITwZn/enV68Im9a8ibbyfEz3KS94sm3E0UHtclcadZ1sp6+Guw7153FRkBZ+bEbBpuBwRlPIPpaDUr+0O59j2fWtoh5PTMDizw4H1IU8a7x6YHJCs7qWYC32iEJNFG2aCrqHAkRLpzjlocYbJ22iNRXiFIeiBNRVx9TcXMabtpbEPZx7vt9pfxk7/q5pFxrmd6TMIUy7XimvzRHjJ9QHUmIpYnylMoVj17k5vv3ljwkteeAU5WMEjaBatpJD3ILytppTRak1j0Pnl1av7zlAxx0TAqNw9+YNEUGiJSWKkNzuKLY/4unW3RyO+gTnk6PVLKcZ3G/zbuhRY3tAOwv5oMiu0XilKf4UJ7Cc02xU3QwIux31Pd19PKVOQ20jzCuNs4gd+cVJsDW330YePU33829eHb2eUi9K2ax5tmfbWeWgYeJbrTy1Phs+z2dAOp9bQfrC1l14lYJDwFMpS/SxboilcVk9Ea54eIM3/3ZqqmPZ4cvwvMNWHbHeG6tzd0JvMphfP9663t166E+dkiRQtGc3Sq+e15ZGsRfYUR+ez9/ZIqqAiJzwdWUO/Z+boTJ119XICDFXUPMpzl5FbMbTp623ZkaTFtYMwsMfTkRXY9Va0mawkQZAIBVqnCRRIe7nHSG/TaJTrmYsELh9eaJayLOVRypPpRrvJ0OcMcaHu89BM9Lqv1sDcLF/CIRKnFBPRywi+fttut1lGqpxvvrY4jS7BZgW9c7yX89viCY7QFnxe75cVahGtfgAcra8Q69O1NBugN8Rz7cD2Q1loOBP3rWl0Wp1Wx7gFRrf1/JdWZ7fQeqTgS/q/k+hDb+YGzthWO9CrEXGPoTUVFTHkdUk1US6wDhz/PAw+TO3vZKxzTOI1zYjYb60zgsWnhoc+Z5gh3pMzTD0lx9SwFgKxugeFkR5OdPwbHomkSHT0r8YDDoLqnGhF8WcjZ+wE/h6BHbp8UWrqLMFrLKpp5J1n9+Azz+MLRvOflXapL4s3dxIOZlNZxE3Gjt+fTWZ++N5zBo8IT3odlw6ydEKmjK4xj7L3DMcyOh14eK+jyW/f/mK6ns0zIjKfwJSvqNCZTakEW6MFPfXnoHduBu2lefd2kHT2z+O4G6HuL2bnlzfIfNl5EZnzF6+em7D75nkXoeedXxCSVsFveHue8fbVWv6f9wDaq6swEzhpZ0Rq/+buX54jd1/gP777Kn+QPK1mUUu1BKs+48IaOQMrcCZuaHter9NoNKypkzcA9MUjzw48x/Z7rzrFHlcglKR6PfBTK79pl2By2fppW3j7MHY76qaycuDqutEO4lvQ+2/wXx875ptP//ijVf+3uXepgeurlT6Ul7JfdDrVbX8oG8fQv87RV+6HHs1qfzjU1fJ7zaf7rAGmWHpNxFyeUHqZpQYwyrsVJB8DXdB9tS3XO2Tf1sg9PxuSHz/we/lF361+qxyvYbfpB75kqnOXHxm6QEnZ3UV3jgqanq3M8iej+/rX1usXre7zN63ua+MnUN/u39Fk1ZU5/9UPK8vobpeUwGgyOZc5Y9F4vMPePTHuw1WUWVWUhd/euYmtnXT3V30Vu4axH4PJYAKexv/myc2zt/k1OCBWmANKIgTUVIA5ORGAZ2lKmUAxgORmTRm6Vxd5o0v9qhZVLjpu7VbVhm/1hR0SAfPqzzoLfvnyher/6t0/BCah7iHy8jLk/o07ymc/Y8kjOY0ylgDzSqa+MEIsr79lrsQIEoi35SBvR7AVMQFWQqT8bbt9l+O3W4J5GFbjHmgfJclcbRd403Pa57sLX/p/TKcqmcz3uRirmtrHrsaqC2KXOLqUgHSxKIBzuJRR9boPFMWxg27m6Ib5vhux6k2YjDPVL1pDEs8l9ZquHP8CE8xXKM4X2loBPCnTqO3zlV0mTxiaUyoA0xl//DPQA5IXQmMEMAFdsMYkE+hEU1V0sIAZAYOvMhHTLwSYDHTBE+MRmVndq04ZyV922tXoh6HeuZwwc60gsN2BPQhn06FnDWx/b5pdfGazIuoPHK+nay2YCvlPVVGqtZgihmmMI2PPGXbzaYyZugkiQ0gV463xbOe4umhF7oBtAeUtyNcvXx6D1JtsTYO3b6c5kW/fal0z8/sq5ghzafxd47cT8O7d4zASKAQiMYrNWbpkMEb3xrd5+Sgja8gv1ftLMcTJTVFZbkbMTCMva856REgda/5vIJJOi9WgUeN7kBTvVJkmoeY8odHlfRFW8T0GeR1zdcfHRy1QNe/vf+j9HcyuekfSCqyj8BvN1GfaG4Us9BFzQGg1yZrfgEsoYH6T92fwBSeJApmjfOPjk23N301Vtrciv7wNYrIwywMQk1CBFzeUFHt9AAEXNH387Nx6tucXb08WBrB17Ol/8AN73A9Guyf5j1hA6+tfQL9zFeH7rVLR802GtHnHTB+3AP3WYhlTWzJ1AjoHAhElBEUCUwKiFYouQURj9NYAze3k5MDVAkTi+pcjNR87eBqNH+3J6f8EAAD//5MULimoPAAA + H4sIAAAAAAAC/9x7e5fauJL4/3wKjYdfOpk75pHXTDKX3OOAm/YJGH626dlsJusjbAG6bSRHkkn3dHo/+x5JtjE0r+7Jzh/LOUmDXCpVlapK9ZB//KE5xaQ5hXxRsz0vPHcGdvi7FXQvwsAZ2qNJ0HkNahwJYF7X8Ax8AuYMNGkqmvDPjKFmRImAmCDGmymjK8wxJY2ILtMECQQ+/wbEApEaUB8ULSgwrIQhGN8ABgkQFPAsihDnAF1jgcm80WgYBfg1FqBVm+FaDaZiCdnV79YAk+zamiMiwIImMXhSqw1G/bDneJ3mCrJmQuc5YfCK15ZXMWbATEH9Noe6qyUEmBxsAUdJxgVi5pqFhM7BHzkhx4DNiCOTZiLNxOa8tZh+avybU7LrSZTQLDYxwcKc4QTxRgpXKN4FuVpIOC5gkqwlXMCtOWzWaumNWFDy4tg+hQzFMBKhIiGMKJnheSO9yXGapiZNj5spFItcEniqqW4qakhUMJFjENeiRKGloidXSNyGr9Um7yduMAk9e2Bbvt2pP034NGQoQZAjYDJg8mdK/T6B+u0m7B3odIDRft1ovTTA56rG8SymAKbCnEv1vQEwE5ShJV0hEC0YJTe1Uivr/1rP4DdcoGUkEsAQF5CJfCQ2BV4ifkOiWCmlnvg0hgI9+7n+dEG5IHCJnv0M1Kwo44IuecRwKt69U1uxrNVmlAEMMAH1pxx9AW3w4nWr9ew3EFNFgLYwDoz6bde3wwt7MLY9X1nl2Aou7owtkwJgzlAKzPMv4OzHHNoenZ8dQPDkCZgyBK8UhhleL1vHwERfFEH3VlG2WN/tILQUE45KaJ4glIJ2sUJMCapxFAMTA6NZIbMZG/sJrXGasQgdANiC6Dl+4I2OY3JcP7AGg/0AOaKjcN2Re+70NyjSKmrUb3uOb70f2KHvS5lLDRUsQ1sKGmMOpwny/Qvw7VtFxpXJa00zUoZXUCCA5kw6zJTR6xsA41j9whyc1W/HnnNpBXZo9z3b98OxN/qPj6HV68lfd2dV+vyL0WTQy1mYeHZ4EQRjPWE/vafMDrvWfgTyo60+Y0jOGUsmutYm+5NxTzLRtcKu7QV+VVHLybaIbLLCjJIlIkJJ6QBz3YkfjIYSY+BN/GA/gQmd81DQEK0QERwY1ge/0fXtRrluV1l1F3YRE3iGIyiQAQ49PcyapDumS4hJKH1Hx1hGrLHEEaOczoR080bOlklA/fb9aBT4gWcpWStL7I7cwHJc2ws9uy/19mPo296l7d1tqVp1kQch+n/NO0PSuUIMz27CnuuHCwQT6dArSLcU2PXDC9saBBfhueUMamsejPrtaBK8H01cuT/DoeX27nZqmYbVKnVpef7dDlVCK5iA+hqmqikMCXYTLeMQz8IZxEnGEHjVAm3wCtS3KQDv3j34kH/+7kl7k+kKVtdVfP+m9nefTnEkuuOJxaKFAdbfCx/TRCJqUm7mZ2CtPP2c3h34oQOMJWTyPJdikT5945niIZGx0pbUtCfx5CGIyRwsITHjqToYzSyVJxmYJXAOZCRSRmL76NdH6RCS3tTKBJ2o+ecJnJ/jBBng4GMlmL+q2OAgeZRBPqBzTNS3MJFfw69YLMKrbIoSJEIcIyKwuDHAMQjwcJMB9Ylve6Hl+07ftXuh07PdwAk+hk4P1APbtdxAfi016F/a01+nlAkZY/MFzZI45Fc4DckKxxiGMcMrxHjt/liYx4Wd+tMdeh8SGnIBBQdtaQDtFpDhPjCj6wOrPKsxJDr1f5VelSFhKOVq7dSpc4gTFMuIPkYCsSUmSFqyRgo0UpCTmS8LpgjIlVMUa01b25J76fQcK+x5zqXtFSdxRWmM+m1/PAndUc++01QVzlxKVAPsF9Mj/H+CIJmk/fGkp8VjgHtDB429OOp1JOkhTpMVig2we3w/nvKoseIlJhMuHcD9saoizZFwNNtDGiOLxF1JeJZ2i4zAWcI54jX/gzMO3zuu5X0MuwPbcifjv6ROU0wguwkjvdqz2vlkMChjKs/+/xPHs3ud+tMT6QP1HQSCuuOHlxe9xyurTA3EApWauaQxApDEIKcblIkTwIqObU3NKak4A2do9W2/oqz1kS/1rZ7nLSM/dK2hXfhtYNR3isYAaxU9QUNzBnoo5Qao/KiVkblmvU+TGBHNzG/a/ORJEKMUkRiRCCNeTIcCU2IcVOscstwrLyMySSop2H6gSwhG/da17Z6/Flpv0yQLwdwG9sAej7wgtF0ZEW+BnXIM5IQEKEHSIuJxks0xKQncGlfMciSytOs6Pcz4UdZdJL5SdrWFdmO0VnLt+OEHGYAO7GAXJzkjEUyAdCiYEv475MtO/em/v8gk+KwxhtGV1MJPn8E3wFGCIvG0oeIviazU1dj8CvnS5Au85MYz8A00YvqVJBTGE8/hjRjNYJaIRpQxhohoFItdPv/0uZFAgbi41EMykeyOhuORa7vBOqcynlVILVAPaKQ05nuTXOB9CC0Tb/C3SK6y3jHyTjOgWJLtq9XB/mfAqO+SulEZzyUgh6q6ZNR2KJmfYvIhm6JTxcVTTGSI9Ler1kMJNQpKv4dCPXrxv1GPChpL5SkGNjRjDXVfj6rPtvXDKA816cy0Sw59uytT7GDgh2WIPHbc/gEHtydEyinxUZQxFAz895QKLhhMP+hw3L5GUeFnHwCsiPZsSVwZdsygPBUPlPAMX1X+itBKHpH98SSPY7mxMwztAMnsOh87FoP+8LAYFBGeMVQNQbdHNos0+f5IAnv2pdO1w/Fg0nfc0DkP5fGrT9OC5q3UusQydPolf9UwW7NozoChMtW8RJr/bWqWzRitcITMVO1DgyMmf+5I5OWnLNY/GGEjNjYwCYQeg6TZbplLPA+lFgk0v1GxtgHegWaMVk2SJQn45z/P7NH5We2Tryd9rlWKUB1Dykrqf2D3P3ZMicwskAGOyTxBRk3qpdKtTuVrM+OsqRxOTqNqyuwiF9Sri0hua/bovGQ/L34cUiNVnG7swm0Ao6x920SmJRaJtR3sBt8of9zXMz+wvEAXgO6ViPdTR9OjxPV00qSoo+lu4opa0KZNKGtVoee59d5zuuHQcq2+7R0uWeIZwHyo6y0jZv2ZMaQaUcCoj3xjhy4fixkVwedwynA0hATOZRa3/9lDdjeXxUzNXxa4j+3rFvj9fVV5uL+9o/fEu8dZbEloyxdLqPLZUQa1zxvi+RgygVWGAu6PFeQd7tMYtkz09rn4rVylN+p+sL1wMOo77t6zjSMB/nGdV1yjK8SAqioBMwN13/a0dXiO23XG1iDsDhxbl4HM9MBz3+56diApsf5THrVFlX+7MGaUJJjXp2Rt+Ukp/0QisUgsv6mKfKmN+0FqtYghKJAcGEKCZ4iLHmZrqV1YflF3923L616EvdHQOiA7o367C77au3q3p6WpMjZTd9xMjiCLFqYuTu+p1e5ayNeKrVoJhw+jvDxYPX+OF2xyUaqTg8wrVZvNB6dg+pVXp//KT5jTdZ1qn8J1Kknp+PJ12JtYA2ne3Q+HUu0T4pPeRXe8el3YpP5VhI2nOdGjvOTFsglHPbXHVWnce7YRsh6uOpzM4zojK/hcj4B1weWIoJR/KAWlfm1WOIe271t9Oxydh8GFHfasj3nQeL9hckCyupZiznRHISazJswEXUKBIyXSrV5v0aflTbTEIlxhCDpgSUVc/c1FjGlzbuzDmZ/3G+UvY6v+VY0i49zOdA/ClMs14p1xIrziusk2pCLWPYUxFIvO/enNN29MeMULryAHK3gEzaKFFPIehHfVkDJaLGkMWr+8enXqDHXmmAgYlfs1f5AICi0xSYz0Zkex5Se+Lt3t0YhvYAo5ev1SivHdGv+mLgWW17eDsDsYTQqtV4rSXWACuwnNtsXNkIDzYdfT1ddzyhTkJtI8w7gY+YFfdMOtvu0+usE61i3urm6+XVAuStve8WjDtDd6vmHgWa4/tjx5fF5M+nY4tvr2g6299CoBg4SnUKbqF9kcjeG82vXd8fQAaf7v1lidaY8nx/8KU91kuze0y931vdFkfPl873p786V755xMkaI5o1m6er4zPZK5yJ7k6MPkvT2QKqjICc8HVt/vmDk6U0ddnZwAQyU1j/Lc5cmtGFrX9TbsSNLi2kEY2MPxwArs3Va0nqwkQZAIBVqmCRRIe7nHSG9daJTrmbMEzh+eaJayLOVRypPpQrvJ0JcMcaHuLNFMdNqvlsBcL1/CIRKnFBPRyQi+fttsNllGqpyvvzY4ja7AegW9c7yT89vgCY7QBnye75cZanFa/QA4Wq4Q69KlNBugN8Rz7cD2Q5loOCP3rWm0Gq1Gy7gDRrvx/JdGazvReqTgS/q/k+hDb+IGztBWO9DZIeIOQ0sqKmLI85JqoFxg7Tn+hzD4OLa/k7FOMYmXNCNiv7VOCBafax76kmGGeEfOMPWUHFPNmgnEdj0ojPRwoOPf8EgkRaCjf9Ue0Aja5UQrij8ZOEMn8PcI7NDli1JTJwleYlENI+89O4HPPI4vGM1/Vsqlvkze3FHYm4xlEjcaOn53Mpr44XvP6T3ieNLruLSXpSMyZnSJeZS9ZziWp9OBhye1Jr99+4vhejbNiMh8AlO+oEJHNqUSbIwW9Ozug967GbSX5u3bQdLZP4/jdoTav5itX94g82XrRWROX7x6bsL2m+dthJ63fkFIWgW/4c1pxpurpfw/rwE0F6swEzhpZkRq//p+Yx4jt1/gP777Kn+QPKxmUUOVBKs+49IaOD0rcEZuaHtep1Wr1ayxkxcA9MUjzw48x/Y7r1rFHlcglKQ6HfBTI79NmGBy1fhpU3j7MLZb6ja2cuDqutEW4jvQ+W/wX59a5pvP//ijsftvfe9SPddXK30sL56/aLWq2/5QNo6hf52jr9yBPRrV/nCoquV36k/3WQNMsfSaiLk8ofQqSw1glHcrSD4G2qD9alOu98i+2yH3vDckP37gd/LLzBv1Vjm+g926H/iSqdZ9fuTRBUrK7i+61Sqoe7Yyy5+M9utfG69fNNrP3zTar42fwO5y/5Ymq6rMh1/9sLKMrnZJCQxGow8yZiwKj/fYOxHjPlxFmlVFWfjtrdvm2km3f9XXzXcw9mMw6o3A0/jfPLl59ja/BgfEAnNASYSAmgowJ2cC8CxNKRMoBpDcLClDJ1WR17rUrWpR5aLjxm5VbfhOX9ghETBXf+6y4JcvX6j6r979Q2AS6gSRl5ch92/cUT67GUseyWmUsQSYKxn6wgixPP+WsRIjSCDelIO8GcFGxARYCJHyt83mfY7fbgjmYViNE9A+SpK52s7wuua0z3cXvvT/mE5VIpnvczFWFbWPXY1VF8SucHQlAelsVgDncCmj6pUmKIq2gy7m6IL5vhux6m2fjDNVL1pCEk8l9ZquHP8ME8wXKM4X2lgBPCnDqM3+yjaTZwxNKRWA6Yg//hnoAckLoTECmIA2WGKSCXSmqSoqWMCMgMEXmYjpVwJMBtrgifGIyGzX61wZyV/o2tboh6Heupwwca0gsN2e3Qsn475n9Wx/b5hdfCaT4tTvOV5H51owFfKfyqJUaTFFDNMYR8aeHnb9aYyZugkij5Aqxjvj2Va7uihFboFtAOUlyNcvXx6D1JtsjYO3b8c5kW/fal0z8/sq5gBzafxt47cz8O7d4zASKAQiMYrNSTpnMEYn41u/YJWRJeRX6h2tGOLkpsgs1yNmppGXOeduREi1Nf83EEmnxXagUeN7kBTvjZkmoeY0odHVqQir+B6DfBdzu9rHRy1QFe9Pb3p/B7Or3pG0Auso/FozdU97rZCFPmIOCK0GWdMbcAUFzG/y/gy+4iRRIFOUb3x8tqn526HK5lbkl7dBTGZm2QAxCRV4dkNJsdcHEHBB08fPzq1nc37xhmhhABttT/+jH9jDbjDY7uQ/YgGtr38B/dZVhO+3SkXP1xHS+j063W4B+s3M8kxtyNAJ6BgIRJQQFAlMCYgWKLoCEY3RWwPUN4OTA1cLEIl3vwCq+djCU6v9aI/O/ycAAP//Z7zg3Yw9AAA= - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line33.sh b/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line9.sh b/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+China/CustomData b/pkg/agent/testdata/AKSUbuntu2204+China/CustomData index af350902003..5739b32855b 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+China/line33.sh b/pkg/agent/testdata/AKSUbuntu2204+China/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+China/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+China/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2204+China/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+China/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+China/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+China/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/CustomData b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/CustomData index aa132bc05c9..733b5f768bd 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 | - H4sIAAAAAAAC/+R8e3ebRt7w//oUU0pjuzWSkB0ndZa2WMIOb2RJLyCn2STLwWIkUyMgMDhxbT2f/TlzgwEhX+K2290ne3pWZn7zu99mmOHbbzrnQdQ597KLlmFZrv3OdozTvjN0bUe3HPdYN4faPiBj/eF4OnDNkem4jnlqjKeO9pyOHJtDw32rO/3XxcgBHXk9Hg7ct/rQHE1/1U+MkaO9oAOWMTR022gAeEkB9InjmiPb0YfDAumPdGgw7r8xrLXRXrcyPBi/HQ3H+qAcVyvjb4x3DTC9CgxmAsMVw3uVYUFHPaak0/HROzJtaNqlnnpMUae2ezI52UD6QMCwJhtTW388cnRzZFiDdRCmOGs66q8PMtW9eWljgJE5OinG9rrl2BpXe0xpb6ZHBnaL0dhxj8fT0UDbY6oyT08apu2V04aGI2pqb79qxdMTdzIVWN17viZq32mCO1iHs0zM4zroZu0R1xWEerkGeWZYtjkeueboTB+aA22PqbI/Mtfl3lcLQ0+s8cAdGEcNQL11oMmbE1cfDFjAMe2NLV0wiWFZY0vbZ+qhkSoIQia+5D40mFjjI4M9ZRyPp84RlhJLN6JDzwXb6xPTtQ3rzLBEALURYDCy3eF4/GY6YWC9RjD9n1PLWAfmzqE7enMsHHQFiHoQHqjCYN3RDxgjZ68HddserDvWGuEXXSGI1kcZ5f7Udsanrm3oVv+1Oxif6ubIprK9ZAhOJtP1+S/3hEHLxJ4lRsbL/fXhunwvnwswxpnZN9zJcHpijiqIDkogc3Q8dq3xqdsfW9Z04hgD7SULB/vk1410fuyuwwgUflTLLD3QzWFpnR+F/D2dDHTHKId45NgGdvwzk8SV3bfMiUPsZBn6oMSkdrsCEZxOp5MTSx8YAoTAxmRqnTCHV7u9IkhwQrAMbAZN7TL9903b1W3bPBm51njsuJO3mqqqa2PEfyaGdWramFNNVRnaiU5SV388eUeANFUVMU8mw3fuRLftt2OLBNuxeaKpai1wixoyZmGhqjyj0TS25j6q+qICMJ4Ylu5gHdLUoKo8ezlWw+CPoEWVRYLSdvT+G/fEcFzdOnWd8RtjpKm8hNZBRobzdmy9YbJMKWJN5RW1Dm5Pj0aG404s49j8VVNxUS2C8mhqDnkuU3FdpEp5q0/cvmVgd6HK4FVJHDFH9vT42Oybxoh4xBvXnuh9Q1NxlSLQjjE0JmPLGVTSpqbyPFeOc4enw1wQyzGP9T6uV5ahn+IqyfFoKs9xDUAMmabi1EYbH8eZYCf/9Z3b17HezgzL0VSe2Fhk4CHDcmxNPSiaE8a2bfSxUp2h7R6Nx47tWPqkKKfGr0afx33hHQfcwAPTPtKHhmtOHP1oaNiaitMazZnW1HYwhnXn4sltYNp4lmvbrzX1Bfd4yzzVrXfuyOy75kRIquoL5vnmyDYsxzVPB7ZrGbaDXRR7nzXFnIycsXuqj06Ghkt40tQX+w+dd2wOHcMq5rEwGmBFGBvmHeOEV6N38NB5NXovBOe1DGwL1zL+/9S0jIHW4ylqNCZJQT8xbKaYHs9N9kif2K/HRTYUm8Yuj4yJZZ7hQVw/cSuAvbLH0xV+KLprr7vPw6Zo1091+w1Dysb6ljEwRo6pD2myHTT2xF0egbidqbc6ve4BaLXKVoQ0VZgbxv0LUBvDz7FWcfV3Va3XfVmHEIrvW90+1XrdH+9E0tN6arcOwdNR2dmrdZDpSJ86r8eW+U9sJpUrhbUh3MeL9tSwznAc42A0j80+NoU1dmj+dPQTrafuMTUNDX00nZRyuOYptrrWU/dbrWAO5kHkgw5EM6Cg6wSC+W4IlMhbQiB9r6QwhF4GJaAkaRAhoHzKAwR6P3V8eNWJ8jAEt2CRwgQon8BWe+sVQBcwagEAwNjW5O0sThFQUoK+U2DDc7zPl2Br6aHZxbbc3QWdf22bA3dovjG07VmcwjjbuTUH2nb7+50dubMLvB1wAygLKM6TBKbb3vveR+C93/u48wrALwECq60dRpn7xSM5KLzp0YTBLUApUHywJW3ttGCYQcIJnF3EQKqRjmIE5nEe+VJrHrRa06PpyJm6Y9sd6aeGJtG/pdapbhFrFQPsQTlC2sn6MH4otUh9I0vUEqB8JrXY4kjr5FnaCeOZF5JV9WV+DmcobNFKT0fxcz+eXcK0Bb8kWJukkzvTJPmm7Pu4xg+1lVSBM2xHpBJdBX7gMQKFmdS2utdWFZXPHJ2ZA1PnqIm/uvZrnZMsHojUmubgQOBsnq0U+WYD4jUsgmDOu4lRkxU/uoe0Ji1naXsZzNI4i+eoPYuXHe8yw/8piyQvWamhLZHiloi2wzSP9k8HmjTDXhaBy5dZO4hBmkdAwYF5FYRwAX2gKOkSKEoEkXIRZwgoyucAXShRBpLAP+wkaTzrqJ0o6yQBBl7GOXbr6wRq50Hk72bpTOvECeosknzXz5DWWUb0jzhBQRxlWorh7prpzQhgOZs/qGAohGR+sCYndbgmASOINCZbEvjs5xXgbB9ylouHjIFDkRuiKKmFm/C+3n9tuAPT0jpXXtqZebML2PHwvHR2EVzBrNPCDbU+wh2cAJzGMcJwdELLODNGDl40npyQHozjC+NFx/s9T2HntPAFHf/dNr4gGGWYm3Y/z1C8tGdpkKAOvIIRyjqt/tQa4gXwZOpoHbRMOrM8Dd0rmJ7HGWzHOWqR2iFCxKmXrUNYxolpO9Y71gvT/p/kJAzfmcXRPFi0r71lCFqtFKL0erb03WDuzr0gzFO4vQNuSDbDYwHMNFl9BT57AXKzEMJEk3uvAAqWMM6RJu+9AtlFMEfg2bPaD4JiHqcgAEEE5O0MfgIqkBnSnVfAjwkI/sfQAZn/kOSbX1YSxnWeQu8S3N6CDwV0MAfvgRwABX4q8IGPQini/0g6Nr7AWY6gDz5I8i8fJDwRU8leVUBTiPI0AmrxsMjp/B8RHsilIorReUB++nEkVIHNZFeNWnezIIQR+u9R/h+lUVFdURbG8WWeFFoSNaMKmsFaipEXuqKuUjiLU1+T98nUDHkpIuOavO17CIIfvstoQ/H5IgghQGkOK4ri1IFSYOUqUwiLWherBBPZoLxZnqYw2kC11O72tggIFIHXnR2gLCCQK9Jtdn7JwXCCiSvTUoiTmb/7KMmwv0JfutvWzICbrVwEy50qoTIUofQoNuP0PkVmcBZHfibhkGyKyCh2M+Sh7O8Qkzgk/z4RWWhrAZGLvPTcC8NCS8hL3bs0RcGJpvI05OFITS3fCLNXXOHSBtUJsDX1eSlQ0O9zAoKpPUR1AravVB831kEXu3UIlHlmD6+ATH7HJTM/AVmo9qD30zO1ggez9R7IP4NvNNAFH5uYIaHjoQqiCoAQgU+1rDtP46WbwkWQofTaxS2mi1uJJ1ocz5rHoQ9THPdBSpegXEnSzn+jW2C1gQQvo0WnYGrAXSpTskK7NCDfbGzpVtiNhJbwaW4kIPrD3cibzWCWuSi+hJE7j9Oq89zhOMRZ9h6TN/V+37BtulnMW2V5ey0ur4CSAeU1kE4h8nwPeYe42Et4uREnafzlGkjfS0DCNpJqxVmJgCQ3kJG4c4CGKtw4ocmLul9RQdlU+c4dqLpNUjhPYXbxFUbxZqlLDfMKIBh5EXID3FS9qihfk58/xm6WcWwZ9usHGu5XMBnbDjFgP44QjJDiXCfwEHhJEgYzD6/5Ol+Uz58/K/M4XSp5GsJoFvvQl4Qox/8UH0iLFMtA1raipz7LYHoVzKAmM4mfUWk1uZD6mQivVYxcJ3SBUJIddjocWSf2cnTR68AvswsvWsAmL2tSyt1u1jjj3+ZnZHkaxosgeqxfVeTg9eKBrkRYG45PTMGPSNolnACJWwBHe+DDCAXoWiEWVDLkB1FDFpbuSsMS+Mc//lHXvUSycWlU+CVALvZATf65VcvPxRipNxsSNTPwmnCPta4kmFdqtm/BTz1nnAeRl17f2w0wsDtMzSASD13UmwJOY70vECbVeoMqwVp7sMF1qnOqHkQjcF6j2Vj8SfOwufJXGokqSbCpHK/1E42Y7+8rKpr8o1uLR7QX97YYDW3G3a1GbcKGzmPmRSwDZa43S/+cfiPOUYJXfdt1W6QwiUGYsR6iMadsVH89eVAv+pmnh43ZwZulIMjoqt47D+HDcwM1pSRTcSSgaeB7KY9wiYrT4HfoHwL8GydLWl1BCj/lQQp96fu78pXetzBHUYxKrg4BJ/OgLYTqrpqUR/BLAmcI+iCFWRJHGQQ4IeHyUcP86HpFNlznQVjugJInD1z144k0o+0zT3peyVIirnuXMCJw1ePek9Qkc2rg48diEdO8fhFRPXEBU+xGNK5uC5b+xstbAoC73YqZ77BwaVWaFxLvCvrs1QfZ5p+Fce4rQRQgBcNmbQJBYOl70uNP2Pocz0oCMoHAVquE5AMzToF061tjfLwlqP1uN/grNoYIJPSBEgCpg9nr+FLJYBkNgqv8xNTRWrWy6wzB5QxhbyX7dI/bdwPZ1Qy3Co9sF9d8u2AD+B5cxpGSwjD2/IdMYHwDmbHyF2zYFbQz5KE8K0njpaySeAtc+8PKnN/iPI28EE9S8mLCV4VTabIMxcl/nL0w03+lsR6tVT/IcMn8j1Ms4/vvqVuaYbAoj9PrU5VJAk6hSvr7KOQKplkQR+4CcTdDMENAkrfJIZg52Pou+xBtAUn+RQK3gB2vOQO34AJ6PlAioO6QhlGSVam1apXea0TYB/TItyvJfC3NA7XbBc/BXhfIVB7LoCfQbEd3pjZfMa+nOrWa5MBPoPYKXlYVCtsO40WrVHCVAFAi2NBXs75NBbM4D33Sw55D+gJJfP1VsQRTbTAH34CGN0pA7WFJe88FYWBEI0V9EHkK7YPz6xLFZl5EawxoSBJzCKk6mAu8hEGGlDwKUAYUZY5Xk4riVY58SbLaZvtiUo3hai0AXFJZxS6+SZlxkojKXMt8D0LDYBkeJjdcXsG0Hy8TTzjRwA986Zq8TTsRFdyCWY7IRuAPEm6t2cKLgx4VoL1NoGTpdFPgXrFwKJ4crSTWplcaPhxK0C/QCwiAOJceNdvC/8NxyEPwDFDiF8HiAmbojIaxJm+bx7ZWLDoojZVUsC4TJMq8dwfr8k0V6aqJ+8LXVi0//hzhdDqA55PLhRMfi7315M0JPY/Gghv/XZzW6xWPBqZl9J2x9Y4n2uWlH6RASYBcGaZNeJ5d+EC+qYysiky+FnXYhw66XeAlSFlABDjDDAVmb6XR34y11feUUJzgztRLENkA4/OYcHdUjeqb31ctAMhxODxFw/pjElQOJGEHFyL4AZXGTy4XQGE7ClhSxcOBG6czSB76cF6eksCrHixIGM8uM/KYq0OJwSC5XBwejumZrcNDTcQSh36pMeW6fjykdV/hIkKrr0iJWi9Lr2jSZOsHrPCaHvgyPoWotWotIOpPpno6uyg8zEtnF5q8ndO2d7nTEtaYN3hwd3dFItLDfxzsS5hAbSRd4ufra1G2sUKGW2t1lo0ufT5Kck+Q6dbpwb6YYjEr2yXrOyLRZprqBmpdIccFmcU2laZp+fqdOhrb/SP7ECqLDLZjm8IF/KJt/av9w4cO/e+w/YO8VVFbOX0FtP/ByhcnFzyDeunpArEOcisCzG0YLzIXxS4971ZjF3nZJYmj8qQEHaDQOKOMvMoBke/2RjstAZAUZkc8RCJ9dwy+c9rf7Y3YfjH2W84X7yoYlcjfPJXA/ZbFkZuhNIgWmrwNfvuEO5+ycVMUL10AjCND3jIBgCRfztJKWgMdJzAlO2mmj0EZAw2ALAeTJ5La7u2tgzhedom1AyhZrMsGRAbW5BBewRAAyYzmcbokDHjhOuwpzDJvASlRXERDiKB/COTvN+CdBD6B7W4Yd5rGt24KhR0Cufi9KyrnEMjCX7tcHYdAZr92C/ExDvZzV5D2EMjlH7tctEMgs1+7hQQcchL4uwXb/KET+CsaI8LLB/lG8Auya36zfjB0Jd9UvXjVxrNaZeKUcHKTwDcaUVA1H4jpT2hvLnAD5GaXQeLSI9aunwa4ly/7bJzZv9CXKrF/rcnb5a5d9d03aHz5fYFQctjpqAc/tnvP99vs/ztLNqsTRBnyohn82UsCha0itF63pyrdntJVWcwJofY1ohJBSll5syTJWCTc1eBAhGCrPYuXSY5gG3mLbBhkCNyCpZdsZzCEM7TdJrXhlixttiX7MkhOknxAFGZiMcJQegWkQNrZ2Xnf/di+8sIcgk4HSHMvzKBUzCSKopBblXdQAo+SYB/WmbqX+TkMIXJJ6xwt3BlMUTAPZh6Cbhoj4t3/tYZjSmi2Xdpgu/cfcZcrWo6Uy8tMYagUpk+F6VMR9KlwfUo74BZQU1ZtdVPla3d3JdVDipW/WQi9SDht+n8npB5uFhxMR0Rdfaqte/WOqXKlB9mplwYRTMcpOSU/DKL8S603iDPewrDuJM7IKqV2YQYvUm5vmwDEezPrUOtXZ9ZbsupGfVBfALXglRdOvNmlt4AD1ilPrWFNDtKL3aiHykoQhhz0IK8I19+DYKxASmGWh0iTb3AzJrwzowWIjrZqG0Min1T7VNs01/2/T4yz4u0lNjl3OGyz8gwKfyMoMsfsWb5rK9rUYA4aLQokeWxXNwyy3I8B8qM5YFzhpcVvn/CyguL/7RP47GV8lHQfVT7XGnK+TOMInwMVHHS/BilRHa20eYJbQove5apZNKEm18jWV8VhJblXfcLX55K8J7FNLvJ5EU1iJ5Sr4MP4M0z7XiZkzZs4I+t4lIKt94fkZtrhxy38O8TAhx9ZtH17HKeAXirbxQaRC+IgyID6st3dB17kAylVX3b3JfzQC7MY+HAeRNDHK04c+XGEWxbSqezSXl/mF9qCjGRCFHMclK4dLIPQS8NrsnTtdTmhXq/d3W+DMbqA6ecgg02I2kwL7VIEFr2EOBBmeOFn77rkgKsPRPFnYXYZ1Q1K2Gt3qQqu9trdx2iAGU3UAEFxn/MT29XCmy8LuXmZM61YCpbafpFJzKyNURROsWp/kK7wE75B80GSdkgBiPKwMZWIDrc+t+lIQFPKqznz2wBdxDkaxKjipRwx2S6GPtjKOh/anc5iq7Iyf6Dc+XkeobydCohLsqu7pRYk3jCfyy6GOsvjDDj700O+kmCqCuFBX1XrH5Uo2HVwvuVla9s7rdZTPVOiexsbLCLyK/lw7uUhKizwZNpt+YapeNVm+Tw7693tI1SPoYfK7c5M295IX0m/hoVK51ShhVnDnJGeqTIi7ezUmExSeBXEeTb8C5ltpFlhuhFCZB4Xgyuee3FLcVPV9vtfPuLcKLw8a3LOH7RtSb654jFQoi8OHjTTalbaH0mznij/FDe+O6w25+qrP8dL3n/kFl7X+NVGHT9Iv/XjqN0yM5/mIQr0dHZRy81U1GDpLaATH8FJjjs7mqFbAHz72yfSQqzNpufG8NAsjpCHy7aJcWRtYM5Bv/rsffCxvaxjOOvx023YMLucZXThoV263c2ePARZa91raiJxizUxsjHJ3ZfgNtAgXtFA5ymp7KFp7CksPTFhPTZZnU6HjumSj2w9zKu/NkM9mlCxEKQpaXM6eJS2eeA/NOwfxja/51tpwDYvpHkPxnYFyl2CXmP/xV4o/s26L7pUCebgrtwL4JcgQ2z1scArjgsISvhhkcJSyNY+cbHK2gheJci6MPBHdH539FkCF9rTy6KATQJKWlZm8jpbGF1JoOQJPHtW1KDiO0OYIYm8EmweqqFrbd5o+RoRmfbvle2vkYtVK+ydq1bL8/03dJ91FPtw6J3D+kvGoX5kDF3bsczRibBHRw+LBECSRQB+T4Z/0Wg0HhguAbAl8BMoPzDU++lZ82EYtusLotiHIMT8gAoFupBPoedf4yqTwQjt4up8EUQLvFb3/PVzO9W2jb3Q9X08o4kCisE6F1m73ZZa1btbjVLWg6IBCBum4fFqV74RGVk1vI1uwlbhXljqpnAZX8GnmBcCaY2nJ1j44aro1Ml2CmWIzNWAdv8i5upkH8Tcv4c3zlqDRxyH3qLmDMdD/eRuXxAg1iTCYw+XhUCLUpAHnRqNTaoVYXb/FEZqNB7CyF/AR9We5eVLekWPv4LkVx5r5i1uX4o91SwMILveK7ZWwq3fPeEttvI7kORiCq5Lt7f8cTFF2nDOspgH4rQkALyUfj8tg6gNxuUtTrbsSuIsC85DuAuSNJ5BSPI2Fhd4URxdL+Oc3opbS/uVrL/pyhg9OMbvi3JQfo2z0jHx55uucLLCUmGKlivcFdKvlWCKW5za1mNFKj2wyk8EgbqJH/opF44dwDSNU0A6SLyGjYB4A2yX3GENogWvdbXXi/TGqKjWDCLwwxeqJnZRGnvY/W9BmYfyK9Lkbm7tlaj6kr4SfZbCLM7TGdT4BeulF3kLuIQRapNDwORLbM8ETy49lFrU++xWr3Fv3//xgsIzuFQ7m72jZoxNB42ZLVDMjhVeQaY0QEgflmjuV794pa8uH7vcR2zddHnvQdyss7D525YiU9UvBPAeeZ1FvgJti493aqmmet2eZZv6Y2HX7B5BEy/Nni5l4VOVDyzUnar56wvVfAPKpAkqQv0pvsY4+gOcrSLbV3tbhZ+vdbfaZwREf6txWThc5Xnd42pX/AuXqz1/rM89WdZqFSsrP9gT/anOZ6tyt/hB7kKx4qVUpVbRCsLz9tNslke4boj+XjUj2zlhR3EeUb9lBDPkkt2uVuUWKhP9K2XfLWp5hoIwrNTMr7YlpZ3lJBnN8zC8xuQX9N30A9W/arW+fW0MJ4ZlG+Pj1v8GAAD//x7OgQxIZQAA + H4sIAAAAAAAC/+R8/Xebxrbo7/orppTGdmMkITtO6hzaYgk7vMiSHiCnuUkuC8NIokagwODEdfT+9rfmCwaEHDtue3vOzVldR57Zs7/3nj1ffP9d5zKMO5detmgZluXab23HOO87Q9d2dMtxT3VzqB0C0tcfjqcD1xyZjuuY58Z46mjPaM+pOTTcN7rTf1X0HNGeV+PhwH2jD83R9Df9zBg52nPaYRlDQ7eNBoAXFECfOK45sh19OCyQ/kS7BuP+a8Pa6O11K92D8ZvRcKwPyn610v/aeNsA06vAYCYwXNF9UOkWdNRjSjofn7wlw4amXeqpxxR1brtnk7MtpI8EDBuyMbX1xyNHN0eGNdgEYYqzpqP+ZidT3esXNgYYmaOzou+gW/ZtcHXAlPZ6emJgtxiNHfd0PB0NtAOmKvP8rGHYQTlsaDiipg4Oq1Y8P3MnU4HVg2cbovadJrijTTjLxDxugm7XHnFdQagXG5AXhmWb45Frji70oTnQDpgq+yNzU+5DtTD0xBoP3IFx0gDU2wSavD5z9cGABRzT3tjSBZMYljW2tEOmHhqpgiBk4AvuQ4OJNT4xWCvjeDx1TrCUWLoR7Xom2F6fmK5tWBeGJQKojQCDke0Ox+PX0wkD6zWC6f81tYxNYO4cuqM3x8JRV4CoB+GRKnTWHf2IMXLxalC37dGmY20Qft4Vgmizl1HuT21nfO7ahm71X7mD8blujmwq2wuG4Gwy3Rz/4kDotEzsWWJkvDjc7K7L9+KZAGNcmH3DnQynZ+aoguioBDJHp2PXGp+7/bFlTSeOMdBesHCwz37bSuen7iaMQOEntczSA90cltb5Scjf08lAd4yyi0eObWDHvzBJXNl9y5w4xE6WoQ9KTGq3KxDB6XQ6ObP0gSFACGxMptYZc3i12yuCBCcEy8Bm0NQu03/ftF3dts2zkWuNx447eaOpqrrRR/xnYljnpo051VSVoZ3oJHX1x5O3BEhTVRHzZDJ86050234ztkiwnZpnmqrWAreYQ8YsLFSVZzSaxjbcR1WfVwDGE8PSHaxDmhpUlWcvx2ro/Am0qLJIUNqO3n/tnhmOq1vnrjN+bYw0lU+hdZCR4bwZW6+ZLFOKWFP5jFoHt6cnI8NxJ5Zxav6mqXhSLYLyZGoOeS5T8bxIlfJGn7h9y8DuQpXBZyWxxxzZ09NTs28aI+IRr117ovcNTcWzFIF2jKExGVvOoJI2NZXnubKfOzzt5oJYjnmq9/F8ZRn6OZ4lOR5N5TmuAYgh01Sc2mjh4zgT7OS/vXX7OtbbhWE5msoTG4sM3GVYjq2pR0Vxwti2jT5WqjO03ZPx2LEdS58U06nxm9HncV94xxE38MC0T/Sh4ZoTRz8ZGram4rRGc6Y1tR2MYdO5eHIbmDYe5dr2K019zj3eMs916607MvuuORGSqvqceb45sg3Lcc3zge1ahu1gF8XeZ00xJyNn7J7ro7Oh4RKeNPX54X3HnZpDx7CKcSyMBlgRxpZxpzjh1egd3Xdcjd5zwXktA9vCtYz/OzUtY6D1eIoajUlS0M8Mmymmx3OTPdIn9qtxkQ3ForHLI2NimRe4E8+fuBTAXtnj6Qo3iu7a6x7ysCnK9XPdfs2Qsr6+ZQyMkWPqQ5psB401cZdHIC5n6qVOr3sEWq2yFCFFFeaGcf8c1PpwO9Yqnv1dVet1X9QhhMn3jW6fa73uT3ci6Wk9tVuH4OmorOzVOsh0pE+dV2PL/C9sJpUrhZUh3MeL8tSwLnAc42A0T80+NoU1dmj+dPQzraceMDUNDX00nZRyuOY5trrWUw9Z9I1s95WhD51XTE048bfCGZiFcQA6EPlAQTcrCGb7EVBibwmB9KOSwgh6GZSAskrDGAHlYx4i0Pu5E8DrTpxHEfgC5ilcAeUj2GnvvARoAeMWAACMbU3ezZIUASUl6DsFNjzG+3QFdpYe8he7cncfdP571xy4Q/O1oe36SQqTbO+LOdB22z/u7cmdfeDtgVtAWUBJvlrBdNd71/sAvHcHH/ZeAvg5RGC9s8coc495IAeFnz2YMPgCUAqUAOxIO3stGGWQcAL9RQKkGuk4QWCW5HEgtWZhqzU9mY6cqTu23ZF+bmgS/VtqnesWsWPRwRrKHlJo1rtxo9QiMx9ZvJYAZZvUYssmrZNnaSdKfC8i6+2r/BL6KGrRGoD24vYg8a9g2oKfV1ibpMa70CT5tqwIucaPtbVUgTNsR6QSX4dB6DEChZnUtnrQVhWVjxxdmANT56iJJ7v2K52TLBpEak1jcIhwNi/Winy7BfEGFkEw5+3EqMmKm75CWpOWftpehn6aZMkMtf1k2fGuMvyfMl/lJSs1tCVSXCzRQplm2P75QJN87GUxuHqRtcMEpHkMFByY12EE5zAAipIugaLEECmLJENAUT6FaKHEGViFwXFnlSZ+R+3EWWcVYuBlkmO3vllB7TKMg/0s9bVOskKd+SrfDzKkdZYx/SNZoTCJMy3FcHeN9HwCWI7mDRUMhZDMDzbkpA7XJGAMkcZkW4UB+3kNONvHnOWikTFwLHJDFCW1cHne1/uvDHdgWlrn2ks7vucvYMfD41J/EV7DrNPCpbY+wrWdAJwmCcJwdEDLuDBGDl5Onp2R6ozji5J5x/sjT2HnvPAFHf/dNj4jGGeYm3Y/z1CytP00XKEOvIYxyjqt/tQa4qXxZOpoHbRcdfw8jdxrmF4mGWwnOWqRWUWESFIv24SwjDPTdqy3rEqmKwOSkzB8x0/iWThv33jLCLRaKUTpjb8M3HDmzrwwylO4uwduSTbDfSHMNFl9CT55IXKzCMKVJvdeAhQuYZIjTT54CbJFOEPgyZPaD4JilqQgBGEM5N0MfgQqkBnSvZcgSAgI/sfQAZn/kOTbX9cSxnWZQu8KfPkC3hfQ4Qy8A3IIFPixwAc+CFMR/0fSsfEZ+jmCAXgvyb++l/BATCV7WQFNIcrTGKhFY5HT+T8iPJBLRRS9s5D8DJJYmAW2k103at3NwgjG6D9H+X+WRkV1xVmUJFf5qtCSqBlV0AzWUoK8yBV1lUI/SQNNPiRDM+SliPRr8m7gIQie/pDRguLTIowgQGkOK4ri1IFSYOUqUwiLWherBBPZojw/T1MYb6Faand3VwQEisDr3h5Q5hDIFem2O7/kYDjBxJVhKcTJLNh/kGTYX2Eg3W1rZsDtVi6C5U6VUBmKUHoQm0n6NUVm0E/iIJNwSDZFZJy4GfJQ9k+ISRyS/5yILLQ1h8hFXnrpRVGhJeSl7l2aouBEU3ka8XCkppZvhdFrrnBpi+oE2Jr6vBQo6I8ZAcHU7qM6Ads3qo8b66iL3ToCyiyzh9dAJr+TkpmfgSzM9qD38xO1ggez9Q7Iv4DvNNAFH5qYIaHjoQqiCoAQgY+1rDtLk6WbwnmYofTGxSWmi0uJR1ocj5olUQBTHPdhSpegXEnS3n+iW2C1gRVeRotOwdSAq1SmZIVWaUC+3VrSrbEbCSXh49xIQPSnu5Hn+zDLXJRcwdidJWnVee5wHOIsBw/Jm3q/b9g23UbmpbK8uxGX10DJgPIKSOcQeYGHvGM82Ut4uZGs0uTzDZB+lICEbSTVJmclBpLcQEbizgEaZuHGAU1e1P2GGZQNle/cm6rbJIWzFGaLbzCK56cuNcxLgGDsxcgNcVH1sqJ8TX72ELtZxqll2K/uabjfwGRsO8SA/SRGMEaKc7OCx8BbraLQ9/Car/NZ+fTpkzJL0qWSpxGM/SSAgSREOf6nBECap1gGsrYVPfVJBtPr0IeazCR+QqXV5ELqJyK8VjFyndACoVV23OlwZJ3Ey9Gi14Gf/YUXz2GTlzUp5W43axzxP+ZnZHkaJfMwfqhfVeTg88U9XYmwNhyfmYIfkbRLOAEStwCO9jCAMQrRjUIsqGQoCOOGLCzdlYYl8K9//auue4lk49Ko8HOIXOyBmvxLq5afiz4y32xJ1MzAG8I91LqSYF6p2b4FP/WccRnGXnrz1WqAgd1hagax8tCiXhRwGpt1gTCoVhtUCdbKgy2uUx1T9SAagbMazcbJnxQP22f+SiFRJQm2Tccb9UQj5q/XFRVN/tmlxQPKi6+WGA1lxt2lRm3AlsrD92KWgTLX89O/pt5IcrTCq77dui1SuEpAlLEaojGnbFV/PXlQL/qFp4et2cHzUxBmdFXvXUbw/rmBmlKSqTgS0DTwo5THeIpK0vAPGBwD/BsnSzq7ghR+zMMUBtKPd+UrvW9hjuIElVwdA07mXlsI1V01KY/h5xX0EQxACrNVEmcQ4ISEp48a5gfPV2TDdRZG5Q4oabnnqh8PpBntkHnSs0qWEnF9dQkjAlc97h1JTTKnBj58KBYxzesXEdUjFzDFbkTj6rZg6R+8vCUAuNqtmPkOC5dWpXlh5V3DgB19kG1+P0ryQAnjECkYNmsTCAJLz0lPP2LrczxrCcgEAlutEpL3zDgF0p3vjfHpjqD2u93g79gYIpAwAEoIpA5mrxNIJYNlNAiu8jNTR2vdym4yBJc+wt5K9uketu8GsmsflwoPLBc3fLtgAwQeXCaxksIo8YL7DGB8A5mx8jds2BW0M+ShPCtJ46WssvLmeO6PKmN+T/I09iI8SMmLAd8UTqXJMpSs/u3shZn+O431YK0GYYanzH87xTK+/5m6pRkGi/IwvT5WmSTgFKqkf45CrmGahUnszhF3MwQzBCR5l1yCmYGdH7L38Q6Q5F8l8AWw6zUX4AtYQC8ASgzUPVIwSrIqtdat0nuNGPuAHgd2JZlvpHmgdrvgGTjoApnKYxn0bprt6M7U5ivmzVSnVpMc+BnUjuBlVaGw7SiZt0oFVwkAJYYNdTWr21TgJ3kUkBr2EtIDJPH4q2IJptpwBr4DDSdKQO1hSXvPBGFgTCNFvRd5Ch2Ay5sSxXZeRGsMaEgScwipOpwJvERhhpQ8DlEGFGWGV5OK4lWufEmy2mb7YlKN4epcALiksopdfJsyk9VKVOZG5rsXGgbL8DC54fIapv1kufKEGw38wpeuybu0ElHBF+DniGwEPpVwac0WXhz0pADtbQMlS6fbAveahUPRcrKWWJleKfhwKMGgQC8gAOJYetVsB/8PxyEPwQtAiS/C+QJm6IKGsSbvmqe2Viw6KI21VLAuEyTKrHcH6/JtFem6ifvC19atIPkU43Q6gJeTq7mTnIq19eT1Gb2PxoIb/13c1usVTQPTMvrO2HrLE+3yKghToKyAXOmmRXieLQIg31Z61kUm34g67ENH3S7wVkiZQwQ4wwwFZm+t0d+MtfWPlFCywpWpt0JkA4yPY8LdMWtUT35ftgAg1+HwEA3rj0lQuZCEHVyI4HvMNMHqag4UtqOAJVU8HLhJ6kPSGMBZeUsCr3qwIFHiX2WkmatDScBgdTU/Ph7TO1vHx5qIJYmCUmPKTf16SOtrExcRWn1JpqjNaeklTZps/YAVXtMDX8anELXWrTlE/clUT/1F4WFe6i80eTenZe9yryWsMW9x5/7+mkSkh/84OpQwgVpPusTtm2tRtrFCulsb8yzrXQa8l+SeMNOt86NDMcViVnZL1vdEos001S3UukKOCzOLbSpN0/L4nToa2/0j+xAqiwy2Y5vCOfys7fx3++n7Dv3vuP1U3qmorRy+Btr/w8oXBxc8g/rU0wXiPMitCDC3UTLPXJS49L5bjV3kZVckjsqbErSDQuOMMvIqF0R+OBjttQRAMjE74iUS6YdT8IPT/uFgxPaLsd9yvnhVwajEwfahBO73LIndDKVhPNfkXfD7R1z5lIWbonjpHGAcGfKWKwBI8uUsraUN0PEKpmQnzQwwKGOgAZDlYNIiqe3ewSaI42VXWDuAksW6bEBkYE0O4TWMAJDMeJakS8KAF23CnsMs8+aQEsWTaAQRDI6B/OMWvJMwILDdLf1OU//ObaGwYyAXv/dF5RwDWfhrn6vjGMjs134hPsbBfu4L0h4Dufxjn4t2DGT2a7+QgENOwmC/YJs3OmGwpjEiHD7It4JfkF3z282LoWv5turF6zYe1SoTp4STmwS+04iCqvlATH9CebPABZCbXYUrl16xdoM0xLV8WWfjzP6ZHqokwY0m75a7dtWzb9B4+L1AaHXc6ahHP7V7zw7b7P87SzaqE8YZ8mIf/uKtQoWtIrRet6cq3Z7SVVnMCaH2LaISQUpZebEkyVgkXNXgQIRgp+0ny1WOYBt582wYZgh8AUtvtZvBCPpot03mhi9kabMr2Vfh6myVD4jCTCxGFEkvgRRKe3t777of2tdelEPQ6QBp5kUZlIqRRFEUcqdyBiXwKAn2YZWpe5Vfwggil5TO8dz1YYrCWeh7CLppgoh3/8cajimh2XZpg+3efcBVrmg5Ml1eZQpDpTB9KkyfiqBPhetT2gNfADVl1Va3Vb7299dSPaTY9OdH0IuF26b/e0Lq/mbBwXRC1NWn2vqq3jFVrvQwO/fSMIbpOCW35IdhnH+u1QZJxksYVp0kGVml1B7M4EXKly9NAOK7mU2ozaczmyVZdaM+rC+AWvDaiyaef+XN4YBVylNrWJOD1GK36rGyFoQhFz3IEeHmOQjGCqQUZnmENPkWF2PCmRmdgGhvq7YxJPJJtU+1TXPd//nIOCtOL7HJucNhm5V3UPiJoMgcs2d51laUqeEMNFoUSPLYrm4YZHmQABTEM8C4wkuL3z/iZQXF//tH8MnLeC+pPqp8bhTkfJnGET4DKjjqfgtSojo60+YrXBJa9C1XzaIranKNbH1VHFaSe9UWvj6X5AOJbXKRD49oEruhXAUfJp9g2vcyIWveJhlZx6MU7Lw7Ji/Tjj/s4N8RBj7+wKLt+9MkBfRR2T42iFwQB2EG1Bft7iHw4gBIqfqieyjhRi/KEhDAWRjDAK84ceQnMS5ZSKWyT2t9mT9oCzOSCVHCcVC6drgMIy+NbsjStdflhHq9dvewDcZoAdNPYQabELWZFtqlCCx6CXEgjPCiT95NyQFXH4iTT8LoMqoblHDQ7lIVXB+0uw/RADOaqAGC4mvOT2xXC2++LOTmZc60ZilYagdFJjGzNkZROMW6/V66xi18g+a9JO2RCSDOo8ZUIjrc5timKwFNKa/mzG9CtEhyNEhQxUs5YrJdDAOwk3Xetzud+U5lZX5PufPLPEZ5OxUQl2TXd0stSLxlPJddDHWWxxlw9peHfCXBVBXCg76q1j8rUbCH4nzLy9Z291qtx3qmRPc2tlhE5FcK4MzLI1RY4NG02/ItU/G6zfJ5dtG720eoHiMPldudmba7lb6SfgsLlcqpQguzhjkjNVOlR9rbqzG5SuF1mOTZ8G9ktpFmhelGCJF5PBlc89yLS4rbqrbf/foB50bh8KzJOZ9qu5J8e81joERfXDxoptWstD+TZj1R/iVufHdYbc/V13+Nl7z7wC28qfHrrTq+l37r11G7ZWY+zyMU6qm/qOVmKmq49ObQSU7gJMeVHc3QLQC+//0jKSE2RtN7Y7jLT2Lk4WnbxDiyNjBnoF9texd+aC/rGC56/HYbNsw+ZxktPLRPt7tZy32QtTa9piYSt1gTI1uT3NcS3BYaxCsa6Dwmld03jT2GpUcmrIcmq/Pp0DFd8vmt+3n1t2aoBxMqFoI0JW1PBw/SNg/8+4b9/djm73wrBdj2hTSvwdiuQLlL0Gusv9iB4j+s+qJLlXAG7sq9AH4OM8RWH3O84lhAUMIPixSWQrb2SYpV1lbwKkFWhYE/o/K7o84SuNAePy0K2CSgpOXMTI6zhd61BEqewJMnxRxUfIEIMySRI8Hmrhq61vaNlm8RkWn/q7L9PXKx2Qp757rV8oLgNd1nHSUBHHqXsH7IONRPjKFrO5Y5OhP26OhlkRBIsgjA38nwbx2NxgPDJQC2BH4G5QeGej8/ab4Mw3Z9QZwEEESYH1ChQBfyKfSCGzzLZDBG+3h2XoTxHK/VvWDz3k61bGMHukGARzRRQAnY5CJrt9tSq/p2q1HKelA0AGHDNDSv9+VbkZF1w2l0E7YK98JSN4XL5Bo+xrwQSBs8PcLC91dFp062UyhDZK4GtP83MVcney/m/md446w1eMRp5M1rznA61M/u9gUBYkMi3Hd/WQi0KAVp6NRobFOtCLP/lzBSo3EfRv4GPqr2vIZpOLshX4FbQC9Ci9090ZxBsvTC2KX3hFUhef0BJFnolLbcixyMbIYDZ124XKGbjdwqN3yGrpJug3Du+gvoX7lx4lJs5MnfHDyNkxT64Gm2SFIEntJ7Vs/AU34b9xlo77Uqb6PuuMN5Sr5YgnN3CrMkuoYgTRLE2d9p7zyG8yrbDYwyGUSlFud4lSehRBTeyAUih1XMKjWa0r3FZZKKLHBJMa1jcj5IyD5IE1VvoF4GCIdg5WUZDMihU/kKmL4V5Wfh/O1tLc8Uz4DF4t6PQsjemYs1vvD8/KBV8+FiiFRRYjFkm/aKcSBJSwLAS+mH/DKI2mBcPidm6/9VkmXhZQT3wSpNfAhJAYHFBV6cxDfLJKfPMzf0W/GqbW8X6Q1G/nC57jyV0r30n+a3xKzCqTBF6ya8PKGfzcEUdzi1nYeKVKbCKj8xBOo2fug3hTh2ANM0SQFZygC08GIgPkXcJ4+pw3jOi67aOTd9uiyqNYMIPP1M1cRe7GMP+/pxPPNQ/lafPBKvnc2rL+jZ/BMca3nqQ42/9F96sTeHSxijNrmNTj4J+ETw5NJDqUW9T271ewK7X/+KRuEZXKq97d5RM8a2bDkT0gdOZ9eQKQ0Q0ncmi7r6xbeldfnYK1Ni66ZXpPfipjlfNX9+VWSq+qkKvljbZJFvhbTF5r1aqql+94Flm3qzsH37FUFXXpo9XsrCpypf+qg7VfNnQKr5BpRJE1SE+kt8jXH0JzhbRbZv9rYKP9/qbrXvWYj+VuOycLhKe93jat+aKFyu1v5Qn3u0rNVZrJz5wYHoT3U+713IlfxSrHhNX5mr6AzC8/bjbJbHeN4Q/b1qRraFx+6EPWD+lhHMkEu2XVuV59BM9G+Ufb+YyzMURlFlzvxmW1LaWU6S0SyPohtMfk4vSdxT/etW6/tXxnBiWLYxPm39/wAAAP//6NQ9SOtnAAA= @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line33.sh b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/CustomData b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/CustomData index bc12531cbf3..79cfd7122f2 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line33.sh b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/CustomData b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/CustomData index d1b47480541..1f934fa8840 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/line33.sh b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/CustomData b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/CustomData index f52152c2a86..5e44953105e 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/9x7bXfauLbwd36FxsPTtHPGvPRtpp1Dz3LBIV4Bw2ObzO3t9HoJW4BOjORKcppMm/vb75JkG0MMJJne+XBZqw3IW1t7b+13yT/+0J5j0p5DvmrYnheeOiM7/N0K+mdh4IztySzovQYNjgQwrxt4AT4CcwHaNBVt+GfGUDuiREBMEOPtlNErzDElrYiu0wQJBD79BsQKkQZQHxStKDCshCEY3wAGCRAU8CyKEOcAXWOBybLVahkF+DUWoNNY4EYDpmIN2eXv1giT7NpaIiLAiiYxeNJojCbDcOB4vfYVZO2ELnPC4CVvrC9jzICZgubXHOq2kRBgcrADHCUZF4iZGxYSugR/5IQcAzYjjkyaiTQT2/M2Yvqp9W9OSd2TKKFZbGKChbnACeKtFF6huA7yaiXhuIBJspFwAbfhsN1opDdiRcmLY/sUMhTDSISKhDCiZIGXrfQmx2mamjQ9bqZQrHJJ4Lmmuq2oIVHBRI5BXIsShZaKnlwhcRe+0Zi9n7nBLPTskW35dq/5NOHzkKEEQY6AyYDJnyn1+wiaX7dhb0GvB4zu61bnpQE+VTWOZzEFMBXmUqrvDYCZoAyt6RUC0YpRctMotbL5r80MfsMFWkciAQxxAZnIR2JT4DXiNySKlVLqiU9jKNCzn5tPV5QLAtfo2c9AzYoyLuiaRwyn4t07tRXrRmNBGcAAE9B8ytFn0AUvXnc6z34DMVUEaAvjwGh+7ft2eGaPprbnK6ucWsHZrbFjUgAsGUqBefoZnPyYQ9uT05MDCJ48AXOG4KXCsMCbZZsYmOizIujOKsoWm/UOQksx4aiE5glCKegWK8SUoAZHMTAxMNoVMtuxsZ/QBqcZi9ABgB2IgeMH3uQ4Jsf1A2s02g+QIzoK15+4p85wiyKtokbz68DxrfcjO/R9KXOpoYJlaEdBY8zhPEG+fwa+favIuDJ5o2lGyvAVFAigJZMOM2X0+gbAOFa/MAcnza9Tz7mwAju0h57t++HUm/zHh9AaDOSv25Mqff7ZZDYa5CzMPDs8C4KpnrCf3vvMDvvWfgTyo60+Y0jOmUom+tY2+7PpQDLRt8K+7QV+VVHLybaIbHKFGSVrRISS0gHm+jM/mIwlxsCb+cF+AhO65KGgIbpCRHBgWOd+q+/brXLdvrLqPuwjJvACR1AgAxx6epg1Sbcm2ySS8skseD+ZuZL28dhyB7e1O6BhtbgvLM+/rREzuoIJaG5gqlJkSLCbaB2HeBEuIE4yhsCrDuiCV6C5SwF49+7BAfD5uyfdbb4rWF03PLWc0W+K933y5kj0pzOLRSsDbL4X9tdGImpTbubxoVFGBmdwC37oAWMNmYx1UizS3209UzwkMo/YkZq2Mk8GCEyWYA2JGc9V0DCzVHp5sEjgEsgoXWYp++jXYWYMyWBuZYLO1PzTBC5PcYIMcPDxtlI0v76fTAI/8CxlYMr99iduYDmu7YWePZTO6kPo296F7d2WHIGD5FEG+YguMVHfwkR+Db9gsQovszlKkAhxjIjA4sYAxyCkKj6AxP/XvjVAc+bbXmj5vjN07UHoDGw3cIIPoTMAzcB2LTeQX0sN+pf2gtcpZULmn3xFsyQO+SVOQ3KFYwzDmOErxHjj7liY50y95tMavQ8JDbmAgoOuNIBuB8hUGJjR9YFVnjUYEr3mv0qPw5AwlHJ1anXqFOIExTLbjZFAbI0JkpaskQKNFORk5suCOQJy5RTFWtM2tuReOAPHCgeec2F7RZSqKI3R/DqczkJ3MrBvNVWFo5MS1QD7xfQI35ggSGbpcDobaPEY4M7QQWMvwqDOsjzEaXKFYgPUj+/HU7phK15jMuPSAdwdqyrSEglHsz2mMbJI3JeEZ2m/yJadNVwi3vDPnWn43nEt70PYH9mWO5v+JXWaYwLZTRjp1Z41TmejUZlvePb/nzmePeg1n96TPtCsIRA0HT+8OBs8Xlll2ixWqNTMNY0RgCQGOd2gLCoAVnTsampOScUZOGNraFfDXnPiS31r5jn9xA9da2wXfhsYzVrRGGCjovfQ0JyBAUq5ASo/GmXWqlkf0iRGRDPzmzY/GQlilCISIxJhxIvpUGBKjINqnUOWe+VlRBYQJQW7D3R5bTS/urY98DdCG2ybZCGYr4E9sqcTLwhtV2aLO2D3CQM5IQFKkLSIeJpkS0xKAnfGFbMciSztu84AM36UdReJL5Rd7qDdGm2UXDt+eC6Ts5Ed1HGSMxLBBEiHginhv0O+7jWf/vuzLBBPWlMYXUot/PgJfAMcJSgST1uyIlPISl2NzS+Qr02+wmtuPAPfQCumX0hCYTzzHN6K0QJmiWhFGWOIiFax2MXzj59aCRSIiws9JIus/mQ8nbi2G2zqDeNZhdQC9YhGSmO+N8kF3ofQMvNGf4vkKusdI+9+BhRLsn21Otj/DBjNOqkblfFcAnKoqktGo0bJ/BST82yO7isunmIiU6S/XbUeSqhRUPo9FOrRi/+NelTQWCpPMbClGRuou3pUfbarH0YZ1KQz0y459O2+LD+DkR+WKfLUcYcHHNyeFCmnxEdRxlAw8t9TKrhgMD3X6bh9jaLCzz4AWBHt2ZK4Mu1YQBkVD7S3DF91xYrUSobI4XSW57HcqE1De0Ayu6nHjuWgPzwsB0WEZwxVU9Ddke0GRr4/ksCBfeH07XA6mg0dN3ROQxl+dTQtaN4prUssY2dY8ldNszWL5gIYqlLN24f537Zm2YzRFY6Qmap9aHHE5M+aQl5+ykb2gxG2YmMLk0DoMUja3Y65xstQapFAyxuVaxvgHWjH6KpNsiQB//zniT05PWl89PWkT41Kg6ZnSFlJ/Q/s4YeeKZGZBTLAMVkmyGhIvVS61at8bWectZXDyWlUBxZ15IJmdRHJbcOenJbs582PQ2qkGretOtwGMMq+sE1kWWKRWNtBPfhW++OunvmB5QWqEXK3fbqfOpoeJW6giyZFHU3riSt6Qds2oaxVpZ6n1nvP6Ydjy7WGtne4nYcXAPOx7rdMmPVnxpA6pAFGc+IbNbp8LGdUBJ/COcPRGBK4lFXc/mcP2d1cFgs1f13gPravO+B391XV4f7ujt4R7x5nsSOhHV8socpnRxnUPm+Ml1PIBFYVCrg7VpB3+AzDsGWht8/F79Qqg0n/3PbC0WTouHtjG0cC/ONaN75pdIkYUF0lYGag6duetg7PcfvO1BqF/ZFj6zaQmR547tt9zw4kJdZ/ylBbdMB3G2NGSYJ5fZ+qLY+U8k8kEovE8pvqVpfauB+k0YgYggLJgTEkeIG4GGC2kdqZ5Rc9ad+2vP5ZOJiMrQOyM5pf6+Cr5zrv9hz3qYrN1KdRJkeQRSszpmuIyZ5ebd1CvlZs1WY/HIzy9mA1/hxv2OSiVJGDLCtdm+0H98H0K69O/5XfY07fdao9fNepFKXTi9fhYGaNpHn3zw+V2vfITwZn/enV68Im9a8ibbyfEz3KS94sm3E0UHtclcadZ1sp6+Guw7153FRkBZ+bEbBpuBwRlPIPpaDUr+0O59j2fWtoh5PTMDizw4H1IU8a7x6YHJCs7qWYC32iEJNFG2aCrqHAkRLpzjlocYbJ22iNRXiFIeiBNRVx9TcXMabtpbEPZx7vt9pfxk7/q5pFxrmd6TMIUy7XimvzRHjJ9QHUmIpYnylMoVj17k5vv3ljwkteeAU5WMEjaBatpJD3ILytppTRak1j0Pnl1av7zlAxx0TAqNw9+YNEUGiJSWKkNzuKLY/4unW3RyO+gTnk6PVLKcZ3G/zbuhRY3tAOwv5oMiu0XilKf4UJ7Cc02xU3QwIux31Pd19PKVOQ20jzCuNs4gd+cVJsDW330YePU33829eHb2eUi9K2ax5tmfbWeWgYeJbrTy1Phs+z2dAOp9bQfrC1l14lYJDwFMpS/SxboilcVk9Ea54eIM3/3ZqqmPZ4cvwvMNWHbHeG6tzd0JvMphfP9663t166E+dkiRQtGc3Sq+e15ZGsRfYUR+ez9/ZIqqAiJzwdWUO/Z+boTJ119XICDFXUPMpzl5FbMbTp623ZkaTFtYMwsMfTkRXY9Va0mawkQZAIBVqnCRRIe7nHSG/TaJTrmYsELh9eaJayLOVRypPpRrvJ0OcMcaHu89BM9Lqv1sDcLF/CIRKnFBPRywi+fttut1lGqpxvvrY4jS7BZgW9c7yX89viCY7QFnxe75cVahGtfgAcra8Q69O1NBugN8Rz7cD2Q1loOBP3rWl0Wp1Wx7gFRrf1/JdWZ7fQeqTgS/q/k+hDb+YGzthWO9CrEXGPoTUVFTHkdUk1US6wDhz/PAw+TO3vZKxzTOI1zYjYb60zgsWnhoc+Z5gh3pMzTD0lx9SwFgKxugeFkR5OdPwbHomkSHT0r8YDDoLqnGhF8WcjZ+wE/h6BHbp8UWrqLMFrLKpp5J1n9+Azz+MLRvOflXapL4s3dxIOZlNZxE3Gjt+fTWZ++N5zBo8IT3odlw6ydEKmjK4xj7L3DMcyOh14eK+jyW/f/mK6ns0zIjKfwJSvqNCZTakEW6MFPfXnoHduBu2lefd2kHT2z+O4G6HuL2bnlzfIfNl5EZnzF6+em7D75nkXoeedXxCSVsFveHue8fbVWv6f9wDaq6swEzhpZ0Rq/+buX54jd1/gP777Kn+QPK1mUUu1BKs+48IaOQMrcCZuaHter9NoNKypkzcA9MUjzw48x/Z7rzrFHlcglKR6PfBTK79pl2By2fppW3j7MHY76qaycuDqutEO4lvQ+2/wXx875ptP//ijVf+3uXepgeurlT6Ul7JfdDrVbX8oG8fQv87RV+6HHs1qfzjU1fJ7zaf7rAGmWHpNxFyeUHqZpQYwyrsVJB8DXdB9tS3XO2Tf1sg9PxuSHz/we/lF361+qxyvYbfpB75kqnOXHxm6QEnZ3UV3jgqanq3M8iej+/rX1usXre7zN63ua+MnUN/u39Fk1ZU5/9UPK8vobpeUwGgyOZc5Y9F4vMPePTHuw1WUWVWUhd/euYmtnXT3V30Vu4axH4PJYAKexv/myc2zt/k1OCBWmANKIgTUVIA5ORGAZ2lKmUAxgORmTRm6Vxd5o0v9qhZVLjpu7VbVhm/1hR0SAfPqzzoLfvnyher/6t0/BCah7iHy8jLk/o07ymc/Y8kjOY0ylgDzSqa+MEIsr79lrsQIEoi35SBvR7AVMQFWQqT8bbt9l+O3W4J5GFbjHmgfJclcbRd403Pa57sLX/p/TKcqmcz3uRirmtrHrsaqC2KXOLqUgHSxKIBzuJRR9boPFMWxg27m6Ib5vhux6k2YjDPVL1pDEs8l9ZquHP8CE8xXKM4X2loBPCnTqO3zlV0mTxiaUyoA0xl//DPQA5IXQmMEMAFdsMYkE+hEU1V0sIAZAYOvMhHTLwSYDHTBE+MRmVndq04ZyV922tXoh6HeuZwwc60gsN2BPQhn06FnDWx/b5pdfGazIuoPHK+nay2YCvlPVVGqtZgihmmMI2PPGXbzaYyZugkiQ0gV463xbOe4umhF7oBtAeUtyNcvXx6D1JtsTYO3b6c5kW/fal0z8/sq5ghzafxd47cT8O7d4zASKAQiMYrNWbpkMEb3xrd5+Sgja8gv1ftLMcTJTVFZbkbMTCMva856REgda/5vIJJOi9WgUeN7kBTvVJkmoeY8odHlfRFW8T0GeR1zdcfHRy1QNe/vf+j9HcyuekfSCqyj8BvN1GfaG4Us9BFzQGg1yZrfgEsoYH6T92fwBSeJApmjfOPjk23N301Vtrciv7wNYrIwywMQk1CBFzeUFHt9AAEXNH387Nx6tucXb08WBrB17Ol/8AN73A9Guyf5j1hA6+tfQL9zFeH7rVLR802GtHnHTB+3AP3WYhlTWzJ1AjoHAhElBEUCUwKiFYouQURj9NYAze3k5MDVAkTi+pcjNR87eBqNH+3J6f8EAAD//5MULimoPAAA + H4sIAAAAAAAC/9x7e5fauJL4/3wKjYdfOpk75pHXTDKX3OOAm/YJGH626dlsJusjbAG6bSRHkkn3dHo/+x5JtjE0r+7Jzh/LOUmDXCpVlapK9ZB//KE5xaQ5hXxRsz0vPHcGdvi7FXQvwsAZ2qNJ0HkNahwJYF7X8Ax8AuYMNGkqmvDPjKFmRImAmCDGmymjK8wxJY2ILtMECQQ+/wbEApEaUB8ULSgwrIQhGN8ABgkQFPAsihDnAF1jgcm80WgYBfg1FqBVm+FaDaZiCdnV79YAk+zamiMiwIImMXhSqw1G/bDneJ3mCrJmQuc5YfCK15ZXMWbATEH9Noe6qyUEmBxsAUdJxgVi5pqFhM7BHzkhx4DNiCOTZiLNxOa8tZh+avybU7LrSZTQLDYxwcKc4QTxRgpXKN4FuVpIOC5gkqwlXMCtOWzWaumNWFDy4tg+hQzFMBKhIiGMKJnheSO9yXGapiZNj5spFItcEniqqW4qakhUMJFjENeiRKGloidXSNyGr9Um7yduMAk9e2Bbvt2pP034NGQoQZAjYDJg8mdK/T6B+u0m7B3odIDRft1ovTTA56rG8SymAKbCnEv1vQEwE5ShJV0hEC0YJTe1Uivr/1rP4DdcoGUkEsAQF5CJfCQ2BV4ifkOiWCmlnvg0hgI9+7n+dEG5IHCJnv0M1Kwo44IuecRwKt69U1uxrNVmlAEMMAH1pxx9AW3w4nWr9ew3EFNFgLYwDoz6bde3wwt7MLY9X1nl2Aou7owtkwJgzlAKzPMv4OzHHNoenZ8dQPDkCZgyBK8UhhleL1vHwERfFEH3VlG2WN/tILQUE45KaJ4glIJ2sUJMCapxFAMTA6NZIbMZG/sJrXGasQgdANiC6Dl+4I2OY3JcP7AGg/0AOaKjcN2Re+70NyjSKmrUb3uOb70f2KHvS5lLDRUsQ1sKGmMOpwny/Qvw7VtFxpXJa00zUoZXUCCA5kw6zJTR6xsA41j9whyc1W/HnnNpBXZo9z3b98OxN/qPj6HV68lfd2dV+vyL0WTQy1mYeHZ4EQRjPWE/vafMDrvWfgTyo60+Y0jOGUsmutYm+5NxTzLRtcKu7QV+VVHLybaIbLLCjJIlIkJJ6QBz3YkfjIYSY+BN/GA/gQmd81DQEK0QERwY1ge/0fXtRrluV1l1F3YRE3iGIyiQAQ49PcyapDumS4hJKH1Hx1hGrLHEEaOczoR080bOlklA/fb9aBT4gWcpWStL7I7cwHJc2ws9uy/19mPo296l7d1tqVp1kQch+n/NO0PSuUIMz27CnuuHCwQT6dArSLcU2PXDC9saBBfhueUMamsejPrtaBK8H01cuT/DoeX27nZqmYbVKnVpef7dDlVCK5iA+hqmqikMCXYTLeMQz8IZxEnGEHjVAm3wCtS3KQDv3j34kH/+7kl7k+kKVtdVfP+m9nefTnEkuuOJxaKFAdbfCx/TRCJqUm7mZ2CtPP2c3h34oQOMJWTyPJdikT5945niIZGx0pbUtCfx5CGIyRwsITHjqToYzSyVJxmYJXAOZCRSRmL76NdH6RCS3tTKBJ2o+ecJnJ/jBBng4GMlmL+q2OAgeZRBPqBzTNS3MJFfw69YLMKrbIoSJEIcIyKwuDHAMQjwcJMB9Ylve6Hl+07ftXuh07PdwAk+hk4P1APbtdxAfi016F/a01+nlAkZY/MFzZI45Fc4DckKxxiGMcMrxHjt/liYx4Wd+tMdeh8SGnIBBQdtaQDtFpDhPjCj6wOrPKsxJDr1f5VelSFhKOVq7dSpc4gTFMuIPkYCsSUmSFqyRgo0UpCTmS8LpgjIlVMUa01b25J76fQcK+x5zqXtFSdxRWmM+m1/PAndUc++01QVzlxKVAPsF9Mj/H+CIJmk/fGkp8VjgHtDB429OOp1JOkhTpMVig2we3w/nvKoseIlJhMuHcD9saoizZFwNNtDGiOLxF1JeJZ2i4zAWcI54jX/gzMO3zuu5X0MuwPbcifjv6ROU0wguwkjvdqz2vlkMChjKs/+/xPHs3ud+tMT6QP1HQSCuuOHlxe9xyurTA3EApWauaQxApDEIKcblIkTwIqObU3NKak4A2do9W2/oqz1kS/1rZ7nLSM/dK2hXfhtYNR3isYAaxU9QUNzBnoo5Qao/KiVkblmvU+TGBHNzG/a/ORJEKMUkRiRCCNeTIcCU2IcVOscstwrLyMySSop2H6gSwhG/da17Z6/Flpv0yQLwdwG9sAej7wgtF0ZEW+BnXIM5IQEKEHSIuJxks0xKQncGlfMciSytOs6Pcz4UdZdJL5SdrWFdmO0VnLt+OEHGYAO7GAXJzkjEUyAdCiYEv475MtO/em/v8gk+KwxhtGV1MJPn8E3wFGCIvG0oeIviazU1dj8CvnS5Au85MYz8A00YvqVJBTGE8/hjRjNYJaIRpQxhohoFItdPv/0uZFAgbi41EMykeyOhuORa7vBOqcynlVILVAPaKQ05nuTXOB9CC0Tb/C3SK6y3jHyTjOgWJLtq9XB/mfAqO+SulEZzyUgh6q6ZNR2KJmfYvIhm6JTxcVTTGSI9Ler1kMJNQpKv4dCPXrxv1GPChpL5SkGNjRjDXVfj6rPtvXDKA816cy0Sw59uytT7GDgh2WIPHbc/gEHtydEyinxUZQxFAz895QKLhhMP+hw3L5GUeFnHwCsiPZsSVwZdsygPBUPlPAMX1X+itBKHpH98SSPY7mxMwztAMnsOh87FoP+8LAYFBGeMVQNQbdHNos0+f5IAnv2pdO1w/Fg0nfc0DkP5fGrT9OC5q3UusQydPolf9UwW7NozoChMtW8RJr/bWqWzRitcITMVO1DgyMmf+5I5OWnLNY/GGEjNjYwCYQeg6TZbplLPA+lFgk0v1GxtgHegWaMVk2SJQn45z/P7NH5We2Tryd9rlWKUB1Dykrqf2D3P3ZMicwskAGOyTxBRk3qpdKtTuVrM+OsqRxOTqNqyuwiF9Sri0hua/bovGQ/L34cUiNVnG7swm0Ao6x920SmJRaJtR3sBt8of9zXMz+wvEAXgO6ViPdTR9OjxPV00qSoo+lu4opa0KZNKGtVoee59d5zuuHQcq2+7R0uWeIZwHyo6y0jZv2ZMaQaUcCoj3xjhy4fixkVwedwynA0hATOZRa3/9lDdjeXxUzNXxa4j+3rFvj9fVV5uL+9o/fEu8dZbEloyxdLqPLZUQa1zxvi+RgygVWGAu6PFeQd7tMYtkz09rn4rVylN+p+sL1wMOo77t6zjSMB/nGdV1yjK8SAqioBMwN13/a0dXiO23XG1iDsDhxbl4HM9MBz3+56diApsf5THrVFlX+7MGaUJJjXp2Rt+Ukp/0QisUgsv6mKfKmN+0FqtYghKJAcGEKCZ4iLHmZrqV1YflF3923L616EvdHQOiA7o367C77au3q3p6WpMjZTd9xMjiCLFqYuTu+p1e5ayNeKrVoJhw+jvDxYPX+OF2xyUaqTg8wrVZvNB6dg+pVXp//KT5jTdZ1qn8J1Kknp+PJ12JtYA2ne3Q+HUu0T4pPeRXe8el3YpP5VhI2nOdGjvOTFsglHPbXHVWnce7YRsh6uOpzM4zojK/hcj4B1weWIoJR/KAWlfm1WOIe271t9Oxydh8GFHfasj3nQeL9hckCyupZiznRHISazJswEXUKBIyXSrV5v0aflTbTEIlxhCDpgSUVc/c1FjGlzbuzDmZ/3G+UvY6v+VY0i49zOdA/ClMs14p1xIrziusk2pCLWPYUxFIvO/enNN29MeMULryAHK3gEzaKFFPIehHfVkDJaLGkMWr+8enXqDHXmmAgYlfs1f5AICi0xSYz0Zkex5Se+Lt3t0YhvYAo5ev1SivHdGv+mLgWW17eDsDsYTQqtV4rSXWACuwnNtsXNkIDzYdfT1ddzyhTkJtI8w7gY+YFfdMOtvu0+usE61i3urm6+XVAuStve8WjDtDd6vmHgWa4/tjx5fF5M+nY4tvr2g6299CoBg4SnUKbqF9kcjeG82vXd8fQAaf7v1lidaY8nx/8KU91kuze0y931vdFkfPl873p786V755xMkaI5o1m6er4zPZK5yJ7k6MPkvT2QKqjICc8HVt/vmDk6U0ddnZwAQyU1j/Lc5cmtGFrX9TbsSNLi2kEY2MPxwArs3Va0nqwkQZAIBVqmCRRIe7nHSG9daJTrmbMEzh+eaJayLOVRypPpQrvJ0JcMcaHuLNFMdNqvlsBcL1/CIRKnFBPRyQi+fttsNllGqpyvvzY4ja7AegW9c7yT89vgCY7QBnye75cZanFa/QA4Wq4Q69KlNBugN8Rz7cD2Q5loOCP3rWm0Gq1Gy7gDRrvx/JdGazvReqTgS/q/k+hDb+IGztBWO9DZIeIOQ0sqKmLI85JqoFxg7Tn+hzD4OLa/k7FOMYmXNCNiv7VOCBafax76kmGGeEfOMPWUHFPNmgnEdj0ojPRwoOPf8EgkRaCjf9Ue0Aja5UQrij8ZOEMn8PcI7NDli1JTJwleYlENI+89O4HPPI4vGM1/Vsqlvkze3FHYm4xlEjcaOn53Mpr44XvP6T3ieNLruLSXpSMyZnSJeZS9ZziWp9OBhye1Jr99+4vhejbNiMh8AlO+oEJHNqUSbIwW9Ozug967GbSX5u3bQdLZP4/jdoTav5itX94g82XrRWROX7x6bsL2m+dthJ63fkFIWgW/4c1pxpurpfw/rwE0F6swEzhpZkRq//p+Yx4jt1/gP777Kn+QPKxmUUOVBKs+49IaOD0rcEZuaHtep1Wr1ayxkxcA9MUjzw48x/Y7r1rFHlcglKQ6HfBTI79NmGBy1fhpU3j7MLZb6ja2cuDqutEW4jvQ+W/wX59a5pvP//ijsftvfe9SPddXK30sL56/aLWq2/5QNo6hf52jr9yBPRrV/nCoquV36k/3WQNMsfSaiLk8ofQqSw1glHcrSD4G2qD9alOu98i+2yH3vDckP37gd/LLzBv1Vjm+g926H/iSqdZ9fuTRBUrK7i+61Sqoe7Yyy5+M9utfG69fNNrP3zTar42fwO5y/5Ymq6rMh1/9sLKMrnZJCQxGow8yZiwKj/fYOxHjPlxFmlVFWfjtrdvm2km3f9XXzXcw9mMw6o3A0/jfPLl59ja/BgfEAnNASYSAmgowJ2cC8CxNKRMoBpDcLClDJ1WR17rUrWpR5aLjxm5VbfhOX9ghETBXf+6y4JcvX6j6r979Q2AS6gSRl5ch92/cUT67GUseyWmUsQSYKxn6wgixPP+WsRIjSCDelIO8GcFGxARYCJHyt83mfY7fbgjmYViNE9A+SpK52s7wuua0z3cXvvT/mE5VIpnvczFWFbWPXY1VF8SucHQlAelsVgDncCmj6pUmKIq2gy7m6IL5vhux6m2fjDNVL1pCEk8l9ZquHP8ME8wXKM4X2lgBPCnDqM3+yjaTZwxNKRWA6Yg//hnoAckLoTECmIA2WGKSCXSmqSoqWMCMgMEXmYjpVwJMBtrgifGIyGzX61wZyV/o2tboh6Heupwwca0gsN2e3Qsn475n9Wx/b5hdfCaT4tTvOV5H51owFfKfyqJUaTFFDNMYR8aeHnb9aYyZugkij5Aqxjvj2Va7uihFboFtAOUlyNcvXx6D1JtsjYO3b8c5kW/fal0z8/sq5gBzafxt47cz8O7d4zASKAQiMYrNSTpnMEYn41u/YJWRJeRX6h2tGOLkpsgs1yNmppGXOeduREi1Nf83EEmnxXagUeN7kBTvjZkmoeY0odHVqQir+B6DfBdzu9rHRy1QFe9Pb3p/B7Or3pG0Auso/FozdU97rZCFPmIOCK0GWdMbcAUFzG/y/gy+4iRRIFOUb3x8tqn526HK5lbkl7dBTGZm2QAxCRV4dkNJsdcHEHBB08fPzq1nc37xhmhhABttT/+jH9jDbjDY7uQ/YgGtr38B/dZVhO+3SkXP1xHS+j063W4B+s3M8kxtyNAJ6BgIRJQQFAlMCYgWKLoCEY3RWwPUN4OTA1cLEIl3vwCq+djCU6v9aI/O/ycAAP//Z7zg3Yw9AAA= - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line33.sh b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/CustomData b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/CustomData index 1ac056582ff..9a6a143239e 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/9x7bXfauLbwd36FxsPTtHPGvPRtpp1Dz3LBIV4Bw2ObzO3t9HoJW4BOjORKcppMm/vb75JkG0MMJJne+XBZqw3IW1t7b+13yT/+0J5j0p5DvmrYnheeOiM7/N0K+mdh4IztySzovQYNjgQwrxt4AT4CcwHaNBVt+GfGUDuiREBMEOPtlNErzDElrYiu0wQJBD79BsQKkQZQHxStKDCshCEY3wAGCRAU8CyKEOcAXWOBybLVahkF+DUWoNNY4EYDpmIN2eXv1giT7NpaIiLAiiYxeNJojCbDcOB4vfYVZO2ELnPC4CVvrC9jzICZgubXHOq2kRBgcrADHCUZF4iZGxYSugR/5IQcAzYjjkyaiTQT2/M2Yvqp9W9OSd2TKKFZbGKChbnACeKtFF6huA7yaiXhuIBJspFwAbfhsN1opDdiRcmLY/sUMhTDSISKhDCiZIGXrfQmx2mamjQ9bqZQrHJJ4Lmmuq2oIVHBRI5BXIsShZaKnlwhcRe+0Zi9n7nBLPTskW35dq/5NOHzkKEEQY6AyYDJnyn1+wiaX7dhb0GvB4zu61bnpQE+VTWOZzEFMBXmUqrvDYCZoAyt6RUC0YpRctMotbL5r80MfsMFWkciAQxxAZnIR2JT4DXiNySKlVLqiU9jKNCzn5tPV5QLAtfo2c9AzYoyLuiaRwyn4t07tRXrRmNBGcAAE9B8ytFn0AUvXnc6z34DMVUEaAvjwGh+7ft2eGaPprbnK6ucWsHZrbFjUgAsGUqBefoZnPyYQ9uT05MDCJ48AXOG4KXCsMCbZZsYmOizIujOKsoWm/UOQksx4aiE5glCKegWK8SUoAZHMTAxMNoVMtuxsZ/QBqcZi9ABgB2IgeMH3uQ4Jsf1A2s02g+QIzoK15+4p85wiyKtokbz68DxrfcjO/R9KXOpoYJlaEdBY8zhPEG+fwa+favIuDJ5o2lGyvAVFAigJZMOM2X0+gbAOFa/MAcnza9Tz7mwAju0h57t++HUm/zHh9AaDOSv25Mqff7ZZDYa5CzMPDs8C4KpnrCf3vvMDvvWfgTyo60+Y0jOmUom+tY2+7PpQDLRt8K+7QV+VVHLybaIbHKFGSVrRISS0gHm+jM/mIwlxsCb+cF+AhO65KGgIbpCRHBgWOd+q+/brXLdvrLqPuwjJvACR1AgAxx6epg1Sbcm2ySS8skseD+ZuZL28dhyB7e1O6BhtbgvLM+/rREzuoIJaG5gqlJkSLCbaB2HeBEuIE4yhsCrDuiCV6C5SwF49+7BAfD5uyfdbb4rWF03PLWc0W+K933y5kj0pzOLRSsDbL4X9tdGImpTbubxoVFGBmdwC37oAWMNmYx1UizS3209UzwkMo/YkZq2Mk8GCEyWYA2JGc9V0DCzVHp5sEjgEsgoXWYp++jXYWYMyWBuZYLO1PzTBC5PcYIMcPDxtlI0v76fTAI/8CxlYMr99iduYDmu7YWePZTO6kPo296F7d2WHIGD5FEG+YguMVHfwkR+Db9gsQovszlKkAhxjIjA4sYAxyCkKj6AxP/XvjVAc+bbXmj5vjN07UHoDGw3cIIPoTMAzcB2LTeQX0sN+pf2gtcpZULmn3xFsyQO+SVOQ3KFYwzDmOErxHjj7liY50y95tMavQ8JDbmAgoOuNIBuB8hUGJjR9YFVnjUYEr3mv0qPw5AwlHJ1anXqFOIExTLbjZFAbI0JkpaskQKNFORk5suCOQJy5RTFWtM2tuReOAPHCgeec2F7RZSqKI3R/DqczkJ3MrBvNVWFo5MS1QD7xfQI35ggSGbpcDobaPEY4M7QQWMvwqDOsjzEaXKFYgPUj+/HU7phK15jMuPSAdwdqyrSEglHsz2mMbJI3JeEZ2m/yJadNVwi3vDPnWn43nEt70PYH9mWO5v+JXWaYwLZTRjp1Z41TmejUZlvePb/nzmePeg1n96TPtCsIRA0HT+8OBs8Xlll2ixWqNTMNY0RgCQGOd2gLCoAVnTsampOScUZOGNraFfDXnPiS31r5jn9xA9da2wXfhsYzVrRGGCjovfQ0JyBAUq5ASo/GmXWqlkf0iRGRDPzmzY/GQlilCISIxJhxIvpUGBKjINqnUOWe+VlRBYQJQW7D3R5bTS/urY98DdCG2ybZCGYr4E9sqcTLwhtV2aLO2D3CQM5IQFKkLSIeJpkS0xKAnfGFbMciSztu84AM36UdReJL5Rd7qDdGm2UXDt+eC6Ts5Ed1HGSMxLBBEiHginhv0O+7jWf/vuzLBBPWlMYXUot/PgJfAMcJSgST1uyIlPISl2NzS+Qr02+wmtuPAPfQCumX0hCYTzzHN6K0QJmiWhFGWOIiFax2MXzj59aCRSIiws9JIus/mQ8nbi2G2zqDeNZhdQC9YhGSmO+N8kF3ofQMvNGf4vkKusdI+9+BhRLsn21Otj/DBjNOqkblfFcAnKoqktGo0bJ/BST82yO7isunmIiU6S/XbUeSqhRUPo9FOrRi/+NelTQWCpPMbClGRuou3pUfbarH0YZ1KQz0y459O2+LD+DkR+WKfLUcYcHHNyeFCmnxEdRxlAw8t9TKrhgMD3X6bh9jaLCzz4AWBHt2ZK4Mu1YQBkVD7S3DF91xYrUSobI4XSW57HcqE1De0Ayu6nHjuWgPzwsB0WEZwxVU9Ddke0GRr4/ksCBfeH07XA6mg0dN3ROQxl+dTQtaN4prUssY2dY8ldNszWL5gIYqlLN24f537Zm2YzRFY6Qmap9aHHE5M+aQl5+ykb2gxG2YmMLk0DoMUja3Y65xstQapFAyxuVaxvgHWjH6KpNsiQB//zniT05PWl89PWkT41Kg6ZnSFlJ/Q/s4YeeKZGZBTLAMVkmyGhIvVS61at8bWectZXDyWlUBxZ15IJmdRHJbcOenJbs582PQ2qkGretOtwGMMq+sE1kWWKRWNtBPfhW++OunvmB5QWqEXK3fbqfOpoeJW6giyZFHU3riSt6Qds2oaxVpZ6n1nvP6Ydjy7WGtne4nYcXAPOx7rdMmPVnxpA6pAFGc+IbNbp8LGdUBJ/COcPRGBK4lFXc/mcP2d1cFgs1f13gPravO+B391XV4f7ujt4R7x5nsSOhHV8socpnRxnUPm+Ml1PIBFYVCrg7VpB3+AzDsGWht8/F79Qqg0n/3PbC0WTouHtjG0cC/ONaN75pdIkYUF0lYGag6duetg7PcfvO1BqF/ZFj6zaQmR547tt9zw4kJdZ/ylBbdMB3G2NGSYJ5fZ+qLY+U8k8kEovE8pvqVpfauB+k0YgYggLJgTEkeIG4GGC2kdqZ5Rc9ad+2vP5ZOJiMrQOyM5pf6+Cr5zrv9hz3qYrN1KdRJkeQRSszpmuIyZ5ebd1CvlZs1WY/HIzy9mA1/hxv2OSiVJGDLCtdm+0H98H0K69O/5XfY07fdao9fNepFKXTi9fhYGaNpHn3zw+V2vfITwZn/enV68Im9a8ibbyfEz3KS94sm3E0UHtclcadZ1sp6+Guw7153FRkBZ+bEbBpuBwRlPIPpaDUr+0O59j2fWtoh5PTMDizw4H1IU8a7x6YHJCs7qWYC32iEJNFG2aCrqHAkRLpzjlocYbJ22iNRXiFIeiBNRVx9TcXMabtpbEPZx7vt9pfxk7/q5pFxrmd6TMIUy7XimvzRHjJ9QHUmIpYnylMoVj17k5vv3ljwkteeAU5WMEjaBatpJD3ILytppTRak1j0Pnl1av7zlAxx0TAqNw9+YNEUGiJSWKkNzuKLY/4unW3RyO+gTnk6PVLKcZ3G/zbuhRY3tAOwv5oMiu0XilKf4UJ7Cc02xU3QwIux31Pd19PKVOQ20jzCuNs4gd+cVJsDW330YePU33829eHb2eUi9K2ax5tmfbWeWgYeJbrTy1Phs+z2dAOp9bQfrC1l14lYJDwFMpS/SxboilcVk9Ea54eIM3/3ZqqmPZ4cvwvMNWHbHeG6tzd0JvMphfP9663t166E+dkiRQtGc3Sq+e15ZGsRfYUR+ez9/ZIqqAiJzwdWUO/Z+boTJ119XICDFXUPMpzl5FbMbTp623ZkaTFtYMwsMfTkRXY9Va0mawkQZAIBVqnCRRIe7nHSG/TaJTrmYsELh9eaJayLOVRypPpRrvJ0OcMcaHu89BM9Lqv1sDcLF/CIRKnFBPRywi+fttut1lGqpxvvrY4jS7BZgW9c7yX89viCY7QFnxe75cVahGtfgAcra8Q69O1NBugN8Rz7cD2Q1loOBP3rWl0Wp1Wx7gFRrf1/JdWZ7fQeqTgS/q/k+hDb+YGzthWO9CrEXGPoTUVFTHkdUk1US6wDhz/PAw+TO3vZKxzTOI1zYjYb60zgsWnhoc+Z5gh3pMzTD0lx9SwFgKxugeFkR5OdPwbHomkSHT0r8YDDoLqnGhF8WcjZ+wE/h6BHbp8UWrqLMFrLKpp5J1n9+Azz+MLRvOflXapL4s3dxIOZlNZxE3Gjt+fTWZ++N5zBo8IT3odlw6ydEKmjK4xj7L3DMcyOh14eK+jyW/f/mK6ns0zIjKfwJSvqNCZTakEW6MFPfXnoHduBu2lefd2kHT2z+O4G6HuL2bnlzfIfNl5EZnzF6+em7D75nkXoeedXxCSVsFveHue8fbVWv6f9wDaq6swEzhpZ0Rq/+buX54jd1/gP777Kn+QPK1mUUu1BKs+48IaOQMrcCZuaHter9NoNKypkzcA9MUjzw48x/Z7rzrFHlcglKR6PfBTK79pl2By2fppW3j7MHY76qaycuDqutEO4lvQ+2/wXx875ptP//ijVf+3uXepgeurlT6Ul7JfdDrVbX8oG8fQv87RV+6HHs1qfzjU1fJ7zaf7rAGmWHpNxFyeUHqZpQYwyrsVJB8DXdB9tS3XO2Tf1sg9PxuSHz/we/lF361+qxyvYbfpB75kqnOXHxm6QEnZ3UV3jgqanq3M8iej+/rX1usXre7zN63ua+MnUN/u39Fk1ZU5/9UPK8vobpeUwGgyOZc5Y9F4vMPePTHuw1WUWVWUhd/euYmtnXT3V30Vu4axH4PJYAKexv/myc2zt/k1OCBWmANKIgTUVIA5ORGAZ2lKmUAxgORmTRm6Vxd5o0v9qhZVLjpu7VbVhm/1hR0SAfPqzzoLfvnyher/6t0/BCah7iHy8jLk/o07ymc/Y8kjOY0ylgDzSqa+MEIsr79lrsQIEoi35SBvR7AVMQFWQqT8bbt9l+O3W4J5GFbjHmgfJclcbRd403Pa57sLX/p/TKcqmcz3uRirmtrHrsaqC2KXOLqUgHSxKIBzuJRR9boPFMWxg27m6Ib5vhux6k2YjDPVL1pDEs8l9ZquHP8CE8xXKM4X2loBPCnTqO3zlV0mTxiaUyoA0xl//DPQA5IXQmMEMAFdsMYkE+hEU1V0sIAZAYOvMhHTLwSYDHTBE+MRmVndq04ZyV922tXoh6HeuZwwc60gsN2BPQhn06FnDWx/b5pdfGazIuoPHK+nay2YCvlPVVGqtZgihmmMI2PPGXbzaYyZugkiQ0gV463xbOe4umhF7oBtAeUtyNcvXx6D1JtsTYO3b6c5kW/fal0z8/sq5ghzafxd47cT8O7d4zASKAQiMYrNWbpkMEb3xrd5+Sgja8gv1ftLMcTJTVFZbkbMTCMva856REgda/5vIJJOi9WgUeN7kBTvVJkmoeY8odHlfRFW8T0GeR1zdcfHRy1QNe/vf+j9HcyuekfSCqyj8BvN1GfaG4Us9BFzQGg1yZrfgEsoYH6T92fwBSeJApmjfOPjk23N301Vtrciv7wNYrIwywMQk1CBFzeUFHt9AAEXNH387Nx6tucXb08WBrB17Ol/8AN73A9Guyf5j1hA6+tfQL9zFeH7rVLR802GtHnHTB+3AP3WYhlTWzJ1AjoHAhElBEUCUwKiFYouQURj9NYAze3k5MDVAkTi+pcjNR87eBqNH+3J6f8EAAD//5MULimoPAAA + H4sIAAAAAAAC/9x7e5fauJL4/3wKjYdfOpk75pHXTDKX3OOAm/YJGH626dlsJusjbAG6bSRHkkn3dHo/+x5JtjE0r+7Jzh/LOUmDXCpVlapK9ZB//KE5xaQ5hXxRsz0vPHcGdvi7FXQvwsAZ2qNJ0HkNahwJYF7X8Ax8AuYMNGkqmvDPjKFmRImAmCDGmymjK8wxJY2ILtMECQQ+/wbEApEaUB8ULSgwrIQhGN8ABgkQFPAsihDnAF1jgcm80WgYBfg1FqBVm+FaDaZiCdnV79YAk+zamiMiwIImMXhSqw1G/bDneJ3mCrJmQuc5YfCK15ZXMWbATEH9Noe6qyUEmBxsAUdJxgVi5pqFhM7BHzkhx4DNiCOTZiLNxOa8tZh+avybU7LrSZTQLDYxwcKc4QTxRgpXKN4FuVpIOC5gkqwlXMCtOWzWaumNWFDy4tg+hQzFMBKhIiGMKJnheSO9yXGapiZNj5spFItcEniqqW4qakhUMJFjENeiRKGloidXSNyGr9Um7yduMAk9e2Bbvt2pP034NGQoQZAjYDJg8mdK/T6B+u0m7B3odIDRft1ovTTA56rG8SymAKbCnEv1vQEwE5ShJV0hEC0YJTe1Uivr/1rP4DdcoGUkEsAQF5CJfCQ2BV4ifkOiWCmlnvg0hgI9+7n+dEG5IHCJnv0M1Kwo44IuecRwKt69U1uxrNVmlAEMMAH1pxx9AW3w4nWr9ew3EFNFgLYwDoz6bde3wwt7MLY9X1nl2Aou7owtkwJgzlAKzPMv4OzHHNoenZ8dQPDkCZgyBK8UhhleL1vHwERfFEH3VlG2WN/tILQUE45KaJ4glIJ2sUJMCapxFAMTA6NZIbMZG/sJrXGasQgdANiC6Dl+4I2OY3JcP7AGg/0AOaKjcN2Re+70NyjSKmrUb3uOb70f2KHvS5lLDRUsQ1sKGmMOpwny/Qvw7VtFxpXJa00zUoZXUCCA5kw6zJTR6xsA41j9whyc1W/HnnNpBXZo9z3b98OxN/qPj6HV68lfd2dV+vyL0WTQy1mYeHZ4EQRjPWE/vafMDrvWfgTyo60+Y0jOGUsmutYm+5NxTzLRtcKu7QV+VVHLybaIbLLCjJIlIkJJ6QBz3YkfjIYSY+BN/GA/gQmd81DQEK0QERwY1ge/0fXtRrluV1l1F3YRE3iGIyiQAQ49PcyapDumS4hJKH1Hx1hGrLHEEaOczoR080bOlklA/fb9aBT4gWcpWStL7I7cwHJc2ws9uy/19mPo296l7d1tqVp1kQch+n/NO0PSuUIMz27CnuuHCwQT6dArSLcU2PXDC9saBBfhueUMamsejPrtaBK8H01cuT/DoeX27nZqmYbVKnVpef7dDlVCK5iA+hqmqikMCXYTLeMQz8IZxEnGEHjVAm3wCtS3KQDv3j34kH/+7kl7k+kKVtdVfP+m9nefTnEkuuOJxaKFAdbfCx/TRCJqUm7mZ2CtPP2c3h34oQOMJWTyPJdikT5945niIZGx0pbUtCfx5CGIyRwsITHjqToYzSyVJxmYJXAOZCRSRmL76NdH6RCS3tTKBJ2o+ecJnJ/jBBng4GMlmL+q2OAgeZRBPqBzTNS3MJFfw69YLMKrbIoSJEIcIyKwuDHAMQjwcJMB9Ylve6Hl+07ftXuh07PdwAk+hk4P1APbtdxAfi016F/a01+nlAkZY/MFzZI45Fc4DckKxxiGMcMrxHjt/liYx4Wd+tMdeh8SGnIBBQdtaQDtFpDhPjCj6wOrPKsxJDr1f5VelSFhKOVq7dSpc4gTFMuIPkYCsSUmSFqyRgo0UpCTmS8LpgjIlVMUa01b25J76fQcK+x5zqXtFSdxRWmM+m1/PAndUc++01QVzlxKVAPsF9Mj/H+CIJmk/fGkp8VjgHtDB429OOp1JOkhTpMVig2we3w/nvKoseIlJhMuHcD9saoizZFwNNtDGiOLxF1JeJZ2i4zAWcI54jX/gzMO3zuu5X0MuwPbcifjv6ROU0wguwkjvdqz2vlkMChjKs/+/xPHs3ud+tMT6QP1HQSCuuOHlxe9xyurTA3EApWauaQxApDEIKcblIkTwIqObU3NKak4A2do9W2/oqz1kS/1rZ7nLSM/dK2hXfhtYNR3isYAaxU9QUNzBnoo5Qao/KiVkblmvU+TGBHNzG/a/ORJEKMUkRiRCCNeTIcCU2IcVOscstwrLyMySSop2H6gSwhG/da17Z6/Flpv0yQLwdwG9sAej7wgtF0ZEW+BnXIM5IQEKEHSIuJxks0xKQncGlfMciSytOs6Pcz4UdZdJL5SdrWFdmO0VnLt+OEHGYAO7GAXJzkjEUyAdCiYEv475MtO/em/v8gk+KwxhtGV1MJPn8E3wFGCIvG0oeIviazU1dj8CvnS5Au85MYz8A00YvqVJBTGE8/hjRjNYJaIRpQxhohoFItdPv/0uZFAgbi41EMykeyOhuORa7vBOqcynlVILVAPaKQ05nuTXOB9CC0Tb/C3SK6y3jHyTjOgWJLtq9XB/mfAqO+SulEZzyUgh6q6ZNR2KJmfYvIhm6JTxcVTTGSI9Ler1kMJNQpKv4dCPXrxv1GPChpL5SkGNjRjDXVfj6rPtvXDKA816cy0Sw59uytT7GDgh2WIPHbc/gEHtydEyinxUZQxFAz895QKLhhMP+hw3L5GUeFnHwCsiPZsSVwZdsygPBUPlPAMX1X+itBKHpH98SSPY7mxMwztAMnsOh87FoP+8LAYFBGeMVQNQbdHNos0+f5IAnv2pdO1w/Fg0nfc0DkP5fGrT9OC5q3UusQydPolf9UwW7NozoChMtW8RJr/bWqWzRitcITMVO1DgyMmf+5I5OWnLNY/GGEjNjYwCYQeg6TZbplLPA+lFgk0v1GxtgHegWaMVk2SJQn45z/P7NH5We2Tryd9rlWKUB1Dykrqf2D3P3ZMicwskAGOyTxBRk3qpdKtTuVrM+OsqRxOTqNqyuwiF9Sri0hua/bovGQ/L34cUiNVnG7swm0Ao6x920SmJRaJtR3sBt8of9zXMz+wvEAXgO6ViPdTR9OjxPV00qSoo+lu4opa0KZNKGtVoee59d5zuuHQcq2+7R0uWeIZwHyo6y0jZv2ZMaQaUcCoj3xjhy4fixkVwedwynA0hATOZRa3/9lDdjeXxUzNXxa4j+3rFvj9fVV5uL+9o/fEu8dZbEloyxdLqPLZUQa1zxvi+RgygVWGAu6PFeQd7tMYtkz09rn4rVylN+p+sL1wMOo77t6zjSMB/nGdV1yjK8SAqioBMwN13/a0dXiO23XG1iDsDhxbl4HM9MBz3+56diApsf5THrVFlX+7MGaUJJjXp2Rt+Ukp/0QisUgsv6mKfKmN+0FqtYghKJAcGEKCZ4iLHmZrqV1YflF3923L616EvdHQOiA7o367C77au3q3p6WpMjZTd9xMjiCLFqYuTu+p1e5ayNeKrVoJhw+jvDxYPX+OF2xyUaqTg8wrVZvNB6dg+pVXp//KT5jTdZ1qn8J1Kknp+PJ12JtYA2ne3Q+HUu0T4pPeRXe8el3YpP5VhI2nOdGjvOTFsglHPbXHVWnce7YRsh6uOpzM4zojK/hcj4B1weWIoJR/KAWlfm1WOIe271t9Oxydh8GFHfasj3nQeL9hckCyupZiznRHISazJswEXUKBIyXSrV5v0aflTbTEIlxhCDpgSUVc/c1FjGlzbuzDmZ/3G+UvY6v+VY0i49zOdA/ClMs14p1xIrziusk2pCLWPYUxFIvO/enNN29MeMULryAHK3gEzaKFFPIehHfVkDJaLGkMWr+8enXqDHXmmAgYlfs1f5AICi0xSYz0Zkex5Se+Lt3t0YhvYAo5ev1SivHdGv+mLgWW17eDsDsYTQqtV4rSXWACuwnNtsXNkIDzYdfT1ddzyhTkJtI8w7gY+YFfdMOtvu0+usE61i3urm6+XVAuStve8WjDtDd6vmHgWa4/tjx5fF5M+nY4tvr2g6299CoBg4SnUKbqF9kcjeG82vXd8fQAaf7v1lidaY8nx/8KU91kuze0y931vdFkfPl873p786V755xMkaI5o1m6er4zPZK5yJ7k6MPkvT2QKqjICc8HVt/vmDk6U0ddnZwAQyU1j/Lc5cmtGFrX9TbsSNLi2kEY2MPxwArs3Va0nqwkQZAIBVqmCRRIe7nHSG9daJTrmbMEzh+eaJayLOVRypPpQrvJ0JcMcaHuLNFMdNqvlsBcL1/CIRKnFBPRyQi+fttsNllGqpyvvzY4ja7AegW9c7yT89vgCY7QBnye75cZanFa/QA4Wq4Q69KlNBugN8Rz7cD2Q5loOCP3rWm0Gq1Gy7gDRrvx/JdGazvReqTgS/q/k+hDb+IGztBWO9DZIeIOQ0sqKmLI85JqoFxg7Tn+hzD4OLa/k7FOMYmXNCNiv7VOCBafax76kmGGeEfOMPWUHFPNmgnEdj0ojPRwoOPf8EgkRaCjf9Ue0Aja5UQrij8ZOEMn8PcI7NDli1JTJwleYlENI+89O4HPPI4vGM1/Vsqlvkze3FHYm4xlEjcaOn53Mpr44XvP6T3ieNLruLSXpSMyZnSJeZS9ZziWp9OBhye1Jr99+4vhejbNiMh8AlO+oEJHNqUSbIwW9Ozug967GbSX5u3bQdLZP4/jdoTav5itX94g82XrRWROX7x6bsL2m+dthJ63fkFIWgW/4c1pxpurpfw/rwE0F6swEzhpZkRq//p+Yx4jt1/gP777Kn+QPKxmUUOVBKs+49IaOD0rcEZuaHtep1Wr1ayxkxcA9MUjzw48x/Y7r1rFHlcglKQ6HfBTI79NmGBy1fhpU3j7MLZb6ja2cuDqutEW4jvQ+W/wX59a5pvP//ijsftvfe9SPddXK30sL56/aLWq2/5QNo6hf52jr9yBPRrV/nCoquV36k/3WQNMsfSaiLk8ofQqSw1glHcrSD4G2qD9alOu98i+2yH3vDckP37gd/LLzBv1Vjm+g926H/iSqdZ9fuTRBUrK7i+61Sqoe7Yyy5+M9utfG69fNNrP3zTar42fwO5y/5Ymq6rMh1/9sLKMrnZJCQxGow8yZiwKj/fYOxHjPlxFmlVFWfjtrdvm2km3f9XXzXcw9mMw6o3A0/jfPLl59ja/BgfEAnNASYSAmgowJ2cC8CxNKRMoBpDcLClDJ1WR17rUrWpR5aLjxm5VbfhOX9ghETBXf+6y4JcvX6j6r979Q2AS6gSRl5ch92/cUT67GUseyWmUsQSYKxn6wgixPP+WsRIjSCDelIO8GcFGxARYCJHyt83mfY7fbgjmYViNE9A+SpK52s7wuua0z3cXvvT/mE5VIpnvczFWFbWPXY1VF8SucHQlAelsVgDncCmj6pUmKIq2gy7m6IL5vhux6m2fjDNVL1pCEk8l9ZquHP8ME8wXKM4X2lgBPCnDqM3+yjaTZwxNKRWA6Yg//hnoAckLoTECmIA2WGKSCXSmqSoqWMCMgMEXmYjpVwJMBtrgifGIyGzX61wZyV/o2tboh6Heupwwca0gsN2e3Qsn475n9Wx/b5hdfCaT4tTvOV5H51owFfKfyqJUaTFFDNMYR8aeHnb9aYyZugkij5Aqxjvj2Va7uihFboFtAOUlyNcvXx6D1JtsjYO3b8c5kW/fal0z8/sq5gBzafxt47cz8O7d4zASKAQiMYrNSTpnMEYn41u/YJWRJeRX6h2tGOLkpsgs1yNmppGXOeduREi1Nf83EEmnxXagUeN7kBTvjZkmoeY0odHVqQir+B6DfBdzu9rHRy1QFe9Pb3p/B7Or3pG0Auso/FozdU97rZCFPmIOCK0GWdMbcAUFzG/y/gy+4iRRIFOUb3x8tqn526HK5lbkl7dBTGZm2QAxCRV4dkNJsdcHEHBB08fPzq1nc37xhmhhABttT/+jH9jDbjDY7uQ/YgGtr38B/dZVhO+3SkXP1xHS+j063W4B+s3M8kxtyNAJ6BgIRJQQFAlMCYgWKLoCEY3RWwPUN4OTA1cLEIl3vwCq+djCU6v9aI/O/ycAAP//Z7zg3Yw9AAA= - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line33.sh b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/CustomData b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/CustomData index 1ac056582ff..9a6a143239e 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/line33.sh b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/CustomData b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/CustomData index 1ac056582ff..9a6a143239e 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/line33.sh b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/CustomData b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/CustomData index 626a08a7e29..2635f8580f5 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/line33.sh b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/CustomData b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/CustomData index af350902003..5739b32855b 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/9x7bXfauLbwd36FxsPTtHPGvPRtpp1Dz3LBIV4Bw2ObzO3t9HoJW4BOjORKcppMm/vb75JkG0MMJJne+XBZqw3IW1t7b+13yT/+0J5j0p5DvmrYnheeOiM7/N0K+mdh4IztySzovQYNjgQwrxt4AT4CcwHaNBVt+GfGUDuiREBMEOPtlNErzDElrYiu0wQJBD79BsQKkQZQHxStKDCshCEY3wAGCRAU8CyKEOcAXWOBybLVahkF+DUWoNNY4EYDpmIN2eXv1giT7NpaIiLAiiYxeNJojCbDcOB4vfYVZO2ELnPC4CVvrC9jzICZgubXHOq2kRBgcrADHCUZF4iZGxYSugR/5IQcAzYjjkyaiTQT2/M2Yvqp9W9OSd2TKKFZbGKChbnACeKtFF6huA7yaiXhuIBJspFwAbfhsN1opDdiRcmLY/sUMhTDSISKhDCiZIGXrfQmx2mamjQ9bqZQrHJJ4Lmmuq2oIVHBRI5BXIsShZaKnlwhcRe+0Zi9n7nBLPTskW35dq/5NOHzkKEEQY6AyYDJnyn1+wiaX7dhb0GvB4zu61bnpQE+VTWOZzEFMBXmUqrvDYCZoAyt6RUC0YpRctMotbL5r80MfsMFWkciAQxxAZnIR2JT4DXiNySKlVLqiU9jKNCzn5tPV5QLAtfo2c9AzYoyLuiaRwyn4t07tRXrRmNBGcAAE9B8ytFn0AUvXnc6z34DMVUEaAvjwGh+7ft2eGaPprbnK6ucWsHZrbFjUgAsGUqBefoZnPyYQ9uT05MDCJ48AXOG4KXCsMCbZZsYmOizIujOKsoWm/UOQksx4aiE5glCKegWK8SUoAZHMTAxMNoVMtuxsZ/QBqcZi9ABgB2IgeMH3uQ4Jsf1A2s02g+QIzoK15+4p85wiyKtokbz68DxrfcjO/R9KXOpoYJlaEdBY8zhPEG+fwa+favIuDJ5o2lGyvAVFAigJZMOM2X0+gbAOFa/MAcnza9Tz7mwAju0h57t++HUm/zHh9AaDOSv25Mqff7ZZDYa5CzMPDs8C4KpnrCf3vvMDvvWfgTyo60+Y0jOmUom+tY2+7PpQDLRt8K+7QV+VVHLybaIbHKFGSVrRISS0gHm+jM/mIwlxsCb+cF+AhO65KGgIbpCRHBgWOd+q+/brXLdvrLqPuwjJvACR1AgAxx6epg1Sbcm2ySS8skseD+ZuZL28dhyB7e1O6BhtbgvLM+/rREzuoIJaG5gqlJkSLCbaB2HeBEuIE4yhsCrDuiCV6C5SwF49+7BAfD5uyfdbb4rWF03PLWc0W+K933y5kj0pzOLRSsDbL4X9tdGImpTbubxoVFGBmdwC37oAWMNmYx1UizS3209UzwkMo/YkZq2Mk8GCEyWYA2JGc9V0DCzVHp5sEjgEsgoXWYp++jXYWYMyWBuZYLO1PzTBC5PcYIMcPDxtlI0v76fTAI/8CxlYMr99iduYDmu7YWePZTO6kPo296F7d2WHIGD5FEG+YguMVHfwkR+Db9gsQovszlKkAhxjIjA4sYAxyCkKj6AxP/XvjVAc+bbXmj5vjN07UHoDGw3cIIPoTMAzcB2LTeQX0sN+pf2gtcpZULmn3xFsyQO+SVOQ3KFYwzDmOErxHjj7liY50y95tMavQ8JDbmAgoOuNIBuB8hUGJjR9YFVnjUYEr3mv0qPw5AwlHJ1anXqFOIExTLbjZFAbI0JkpaskQKNFORk5suCOQJy5RTFWtM2tuReOAPHCgeec2F7RZSqKI3R/DqczkJ3MrBvNVWFo5MS1QD7xfQI35ggSGbpcDobaPEY4M7QQWMvwqDOsjzEaXKFYgPUj+/HU7phK15jMuPSAdwdqyrSEglHsz2mMbJI3JeEZ2m/yJadNVwi3vDPnWn43nEt70PYH9mWO5v+JXWaYwLZTRjp1Z41TmejUZlvePb/nzmePeg1n96TPtCsIRA0HT+8OBs8Xlll2ixWqNTMNY0RgCQGOd2gLCoAVnTsampOScUZOGNraFfDXnPiS31r5jn9xA9da2wXfhsYzVrRGGCjovfQ0JyBAUq5ASo/GmXWqlkf0iRGRDPzmzY/GQlilCISIxJhxIvpUGBKjINqnUOWe+VlRBYQJQW7D3R5bTS/urY98DdCG2ybZCGYr4E9sqcTLwhtV2aLO2D3CQM5IQFKkLSIeJpkS0xKAnfGFbMciSztu84AM36UdReJL5Rd7qDdGm2UXDt+eC6Ts5Ed1HGSMxLBBEiHginhv0O+7jWf/vuzLBBPWlMYXUot/PgJfAMcJSgST1uyIlPISl2NzS+Qr02+wmtuPAPfQCumX0hCYTzzHN6K0QJmiWhFGWOIiFax2MXzj59aCRSIiws9JIus/mQ8nbi2G2zqDeNZhdQC9YhGSmO+N8kF3ofQMvNGf4vkKusdI+9+BhRLsn21Otj/DBjNOqkblfFcAnKoqktGo0bJ/BST82yO7isunmIiU6S/XbUeSqhRUPo9FOrRi/+NelTQWCpPMbClGRuou3pUfbarH0YZ1KQz0y459O2+LD+DkR+WKfLUcYcHHNyeFCmnxEdRxlAw8t9TKrhgMD3X6bh9jaLCzz4AWBHt2ZK4Mu1YQBkVD7S3DF91xYrUSobI4XSW57HcqE1De0Ayu6nHjuWgPzwsB0WEZwxVU9Ddke0GRr4/ksCBfeH07XA6mg0dN3ROQxl+dTQtaN4prUssY2dY8ldNszWL5gIYqlLN24f537Zm2YzRFY6Qmap9aHHE5M+aQl5+ykb2gxG2YmMLk0DoMUja3Y65xstQapFAyxuVaxvgHWjH6KpNsiQB//zniT05PWl89PWkT41Kg6ZnSFlJ/Q/s4YeeKZGZBTLAMVkmyGhIvVS61at8bWectZXDyWlUBxZ15IJmdRHJbcOenJbs582PQ2qkGretOtwGMMq+sE1kWWKRWNtBPfhW++OunvmB5QWqEXK3fbqfOpoeJW6giyZFHU3riSt6Qds2oaxVpZ6n1nvP6Ydjy7WGtne4nYcXAPOx7rdMmPVnxpA6pAFGc+IbNbp8LGdUBJ/COcPRGBK4lFXc/mcP2d1cFgs1f13gPravO+B391XV4f7ujt4R7x5nsSOhHV8socpnRxnUPm+Ml1PIBFYVCrg7VpB3+AzDsGWht8/F79Qqg0n/3PbC0WTouHtjG0cC/ONaN75pdIkYUF0lYGag6duetg7PcfvO1BqF/ZFj6zaQmR547tt9zw4kJdZ/ylBbdMB3G2NGSYJ5fZ+qLY+U8k8kEovE8pvqVpfauB+k0YgYggLJgTEkeIG4GGC2kdqZ5Rc9ad+2vP5ZOJiMrQOyM5pf6+Cr5zrv9hz3qYrN1KdRJkeQRSszpmuIyZ5ebd1CvlZs1WY/HIzy9mA1/hxv2OSiVJGDLCtdm+0H98H0K69O/5XfY07fdao9fNepFKXTi9fhYGaNpHn3zw+V2vfITwZn/enV68Im9a8ibbyfEz3KS94sm3E0UHtclcadZ1sp6+Guw7153FRkBZ+bEbBpuBwRlPIPpaDUr+0O59j2fWtoh5PTMDizw4H1IU8a7x6YHJCs7qWYC32iEJNFG2aCrqHAkRLpzjlocYbJ22iNRXiFIeiBNRVx9TcXMabtpbEPZx7vt9pfxk7/q5pFxrmd6TMIUy7XimvzRHjJ9QHUmIpYnylMoVj17k5vv3ljwkteeAU5WMEjaBatpJD3ILytppTRak1j0Pnl1av7zlAxx0TAqNw9+YNEUGiJSWKkNzuKLY/4unW3RyO+gTnk6PVLKcZ3G/zbuhRY3tAOwv5oMiu0XilKf4UJ7Cc02xU3QwIux31Pd19PKVOQ20jzCuNs4gd+cVJsDW330YePU33829eHb2eUi9K2ax5tmfbWeWgYeJbrTy1Phs+z2dAOp9bQfrC1l14lYJDwFMpS/SxboilcVk9Ea54eIM3/3ZqqmPZ4cvwvMNWHbHeG6tzd0JvMphfP9663t166E+dkiRQtGc3Sq+e15ZGsRfYUR+ez9/ZIqqAiJzwdWUO/Z+boTJ119XICDFXUPMpzl5FbMbTp623ZkaTFtYMwsMfTkRXY9Va0mawkQZAIBVqnCRRIe7nHSG/TaJTrmYsELh9eaJayLOVRypPpRrvJ0OcMcaHu89BM9Lqv1sDcLF/CIRKnFBPRywi+fttut1lGqpxvvrY4jS7BZgW9c7yX89viCY7QFnxe75cVahGtfgAcra8Q69O1NBugN8Rz7cD2Q1loOBP3rWl0Wp1Wx7gFRrf1/JdWZ7fQeqTgS/q/k+hDb+YGzthWO9CrEXGPoTUVFTHkdUk1US6wDhz/PAw+TO3vZKxzTOI1zYjYb60zgsWnhoc+Z5gh3pMzTD0lx9SwFgKxugeFkR5OdPwbHomkSHT0r8YDDoLqnGhF8WcjZ+wE/h6BHbp8UWrqLMFrLKpp5J1n9+Azz+MLRvOflXapL4s3dxIOZlNZxE3Gjt+fTWZ++N5zBo8IT3odlw6ydEKmjK4xj7L3DMcyOh14eK+jyW/f/mK6ns0zIjKfwJSvqNCZTakEW6MFPfXnoHduBu2lefd2kHT2z+O4G6HuL2bnlzfIfNl5EZnzF6+em7D75nkXoeedXxCSVsFveHue8fbVWv6f9wDaq6swEzhpZ0Rq/+buX54jd1/gP777Kn+QPK1mUUu1BKs+48IaOQMrcCZuaHter9NoNKypkzcA9MUjzw48x/Z7rzrFHlcglKR6PfBTK79pl2By2fppW3j7MHY76qaycuDqutEO4lvQ+2/wXx875ptP//ijVf+3uXepgeurlT6Ul7JfdDrVbX8oG8fQv87RV+6HHs1qfzjU1fJ7zaf7rAGmWHpNxFyeUHqZpQYwyrsVJB8DXdB9tS3XO2Tf1sg9PxuSHz/we/lF361+qxyvYbfpB75kqnOXHxm6QEnZ3UV3jgqanq3M8iej+/rX1usXre7zN63ua+MnUN/u39Fk1ZU5/9UPK8vobpeUwGgyOZc5Y9F4vMPePTHuw1WUWVWUhd/euYmtnXT3V30Vu4axH4PJYAKexv/myc2zt/k1OCBWmANKIgTUVIA5ORGAZ2lKmUAxgORmTRm6Vxd5o0v9qhZVLjpu7VbVhm/1hR0SAfPqzzoLfvnyher/6t0/BCah7iHy8jLk/o07ymc/Y8kjOY0ylgDzSqa+MEIsr79lrsQIEoi35SBvR7AVMQFWQqT8bbt9l+O3W4J5GFbjHmgfJclcbRd403Pa57sLX/p/TKcqmcz3uRirmtrHrsaqC2KXOLqUgHSxKIBzuJRR9boPFMWxg27m6Ib5vhux6k2YjDPVL1pDEs8l9ZquHP8CE8xXKM4X2loBPCnTqO3zlV0mTxiaUyoA0xl//DPQA5IXQmMEMAFdsMYkE+hEU1V0sIAZAYOvMhHTLwSYDHTBE+MRmVndq04ZyV922tXoh6HeuZwwc60gsN2BPQhn06FnDWx/b5pdfGazIuoPHK+nay2YCvlPVVGqtZgihmmMI2PPGXbzaYyZugkiQ0gV463xbOe4umhF7oBtAeUtyNcvXx6D1JtsTYO3b6c5kW/fal0z8/sq5ghzafxd47cT8O7d4zASKAQiMYrNWbpkMEb3xrd5+Sgja8gv1ftLMcTJTVFZbkbMTCMva856REgda/5vIJJOi9WgUeN7kBTvVJkmoeY8odHlfRFW8T0GeR1zdcfHRy1QNe/vf+j9HcyuekfSCqyj8BvN1GfaG4Us9BFzQGg1yZrfgEsoYH6T92fwBSeJApmjfOPjk23N301Vtrciv7wNYrIwywMQk1CBFzeUFHt9AAEXNH387Nx6tucXb08WBrB17Ol/8AN73A9Guyf5j1hA6+tfQL9zFeH7rVLR802GtHnHTB+3AP3WYhlTWzJ1AjoHAhElBEUCUwKiFYouQURj9NYAze3k5MDVAkTi+pcjNR87eBqNH+3J6f8EAAD//5MULimoPAAA + H4sIAAAAAAAC/9x7e5fauJL4/3wKjYdfOpk75pHXTDKX3OOAm/YJGH626dlsJusjbAG6bSRHkkn3dHo/+x5JtjE0r+7Jzh/LOUmDXCpVlapK9ZB//KE5xaQ5hXxRsz0vPHcGdvi7FXQvwsAZ2qNJ0HkNahwJYF7X8Ax8AuYMNGkqmvDPjKFmRImAmCDGmymjK8wxJY2ILtMECQQ+/wbEApEaUB8ULSgwrIQhGN8ABgkQFPAsihDnAF1jgcm80WgYBfg1FqBVm+FaDaZiCdnV79YAk+zamiMiwIImMXhSqw1G/bDneJ3mCrJmQuc5YfCK15ZXMWbATEH9Noe6qyUEmBxsAUdJxgVi5pqFhM7BHzkhx4DNiCOTZiLNxOa8tZh+avybU7LrSZTQLDYxwcKc4QTxRgpXKN4FuVpIOC5gkqwlXMCtOWzWaumNWFDy4tg+hQzFMBKhIiGMKJnheSO9yXGapiZNj5spFItcEniqqW4qakhUMJFjENeiRKGloidXSNyGr9Um7yduMAk9e2Bbvt2pP034NGQoQZAjYDJg8mdK/T6B+u0m7B3odIDRft1ovTTA56rG8SymAKbCnEv1vQEwE5ShJV0hEC0YJTe1Uivr/1rP4DdcoGUkEsAQF5CJfCQ2BV4ifkOiWCmlnvg0hgI9+7n+dEG5IHCJnv0M1Kwo44IuecRwKt69U1uxrNVmlAEMMAH1pxx9AW3w4nWr9ew3EFNFgLYwDoz6bde3wwt7MLY9X1nl2Aou7owtkwJgzlAKzPMv4OzHHNoenZ8dQPDkCZgyBK8UhhleL1vHwERfFEH3VlG2WN/tILQUE45KaJ4glIJ2sUJMCapxFAMTA6NZIbMZG/sJrXGasQgdANiC6Dl+4I2OY3JcP7AGg/0AOaKjcN2Re+70NyjSKmrUb3uOb70f2KHvS5lLDRUsQ1sKGmMOpwny/Qvw7VtFxpXJa00zUoZXUCCA5kw6zJTR6xsA41j9whyc1W/HnnNpBXZo9z3b98OxN/qPj6HV68lfd2dV+vyL0WTQy1mYeHZ4EQRjPWE/vafMDrvWfgTyo60+Y0jOGUsmutYm+5NxTzLRtcKu7QV+VVHLybaIbLLCjJIlIkJJ6QBz3YkfjIYSY+BN/GA/gQmd81DQEK0QERwY1ge/0fXtRrluV1l1F3YRE3iGIyiQAQ49PcyapDumS4hJKH1Hx1hGrLHEEaOczoR080bOlklA/fb9aBT4gWcpWStL7I7cwHJc2ws9uy/19mPo296l7d1tqVp1kQch+n/NO0PSuUIMz27CnuuHCwQT6dArSLcU2PXDC9saBBfhueUMamsejPrtaBK8H01cuT/DoeX27nZqmYbVKnVpef7dDlVCK5iA+hqmqikMCXYTLeMQz8IZxEnGEHjVAm3wCtS3KQDv3j34kH/+7kl7k+kKVtdVfP+m9nefTnEkuuOJxaKFAdbfCx/TRCJqUm7mZ2CtPP2c3h34oQOMJWTyPJdikT5945niIZGx0pbUtCfx5CGIyRwsITHjqToYzSyVJxmYJXAOZCRSRmL76NdH6RCS3tTKBJ2o+ecJnJ/jBBng4GMlmL+q2OAgeZRBPqBzTNS3MJFfw69YLMKrbIoSJEIcIyKwuDHAMQjwcJMB9Ylve6Hl+07ftXuh07PdwAk+hk4P1APbtdxAfi016F/a01+nlAkZY/MFzZI45Fc4DckKxxiGMcMrxHjt/liYx4Wd+tMdeh8SGnIBBQdtaQDtFpDhPjCj6wOrPKsxJDr1f5VelSFhKOVq7dSpc4gTFMuIPkYCsSUmSFqyRgo0UpCTmS8LpgjIlVMUa01b25J76fQcK+x5zqXtFSdxRWmM+m1/PAndUc++01QVzlxKVAPsF9Mj/H+CIJmk/fGkp8VjgHtDB429OOp1JOkhTpMVig2we3w/nvKoseIlJhMuHcD9saoizZFwNNtDGiOLxF1JeJZ2i4zAWcI54jX/gzMO3zuu5X0MuwPbcifjv6ROU0wguwkjvdqz2vlkMChjKs/+/xPHs3ud+tMT6QP1HQSCuuOHlxe9xyurTA3EApWauaQxApDEIKcblIkTwIqObU3NKak4A2do9W2/oqz1kS/1rZ7nLSM/dK2hXfhtYNR3isYAaxU9QUNzBnoo5Qao/KiVkblmvU+TGBHNzG/a/ORJEKMUkRiRCCNeTIcCU2IcVOscstwrLyMySSop2H6gSwhG/da17Z6/Flpv0yQLwdwG9sAej7wgtF0ZEW+BnXIM5IQEKEHSIuJxks0xKQncGlfMciSytOs6Pcz4UdZdJL5SdrWFdmO0VnLt+OEHGYAO7GAXJzkjEUyAdCiYEv475MtO/em/v8gk+KwxhtGV1MJPn8E3wFGCIvG0oeIviazU1dj8CvnS5Au85MYz8A00YvqVJBTGE8/hjRjNYJaIRpQxhohoFItdPv/0uZFAgbi41EMykeyOhuORa7vBOqcynlVILVAPaKQ05nuTXOB9CC0Tb/C3SK6y3jHyTjOgWJLtq9XB/mfAqO+SulEZzyUgh6q6ZNR2KJmfYvIhm6JTxcVTTGSI9Ler1kMJNQpKv4dCPXrxv1GPChpL5SkGNjRjDXVfj6rPtvXDKA816cy0Sw59uytT7GDgh2WIPHbc/gEHtydEyinxUZQxFAz895QKLhhMP+hw3L5GUeFnHwCsiPZsSVwZdsygPBUPlPAMX1X+itBKHpH98SSPY7mxMwztAMnsOh87FoP+8LAYFBGeMVQNQbdHNos0+f5IAnv2pdO1w/Fg0nfc0DkP5fGrT9OC5q3UusQydPolf9UwW7NozoChMtW8RJr/bWqWzRitcITMVO1DgyMmf+5I5OWnLNY/GGEjNjYwCYQeg6TZbplLPA+lFgk0v1GxtgHegWaMVk2SJQn45z/P7NH5We2Tryd9rlWKUB1Dykrqf2D3P3ZMicwskAGOyTxBRk3qpdKtTuVrM+OsqRxOTqNqyuwiF9Sri0hua/bovGQ/L34cUiNVnG7swm0Ao6x920SmJRaJtR3sBt8of9zXMz+wvEAXgO6ViPdTR9OjxPV00qSoo+lu4opa0KZNKGtVoee59d5zuuHQcq2+7R0uWeIZwHyo6y0jZv2ZMaQaUcCoj3xjhy4fixkVwedwynA0hATOZRa3/9lDdjeXxUzNXxa4j+3rFvj9fVV5uL+9o/fEu8dZbEloyxdLqPLZUQa1zxvi+RgygVWGAu6PFeQd7tMYtkz09rn4rVylN+p+sL1wMOo77t6zjSMB/nGdV1yjK8SAqioBMwN13/a0dXiO23XG1iDsDhxbl4HM9MBz3+56diApsf5THrVFlX+7MGaUJJjXp2Rt+Ukp/0QisUgsv6mKfKmN+0FqtYghKJAcGEKCZ4iLHmZrqV1YflF3923L616EvdHQOiA7o367C77au3q3p6WpMjZTd9xMjiCLFqYuTu+p1e5ayNeKrVoJhw+jvDxYPX+OF2xyUaqTg8wrVZvNB6dg+pVXp//KT5jTdZ1qn8J1Kknp+PJ12JtYA2ne3Q+HUu0T4pPeRXe8el3YpP5VhI2nOdGjvOTFsglHPbXHVWnce7YRsh6uOpzM4zojK/hcj4B1weWIoJR/KAWlfm1WOIe271t9Oxydh8GFHfasj3nQeL9hckCyupZiznRHISazJswEXUKBIyXSrV5v0aflTbTEIlxhCDpgSUVc/c1FjGlzbuzDmZ/3G+UvY6v+VY0i49zOdA/ClMs14p1xIrziusk2pCLWPYUxFIvO/enNN29MeMULryAHK3gEzaKFFPIehHfVkDJaLGkMWr+8enXqDHXmmAgYlfs1f5AICi0xSYz0Zkex5Se+Lt3t0YhvYAo5ev1SivHdGv+mLgWW17eDsDsYTQqtV4rSXWACuwnNtsXNkIDzYdfT1ddzyhTkJtI8w7gY+YFfdMOtvu0+usE61i3urm6+XVAuStve8WjDtDd6vmHgWa4/tjx5fF5M+nY4tvr2g6299CoBg4SnUKbqF9kcjeG82vXd8fQAaf7v1lidaY8nx/8KU91kuze0y931vdFkfPl873p786V755xMkaI5o1m6er4zPZK5yJ7k6MPkvT2QKqjICc8HVt/vmDk6U0ddnZwAQyU1j/Lc5cmtGFrX9TbsSNLi2kEY2MPxwArs3Va0nqwkQZAIBVqmCRRIe7nHSG9daJTrmbMEzh+eaJayLOVRypPpQrvJ0JcMcaHuLNFMdNqvlsBcL1/CIRKnFBPRyQi+fttsNllGqpyvvzY4ja7AegW9c7yT89vgCY7QBnye75cZanFa/QA4Wq4Q69KlNBugN8Rz7cD2Q5loOCP3rWm0Gq1Gy7gDRrvx/JdGazvReqTgS/q/k+hDb+IGztBWO9DZIeIOQ0sqKmLI85JqoFxg7Tn+hzD4OLa/k7FOMYmXNCNiv7VOCBafax76kmGGeEfOMPWUHFPNmgnEdj0ojPRwoOPf8EgkRaCjf9Ue0Aja5UQrij8ZOEMn8PcI7NDli1JTJwleYlENI+89O4HPPI4vGM1/Vsqlvkze3FHYm4xlEjcaOn53Mpr44XvP6T3ieNLruLSXpSMyZnSJeZS9ZziWp9OBhye1Jr99+4vhejbNiMh8AlO+oEJHNqUSbIwW9Ozug967GbSX5u3bQdLZP4/jdoTav5itX94g82XrRWROX7x6bsL2m+dthJ63fkFIWgW/4c1pxpurpfw/rwE0F6swEzhpZkRq//p+Yx4jt1/gP777Kn+QPKxmUUOVBKs+49IaOD0rcEZuaHtep1Wr1ayxkxcA9MUjzw48x/Y7r1rFHlcglKQ6HfBTI79NmGBy1fhpU3j7MLZb6ja2cuDqutEW4jvQ+W/wX59a5pvP//ijsftvfe9SPddXK30sL56/aLWq2/5QNo6hf52jr9yBPRrV/nCoquV36k/3WQNMsfSaiLk8ofQqSw1glHcrSD4G2qD9alOu98i+2yH3vDckP37gd/LLzBv1Vjm+g926H/iSqdZ9fuTRBUrK7i+61Sqoe7Yyy5+M9utfG69fNNrP3zTar42fwO5y/5Ymq6rMh1/9sLKMrnZJCQxGow8yZiwKj/fYOxHjPlxFmlVFWfjtrdvm2km3f9XXzXcw9mMw6o3A0/jfPLl59ja/BgfEAnNASYSAmgowJ2cC8CxNKRMoBpDcLClDJ1WR17rUrWpR5aLjxm5VbfhOX9ghETBXf+6y4JcvX6j6r979Q2AS6gSRl5ch92/cUT67GUseyWmUsQSYKxn6wgixPP+WsRIjSCDelIO8GcFGxARYCJHyt83mfY7fbgjmYViNE9A+SpK52s7wuua0z3cXvvT/mE5VIpnvczFWFbWPXY1VF8SucHQlAelsVgDncCmj6pUmKIq2gy7m6IL5vhux6m2fjDNVL1pCEk8l9ZquHP8ME8wXKM4X2lgBPCnDqM3+yjaTZwxNKRWA6Yg//hnoAckLoTECmIA2WGKSCXSmqSoqWMCMgMEXmYjpVwJMBtrgifGIyGzX61wZyV/o2tboh6Heupwwca0gsN2e3Qsn475n9Wx/b5hdfCaT4tTvOV5H51owFfKfyqJUaTFFDNMYR8aeHnb9aYyZugkij5Aqxjvj2Va7uihFboFtAOUlyNcvXx6D1JtsjYO3b8c5kW/fal0z8/sq5gBzafxt47cz8O7d4zASKAQiMYrNSTpnMEYn41u/YJWRJeRX6h2tGOLkpsgs1yNmppGXOeduREi1Nf83EEmnxXagUeN7kBTvjZkmoeY0odHVqQir+B6DfBdzu9rHRy1QFe9Pb3p/B7Or3pG0Auso/FozdU97rZCFPmIOCK0GWdMbcAUFzG/y/gy+4iRRIFOUb3x8tqn526HK5lbkl7dBTGZm2QAxCRV4dkNJsdcHEHBB08fPzq1nc37xhmhhABttT/+jH9jDbjDY7uQ/YgGtr38B/dZVhO+3SkXP1xHS+j063W4B+s3M8kxtyNAJ6BgIRJQQFAlMCYgWKLoCEY3RWwPUN4OTA1cLEIl3vwCq+djCU6v9aI/O/ycAAP//Z7zg3Yw9AAA= - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/line33.sh b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/CustomData b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/CustomData index af350902003..5739b32855b 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/line33.sh b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/CustomData b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/CustomData index af350902003..5739b32855b 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/line33.sh b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/CustomData b/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/CustomData index 4ceab32c5df..1b312376859 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/line33.sh b/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/CustomData b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/CustomData index 1ac056582ff..9a6a143239e 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/line33.sh b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/CustomData b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/CustomData index 7c75bca5e85..341ad6f5ffb 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 | - H4sIAAAAAAAC/+R8e3ebRt7w//oUU0pjuzWSkB0ndZa2WMIOb2RJLyCn2STLwWIkUyMgMDhxbT2f/TlzgwEhX+K2290ne3pWZn7zu99mmOHbbzrnQdQ597KLlmFZrv3OdozTvjN0bUe3HPdYN4faPiBj/eF4OnDNkem4jnlqjKeO9pyOHJtDw32rO/3XxcgBHXk9Hg7ct/rQHE1/1U+MkaO9oAOWMTR022gAeEkB9InjmiPb0YfDAumPdGgw7r8xrLXRXrcyPBi/HQ3H+qAcVyvjb4x3DTC9CgxmAsMVw3uVYUFHPaak0/HROzJtaNqlnnpMUae2ezI52UD6QMCwJhtTW388cnRzZFiDdRCmOGs66q8PMtW9eWljgJE5OinG9rrl2BpXe0xpb6ZHBnaL0dhxj8fT0UDbY6oyT08apu2V04aGI2pqb79qxdMTdzIVWN17viZq32mCO1iHs0zM4zroZu0R1xWEerkGeWZYtjkeueboTB+aA22PqbI/Mtfl3lcLQ0+s8cAdGEcNQL11oMmbE1cfDFjAMe2NLV0wiWFZY0vbZ+qhkSoIQia+5D40mFjjI4M9ZRyPp84RlhJLN6JDzwXb6xPTtQ3rzLBEALURYDCy3eF4/GY6YWC9RjD9n1PLWAfmzqE7enMsHHQFiHoQHqjCYN3RDxgjZ68HddserDvWGuEXXSGI1kcZ5f7Udsanrm3oVv+1Oxif6ubIprK9ZAhOJtP1+S/3hEHLxJ4lRsbL/fXhunwvnwswxpnZN9zJcHpijiqIDkogc3Q8dq3xqdsfW9Z04hgD7SULB/vk1410fuyuwwgUflTLLD3QzWFpnR+F/D2dDHTHKId45NgGdvwzk8SV3bfMiUPsZBn6oMSkdrsCEZxOp5MTSx8YAoTAxmRqnTCHV7u9IkhwQrAMbAZN7TL9903b1W3bPBm51njsuJO3mqqqa2PEfyaGdWramFNNVRnaiU5SV388eUeANFUVMU8mw3fuRLftt2OLBNuxeaKpai1wixoyZmGhqjyj0TS25j6q+qICMJ4Ylu5gHdLUoKo8ezlWw+CPoEWVRYLSdvT+G/fEcFzdOnWd8RtjpKm8hNZBRobzdmy9YbJMKWJN5RW1Dm5Pj0aG404s49j8VVNxUS2C8mhqDnkuU3FdpEp5q0/cvmVgd6HK4FVJHDFH9vT42Oybxoh4xBvXnuh9Q1NxlSLQjjE0JmPLGVTSpqbyPFeOc4enw1wQyzGP9T6uV5ahn+IqyfFoKs9xDUAMmabi1EYbH8eZYCf/9Z3b17HezgzL0VSe2Fhk4CHDcmxNPSiaE8a2bfSxUp2h7R6Nx47tWPqkKKfGr0afx33hHQfcwAPTPtKHhmtOHP1oaNiaitMazZnW1HYwhnXn4sltYNp4lmvbrzX1Bfd4yzzVrXfuyOy75kRIquoL5vnmyDYsxzVPB7ZrGbaDXRR7nzXFnIycsXuqj06Ghkt40tQX+w+dd2wOHcMq5rEwGmBFGBvmHeOEV6N38NB5NXovBOe1DGwL1zL+/9S0jIHW4ylqNCZJQT8xbKaYHs9N9kif2K/HRTYUm8Yuj4yJZZ7hQVw/cSuAvbLH0xV+KLprr7vPw6Zo1091+w1Dysb6ljEwRo6pD2myHTT2xF0egbidqbc6ve4BaLXKVoQ0VZgbxv0LUBvDz7FWcfV3Va3XfVmHEIrvW90+1XrdH+9E0tN6arcOwdNR2dmrdZDpSJ86r8eW+U9sJpUrhbUh3MeL9tSwznAc42A0j80+NoU1dmj+dPQTrafuMTUNDX00nZRyuOYptrrWU/dbrWAO5kHkgw5EM6Cg6wSC+W4IlMhbQiB9r6QwhF4GJaAkaRAhoHzKAwR6P3V8eNWJ8jAEt2CRwgQon8BWe+sVQBcwagEAwNjW5O0sThFQUoK+U2DDc7zPl2Br6aHZxbbc3QWdf22bA3dovjG07VmcwjjbuTUH2nb7+50dubMLvB1wAygLKM6TBKbb3vveR+C93/u48wrALwECq60dRpn7xSM5KLzp0YTBLUApUHywJW3ttGCYQcIJnF3EQKqRjmIE5nEe+VJrHrRa06PpyJm6Y9sd6aeGJtG/pdapbhFrFQPsQTlC2sn6MH4otUh9I0vUEqB8JrXY4kjr5FnaCeOZF5JV9WV+DmcobNFKT0fxcz+eXcK0Bb8kWJukkzvTJPmm7Pu4xg+1lVSBM2xHpBJdBX7gMQKFmdS2utdWFZXPHJ2ZA1PnqIm/uvZrnZMsHojUmubgQOBsnq0U+WYD4jUsgmDOu4lRkxU/uoe0Ji1naXsZzNI4i+eoPYuXHe8yw/8piyQvWamhLZHiloi2wzSP9k8HmjTDXhaBy5dZO4hBmkdAwYF5FYRwAX2gKOkSKEoEkXIRZwgoyucAXShRBpLAP+wkaTzrqJ0o6yQBBl7GOXbr6wRq50Hk72bpTOvECeosknzXz5DWWUb0jzhBQRxlWorh7prpzQhgOZs/qGAohGR+sCYndbgmASOINCZbEvjs5xXgbB9ylouHjIFDkRuiKKmFm/C+3n9tuAPT0jpXXtqZebML2PHwvHR2EVzBrNPCDbU+wh2cAJzGMcJwdELLODNGDl40npyQHozjC+NFx/s9T2HntPAFHf/dNr4gGGWYm3Y/z1C8tGdpkKAOvIIRyjqt/tQa4gXwZOpoHbRMOrM8Dd0rmJ7HGWzHOWqR2iFCxKmXrUNYxolpO9Y71gvT/p/kJAzfmcXRPFi0r71lCFqtFKL0erb03WDuzr0gzFO4vQNuSDbDYwHMNFl9BT57AXKzEMJEk3uvAAqWMM6RJu+9AtlFMEfg2bPaD4JiHqcgAEEE5O0MfgIqkBnSnVfAjwkI/sfQAZn/kOSbX1YSxnWeQu8S3N6CDwV0MAfvgRwABX4q8IGPQini/0g6Nr7AWY6gDz5I8i8fJDwRU8leVUBTiPI0AmrxsMjp/B8RHsilIorReUB++nEkVIHNZFeNWnezIIQR+u9R/h+lUVFdURbG8WWeFFoSNaMKmsFaipEXuqKuUjiLU1+T98nUDHkpIuOavO17CIIfvstoQ/H5IgghQGkOK4ri1IFSYOUqUwiLWherBBPZoLxZnqYw2kC11O72tggIFIHXnR2gLCCQK9Jtdn7JwXCCiSvTUoiTmb/7KMmwv0JfutvWzICbrVwEy50qoTIUofQoNuP0PkVmcBZHfibhkGyKyCh2M+Sh7O8Qkzgk/z4RWWhrAZGLvPTcC8NCS8hL3bs0RcGJpvI05OFITS3fCLNXXOHSBtUJsDX1eSlQ0O9zAoKpPUR1AravVB831kEXu3UIlHlmD6+ATH7HJTM/AVmo9qD30zO1ggez9R7IP4NvNNAFH5uYIaHjoQqiCoAQgU+1rDtP46WbwkWQofTaxS2mi1uJJ1ocz5rHoQ9THPdBSpegXEnSzn+jW2C1gQQvo0WnYGrAXSpTskK7NCDfbGzpVtiNhJbwaW4kIPrD3cibzWCWuSi+hJE7j9Oq89zhOMRZ9h6TN/V+37BtulnMW2V5ey0ur4CSAeU1kE4h8nwPeYe42Et4uREnafzlGkjfS0DCNpJqxVmJgCQ3kJG4c4CGKtw4ocmLul9RQdlU+c4dqLpNUjhPYXbxFUbxZqlLDfMKIBh5EXID3FS9qihfk58/xm6WcWwZ9usHGu5XMBnbDjFgP44QjJDiXCfwEHhJEgYzD6/5Ol+Uz58/K/M4XSp5GsJoFvvQl4Qox/8UH0iLFMtA1raipz7LYHoVzKAmM4mfUWk1uZD6mQivVYxcJ3SBUJIddjocWSf2cnTR68AvswsvWsAmL2tSyt1u1jjj3+ZnZHkaxosgeqxfVeTg9eKBrkRYG45PTMGPSNolnACJWwBHe+DDCAXoWiEWVDLkB1FDFpbuSsMS+Mc//lHXvUSycWlU+CVALvZATf65VcvPxRipNxsSNTPwmnCPta4kmFdqtm/BTz1nnAeRl17f2w0wsDtMzSASD13UmwJOY70vECbVeoMqwVp7sMF1qnOqHkQjcF6j2Vj8SfOwufJXGokqSbCpHK/1E42Y7+8rKpr8o1uLR7QX97YYDW3G3a1GbcKGzmPmRSwDZa43S/+cfiPOUYJXfdt1W6QwiUGYsR6iMadsVH89eVAv+pmnh43ZwZulIMjoqt47D+HDcwM1pSRTcSSgaeB7KY9wiYrT4HfoHwL8GydLWl1BCj/lQQp96fu78pXetzBHUYxKrg4BJ/OgLYTqrpqUR/BLAmcI+iCFWRJHGQQ4IeHyUcP86HpFNlznQVjugJInD1z144k0o+0zT3peyVIirnuXMCJw1ePek9Qkc2rg48diEdO8fhFRPXEBU+xGNK5uC5b+xstbAoC73YqZ77BwaVWaFxLvCvrs1QfZ5p+Fce4rQRQgBcNmbQJBYOl70uNP2Pocz0oCMoHAVquE5AMzToF061tjfLwlqP1uN/grNoYIJPSBEgCpg9nr+FLJYBkNgqv8xNTRWrWy6wzB5QxhbyX7dI/bdwPZ1Qy3Co9sF9d8u2AD+B5cxpGSwjD2/IdMYHwDmbHyF2zYFbQz5KE8K0njpaySeAtc+8PKnN/iPI28EE9S8mLCV4VTabIMxcl/nL0w03+lsR6tVT/IcMn8j1Ms4/vvqVuaYbAoj9PrU5VJAk6hSvr7KOQKplkQR+4CcTdDMENAkrfJIZg52Pou+xBtAUn+RQK3gB2vOQO34AJ6PlAioO6QhlGSVam1apXea0TYB/TItyvJfC3NA7XbBc/BXhfIVB7LoCfQbEd3pjZfMa+nOrWa5MBPoPYKXlYVCtsO40WrVHCVAFAi2NBXs75NBbM4D33Sw55D+gJJfP1VsQRTbTAH34CGN0pA7WFJe88FYWBEI0V9EHkK7YPz6xLFZl5EawxoSBJzCKk6mAu8hEGGlDwKUAYUZY5Xk4riVY58SbLaZvtiUo3hai0AXFJZxS6+SZlxkojKXMt8D0LDYBkeJjdcXsG0Hy8TTzjRwA986Zq8TTsRFdyCWY7IRuAPEm6t2cKLgx4VoL1NoGTpdFPgXrFwKJ4crSTWplcaPhxK0C/QCwiAOJceNdvC/8NxyEPwDFDiF8HiAmbojIaxJm+bx7ZWLDoojZVUsC4TJMq8dwfr8k0V6aqJ+8LXVi0//hzhdDqA55PLhRMfi7315M0JPY/Gghv/XZzW6xWPBqZl9J2x9Y4n2uWlH6RASYBcGaZNeJ5d+EC+qYysiky+FnXYhw66XeAlSFlABDjDDAVmb6XR34y11feUUJzgztRLENkA4/OYcHdUjeqb31ctAMhxODxFw/pjElQOJGEHFyL4AZXGTy4XQGE7ClhSxcOBG6czSB76cF6eksCrHixIGM8uM/KYq0OJwSC5XBwejumZrcNDTcQSh36pMeW6fjykdV/hIkKrr0iJWi9Lr2jSZOsHrPCaHvgyPoWotWotIOpPpno6uyg8zEtnF5q8ndO2d7nTEtaYN3hwd3dFItLDfxzsS5hAbSRd4ufra1G2sUKGW2t1lo0ufT5Kck+Q6dbpwb6YYjEr2yXrOyLRZprqBmpdIccFmcU2laZp+fqdOhrb/SP7ECqLDLZjm8IF/KJt/av9w4cO/e+w/YO8VVFbOX0FtP/ByhcnFzyDeunpArEOcisCzG0YLzIXxS4971ZjF3nZJYmj8qQEHaDQOKOMvMoBke/2RjstAZAUZkc8RCJ9dwy+c9rf7Y3YfjH2W84X7yoYlcjfPJXA/ZbFkZuhNIgWmrwNfvuEO5+ycVMUL10AjCND3jIBgCRfztJKWgMdJzAlO2mmj0EZAw2ALAeTJ5La7u2tgzhedom1AyhZrMsGRAbW5BBewRAAyYzmcbokDHjhOuwpzDJvASlRXERDiKB/COTvN+CdBD6B7W4Yd5rGt24KhR0Cufi9KyrnEMjCX7tcHYdAZr92C/ExDvZzV5D2EMjlH7tctEMgs1+7hQQcchL4uwXb/KET+CsaI8LLB/lG8Auya36zfjB0Jd9UvXjVxrNaZeKUcHKTwDcaUVA1H4jpT2hvLnAD5GaXQeLSI9aunwa4ly/7bJzZv9CXKrF/rcnb5a5d9d03aHz5fYFQctjpqAc/tnvP99vs/ztLNqsTRBnyohn82UsCha0itF63pyrdntJVWcwJofY1ohJBSll5syTJWCTc1eBAhGCrPYuXSY5gG3mLbBhkCNyCpZdsZzCEM7TdJrXhlixttiX7MkhOknxAFGZiMcJQegWkQNrZ2Xnf/di+8sIcgk4HSHMvzKBUzCSKopBblXdQAo+SYB/WmbqX+TkMIXJJ6xwt3BlMUTAPZh6Cbhoj4t3/tYZjSmi2Xdpgu/cfcZcrWo6Uy8tMYagUpk+F6VMR9KlwfUo74BZQU1ZtdVPla3d3JdVDipW/WQi9SDht+n8npB5uFhxMR0Rdfaqte/WOqXKlB9mplwYRTMcpOSU/DKL8S603iDPewrDuJM7IKqV2YQYvUm5vmwDEezPrUOtXZ9ZbsupGfVBfALXglRdOvNmlt4AD1ilPrWFNDtKL3aiHykoQhhz0IK8I19+DYKxASmGWh0iTb3AzJrwzowWIjrZqG0Min1T7VNs01/2/T4yz4u0lNjl3OGyz8gwKfyMoMsfsWb5rK9rUYA4aLQokeWxXNwyy3I8B8qM5YFzhpcVvn/CyguL/7RP47GV8lHQfVT7XGnK+TOMInwMVHHS/BilRHa20eYJbQove5apZNKEm18jWV8VhJblXfcLX55K8J7FNLvJ5EU1iJ5Sr4MP4M0z7XiZkzZs4I+t4lIKt94fkZtrhxy38O8TAhx9ZtH17HKeAXirbxQaRC+IgyID6st3dB17kAylVX3b3JfzQC7MY+HAeRNDHK04c+XGEWxbSqezSXl/mF9qCjGRCFHMclK4dLIPQS8NrsnTtdTmhXq/d3W+DMbqA6ecgg02I2kwL7VIEFr2EOBBmeOFn77rkgKsPRPFnYXYZ1Q1K2Gt3qQqu9trdx2iAGU3UAEFxn/MT29XCmy8LuXmZM61YCpbafpFJzKyNURROsWp/kK7wE75B80GSdkgBiPKwMZWIDrc+t+lIQFPKqznz2wBdxDkaxKjipRwx2S6GPtjKOh/anc5iq7Iyf6Dc+XkeobydCohLsqu7pRYk3jCfyy6GOsvjDDj700O+kmCqCuFBX1XrH5Uo2HVwvuVla9s7rdZTPVOiexsbLCLyK/lw7uUhKizwZNpt+YapeNVm+Tw7693tI1SPoYfK7c5M295IX0m/hoVK51ShhVnDnJGeqTIi7ezUmExSeBXEeTb8C5ltpFlhuhFCZB4Xgyuee3FLcVPV9vtfPuLcKLw8a3LOH7RtSb654jFQoi8OHjTTalbaH0mznij/FDe+O6w25+qrP8dL3n/kFl7X+NVGHT9Iv/XjqN0yM5/mIQr0dHZRy81U1GDpLaATH8FJjjs7mqFbAHz72yfSQqzNpufG8NAsjpCHy7aJcWRtYM5Bv/rsffCxvaxjOOvx023YMLucZXThoV263c2ePARZa91raiJxizUxsjHJ3ZfgNtAgXtFA5ymp7KFp7CksPTFhPTZZnU6HjumSj2w9zKu/NkM9mlCxEKQpaXM6eJS2eeA/NOwfxja/51tpwDYvpHkPxnYFyl2CXmP/xV4o/s26L7pUCebgrtwL4JcgQ2z1scArjgsISvhhkcJSyNY+cbHK2gheJci6MPBHdH539FkCF9rTy6KATQJKWlZm8jpbGF1JoOQJPHtW1KDiO0OYIYm8EmweqqFrbd5o+RoRmfbvle2vkYtVK+ydq1bL8/03dJ91FPtw6J3D+kvGoX5kDF3bsczRibBHRw+LBECSRQB+T4Z/0Wg0HhguAbAl8BMoPzDU++lZ82EYtusLotiHIMT8gAoFupBPoedf4yqTwQjt4up8EUQLvFb3/PVzO9W2jb3Q9X08o4kCisE6F1m73ZZa1btbjVLWg6IBCBum4fFqV74RGVk1vI1uwlbhXljqpnAZX8GnmBcCaY2nJ1j44aro1Ml2CmWIzNWAdv8i5upkH8Tcv4c3zlqDRxyH3qLmDMdD/eRuXxAg1iTCYw+XhUCLUpAHnRqNTaoVYXb/FEZqNB7CyF/AR9We5eVLekWPv4LkVx5r5i1uX4o91SwMILveK7ZWwq3fPeEttvI7kORiCq5Lt7f8cTFF2nDOspgH4rQkALyUfj8tg6gNxuUtTrbsSuIsC85DuAuSNJ5BSPI2Fhd4URxdL+Oc3opbS/uVrL/pyhg9OMbvi3JQfo2z0jHx55uucLLCUmGKlivcFdKvlWCKW5za1mNFKj2wyk8EgbqJH/opF44dwDSNU0A6SLyGjYB4A2yX3GENogWvdbXXi/TGqKjWDCLwwxeqJnZRGnvY/W9BmYfyK9Lkbm7tlaj6kr4SfZbCLM7TGdT4BeulF3kLuIQRapNDwORLbM8ETy49lFrU++xWr3Fv3//xgsIzuFQ7m72jZoxNB42ZLVDMjhVeQaY0QEgflmjuV794pa8uH7vcR2zddHnvQdyss7D525YiU9UvBPAeeZ1FvgJti493aqmmet2eZZv6Y2HX7B5BEy/Nni5l4VOVDyzUnar56wvVfAPKpAkqQv0pvsY4+gOcrSLbV3tbhZ+vdbfaZwREf6txWThc5Xnd42pX/AuXqz1/rM89WdZqFSsrP9gT/anOZ6tyt/hB7kKx4qVUpVbRCsLz9tNslke4boj+XjUj2zlhR3EeUb9lBDPkkt2uVuUWKhP9K2XfLWp5hoIwrNTMr7YlpZ3lJBnN8zC8xuQX9N30A9W/arW+fW0MJ4ZlG+Pj1v8GAAD//x7OgQxIZQAA + H4sIAAAAAAAC/+R8/Xebxrbo7/orppTGdmMkITtO6hzaYgk7vMiSHiCnuUkuC8NIokagwODEdfT+9rfmCwaEHDtue3vOzVldR57Zs7/3nj1ffP9d5zKMO5detmgZluXab23HOO87Q9d2dMtxT3VzqB0C0tcfjqcD1xyZjuuY58Z46mjPaM+pOTTcN7rTf1X0HNGeV+PhwH2jD83R9Df9zBg52nPaYRlDQ7eNBoAXFECfOK45sh19OCyQ/kS7BuP+a8Pa6O11K92D8ZvRcKwPyn610v/aeNsA06vAYCYwXNF9UOkWdNRjSjofn7wlw4amXeqpxxR1brtnk7MtpI8EDBuyMbX1xyNHN0eGNdgEYYqzpqP+ZidT3esXNgYYmaOzou+gW/ZtcHXAlPZ6emJgtxiNHfd0PB0NtAOmKvP8rGHYQTlsaDiipg4Oq1Y8P3MnU4HVg2cbovadJrijTTjLxDxugm7XHnFdQagXG5AXhmWb45Frji70oTnQDpgq+yNzU+5DtTD0xBoP3IFx0gDU2wSavD5z9cGABRzT3tjSBZMYljW2tEOmHhqpgiBk4AvuQ4OJNT4xWCvjeDx1TrCUWLoR7Xom2F6fmK5tWBeGJQKojQCDke0Ox+PX0wkD6zWC6f81tYxNYO4cuqM3x8JRV4CoB+GRKnTWHf2IMXLxalC37dGmY20Qft4Vgmizl1HuT21nfO7ahm71X7mD8blujmwq2wuG4Gwy3Rz/4kDotEzsWWJkvDjc7K7L9+KZAGNcmH3DnQynZ+aoguioBDJHp2PXGp+7/bFlTSeOMdBesHCwz37bSuen7iaMQOEntczSA90cltb5Scjf08lAd4yyi0eObWDHvzBJXNl9y5w4xE6WoQ9KTGq3KxDB6XQ6ObP0gSFACGxMptYZc3i12yuCBCcEy8Bm0NQu03/ftF3dts2zkWuNx447eaOpqrrRR/xnYljnpo051VSVoZ3oJHX1x5O3BEhTVRHzZDJ86050234ztkiwnZpnmqrWAreYQ8YsLFSVZzSaxjbcR1WfVwDGE8PSHaxDmhpUlWcvx2ro/Am0qLJIUNqO3n/tnhmOq1vnrjN+bYw0lU+hdZCR4bwZW6+ZLFOKWFP5jFoHt6cnI8NxJ5Zxav6mqXhSLYLyZGoOeS5T8bxIlfJGn7h9y8DuQpXBZyWxxxzZ09NTs28aI+IRr117ovcNTcWzFIF2jKExGVvOoJI2NZXnubKfOzzt5oJYjnmq9/F8ZRn6OZ4lOR5N5TmuAYgh01Sc2mjh4zgT7OS/vXX7OtbbhWE5msoTG4sM3GVYjq2pR0Vxwti2jT5WqjO03ZPx2LEdS58U06nxm9HncV94xxE38MC0T/Sh4ZoTRz8ZGram4rRGc6Y1tR2MYdO5eHIbmDYe5dr2K019zj3eMs916607MvuuORGSqvqceb45sg3Lcc3zge1ahu1gF8XeZ00xJyNn7J7ro7Oh4RKeNPX54X3HnZpDx7CKcSyMBlgRxpZxpzjh1egd3Xdcjd5zwXktA9vCtYz/OzUtY6D1eIoajUlS0M8Mmymmx3OTPdIn9qtxkQ3ForHLI2NimRe4E8+fuBTAXtnj6Qo3iu7a6x7ysCnK9XPdfs2Qsr6+ZQyMkWPqQ5psB401cZdHIC5n6qVOr3sEWq2yFCFFFeaGcf8c1PpwO9Yqnv1dVet1X9QhhMn3jW6fa73uT3ci6Wk9tVuH4OmorOzVOsh0pE+dV2PL/C9sJpUrhZUh3MeL8tSwLnAc42A0T80+NoU1dmj+dPQzraceMDUNDX00nZRyuOY5trrWUw9Z9I1s95WhD51XTE048bfCGZiFcQA6EPlAQTcrCGb7EVBibwmB9KOSwgh6GZSAskrDGAHlYx4i0Pu5E8DrTpxHEfgC5ilcAeUj2GnvvARoAeMWAACMbU3ezZIUASUl6DsFNjzG+3QFdpYe8he7cncfdP571xy4Q/O1oe36SQqTbO+LOdB22z/u7cmdfeDtgVtAWUBJvlrBdNd71/sAvHcHH/ZeAvg5RGC9s8coc495IAeFnz2YMPgCUAqUAOxIO3stGGWQcAL9RQKkGuk4QWCW5HEgtWZhqzU9mY6cqTu23ZF+bmgS/VtqnesWsWPRwRrKHlJo1rtxo9QiMx9ZvJYAZZvUYssmrZNnaSdKfC8i6+2r/BL6KGrRGoD24vYg8a9g2oKfV1ibpMa70CT5tqwIucaPtbVUgTNsR6QSX4dB6DEChZnUtnrQVhWVjxxdmANT56iJJ7v2K52TLBpEak1jcIhwNi/Winy7BfEGFkEw5+3EqMmKm75CWpOWftpehn6aZMkMtf1k2fGuMvyfMl/lJSs1tCVSXCzRQplm2P75QJN87GUxuHqRtcMEpHkMFByY12EE5zAAipIugaLEECmLJENAUT6FaKHEGViFwXFnlSZ+R+3EWWcVYuBlkmO3vllB7TKMg/0s9bVOskKd+SrfDzKkdZYx/SNZoTCJMy3FcHeN9HwCWI7mDRUMhZDMDzbkpA7XJGAMkcZkW4UB+3kNONvHnOWikTFwLHJDFCW1cHne1/uvDHdgWlrn2ks7vucvYMfD41J/EV7DrNPCpbY+wrWdAJwmCcJwdEDLuDBGDl5Onp2R6ozji5J5x/sjT2HnvPAFHf/dNj4jGGeYm3Y/z1CytP00XKEOvIYxyjqt/tQa4qXxZOpoHbRcdfw8jdxrmF4mGWwnOWqRWUWESFIv24SwjDPTdqy3rEqmKwOSkzB8x0/iWThv33jLCLRaKUTpjb8M3HDmzrwwylO4uwduSTbDfSHMNFl9CT55IXKzCMKVJvdeAhQuYZIjTT54CbJFOEPgyZPaD4JilqQgBGEM5N0MfgQqkBnSvZcgSAgI/sfQAZn/kOTbX9cSxnWZQu8KfPkC3hfQ4Qy8A3IIFPixwAc+CFMR/0fSsfEZ+jmCAXgvyb++l/BATCV7WQFNIcrTGKhFY5HT+T8iPJBLRRS9s5D8DJJYmAW2k103at3NwgjG6D9H+X+WRkV1xVmUJFf5qtCSqBlV0AzWUoK8yBV1lUI/SQNNPiRDM+SliPRr8m7gIQie/pDRguLTIowgQGkOK4ri1IFSYOUqUwiLWherBBPZojw/T1MYb6Faand3VwQEisDr3h5Q5hDIFem2O7/kYDjBxJVhKcTJLNh/kGTYX2Eg3W1rZsDtVi6C5U6VUBmKUHoQm0n6NUVm0E/iIJNwSDZFZJy4GfJQ9k+ISRyS/5yILLQ1h8hFXnrpRVGhJeSl7l2aouBEU3ka8XCkppZvhdFrrnBpi+oE2Jr6vBQo6I8ZAcHU7qM6Ads3qo8b66iL3ToCyiyzh9dAJr+TkpmfgSzM9qD38xO1ggez9Q7Iv4DvNNAFH5qYIaHjoQqiCoAQgY+1rDtLk6WbwnmYofTGxSWmi0uJR1ocj5olUQBTHPdhSpegXEnS3n+iW2C1gRVeRotOwdSAq1SmZIVWaUC+3VrSrbEbCSXh49xIQPSnu5Hn+zDLXJRcwdidJWnVee5wHOIsBw/Jm3q/b9g23UbmpbK8uxGX10DJgPIKSOcQeYGHvGM82Ut4uZGs0uTzDZB+lICEbSTVJmclBpLcQEbizgEaZuHGAU1e1P2GGZQNle/cm6rbJIWzFGaLbzCK56cuNcxLgGDsxcgNcVH1sqJ8TX72ELtZxqll2K/uabjfwGRsO8SA/SRGMEaKc7OCx8BbraLQ9/Car/NZ+fTpkzJL0qWSpxGM/SSAgSREOf6nBECap1gGsrYVPfVJBtPr0IeazCR+QqXV5ELqJyK8VjFyndACoVV23OlwZJ3Ey9Gi14Gf/YUXz2GTlzUp5W43axzxP+ZnZHkaJfMwfqhfVeTg88U9XYmwNhyfmYIfkbRLOAEStwCO9jCAMQrRjUIsqGQoCOOGLCzdlYYl8K9//auue4lk49Ko8HOIXOyBmvxLq5afiz4y32xJ1MzAG8I91LqSYF6p2b4FP/WccRnGXnrz1WqAgd1hagax8tCiXhRwGpt1gTCoVhtUCdbKgy2uUx1T9SAagbMazcbJnxQP22f+SiFRJQm2Tccb9UQj5q/XFRVN/tmlxQPKi6+WGA1lxt2lRm3AlsrD92KWgTLX89O/pt5IcrTCq77dui1SuEpAlLEaojGnbFV/PXlQL/qFp4et2cHzUxBmdFXvXUbw/rmBmlKSqTgS0DTwo5THeIpK0vAPGBwD/BsnSzq7ghR+zMMUBtKPd+UrvW9hjuIElVwdA07mXlsI1V01KY/h5xX0EQxACrNVEmcQ4ISEp48a5gfPV2TDdRZG5Q4oabnnqh8PpBntkHnSs0qWEnF9dQkjAlc97h1JTTKnBj58KBYxzesXEdUjFzDFbkTj6rZg6R+8vCUAuNqtmPkOC5dWpXlh5V3DgB19kG1+P0ryQAnjECkYNmsTCAJLz0lPP2LrczxrCcgEAlutEpL3zDgF0p3vjfHpjqD2u93g79gYIpAwAEoIpA5mrxNIJYNlNAiu8jNTR2vdym4yBJc+wt5K9uketu8GsmsflwoPLBc3fLtgAwQeXCaxksIo8YL7DGB8A5mx8jds2BW0M+ShPCtJ46WssvLmeO6PKmN+T/I09iI8SMmLAd8UTqXJMpSs/u3shZn+O431YK0GYYanzH87xTK+/5m6pRkGi/IwvT5WmSTgFKqkf45CrmGahUnszhF3MwQzBCR5l1yCmYGdH7L38Q6Q5F8l8AWw6zUX4AtYQC8ASgzUPVIwSrIqtdat0nuNGPuAHgd2JZlvpHmgdrvgGTjoApnKYxn0bprt6M7U5ivmzVSnVpMc+BnUjuBlVaGw7SiZt0oFVwkAJYYNdTWr21TgJ3kUkBr2EtIDJPH4q2IJptpwBr4DDSdKQO1hSXvPBGFgTCNFvRd5Ch2Ay5sSxXZeRGsMaEgScwipOpwJvERhhpQ8DlEGFGWGV5OK4lWufEmy2mb7YlKN4epcALiksopdfJsyk9VKVOZG5rsXGgbL8DC54fIapv1kufKEGw38wpeuybu0ElHBF+DniGwEPpVwac0WXhz0pADtbQMlS6fbAveahUPRcrKWWJleKfhwKMGgQC8gAOJYetVsB/8PxyEPwQtAiS/C+QJm6IKGsSbvmqe2Viw6KI21VLAuEyTKrHcH6/JtFem6ifvC19atIPkU43Q6gJeTq7mTnIq19eT1Gb2PxoIb/13c1usVTQPTMvrO2HrLE+3yKghToKyAXOmmRXieLQIg31Z61kUm34g67ENH3S7wVkiZQwQ4wwwFZm+t0d+MtfWPlFCywpWpt0JkA4yPY8LdMWtUT35ftgAg1+HwEA3rj0lQuZCEHVyI4HvMNMHqag4UtqOAJVU8HLhJ6kPSGMBZeUsCr3qwIFHiX2WkmatDScBgdTU/Ph7TO1vHx5qIJYmCUmPKTf16SOtrExcRWn1JpqjNaeklTZps/YAVXtMDX8anELXWrTlE/clUT/1F4WFe6i80eTenZe9yryWsMW9x5/7+mkSkh/84OpQwgVpPusTtm2tRtrFCulsb8yzrXQa8l+SeMNOt86NDMcViVnZL1vdEos001S3UukKOCzOLbSpN0/L4nToa2/0j+xAqiwy2Y5vCOfys7fx3++n7Dv3vuP1U3qmorRy+Btr/w8oXBxc8g/rU0wXiPMitCDC3UTLPXJS49L5bjV3kZVckjsqbErSDQuOMMvIqF0R+OBjttQRAMjE74iUS6YdT8IPT/uFgxPaLsd9yvnhVwajEwfahBO73LIndDKVhPNfkXfD7R1z5lIWbonjpHGAcGfKWKwBI8uUsraUN0PEKpmQnzQwwKGOgAZDlYNIiqe3ewSaI42VXWDuAksW6bEBkYE0O4TWMAJDMeJakS8KAF23CnsMs8+aQEsWTaAQRDI6B/OMWvJMwILDdLf1OU//ObaGwYyAXv/dF5RwDWfhrn6vjGMjs134hPsbBfu4L0h4Dufxjn4t2DGT2a7+QgENOwmC/YJs3OmGwpjEiHD7It4JfkF3z282LoWv5turF6zYe1SoTp4STmwS+04iCqvlATH9CebPABZCbXYUrl16xdoM0xLV8WWfjzP6ZHqokwY0m75a7dtWzb9B4+L1AaHXc6ahHP7V7zw7b7P87SzaqE8YZ8mIf/uKtQoWtIrRet6cq3Z7SVVnMCaH2LaISQUpZebEkyVgkXNXgQIRgp+0ny1WOYBt582wYZgh8AUtvtZvBCPpot03mhi9kabMr2Vfh6myVD4jCTCxGFEkvgRRKe3t777of2tdelEPQ6QBp5kUZlIqRRFEUcqdyBiXwKAn2YZWpe5Vfwggil5TO8dz1YYrCWeh7CLppgoh3/8cajimh2XZpg+3efcBVrmg5Ml1eZQpDpTB9KkyfiqBPhetT2gNfADVl1Va3Vb7299dSPaTY9OdH0IuF26b/e0Lq/mbBwXRC1NWn2vqq3jFVrvQwO/fSMIbpOCW35IdhnH+u1QZJxksYVp0kGVml1B7M4EXKly9NAOK7mU2ozaczmyVZdaM+rC+AWvDaiyaef+XN4YBVylNrWJOD1GK36rGyFoQhFz3IEeHmOQjGCqQUZnmENPkWF2PCmRmdgGhvq7YxJPJJtU+1TXPd//nIOCtOL7HJucNhm5V3UPiJoMgcs2d51laUqeEMNFoUSPLYrm4YZHmQABTEM8C4wkuL3z/iZQXF//tH8MnLeC+pPqp8bhTkfJnGET4DKjjqfgtSojo60+YrXBJa9C1XzaIranKNbH1VHFaSe9UWvj6X5AOJbXKRD49oEruhXAUfJp9g2vcyIWveJhlZx6MU7Lw7Ji/Tjj/s4N8RBj7+wKLt+9MkBfRR2T42iFwQB2EG1Bft7iHw4gBIqfqieyjhRi/KEhDAWRjDAK84ceQnMS5ZSKWyT2t9mT9oCzOSCVHCcVC6drgMIy+NbsjStdflhHq9dvewDcZoAdNPYQabELWZFtqlCCx6CXEgjPCiT95NyQFXH4iTT8LoMqoblHDQ7lIVXB+0uw/RADOaqAGC4mvOT2xXC2++LOTmZc60ZilYagdFJjGzNkZROMW6/V66xi18g+a9JO2RCSDOo8ZUIjrc5timKwFNKa/mzG9CtEhyNEhQxUs5YrJdDAOwk3Xetzud+U5lZX5PufPLPEZ5OxUQl2TXd0stSLxlPJddDHWWxxlw9peHfCXBVBXCg76q1j8rUbCH4nzLy9Z291qtx3qmRPc2tlhE5FcK4MzLI1RY4NG02/ItU/G6zfJ5dtG720eoHiMPldudmba7lb6SfgsLlcqpQguzhjkjNVOlR9rbqzG5SuF1mOTZ8G9ktpFmhelGCJF5PBlc89yLS4rbqrbf/foB50bh8KzJOZ9qu5J8e81joERfXDxoptWstD+TZj1R/iVufHdYbc/V13+Nl7z7wC28qfHrrTq+l37r11G7ZWY+zyMU6qm/qOVmKmq49ObQSU7gJMeVHc3QLQC+//0jKSE2RtN7Y7jLT2Lk4WnbxDiyNjBnoF9texd+aC/rGC56/HYbNsw+ZxktPLRPt7tZy32QtTa9piYSt1gTI1uT3NcS3BYaxCsa6Dwmld03jT2GpUcmrIcmq/Pp0DFd8vmt+3n1t2aoBxMqFoI0JW1PBw/SNg/8+4b9/djm73wrBdj2hTSvwdiuQLlL0Gusv9iB4j+s+qJLlXAG7sq9AH4OM8RWH3O84lhAUMIPixSWQrb2SYpV1lbwKkFWhYE/o/K7o84SuNAePy0K2CSgpOXMTI6zhd61BEqewJMnxRxUfIEIMySRI8Hmrhq61vaNlm8RkWn/q7L9PXKx2Qp757rV8oLgNd1nHSUBHHqXsH7IONRPjKFrO5Y5OhP26OhlkRBIsgjA38nwbx2NxgPDJQC2BH4G5QeGej8/ab4Mw3Z9QZwEEESYH1ChQBfyKfSCGzzLZDBG+3h2XoTxHK/VvWDz3k61bGMHukGARzRRQAnY5CJrt9tSq/p2q1HKelA0AGHDNDSv9+VbkZF1w2l0E7YK98JSN4XL5Bo+xrwQSBs8PcLC91dFp062UyhDZK4GtP83MVcney/m/md446w1eMRp5M1rznA61M/u9gUBYkMi3Hd/WQi0KAVp6NRobFOtCLP/lzBSo3EfRv4GPqr2vIZpOLshX4FbQC9Ci9090ZxBsvTC2KX3hFUhef0BJFnolLbcixyMbIYDZ124XKGbjdwqN3yGrpJug3Du+gvoX7lx4lJs5MnfHDyNkxT64Gm2SFIEntJ7Vs/AU34b9xlo77Uqb6PuuMN5Sr5YgnN3CrMkuoYgTRLE2d9p7zyG8yrbDYwyGUSlFud4lSehRBTeyAUih1XMKjWa0r3FZZKKLHBJMa1jcj5IyD5IE1VvoF4GCIdg5WUZDMihU/kKmL4V5Wfh/O1tLc8Uz4DF4t6PQsjemYs1vvD8/KBV8+FiiFRRYjFkm/aKcSBJSwLAS+mH/DKI2mBcPidm6/9VkmXhZQT3wSpNfAhJAYHFBV6cxDfLJKfPMzf0W/GqbW8X6Q1G/nC57jyV0r30n+a3xKzCqTBF6ya8PKGfzcEUdzi1nYeKVKbCKj8xBOo2fug3hTh2ANM0SQFZygC08GIgPkXcJ4+pw3jOi67aOTd9uiyqNYMIPP1M1cRe7GMP+/pxPPNQ/lafPBKvnc2rL+jZ/BMca3nqQ42/9F96sTeHSxijNrmNTj4J+ETw5NJDqUW9T271ewK7X/+KRuEZXKq97d5RM8a2bDkT0gdOZ9eQKQ0Q0ncmi7r6xbeldfnYK1Ni66ZXpPfipjlfNX9+VWSq+qkKvljbZJFvhbTF5r1aqql+94Flm3qzsH37FUFXXpo9XsrCpypf+qg7VfNnQKr5BpRJE1SE+kt8jXH0JzhbRbZv9rYKP9/qbrXvWYj+VuOycLhKe93jat+aKFyu1v5Qn3u0rNVZrJz5wYHoT3U+713IlfxSrHhNX5mr6AzC8/bjbJbHeN4Q/b1qRraFx+6EPWD+lhHMkEu2XVuV59BM9G+Ufb+YyzMURlFlzvxmW1LaWU6S0SyPohtMfk4vSdxT/etW6/tXxnBiWLYxPm39/wAAAP//6NQ9SOtnAAA= @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/line33.sh b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/CustomData b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/CustomData index 4ceab32c5df..1b312376859 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/line33.sh b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/CustomData b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/CustomData index 4ceab32c5df..1b312376859 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/line33.sh b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/CustomData b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/CustomData index 4ceab32c5df..1b312376859 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/9x7bXfauLbwd36FxsPTtHPGvPRtpp1Dz3LBIV4Bw2ObzO3t9HoJW4BOjORKcppMm/vb75JkG0MMJJne+XBZqw3IW1t7b+13yT/+0J5j0p5DvmrYnheeOiM7/N0K+mdh4IztySzovQYNjgQwrxt4AT4CcwHaNBVt+GfGUDuiREBMEOPtlNErzDElrYiu0wQJBD79BsQKkQZQHxStKDCshCEY3wAGCRAU8CyKEOcAXWOBybLVahkF+DUWoNNY4EYDpmIN2eXv1giT7NpaIiLAiiYxeNJojCbDcOB4vfYVZO2ELnPC4CVvrC9jzICZgubXHOq2kRBgcrADHCUZF4iZGxYSugR/5IQcAzYjjkyaiTQT2/M2Yvqp9W9OSd2TKKFZbGKChbnACeKtFF6huA7yaiXhuIBJspFwAbfhsN1opDdiRcmLY/sUMhTDSISKhDCiZIGXrfQmx2mamjQ9bqZQrHJJ4Lmmuq2oIVHBRI5BXIsShZaKnlwhcRe+0Zi9n7nBLPTskW35dq/5NOHzkKEEQY6AyYDJnyn1+wiaX7dhb0GvB4zu61bnpQE+VTWOZzEFMBXmUqrvDYCZoAyt6RUC0YpRctMotbL5r80MfsMFWkciAQxxAZnIR2JT4DXiNySKlVLqiU9jKNCzn5tPV5QLAtfo2c9AzYoyLuiaRwyn4t07tRXrRmNBGcAAE9B8ytFn0AUvXnc6z34DMVUEaAvjwGh+7ft2eGaPprbnK6ucWsHZrbFjUgAsGUqBefoZnPyYQ9uT05MDCJ48AXOG4KXCsMCbZZsYmOizIujOKsoWm/UOQksx4aiE5glCKegWK8SUoAZHMTAxMNoVMtuxsZ/QBqcZi9ABgB2IgeMH3uQ4Jsf1A2s02g+QIzoK15+4p85wiyKtokbz68DxrfcjO/R9KXOpoYJlaEdBY8zhPEG+fwa+favIuDJ5o2lGyvAVFAigJZMOM2X0+gbAOFa/MAcnza9Tz7mwAju0h57t++HUm/zHh9AaDOSv25Mqff7ZZDYa5CzMPDs8C4KpnrCf3vvMDvvWfgTyo60+Y0jOmUom+tY2+7PpQDLRt8K+7QV+VVHLybaIbHKFGSVrRISS0gHm+jM/mIwlxsCb+cF+AhO65KGgIbpCRHBgWOd+q+/brXLdvrLqPuwjJvACR1AgAxx6epg1Sbcm2ySS8skseD+ZuZL28dhyB7e1O6BhtbgvLM+/rREzuoIJaG5gqlJkSLCbaB2HeBEuIE4yhsCrDuiCV6C5SwF49+7BAfD5uyfdbb4rWF03PLWc0W+K933y5kj0pzOLRSsDbL4X9tdGImpTbubxoVFGBmdwC37oAWMNmYx1UizS3209UzwkMo/YkZq2Mk8GCEyWYA2JGc9V0DCzVHp5sEjgEsgoXWYp++jXYWYMyWBuZYLO1PzTBC5PcYIMcPDxtlI0v76fTAI/8CxlYMr99iduYDmu7YWePZTO6kPo296F7d2WHIGD5FEG+YguMVHfwkR+Db9gsQovszlKkAhxjIjA4sYAxyCkKj6AxP/XvjVAc+bbXmj5vjN07UHoDGw3cIIPoTMAzcB2LTeQX0sN+pf2gtcpZULmn3xFsyQO+SVOQ3KFYwzDmOErxHjj7liY50y95tMavQ8JDbmAgoOuNIBuB8hUGJjR9YFVnjUYEr3mv0qPw5AwlHJ1anXqFOIExTLbjZFAbI0JkpaskQKNFORk5suCOQJy5RTFWtM2tuReOAPHCgeec2F7RZSqKI3R/DqczkJ3MrBvNVWFo5MS1QD7xfQI35ggSGbpcDobaPEY4M7QQWMvwqDOsjzEaXKFYgPUj+/HU7phK15jMuPSAdwdqyrSEglHsz2mMbJI3JeEZ2m/yJadNVwi3vDPnWn43nEt70PYH9mWO5v+JXWaYwLZTRjp1Z41TmejUZlvePb/nzmePeg1n96TPtCsIRA0HT+8OBs8Xlll2ixWqNTMNY0RgCQGOd2gLCoAVnTsampOScUZOGNraFfDXnPiS31r5jn9xA9da2wXfhsYzVrRGGCjovfQ0JyBAUq5ASo/GmXWqlkf0iRGRDPzmzY/GQlilCISIxJhxIvpUGBKjINqnUOWe+VlRBYQJQW7D3R5bTS/urY98DdCG2ybZCGYr4E9sqcTLwhtV2aLO2D3CQM5IQFKkLSIeJpkS0xKAnfGFbMciSztu84AM36UdReJL5Rd7qDdGm2UXDt+eC6Ts5Ed1HGSMxLBBEiHginhv0O+7jWf/vuzLBBPWlMYXUot/PgJfAMcJSgST1uyIlPISl2NzS+Qr02+wmtuPAPfQCumX0hCYTzzHN6K0QJmiWhFGWOIiFax2MXzj59aCRSIiws9JIus/mQ8nbi2G2zqDeNZhdQC9YhGSmO+N8kF3ofQMvNGf4vkKusdI+9+BhRLsn21Otj/DBjNOqkblfFcAnKoqktGo0bJ/BST82yO7isunmIiU6S/XbUeSqhRUPo9FOrRi/+NelTQWCpPMbClGRuou3pUfbarH0YZ1KQz0y459O2+LD+DkR+WKfLUcYcHHNyeFCmnxEdRxlAw8t9TKrhgMD3X6bh9jaLCzz4AWBHt2ZK4Mu1YQBkVD7S3DF91xYrUSobI4XSW57HcqE1De0Ayu6nHjuWgPzwsB0WEZwxVU9Ddke0GRr4/ksCBfeH07XA6mg0dN3ROQxl+dTQtaN4prUssY2dY8ldNszWL5gIYqlLN24f537Zm2YzRFY6Qmap9aHHE5M+aQl5+ykb2gxG2YmMLk0DoMUja3Y65xstQapFAyxuVaxvgHWjH6KpNsiQB//zniT05PWl89PWkT41Kg6ZnSFlJ/Q/s4YeeKZGZBTLAMVkmyGhIvVS61at8bWectZXDyWlUBxZ15IJmdRHJbcOenJbs582PQ2qkGretOtwGMMq+sE1kWWKRWNtBPfhW++OunvmB5QWqEXK3fbqfOpoeJW6giyZFHU3riSt6Qds2oaxVpZ6n1nvP6Ydjy7WGtne4nYcXAPOx7rdMmPVnxpA6pAFGc+IbNbp8LGdUBJ/COcPRGBK4lFXc/mcP2d1cFgs1f13gPravO+B391XV4f7ujt4R7x5nsSOhHV8socpnRxnUPm+Ml1PIBFYVCrg7VpB3+AzDsGWht8/F79Qqg0n/3PbC0WTouHtjG0cC/ONaN75pdIkYUF0lYGag6duetg7PcfvO1BqF/ZFj6zaQmR547tt9zw4kJdZ/ylBbdMB3G2NGSYJ5fZ+qLY+U8k8kEovE8pvqVpfauB+k0YgYggLJgTEkeIG4GGC2kdqZ5Rc9ad+2vP5ZOJiMrQOyM5pf6+Cr5zrv9hz3qYrN1KdRJkeQRSszpmuIyZ5ebd1CvlZs1WY/HIzy9mA1/hxv2OSiVJGDLCtdm+0H98H0K69O/5XfY07fdao9fNepFKXTi9fhYGaNpHn3zw+V2vfITwZn/enV68Im9a8ibbyfEz3KS94sm3E0UHtclcadZ1sp6+Guw7153FRkBZ+bEbBpuBwRlPIPpaDUr+0O59j2fWtoh5PTMDizw4H1IU8a7x6YHJCs7qWYC32iEJNFG2aCrqHAkRLpzjlocYbJ22iNRXiFIeiBNRVx9TcXMabtpbEPZx7vt9pfxk7/q5pFxrmd6TMIUy7XimvzRHjJ9QHUmIpYnylMoVj17k5vv3ljwkteeAU5WMEjaBatpJD3ILytppTRak1j0Pnl1av7zlAxx0TAqNw9+YNEUGiJSWKkNzuKLY/4unW3RyO+gTnk6PVLKcZ3G/zbuhRY3tAOwv5oMiu0XilKf4UJ7Cc02xU3QwIux31Pd19PKVOQ20jzCuNs4gd+cVJsDW330YePU33829eHb2eUi9K2ax5tmfbWeWgYeJbrTy1Phs+z2dAOp9bQfrC1l14lYJDwFMpS/SxboilcVk9Ea54eIM3/3ZqqmPZ4cvwvMNWHbHeG6tzd0JvMphfP9663t166E+dkiRQtGc3Sq+e15ZGsRfYUR+ez9/ZIqqAiJzwdWUO/Z+boTJ119XICDFXUPMpzl5FbMbTp623ZkaTFtYMwsMfTkRXY9Va0mawkQZAIBVqnCRRIe7nHSG/TaJTrmYsELh9eaJayLOVRypPpRrvJ0OcMcaHu89BM9Lqv1sDcLF/CIRKnFBPRywi+fttut1lGqpxvvrY4jS7BZgW9c7yX89viCY7QFnxe75cVahGtfgAcra8Q69O1NBugN8Rz7cD2Q1loOBP3rWl0Wp1Wx7gFRrf1/JdWZ7fQeqTgS/q/k+hDb+YGzthWO9CrEXGPoTUVFTHkdUk1US6wDhz/PAw+TO3vZKxzTOI1zYjYb60zgsWnhoc+Z5gh3pMzTD0lx9SwFgKxugeFkR5OdPwbHomkSHT0r8YDDoLqnGhF8WcjZ+wE/h6BHbp8UWrqLMFrLKpp5J1n9+Azz+MLRvOflXapL4s3dxIOZlNZxE3Gjt+fTWZ++N5zBo8IT3odlw6ydEKmjK4xj7L3DMcyOh14eK+jyW/f/mK6ns0zIjKfwJSvqNCZTakEW6MFPfXnoHduBu2lefd2kHT2z+O4G6HuL2bnlzfIfNl5EZnzF6+em7D75nkXoeedXxCSVsFveHue8fbVWv6f9wDaq6swEzhpZ0Rq/+buX54jd1/gP777Kn+QPK1mUUu1BKs+48IaOQMrcCZuaHter9NoNKypkzcA9MUjzw48x/Z7rzrFHlcglKR6PfBTK79pl2By2fppW3j7MHY76qaycuDqutEO4lvQ+2/wXx875ptP//ijVf+3uXepgeurlT6Ul7JfdDrVbX8oG8fQv87RV+6HHs1qfzjU1fJ7zaf7rAGmWHpNxFyeUHqZpQYwyrsVJB8DXdB9tS3XO2Tf1sg9PxuSHz/we/lF361+qxyvYbfpB75kqnOXHxm6QEnZ3UV3jgqanq3M8iej+/rX1usXre7zN63ua+MnUN/u39Fk1ZU5/9UPK8vobpeUwGgyOZc5Y9F4vMPePTHuw1WUWVWUhd/euYmtnXT3V30Vu4axH4PJYAKexv/myc2zt/k1OCBWmANKIgTUVIA5ORGAZ2lKmUAxgORmTRm6Vxd5o0v9qhZVLjpu7VbVhm/1hR0SAfPqzzoLfvnyher/6t0/BCah7iHy8jLk/o07ymc/Y8kjOY0ylgDzSqa+MEIsr79lrsQIEoi35SBvR7AVMQFWQqT8bbt9l+O3W4J5GFbjHmgfJclcbRd403Pa57sLX/p/TKcqmcz3uRirmtrHrsaqC2KXOLqUgHSxKIBzuJRR9boPFMWxg27m6Ib5vhux6k2YjDPVL1pDEs8l9ZquHP8CE8xXKM4X2loBPCnTqO3zlV0mTxiaUyoA0xl//DPQA5IXQmMEMAFdsMYkE+hEU1V0sIAZAYOvMhHTLwSYDHTBE+MRmVndq04ZyV922tXoh6HeuZwwc60gsN2BPQhn06FnDWx/b5pdfGazIuoPHK+nay2YCvlPVVGqtZgihmmMI2PPGXbzaYyZugkiQ0gV463xbOe4umhF7oBtAeUtyNcvXx6D1JtsTYO3b6c5kW/fal0z8/sq5ghzafxd47cT8O7d4zASKAQiMYrNWbpkMEb3xrd5+Sgja8gv1ftLMcTJTVFZbkbMTCMva856REgda/5vIJJOi9WgUeN7kBTvVJkmoeY8odHlfRFW8T0GeR1zdcfHRy1QNe/vf+j9HcyuekfSCqyj8BvN1GfaG4Us9BFzQGg1yZrfgEsoYH6T92fwBSeJApmjfOPjk23N301Vtrciv7wNYrIwywMQk1CBFzeUFHt9AAEXNH387Nx6tucXb08WBrB17Ol/8AN73A9Guyf5j1hA6+tfQL9zFeH7rVLR802GtHnHTB+3AP3WYhlTWzJ1AjoHAhElBEUCUwKiFYouQURj9NYAze3k5MDVAkTi+pcjNR87eBqNH+3J6f8EAAD//5MULimoPAAA + H4sIAAAAAAAC/9x7e5fauJL4/3wKjYdfOpk75pHXTDKX3OOAm/YJGH626dlsJusjbAG6bSRHkkn3dHo/+x5JtjE0r+7Jzh/LOUmDXCpVlapK9ZB//KE5xaQ5hXxRsz0vPHcGdvi7FXQvwsAZ2qNJ0HkNahwJYF7X8Ax8AuYMNGkqmvDPjKFmRImAmCDGmymjK8wxJY2ILtMECQQ+/wbEApEaUB8ULSgwrIQhGN8ABgkQFPAsihDnAF1jgcm80WgYBfg1FqBVm+FaDaZiCdnV79YAk+zamiMiwIImMXhSqw1G/bDneJ3mCrJmQuc5YfCK15ZXMWbATEH9Noe6qyUEmBxsAUdJxgVi5pqFhM7BHzkhx4DNiCOTZiLNxOa8tZh+avybU7LrSZTQLDYxwcKc4QTxRgpXKN4FuVpIOC5gkqwlXMCtOWzWaumNWFDy4tg+hQzFMBKhIiGMKJnheSO9yXGapiZNj5spFItcEniqqW4qakhUMJFjENeiRKGloidXSNyGr9Um7yduMAk9e2Bbvt2pP034NGQoQZAjYDJg8mdK/T6B+u0m7B3odIDRft1ovTTA56rG8SymAKbCnEv1vQEwE5ShJV0hEC0YJTe1Uivr/1rP4DdcoGUkEsAQF5CJfCQ2BV4ifkOiWCmlnvg0hgI9+7n+dEG5IHCJnv0M1Kwo44IuecRwKt69U1uxrNVmlAEMMAH1pxx9AW3w4nWr9ew3EFNFgLYwDoz6bde3wwt7MLY9X1nl2Aou7owtkwJgzlAKzPMv4OzHHNoenZ8dQPDkCZgyBK8UhhleL1vHwERfFEH3VlG2WN/tILQUE45KaJ4glIJ2sUJMCapxFAMTA6NZIbMZG/sJrXGasQgdANiC6Dl+4I2OY3JcP7AGg/0AOaKjcN2Re+70NyjSKmrUb3uOb70f2KHvS5lLDRUsQ1sKGmMOpwny/Qvw7VtFxpXJa00zUoZXUCCA5kw6zJTR6xsA41j9whyc1W/HnnNpBXZo9z3b98OxN/qPj6HV68lfd2dV+vyL0WTQy1mYeHZ4EQRjPWE/vafMDrvWfgTyo60+Y0jOGUsmutYm+5NxTzLRtcKu7QV+VVHLybaIbLLCjJIlIkJJ6QBz3YkfjIYSY+BN/GA/gQmd81DQEK0QERwY1ge/0fXtRrluV1l1F3YRE3iGIyiQAQ49PcyapDumS4hJKH1Hx1hGrLHEEaOczoR080bOlklA/fb9aBT4gWcpWStL7I7cwHJc2ws9uy/19mPo296l7d1tqVp1kQch+n/NO0PSuUIMz27CnuuHCwQT6dArSLcU2PXDC9saBBfhueUMamsejPrtaBK8H01cuT/DoeX27nZqmYbVKnVpef7dDlVCK5iA+hqmqikMCXYTLeMQz8IZxEnGEHjVAm3wCtS3KQDv3j34kH/+7kl7k+kKVtdVfP+m9nefTnEkuuOJxaKFAdbfCx/TRCJqUm7mZ2CtPP2c3h34oQOMJWTyPJdikT5945niIZGx0pbUtCfx5CGIyRwsITHjqToYzSyVJxmYJXAOZCRSRmL76NdH6RCS3tTKBJ2o+ecJnJ/jBBng4GMlmL+q2OAgeZRBPqBzTNS3MJFfw69YLMKrbIoSJEIcIyKwuDHAMQjwcJMB9Ylve6Hl+07ftXuh07PdwAk+hk4P1APbtdxAfi016F/a01+nlAkZY/MFzZI45Fc4DckKxxiGMcMrxHjt/liYx4Wd+tMdeh8SGnIBBQdtaQDtFpDhPjCj6wOrPKsxJDr1f5VelSFhKOVq7dSpc4gTFMuIPkYCsSUmSFqyRgo0UpCTmS8LpgjIlVMUa01b25J76fQcK+x5zqXtFSdxRWmM+m1/PAndUc++01QVzlxKVAPsF9Mj/H+CIJmk/fGkp8VjgHtDB429OOp1JOkhTpMVig2we3w/nvKoseIlJhMuHcD9saoizZFwNNtDGiOLxF1JeJZ2i4zAWcI54jX/gzMO3zuu5X0MuwPbcifjv6ROU0wguwkjvdqz2vlkMChjKs/+/xPHs3ud+tMT6QP1HQSCuuOHlxe9xyurTA3EApWauaQxApDEIKcblIkTwIqObU3NKak4A2do9W2/oqz1kS/1rZ7nLSM/dK2hXfhtYNR3isYAaxU9QUNzBnoo5Qao/KiVkblmvU+TGBHNzG/a/ORJEKMUkRiRCCNeTIcCU2IcVOscstwrLyMySSop2H6gSwhG/da17Z6/Flpv0yQLwdwG9sAej7wgtF0ZEW+BnXIM5IQEKEHSIuJxks0xKQncGlfMciSytOs6Pcz4UdZdJL5SdrWFdmO0VnLt+OEHGYAO7GAXJzkjEUyAdCiYEv475MtO/em/v8gk+KwxhtGV1MJPn8E3wFGCIvG0oeIviazU1dj8CvnS5Au85MYz8A00YvqVJBTGE8/hjRjNYJaIRpQxhohoFItdPv/0uZFAgbi41EMykeyOhuORa7vBOqcynlVILVAPaKQ05nuTXOB9CC0Tb/C3SK6y3jHyTjOgWJLtq9XB/mfAqO+SulEZzyUgh6q6ZNR2KJmfYvIhm6JTxcVTTGSI9Ler1kMJNQpKv4dCPXrxv1GPChpL5SkGNjRjDXVfj6rPtvXDKA816cy0Sw59uytT7GDgh2WIPHbc/gEHtydEyinxUZQxFAz895QKLhhMP+hw3L5GUeFnHwCsiPZsSVwZdsygPBUPlPAMX1X+itBKHpH98SSPY7mxMwztAMnsOh87FoP+8LAYFBGeMVQNQbdHNos0+f5IAnv2pdO1w/Fg0nfc0DkP5fGrT9OC5q3UusQydPolf9UwW7NozoChMtW8RJr/bWqWzRitcITMVO1DgyMmf+5I5OWnLNY/GGEjNjYwCYQeg6TZbplLPA+lFgk0v1GxtgHegWaMVk2SJQn45z/P7NH5We2Tryd9rlWKUB1Dykrqf2D3P3ZMicwskAGOyTxBRk3qpdKtTuVrM+OsqRxOTqNqyuwiF9Sri0hua/bovGQ/L34cUiNVnG7swm0Ao6x920SmJRaJtR3sBt8of9zXMz+wvEAXgO6ViPdTR9OjxPV00qSoo+lu4opa0KZNKGtVoee59d5zuuHQcq2+7R0uWeIZwHyo6y0jZv2ZMaQaUcCoj3xjhy4fixkVwedwynA0hATOZRa3/9lDdjeXxUzNXxa4j+3rFvj9fVV5uL+9o/fEu8dZbEloyxdLqPLZUQa1zxvi+RgygVWGAu6PFeQd7tMYtkz09rn4rVylN+p+sL1wMOo77t6zjSMB/nGdV1yjK8SAqioBMwN13/a0dXiO23XG1iDsDhxbl4HM9MBz3+56diApsf5THrVFlX+7MGaUJJjXp2Rt+Ukp/0QisUgsv6mKfKmN+0FqtYghKJAcGEKCZ4iLHmZrqV1YflF3923L616EvdHQOiA7o367C77au3q3p6WpMjZTd9xMjiCLFqYuTu+p1e5ayNeKrVoJhw+jvDxYPX+OF2xyUaqTg8wrVZvNB6dg+pVXp//KT5jTdZ1qn8J1Kknp+PJ12JtYA2ne3Q+HUu0T4pPeRXe8el3YpP5VhI2nOdGjvOTFsglHPbXHVWnce7YRsh6uOpzM4zojK/hcj4B1weWIoJR/KAWlfm1WOIe271t9Oxydh8GFHfasj3nQeL9hckCyupZiznRHISazJswEXUKBIyXSrV5v0aflTbTEIlxhCDpgSUVc/c1FjGlzbuzDmZ/3G+UvY6v+VY0i49zOdA/ClMs14p1xIrziusk2pCLWPYUxFIvO/enNN29MeMULryAHK3gEzaKFFPIehHfVkDJaLGkMWr+8enXqDHXmmAgYlfs1f5AICi0xSYz0Zkex5Se+Lt3t0YhvYAo5ev1SivHdGv+mLgWW17eDsDsYTQqtV4rSXWACuwnNtsXNkIDzYdfT1ddzyhTkJtI8w7gY+YFfdMOtvu0+usE61i3urm6+XVAuStve8WjDtDd6vmHgWa4/tjx5fF5M+nY4tvr2g6299CoBg4SnUKbqF9kcjeG82vXd8fQAaf7v1lidaY8nx/8KU91kuze0y931vdFkfPl873p786V755xMkaI5o1m6er4zPZK5yJ7k6MPkvT2QKqjICc8HVt/vmDk6U0ddnZwAQyU1j/Lc5cmtGFrX9TbsSNLi2kEY2MPxwArs3Va0nqwkQZAIBVqmCRRIe7nHSG9daJTrmbMEzh+eaJayLOVRypPpQrvJ0JcMcaHuLNFMdNqvlsBcL1/CIRKnFBPRyQi+fttsNllGqpyvvzY4ja7AegW9c7yT89vgCY7QBnye75cZanFa/QA4Wq4Q69KlNBugN8Rz7cD2Q5loOCP3rWm0Gq1Gy7gDRrvx/JdGazvReqTgS/q/k+hDb+IGztBWO9DZIeIOQ0sqKmLI85JqoFxg7Tn+hzD4OLa/k7FOMYmXNCNiv7VOCBafax76kmGGeEfOMPWUHFPNmgnEdj0ojPRwoOPf8EgkRaCjf9Ue0Aja5UQrij8ZOEMn8PcI7NDli1JTJwleYlENI+89O4HPPI4vGM1/Vsqlvkze3FHYm4xlEjcaOn53Mpr44XvP6T3ieNLruLSXpSMyZnSJeZS9ZziWp9OBhye1Jr99+4vhejbNiMh8AlO+oEJHNqUSbIwW9Ozug967GbSX5u3bQdLZP4/jdoTav5itX94g82XrRWROX7x6bsL2m+dthJ63fkFIWgW/4c1pxpurpfw/rwE0F6swEzhpZkRq//p+Yx4jt1/gP777Kn+QPKxmUUOVBKs+49IaOD0rcEZuaHtep1Wr1ayxkxcA9MUjzw48x/Y7r1rFHlcglKQ6HfBTI79NmGBy1fhpU3j7MLZb6ja2cuDqutEW4jvQ+W/wX59a5pvP//ijsftvfe9SPddXK30sL56/aLWq2/5QNo6hf52jr9yBPRrV/nCoquV36k/3WQNMsfSaiLk8ofQqSw1glHcrSD4G2qD9alOu98i+2yH3vDckP37gd/LLzBv1Vjm+g926H/iSqdZ9fuTRBUrK7i+61Sqoe7Yyy5+M9utfG69fNNrP3zTar42fwO5y/5Ymq6rMh1/9sLKMrnZJCQxGow8yZiwKj/fYOxHjPlxFmlVFWfjtrdvm2km3f9XXzXcw9mMw6o3A0/jfPLl59ja/BgfEAnNASYSAmgowJ2cC8CxNKRMoBpDcLClDJ1WR17rUrWpR5aLjxm5VbfhOX9ghETBXf+6y4JcvX6j6r979Q2AS6gSRl5ch92/cUT67GUseyWmUsQSYKxn6wgixPP+WsRIjSCDelIO8GcFGxARYCJHyt83mfY7fbgjmYViNE9A+SpK52s7wuua0z3cXvvT/mE5VIpnvczFWFbWPXY1VF8SucHQlAelsVgDncCmj6pUmKIq2gy7m6IL5vhux6m2fjDNVL1pCEk8l9ZquHP8ME8wXKM4X2lgBPCnDqM3+yjaTZwxNKRWA6Yg//hnoAckLoTECmIA2WGKSCXSmqSoqWMCMgMEXmYjpVwJMBtrgifGIyGzX61wZyV/o2tboh6Heupwwca0gsN2e3Qsn475n9Wx/b5hdfCaT4tTvOV5H51owFfKfyqJUaTFFDNMYR8aeHnb9aYyZugkij5Aqxjvj2Va7uihFboFtAOUlyNcvXx6D1JtsjYO3b8c5kW/fal0z8/sq5gBzafxt47cz8O7d4zASKAQiMYrNSTpnMEYn41u/YJWRJeRX6h2tGOLkpsgs1yNmppGXOeduREi1Nf83EEmnxXagUeN7kBTvjZkmoeY0odHVqQir+B6DfBdzu9rHRy1QFe9Pb3p/B7Or3pG0Auso/FozdU97rZCFPmIOCK0GWdMbcAUFzG/y/gy+4iRRIFOUb3x8tqn526HK5lbkl7dBTGZm2QAxCRV4dkNJsdcHEHBB08fPzq1nc37xhmhhABttT/+jH9jDbjDY7uQ/YgGtr38B/dZVhO+3SkXP1xHS+j063W4B+s3M8kxtyNAJ6BgIRJQQFAlMCYgWKLoCEY3RWwPUN4OTA1cLEIl3vwCq+djCU6v9aI/O/ycAAP//Z7zg3Yw9AAA= - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/line33.sh b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/CustomData index af350902003..5739b32855b 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line33.sh b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/CustomData index af350902003..5739b32855b 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line33.sh b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/CustomData index fd24c11dab2..d1b539bd4fd 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/9x7bXfauLbwd36FxsPTtHPGvPRtpp1Dz3LBIV4Bw2ObzO3t9HoJW4BOjORKcppMm/vb75JkG0MMJJne+XBZqw3IW1t7b+13yT/+0J5j0p5DvmrYnheeOiM7/N0K+mdh4IztySzovQYNjgQwrxt4AT4CcwHaNBVt+GfGUDuiREBMEOPtlNErzDElrYiu0wQJBD79BsQKkQZQHxStKDCshCEY3wAGCRAU8CyKEOcAXWOBybLVahkF+DUWoNNY4EYDpmIN2eXv1giT7NpaIiLAiiYxeNJojCbDcOB4vfYVZO2ELnPC4CVvrC9jzICZgubXHOq2kRBgcrADHCUZF4iZGxYSugR/5IQcAzYjjkyaiTQT2/M2Yvqp9W9OSd2TKKFZbGKChbnACeKtFF6huA7yaiXhuIBJspFwAbfhsN1opDdiRcmLY/sUMhTDSISKhDCiZIGXrfQmx2mamjQ9bqZQrHJJ4Lmmuq2oIVHBRI5BXIsShZaKnlwhcRe+0Zi9n7nBLPTskW35dq/5NOHzkKEEQY6AyYDJnyn1+wiaX7dhb0GvB4zu61bnpQE+VTWOZzEFMBXmUqrvDYCZoAyt6RUC0YpRctMotbL5r80MfsMFWkciAQxxAZnIR2JT4DXiNySKlVLqiU9jKNCzn5tPV5QLAtfo2c9AzYoyLuiaRwyn4t07tRXrRmNBGcAAE9B8ytFn0AUvXnc6z34DMVUEaAvjwGh+7ft2eGaPprbnK6ucWsHZrbFjUgAsGUqBefoZnPyYQ9uT05MDCJ48AXOG4KXCsMCbZZsYmOizIujOKsoWm/UOQksx4aiE5glCKegWK8SUoAZHMTAxMNoVMtuxsZ/QBqcZi9ABgB2IgeMH3uQ4Jsf1A2s02g+QIzoK15+4p85wiyKtokbz68DxrfcjO/R9KXOpoYJlaEdBY8zhPEG+fwa+favIuDJ5o2lGyvAVFAigJZMOM2X0+gbAOFa/MAcnza9Tz7mwAju0h57t++HUm/zHh9AaDOSv25Mqff7ZZDYa5CzMPDs8C4KpnrCf3vvMDvvWfgTyo60+Y0jOmUom+tY2+7PpQDLRt8K+7QV+VVHLybaIbHKFGSVrRISS0gHm+jM/mIwlxsCb+cF+AhO65KGgIbpCRHBgWOd+q+/brXLdvrLqPuwjJvACR1AgAxx6epg1Sbcm2ySS8skseD+ZuZL28dhyB7e1O6BhtbgvLM+/rREzuoIJaG5gqlJkSLCbaB2HeBEuIE4yhsCrDuiCV6C5SwF49+7BAfD5uyfdbb4rWF03PLWc0W+K933y5kj0pzOLRSsDbL4X9tdGImpTbubxoVFGBmdwC37oAWMNmYx1UizS3209UzwkMo/YkZq2Mk8GCEyWYA2JGc9V0DCzVHp5sEjgEsgoXWYp++jXYWYMyWBuZYLO1PzTBC5PcYIMcPDxtlI0v76fTAI/8CxlYMr99iduYDmu7YWePZTO6kPo296F7d2WHIGD5FEG+YguMVHfwkR+Db9gsQovszlKkAhxjIjA4sYAxyCkKj6AxP/XvjVAc+bbXmj5vjN07UHoDGw3cIIPoTMAzcB2LTeQX0sN+pf2gtcpZULmn3xFsyQO+SVOQ3KFYwzDmOErxHjj7liY50y95tMavQ8JDbmAgoOuNIBuB8hUGJjR9YFVnjUYEr3mv0qPw5AwlHJ1anXqFOIExTLbjZFAbI0JkpaskQKNFORk5suCOQJy5RTFWtM2tuReOAPHCgeec2F7RZSqKI3R/DqczkJ3MrBvNVWFo5MS1QD7xfQI35ggSGbpcDobaPEY4M7QQWMvwqDOsjzEaXKFYgPUj+/HU7phK15jMuPSAdwdqyrSEglHsz2mMbJI3JeEZ2m/yJadNVwi3vDPnWn43nEt70PYH9mWO5v+JXWaYwLZTRjp1Z41TmejUZlvePb/nzmePeg1n96TPtCsIRA0HT+8OBs8Xlll2ixWqNTMNY0RgCQGOd2gLCoAVnTsampOScUZOGNraFfDXnPiS31r5jn9xA9da2wXfhsYzVrRGGCjovfQ0JyBAUq5ASo/GmXWqlkf0iRGRDPzmzY/GQlilCISIxJhxIvpUGBKjINqnUOWe+VlRBYQJQW7D3R5bTS/urY98DdCG2ybZCGYr4E9sqcTLwhtV2aLO2D3CQM5IQFKkLSIeJpkS0xKAnfGFbMciSztu84AM36UdReJL5Rd7qDdGm2UXDt+eC6Ts5Ed1HGSMxLBBEiHginhv0O+7jWf/vuzLBBPWlMYXUot/PgJfAMcJSgST1uyIlPISl2NzS+Qr02+wmtuPAPfQCumX0hCYTzzHN6K0QJmiWhFGWOIiFax2MXzj59aCRSIiws9JIus/mQ8nbi2G2zqDeNZhdQC9YhGSmO+N8kF3ofQMvNGf4vkKusdI+9+BhRLsn21Otj/DBjNOqkblfFcAnKoqktGo0bJ/BST82yO7isunmIiU6S/XbUeSqhRUPo9FOrRi/+NelTQWCpPMbClGRuou3pUfbarH0YZ1KQz0y459O2+LD+DkR+WKfLUcYcHHNyeFCmnxEdRxlAw8t9TKrhgMD3X6bh9jaLCzz4AWBHt2ZK4Mu1YQBkVD7S3DF91xYrUSobI4XSW57HcqE1De0Ayu6nHjuWgPzwsB0WEZwxVU9Ddke0GRr4/ksCBfeH07XA6mg0dN3ROQxl+dTQtaN4prUssY2dY8ldNszWL5gIYqlLN24f537Zm2YzRFY6Qmap9aHHE5M+aQl5+ykb2gxG2YmMLk0DoMUja3Y65xstQapFAyxuVaxvgHWjH6KpNsiQB//zniT05PWl89PWkT41Kg6ZnSFlJ/Q/s4YeeKZGZBTLAMVkmyGhIvVS61at8bWectZXDyWlUBxZ15IJmdRHJbcOenJbs582PQ2qkGretOtwGMMq+sE1kWWKRWNtBPfhW++OunvmB5QWqEXK3fbqfOpoeJW6giyZFHU3riSt6Qds2oaxVpZ6n1nvP6Ydjy7WGtne4nYcXAPOx7rdMmPVnxpA6pAFGc+IbNbp8LGdUBJ/COcPRGBK4lFXc/mcP2d1cFgs1f13gPravO+B391XV4f7ujt4R7x5nsSOhHV8socpnRxnUPm+Ml1PIBFYVCrg7VpB3+AzDsGWht8/F79Qqg0n/3PbC0WTouHtjG0cC/ONaN75pdIkYUF0lYGag6duetg7PcfvO1BqF/ZFj6zaQmR547tt9zw4kJdZ/ylBbdMB3G2NGSYJ5fZ+qLY+U8k8kEovE8pvqVpfauB+k0YgYggLJgTEkeIG4GGC2kdqZ5Rc9ad+2vP5ZOJiMrQOyM5pf6+Cr5zrv9hz3qYrN1KdRJkeQRSszpmuIyZ5ebd1CvlZs1WY/HIzy9mA1/hxv2OSiVJGDLCtdm+0H98H0K69O/5XfY07fdao9fNepFKXTi9fhYGaNpHn3zw+V2vfITwZn/enV68Im9a8ibbyfEz3KS94sm3E0UHtclcadZ1sp6+Guw7153FRkBZ+bEbBpuBwRlPIPpaDUr+0O59j2fWtoh5PTMDizw4H1IU8a7x6YHJCs7qWYC32iEJNFG2aCrqHAkRLpzjlocYbJ22iNRXiFIeiBNRVx9TcXMabtpbEPZx7vt9pfxk7/q5pFxrmd6TMIUy7XimvzRHjJ9QHUmIpYnylMoVj17k5vv3ljwkteeAU5WMEjaBatpJD3ILytppTRak1j0Pnl1av7zlAxx0TAqNw9+YNEUGiJSWKkNzuKLY/4unW3RyO+gTnk6PVLKcZ3G/zbuhRY3tAOwv5oMiu0XilKf4UJ7Cc02xU3QwIux31Pd19PKVOQ20jzCuNs4gd+cVJsDW330YePU33829eHb2eUi9K2ax5tmfbWeWgYeJbrTy1Phs+z2dAOp9bQfrC1l14lYJDwFMpS/SxboilcVk9Ea54eIM3/3ZqqmPZ4cvwvMNWHbHeG6tzd0JvMphfP9663t166E+dkiRQtGc3Sq+e15ZGsRfYUR+ez9/ZIqqAiJzwdWUO/Z+boTJ119XICDFXUPMpzl5FbMbTp623ZkaTFtYMwsMfTkRXY9Va0mawkQZAIBVqnCRRIe7nHSG/TaJTrmYsELh9eaJayLOVRypPpRrvJ0OcMcaHu89BM9Lqv1sDcLF/CIRKnFBPRywi+fttut1lGqpxvvrY4jS7BZgW9c7yX89viCY7QFnxe75cVahGtfgAcra8Q69O1NBugN8Rz7cD2Q1loOBP3rWl0Wp1Wx7gFRrf1/JdWZ7fQeqTgS/q/k+hDb+YGzthWO9CrEXGPoTUVFTHkdUk1US6wDhz/PAw+TO3vZKxzTOI1zYjYb60zgsWnhoc+Z5gh3pMzTD0lx9SwFgKxugeFkR5OdPwbHomkSHT0r8YDDoLqnGhF8WcjZ+wE/h6BHbp8UWrqLMFrLKpp5J1n9+Azz+MLRvOflXapL4s3dxIOZlNZxE3Gjt+fTWZ++N5zBo8IT3odlw6ydEKmjK4xj7L3DMcyOh14eK+jyW/f/mK6ns0zIjKfwJSvqNCZTakEW6MFPfXnoHduBu2lefd2kHT2z+O4G6HuL2bnlzfIfNl5EZnzF6+em7D75nkXoeedXxCSVsFveHue8fbVWv6f9wDaq6swEzhpZ0Rq/+buX54jd1/gP777Kn+QPK1mUUu1BKs+48IaOQMrcCZuaHter9NoNKypkzcA9MUjzw48x/Z7rzrFHlcglKR6PfBTK79pl2By2fppW3j7MHY76qaycuDqutEO4lvQ+2/wXx875ptP//ijVf+3uXepgeurlT6Ul7JfdDrVbX8oG8fQv87RV+6HHs1qfzjU1fJ7zaf7rAGmWHpNxFyeUHqZpQYwyrsVJB8DXdB9tS3XO2Tf1sg9PxuSHz/we/lF361+qxyvYbfpB75kqnOXHxm6QEnZ3UV3jgqanq3M8iej+/rX1usXre7zN63ua+MnUN/u39Fk1ZU5/9UPK8vobpeUwGgyOZc5Y9F4vMPePTHuw1WUWVWUhd/euYmtnXT3V30Vu4axH4PJYAKexv/myc2zt/k1OCBWmANKIgTUVIA5ORGAZ2lKmUAxgORmTRm6Vxd5o0v9qhZVLjpu7VbVhm/1hR0SAfPqzzoLfvnyher/6t0/BCah7iHy8jLk/o07ymc/Y8kjOY0ylgDzSqa+MEIsr79lrsQIEoi35SBvR7AVMQFWQqT8bbt9l+O3W4J5GFbjHmgfJclcbRd403Pa57sLX/p/TKcqmcz3uRirmtrHrsaqC2KXOLqUgHSxKIBzuJRR9boPFMWxg27m6Ib5vhux6k2YjDPVL1pDEs8l9ZquHP8CE8xXKM4X2loBPCnTqO3zlV0mTxiaUyoA0xl//DPQA5IXQmMEMAFdsMYkE+hEU1V0sIAZAYOvMhHTLwSYDHTBE+MRmVndq04ZyV922tXoh6HeuZwwc60gsN2BPQhn06FnDWx/b5pdfGazIuoPHK+nay2YCvlPVVGqtZgihmmMI2PPGXbzaYyZugkiQ0gV463xbOe4umhF7oBtAeUtyNcvXx6D1JtsTYO3b6c5kW/fal0z8/sq5ghzafxd47cT8O7d4zASKAQiMYrNWbpkMEb3xrd5+Sgja8gv1ftLMcTJTVFZbkbMTCMva856REgda/5vIJJOi9WgUeN7kBTvVJkmoeY8odHlfRFW8T0GeR1zdcfHRy1QNe/vf+j9HcyuekfSCqyj8BvN1GfaG4Us9BFzQGg1yZrfgEsoYH6T92fwBSeJApmjfOPjk23N301Vtrciv7wNYrIwywMQk1CBFzeUFHt9AAEXNH387Nx6tucXb08WBrB17Ol/8AN73A9Guyf5j1hA6+tfQL9zFeH7rVLR802GtHnHTB+3AP3WYhlTWzJ1AjoHAhElBEUCUwKiFYouQURj9NYAze3k5MDVAkTi+pcjNR87eBqNH+3J6f8EAAD//5MULimoPAAA + H4sIAAAAAAAC/9x7e5fauJL4/3wKjYdfOpk75pHXTDKX3OOAm/YJGH626dlsJusjbAG6bSRHkkn3dHo/+x5JtjE0r+7Jzh/LOUmDXCpVlapK9ZB//KE5xaQ5hXxRsz0vPHcGdvi7FXQvwsAZ2qNJ0HkNahwJYF7X8Ax8AuYMNGkqmvDPjKFmRImAmCDGmymjK8wxJY2ILtMECQQ+/wbEApEaUB8ULSgwrIQhGN8ABgkQFPAsihDnAF1jgcm80WgYBfg1FqBVm+FaDaZiCdnV79YAk+zamiMiwIImMXhSqw1G/bDneJ3mCrJmQuc5YfCK15ZXMWbATEH9Noe6qyUEmBxsAUdJxgVi5pqFhM7BHzkhx4DNiCOTZiLNxOa8tZh+avybU7LrSZTQLDYxwcKc4QTxRgpXKN4FuVpIOC5gkqwlXMCtOWzWaumNWFDy4tg+hQzFMBKhIiGMKJnheSO9yXGapiZNj5spFItcEniqqW4qakhUMJFjENeiRKGloidXSNyGr9Um7yduMAk9e2Bbvt2pP034NGQoQZAjYDJg8mdK/T6B+u0m7B3odIDRft1ovTTA56rG8SymAKbCnEv1vQEwE5ShJV0hEC0YJTe1Uivr/1rP4DdcoGUkEsAQF5CJfCQ2BV4ifkOiWCmlnvg0hgI9+7n+dEG5IHCJnv0M1Kwo44IuecRwKt69U1uxrNVmlAEMMAH1pxx9AW3w4nWr9ew3EFNFgLYwDoz6bde3wwt7MLY9X1nl2Aou7owtkwJgzlAKzPMv4OzHHNoenZ8dQPDkCZgyBK8UhhleL1vHwERfFEH3VlG2WN/tILQUE45KaJ4glIJ2sUJMCapxFAMTA6NZIbMZG/sJrXGasQgdANiC6Dl+4I2OY3JcP7AGg/0AOaKjcN2Re+70NyjSKmrUb3uOb70f2KHvS5lLDRUsQ1sKGmMOpwny/Qvw7VtFxpXJa00zUoZXUCCA5kw6zJTR6xsA41j9whyc1W/HnnNpBXZo9z3b98OxN/qPj6HV68lfd2dV+vyL0WTQy1mYeHZ4EQRjPWE/vafMDrvWfgTyo60+Y0jOGUsmutYm+5NxTzLRtcKu7QV+VVHLybaIbLLCjJIlIkJJ6QBz3YkfjIYSY+BN/GA/gQmd81DQEK0QERwY1ge/0fXtRrluV1l1F3YRE3iGIyiQAQ49PcyapDumS4hJKH1Hx1hGrLHEEaOczoR080bOlklA/fb9aBT4gWcpWStL7I7cwHJc2ws9uy/19mPo296l7d1tqVp1kQch+n/NO0PSuUIMz27CnuuHCwQT6dArSLcU2PXDC9saBBfhueUMamsejPrtaBK8H01cuT/DoeX27nZqmYbVKnVpef7dDlVCK5iA+hqmqikMCXYTLeMQz8IZxEnGEHjVAm3wCtS3KQDv3j34kH/+7kl7k+kKVtdVfP+m9nefTnEkuuOJxaKFAdbfCx/TRCJqUm7mZ2CtPP2c3h34oQOMJWTyPJdikT5945niIZGx0pbUtCfx5CGIyRwsITHjqToYzSyVJxmYJXAOZCRSRmL76NdH6RCS3tTKBJ2o+ecJnJ/jBBng4GMlmL+q2OAgeZRBPqBzTNS3MJFfw69YLMKrbIoSJEIcIyKwuDHAMQjwcJMB9Ylve6Hl+07ftXuh07PdwAk+hk4P1APbtdxAfi016F/a01+nlAkZY/MFzZI45Fc4DckKxxiGMcMrxHjt/liYx4Wd+tMdeh8SGnIBBQdtaQDtFpDhPjCj6wOrPKsxJDr1f5VelSFhKOVq7dSpc4gTFMuIPkYCsSUmSFqyRgo0UpCTmS8LpgjIlVMUa01b25J76fQcK+x5zqXtFSdxRWmM+m1/PAndUc++01QVzlxKVAPsF9Mj/H+CIJmk/fGkp8VjgHtDB429OOp1JOkhTpMVig2we3w/nvKoseIlJhMuHcD9saoizZFwNNtDGiOLxF1JeJZ2i4zAWcI54jX/gzMO3zuu5X0MuwPbcifjv6ROU0wguwkjvdqz2vlkMChjKs/+/xPHs3ud+tMT6QP1HQSCuuOHlxe9xyurTA3EApWauaQxApDEIKcblIkTwIqObU3NKak4A2do9W2/oqz1kS/1rZ7nLSM/dK2hXfhtYNR3isYAaxU9QUNzBnoo5Qao/KiVkblmvU+TGBHNzG/a/ORJEKMUkRiRCCNeTIcCU2IcVOscstwrLyMySSop2H6gSwhG/da17Z6/Flpv0yQLwdwG9sAej7wgtF0ZEW+BnXIM5IQEKEHSIuJxks0xKQncGlfMciSytOs6Pcz4UdZdJL5SdrWFdmO0VnLt+OEHGYAO7GAXJzkjEUyAdCiYEv475MtO/em/v8gk+KwxhtGV1MJPn8E3wFGCIvG0oeIviazU1dj8CvnS5Au85MYz8A00YvqVJBTGE8/hjRjNYJaIRpQxhohoFItdPv/0uZFAgbi41EMykeyOhuORa7vBOqcynlVILVAPaKQ05nuTXOB9CC0Tb/C3SK6y3jHyTjOgWJLtq9XB/mfAqO+SulEZzyUgh6q6ZNR2KJmfYvIhm6JTxcVTTGSI9Ler1kMJNQpKv4dCPXrxv1GPChpL5SkGNjRjDXVfj6rPtvXDKA816cy0Sw59uytT7GDgh2WIPHbc/gEHtydEyinxUZQxFAz895QKLhhMP+hw3L5GUeFnHwCsiPZsSVwZdsygPBUPlPAMX1X+itBKHpH98SSPY7mxMwztAMnsOh87FoP+8LAYFBGeMVQNQbdHNos0+f5IAnv2pdO1w/Fg0nfc0DkP5fGrT9OC5q3UusQydPolf9UwW7NozoChMtW8RJr/bWqWzRitcITMVO1DgyMmf+5I5OWnLNY/GGEjNjYwCYQeg6TZbplLPA+lFgk0v1GxtgHegWaMVk2SJQn45z/P7NH5We2Tryd9rlWKUB1Dykrqf2D3P3ZMicwskAGOyTxBRk3qpdKtTuVrM+OsqRxOTqNqyuwiF9Sri0hua/bovGQ/L34cUiNVnG7swm0Ao6x920SmJRaJtR3sBt8of9zXMz+wvEAXgO6ViPdTR9OjxPV00qSoo+lu4opa0KZNKGtVoee59d5zuuHQcq2+7R0uWeIZwHyo6y0jZv2ZMaQaUcCoj3xjhy4fixkVwedwynA0hATOZRa3/9lDdjeXxUzNXxa4j+3rFvj9fVV5uL+9o/fEu8dZbEloyxdLqPLZUQa1zxvi+RgygVWGAu6PFeQd7tMYtkz09rn4rVylN+p+sL1wMOo77t6zjSMB/nGdV1yjK8SAqioBMwN13/a0dXiO23XG1iDsDhxbl4HM9MBz3+56diApsf5THrVFlX+7MGaUJJjXp2Rt+Ukp/0QisUgsv6mKfKmN+0FqtYghKJAcGEKCZ4iLHmZrqV1YflF3923L616EvdHQOiA7o367C77au3q3p6WpMjZTd9xMjiCLFqYuTu+p1e5ayNeKrVoJhw+jvDxYPX+OF2xyUaqTg8wrVZvNB6dg+pVXp//KT5jTdZ1qn8J1Kknp+PJ12JtYA2ne3Q+HUu0T4pPeRXe8el3YpP5VhI2nOdGjvOTFsglHPbXHVWnce7YRsh6uOpzM4zojK/hcj4B1weWIoJR/KAWlfm1WOIe271t9Oxydh8GFHfasj3nQeL9hckCyupZiznRHISazJswEXUKBIyXSrV5v0aflTbTEIlxhCDpgSUVc/c1FjGlzbuzDmZ/3G+UvY6v+VY0i49zOdA/ClMs14p1xIrziusk2pCLWPYUxFIvO/enNN29MeMULryAHK3gEzaKFFPIehHfVkDJaLGkMWr+8enXqDHXmmAgYlfs1f5AICi0xSYz0Zkex5Se+Lt3t0YhvYAo5ev1SivHdGv+mLgWW17eDsDsYTQqtV4rSXWACuwnNtsXNkIDzYdfT1ddzyhTkJtI8w7gY+YFfdMOtvu0+usE61i3urm6+XVAuStve8WjDtDd6vmHgWa4/tjx5fF5M+nY4tvr2g6299CoBg4SnUKbqF9kcjeG82vXd8fQAaf7v1lidaY8nx/8KU91kuze0y931vdFkfPl873p786V755xMkaI5o1m6er4zPZK5yJ7k6MPkvT2QKqjICc8HVt/vmDk6U0ddnZwAQyU1j/Lc5cmtGFrX9TbsSNLi2kEY2MPxwArs3Va0nqwkQZAIBVqmCRRIe7nHSG9daJTrmbMEzh+eaJayLOVRypPpQrvJ0JcMcaHuLNFMdNqvlsBcL1/CIRKnFBPRyQi+fttsNllGqpyvvzY4ja7AegW9c7yT89vgCY7QBnye75cZanFa/QA4Wq4Q69KlNBugN8Rz7cD2Q5loOCP3rWm0Gq1Gy7gDRrvx/JdGazvReqTgS/q/k+hDb+IGztBWO9DZIeIOQ0sqKmLI85JqoFxg7Tn+hzD4OLa/k7FOMYmXNCNiv7VOCBafax76kmGGeEfOMPWUHFPNmgnEdj0ojPRwoOPf8EgkRaCjf9Ue0Aja5UQrij8ZOEMn8PcI7NDli1JTJwleYlENI+89O4HPPI4vGM1/Vsqlvkze3FHYm4xlEjcaOn53Mpr44XvP6T3ieNLruLSXpSMyZnSJeZS9ZziWp9OBhye1Jr99+4vhejbNiMh8AlO+oEJHNqUSbIwW9Ozug967GbSX5u3bQdLZP4/jdoTav5itX94g82XrRWROX7x6bsL2m+dthJ63fkFIWgW/4c1pxpurpfw/rwE0F6swEzhpZkRq//p+Yx4jt1/gP777Kn+QPKxmUUOVBKs+49IaOD0rcEZuaHtep1Wr1ayxkxcA9MUjzw48x/Y7r1rFHlcglKQ6HfBTI79NmGBy1fhpU3j7MLZb6ja2cuDqutEW4jvQ+W/wX59a5pvP//ijsftvfe9SPddXK30sL56/aLWq2/5QNo6hf52jr9yBPRrV/nCoquV36k/3WQNMsfSaiLk8ofQqSw1glHcrSD4G2qD9alOu98i+2yH3vDckP37gd/LLzBv1Vjm+g926H/iSqdZ9fuTRBUrK7i+61Sqoe7Yyy5+M9utfG69fNNrP3zTar42fwO5y/5Ymq6rMh1/9sLKMrnZJCQxGow8yZiwKj/fYOxHjPlxFmlVFWfjtrdvm2km3f9XXzXcw9mMw6o3A0/jfPLl59ja/BgfEAnNASYSAmgowJ2cC8CxNKRMoBpDcLClDJ1WR17rUrWpR5aLjxm5VbfhOX9ghETBXf+6y4JcvX6j6r979Q2AS6gSRl5ch92/cUT67GUseyWmUsQSYKxn6wgixPP+WsRIjSCDelIO8GcFGxARYCJHyt83mfY7fbgjmYViNE9A+SpK52s7wuua0z3cXvvT/mE5VIpnvczFWFbWPXY1VF8SucHQlAelsVgDncCmj6pUmKIq2gy7m6IL5vhux6m2fjDNVL1pCEk8l9ZquHP8ME8wXKM4X2lgBPCnDqM3+yjaTZwxNKRWA6Yg//hnoAckLoTECmIA2WGKSCXSmqSoqWMCMgMEXmYjpVwJMBtrgifGIyGzX61wZyV/o2tboh6Heupwwca0gsN2e3Qsn475n9Wx/b5hdfCaT4tTvOV5H51owFfKfyqJUaTFFDNMYR8aeHnb9aYyZugkij5Aqxjvj2Va7uihFboFtAOUlyNcvXx6D1JtsjYO3b8c5kW/fal0z8/sq5gBzafxt47cz8O7d4zASKAQiMYrNSTpnMEYn41u/YJWRJeRX6h2tGOLkpsgs1yNmppGXOeduREi1Nf83EEmnxXagUeN7kBTvjZkmoeY0odHVqQir+B6DfBdzu9rHRy1QFe9Pb3p/B7Or3pG0Auso/FozdU97rZCFPmIOCK0GWdMbcAUFzG/y/gy+4iRRIFOUb3x8tqn526HK5lbkl7dBTGZm2QAxCRV4dkNJsdcHEHBB08fPzq1nc37xhmhhABttT/+jH9jDbjDY7uQ/YgGtr38B/dZVhO+3SkXP1xHS+j063W4B+s3M8kxtyNAJ6BgIRJQQFAlMCYgWKLoCEY3RWwPUN4OTA1cLEIl3vwCq+djCU6v9aI/O/ycAAP//Z7zg3Yw9AAA= - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line33.sh b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/CustomData index 48a1e302d19..9531024ca96 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line33.sh b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/CustomData index 4ceab32c5df..1b312376859 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line33.sh b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/CustomData index 540c5cb68cb..a4d45425d0c 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 | - H4sIAAAAAAAC/+R8e3ebRt7w//oUU0pjuzWSkB0ndZa2WMIOb2RJLyCn2STLwWIkUyMgMDhxbT2f/TlzgwEhX+K2290ne3pWZn7zu99mmOHbbzrnQdQ597KLlmFZrv3OdozTvjN0bUe3HPdYN4faPiBj/eF4OnDNkem4jnlqjKeO9pyOHJtDw32rO/3XxcgBHXk9Hg7ct/rQHE1/1U+MkaO9oAOWMTR022gAeEkB9InjmiPb0YfDAumPdGgw7r8xrLXRXrcyPBi/HQ3H+qAcVyvjb4x3DTC9CgxmAsMVw3uVYUFHPaak0/HROzJtaNqlnnpMUae2ezI52UD6QMCwJhtTW388cnRzZFiDdRCmOGs66q8PMtW9eWljgJE5OinG9rrl2BpXe0xpb6ZHBnaL0dhxj8fT0UDbY6oyT08apu2V04aGI2pqb79qxdMTdzIVWN17viZq32mCO1iHs0zM4zroZu0R1xWEerkGeWZYtjkeueboTB+aA22PqbI/Mtfl3lcLQ0+s8cAdGEcNQL11oMmbE1cfDFjAMe2NLV0wiWFZY0vbZ+qhkSoIQia+5D40mFjjI4M9ZRyPp84RlhJLN6JDzwXb6xPTtQ3rzLBEALURYDCy3eF4/GY6YWC9RjD9n1PLWAfmzqE7enMsHHQFiHoQHqjCYN3RDxgjZ68HddserDvWGuEXXSGI1kcZ5f7Udsanrm3oVv+1Oxif6ubIprK9ZAhOJtP1+S/3hEHLxJ4lRsbL/fXhunwvnwswxpnZN9zJcHpijiqIDkogc3Q8dq3xqdsfW9Z04hgD7SULB/vk1410fuyuwwgUflTLLD3QzWFpnR+F/D2dDHTHKId45NgGdvwzk8SV3bfMiUPsZBn6oMSkdrsCEZxOp5MTSx8YAoTAxmRqnTCHV7u9IkhwQrAMbAZN7TL9903b1W3bPBm51njsuJO3mqqqa2PEfyaGdWramFNNVRnaiU5SV388eUeANFUVMU8mw3fuRLftt2OLBNuxeaKpai1wixoyZmGhqjyj0TS25j6q+qICMJ4Ylu5gHdLUoKo8ezlWw+CPoEWVRYLSdvT+G/fEcFzdOnWd8RtjpKm8hNZBRobzdmy9YbJMKWJN5RW1Dm5Pj0aG404s49j8VVNxUS2C8mhqDnkuU3FdpEp5q0/cvmVgd6HK4FVJHDFH9vT42Oybxoh4xBvXnuh9Q1NxlSLQjjE0JmPLGVTSpqbyPFeOc4enw1wQyzGP9T6uV5ahn+IqyfFoKs9xDUAMmabi1EYbH8eZYCf/9Z3b17HezgzL0VSe2Fhk4CHDcmxNPSiaE8a2bfSxUp2h7R6Nx47tWPqkKKfGr0afx33hHQfcwAPTPtKHhmtOHP1oaNiaitMazZnW1HYwhnXn4sltYNp4lmvbrzX1Bfd4yzzVrXfuyOy75kRIquoL5vnmyDYsxzVPB7ZrGbaDXRR7nzXFnIycsXuqj06Ghkt40tQX+w+dd2wOHcMq5rEwGmBFGBvmHeOEV6N38NB5NXovBOe1DGwL1zL+/9S0jIHW4ylqNCZJQT8xbKaYHs9N9kif2K/HRTYUm8Yuj4yJZZ7hQVw/cSuAvbLH0xV+KLprr7vPw6Zo1091+w1Dysb6ljEwRo6pD2myHTT2xF0egbidqbc6ve4BaLXKVoQ0VZgbxv0LUBvDz7FWcfV3Va3XfVmHEIrvW90+1XrdH+9E0tN6arcOwdNR2dmrdZDpSJ86r8eW+U9sJpUrhbUh3MeL9tSwznAc42A0j80+NoU1dmj+dPQTrafuMTUNDX00nZRyuOYptrrWU/dbrWAO5kHkgw5EM6Cg6wSC+W4IlMhbQiB9r6QwhF4GJaAkaRAhoHzKAwR6P3V8eNWJ8jAEt2CRwgQon8BWe+sVQBcwagEAwNjW5O0sThFQUoK+U2DDc7zPl2Br6aHZxbbc3QWdf22bA3dovjG07VmcwjjbuTUH2nb7+50dubMLvB1wAygLKM6TBKbb3vveR+C93/u48wrALwECq60dRpn7xSM5KLzp0YTBLUApUHywJW3ttGCYQcIJnF3EQKqRjmIE5nEe+VJrHrRa06PpyJm6Y9sd6aeGJtG/pdapbhFrFQPsQTlC2sn6MH4otUh9I0vUEqB8JrXY4kjr5FnaCeOZF5JV9WV+DmcobNFKT0fxcz+eXcK0Bb8kWJukkzvTJPmm7Pu4xg+1lVSBM2xHpBJdBX7gMQKFmdS2utdWFZXPHJ2ZA1PnqIm/uvZrnZMsHojUmubgQOBsnq0U+WYD4jUsgmDOu4lRkxU/uoe0Ji1naXsZzNI4i+eoPYuXHe8yw/8piyQvWamhLZHiloi2wzSP9k8HmjTDXhaBy5dZO4hBmkdAwYF5FYRwAX2gKOkSKEoEkXIRZwgoyucAXShRBpLAP+wkaTzrqJ0o6yQBBl7GOXbr6wRq50Hk72bpTOvECeosknzXz5DWWUb0jzhBQRxlWorh7prpzQhgOZs/qGAohGR+sCYndbgmASOINCZbEvjs5xXgbB9ylouHjIFDkRuiKKmFm/C+3n9tuAPT0jpXXtqZebML2PHwvHR2EVzBrNPCDbU+wh2cAJzGMcJwdELLODNGDl40npyQHozjC+NFx/s9T2HntPAFHf/dNr4gGGWYm3Y/z1C8tGdpkKAOvIIRyjqt/tQa4gXwZOpoHbRMOrM8Dd0rmJ7HGWzHOWqR2iFCxKmXrUNYxolpO9Y71gvT/p/kJAzfmcXRPFi0r71lCFqtFKL0erb03WDuzr0gzFO4vQNuSDbDYwHMNFl9BT57AXKzEMJEk3uvAAqWMM6RJu+9AtlFMEfg2bPaD4JiHqcgAEEE5O0MfgIqkBnSnVfAjwkI/sfQAZn/kOSbX1YSxnWeQu8S3N6CDwV0MAfvgRwABX4q8IGPQini/0g6Nr7AWY6gDz5I8i8fJDwRU8leVUBTiPI0AmrxsMjp/B8RHsilIorReUB++nEkVIHNZFeNWnezIIQR+u9R/h+lUVFdURbG8WWeFFoSNaMKmsFaipEXuqKuUjiLU1+T98nUDHkpIuOavO17CIIfvstoQ/H5IgghQGkOK4ri1IFSYOUqUwiLWherBBPZoLxZnqYw2kC11O72tggIFIHXnR2gLCCQK9Jtdn7JwXCCiSvTUoiTmb/7KMmwv0JfutvWzICbrVwEy50qoTIUofQoNuP0PkVmcBZHfibhkGyKyCh2M+Sh7O8Qkzgk/z4RWWhrAZGLvPTcC8NCS8hL3bs0RcGJpvI05OFITS3fCLNXXOHSBtUJsDX1eSlQ0O9zAoKpPUR1AravVB831kEXu3UIlHlmD6+ATH7HJTM/AVmo9qD30zO1ggez9R7IP4NvNNAFH5uYIaHjoQqiCoAQgU+1rDtP46WbwkWQofTaxS2mi1uJJ1ocz5rHoQ9THPdBSpegXEnSzn+jW2C1gQQvo0WnYGrAXSpTskK7NCDfbGzpVtiNhJbwaW4kIPrD3cibzWCWuSi+hJE7j9Oq89zhOMRZ9h6TN/V+37BtulnMW2V5ey0ur4CSAeU1kE4h8nwPeYe42Et4uREnafzlGkjfS0DCNpJqxVmJgCQ3kJG4c4CGKtw4ocmLul9RQdlU+c4dqLpNUjhPYXbxFUbxZqlLDfMKIBh5EXID3FS9qihfk58/xm6WcWwZ9usHGu5XMBnbDjFgP44QjJDiXCfwEHhJEgYzD6/5Ol+Uz58/K/M4XSp5GsJoFvvQl4Qox/8UH0iLFMtA1raipz7LYHoVzKAmM4mfUWk1uZD6mQivVYxcJ3SBUJIddjocWSf2cnTR68AvswsvWsAmL2tSyt1u1jjj3+ZnZHkaxosgeqxfVeTg9eKBrkRYG45PTMGPSNolnACJWwBHe+DDCAXoWiEWVDLkB1FDFpbuSsMS+Mc//lHXvUSycWlU+CVALvZATf65VcvPxRipNxsSNTPwmnCPta4kmFdqtm/BTz1nnAeRl17f2w0wsDtMzSASD13UmwJOY70vECbVeoMqwVp7sMF1qnOqHkQjcF6j2Vj8SfOwufJXGokqSbCpHK/1E42Y7+8rKpr8o1uLR7QX97YYDW3G3a1GbcKGzmPmRSwDZa43S/+cfiPOUYJXfdt1W6QwiUGYsR6iMadsVH89eVAv+pmnh43ZwZulIMjoqt47D+HDcwM1pSRTcSSgaeB7KY9wiYrT4HfoHwL8GydLWl1BCj/lQQp96fu78pXetzBHUYxKrg4BJ/OgLYTqrpqUR/BLAmcI+iCFWRJHGQQ4IeHyUcP86HpFNlznQVjugJInD1z144k0o+0zT3peyVIirnuXMCJw1ePek9Qkc2rg48diEdO8fhFRPXEBU+xGNK5uC5b+xstbAoC73YqZ77BwaVWaFxLvCvrs1QfZ5p+Fce4rQRQgBcNmbQJBYOl70uNP2Pocz0oCMoHAVquE5AMzToF061tjfLwlqP1uN/grNoYIJPSBEgCpg9nr+FLJYBkNgqv8xNTRWrWy6wzB5QxhbyX7dI/bdwPZ1Qy3Co9sF9d8u2AD+B5cxpGSwjD2/IdMYHwDmbHyF2zYFbQz5KE8K0njpaySeAtc+8PKnN/iPI28EE9S8mLCV4VTabIMxcl/nL0w03+lsR6tVT/IcMn8j1Ms4/vvqVuaYbAoj9PrU5VJAk6hSvr7KOQKplkQR+4CcTdDMENAkrfJIZg52Pou+xBtAUn+RQK3gB2vOQO34AJ6PlAioO6QhlGSVam1apXea0TYB/TItyvJfC3NA7XbBc/BXhfIVB7LoCfQbEd3pjZfMa+nOrWa5MBPoPYKXlYVCtsO40WrVHCVAFAi2NBXs75NBbM4D33Sw55D+gJJfP1VsQRTbTAH34CGN0pA7WFJe88FYWBEI0V9EHkK7YPz6xLFZl5EawxoSBJzCKk6mAu8hEGGlDwKUAYUZY5Xk4riVY58SbLaZvtiUo3hai0AXFJZxS6+SZlxkojKXMt8D0LDYBkeJjdcXsG0Hy8TTzjRwA986Zq8TTsRFdyCWY7IRuAPEm6t2cKLgx4VoL1NoGTpdFPgXrFwKJ4crSTWplcaPhxK0C/QCwiAOJceNdvC/8NxyEPwDFDiF8HiAmbojIaxJm+bx7ZWLDoojZVUsC4TJMq8dwfr8k0V6aqJ+8LXVi0//hzhdDqA55PLhRMfi7315M0JPY/Gghv/XZzW6xWPBqZl9J2x9Y4n2uWlH6RASYBcGaZNeJ5d+EC+qYysiky+FnXYhw66XeAlSFlABDjDDAVmb6XR34y11feUUJzgztRLENkA4/OYcHdUjeqb31ctAMhxODxFw/pjElQOJGEHFyL4AZXGTy4XQGE7ClhSxcOBG6czSB76cF6eksCrHixIGM8uM/KYq0OJwSC5XBwejumZrcNDTcQSh36pMeW6fjykdV/hIkKrr0iJWi9Lr2jSZOsHrPCaHvgyPoWotWotIOpPpno6uyg8zEtnF5q8ndO2d7nTEtaYN3hwd3dFItLDfxzsS5hAbSRd4ufra1G2sUKGW2t1lo0ufT5Kck+Q6dbpwb6YYjEr2yXrOyLRZprqBmpdIccFmcU2laZp+fqdOhrb/SP7ECqLDLZjm8IF/KJt/av9w4cO/e+w/YO8VVFbOX0FtP/ByhcnFzyDeunpArEOcisCzG0YLzIXxS4971ZjF3nZJYmj8qQEHaDQOKOMvMoBke/2RjstAZAUZkc8RCJ9dwy+c9rf7Y3YfjH2W84X7yoYlcjfPJXA/ZbFkZuhNIgWmrwNfvuEO5+ycVMUL10AjCND3jIBgCRfztJKWgMdJzAlO2mmj0EZAw2ALAeTJ5La7u2tgzhedom1AyhZrMsGRAbW5BBewRAAyYzmcbokDHjhOuwpzDJvASlRXERDiKB/COTvN+CdBD6B7W4Yd5rGt24KhR0Cufi9KyrnEMjCX7tcHYdAZr92C/ExDvZzV5D2EMjlH7tctEMgs1+7hQQcchL4uwXb/KET+CsaI8LLB/lG8Auya36zfjB0Jd9UvXjVxrNaZeKUcHKTwDcaUVA1H4jpT2hvLnAD5GaXQeLSI9aunwa4ly/7bJzZv9CXKrF/rcnb5a5d9d03aHz5fYFQctjpqAc/tnvP99vs/ztLNqsTRBnyohn82UsCha0itF63pyrdntJVWcwJofY1ohJBSll5syTJWCTc1eBAhGCrPYuXSY5gG3mLbBhkCNyCpZdsZzCEM7TdJrXhlixttiX7MkhOknxAFGZiMcJQegWkQNrZ2Xnf/di+8sIcgk4HSHMvzKBUzCSKopBblXdQAo+SYB/WmbqX+TkMIXJJ6xwt3BlMUTAPZh6Cbhoj4t3/tYZjSmi2Xdpgu/cfcZcrWo6Uy8tMYagUpk+F6VMR9KlwfUo74BZQU1ZtdVPla3d3JdVDipW/WQi9SDht+n8npB5uFhxMR0Rdfaqte/WOqXKlB9mplwYRTMcpOSU/DKL8S603iDPewrDuJM7IKqV2YQYvUm5vmwDEezPrUOtXZ9ZbsupGfVBfALXglRdOvNmlt4AD1ilPrWFNDtKL3aiHykoQhhz0IK8I19+DYKxASmGWh0iTb3AzJrwzowWIjrZqG0Min1T7VNs01/2/T4yz4u0lNjl3OGyz8gwKfyMoMsfsWb5rK9rUYA4aLQokeWxXNwyy3I8B8qM5YFzhpcVvn/CyguL/7RP47GV8lHQfVT7XGnK+TOMInwMVHHS/BilRHa20eYJbQove5apZNKEm18jWV8VhJblXfcLX55K8J7FNLvJ5EU1iJ5Sr4MP4M0z7XiZkzZs4I+t4lIKt94fkZtrhxy38O8TAhx9ZtH17HKeAXirbxQaRC+IgyID6st3dB17kAylVX3b3JfzQC7MY+HAeRNDHK04c+XGEWxbSqezSXl/mF9qCjGRCFHMclK4dLIPQS8NrsnTtdTmhXq/d3W+DMbqA6ecgg02I2kwL7VIEFr2EOBBmeOFn77rkgKsPRPFnYXYZ1Q1K2Gt3qQqu9trdx2iAGU3UAEFxn/MT29XCmy8LuXmZM61YCpbafpFJzKyNURROsWp/kK7wE75B80GSdkgBiPKwMZWIDrc+t+lIQFPKqznz2wBdxDkaxKjipRwx2S6GPtjKOh/anc5iq7Iyf6Dc+XkeobydCohLsqu7pRYk3jCfyy6GOsvjDDj700O+kmCqCuFBX1XrH5Uo2HVwvuVla9s7rdZTPVOiexsbLCLyK/lw7uUhKizwZNpt+YapeNVm+Tw7693tI1SPoYfK7c5M295IX0m/hoVK51ShhVnDnJGeqTIi7ezUmExSeBXEeTb8C5ltpFlhuhFCZB4Xgyuee3FLcVPV9vtfPuLcKLw8a3LOH7RtSb654jFQoi8OHjTTalbaH0mznij/FDe+O6w25+qrP8dL3n/kFl7X+NVGHT9Iv/XjqN0yM5/mIQr0dHZRy81U1GDpLaATH8FJjjs7mqFbAHz72yfSQqzNpufG8NAsjpCHy7aJcWRtYM5Bv/rsffCxvaxjOOvx023YMLucZXThoV263c2ePARZa91raiJxizUxsjHJ3ZfgNtAgXtFA5ymp7KFp7CksPTFhPTZZnU6HjumSj2w9zKu/NkM9mlCxEKQpaXM6eJS2eeA/NOwfxja/51tpwDYvpHkPxnYFyl2CXmP/xV4o/s26L7pUCebgrtwL4JcgQ2z1scArjgsISvhhkcJSyNY+cbHK2gheJci6MPBHdH539FkCF9rTy6KATQJKWlZm8jpbGF1JoOQJPHtW1KDiO0OYIYm8EmweqqFrbd5o+RoRmfbvle2vkYtVK+ydq1bL8/03dJ91FPtw6J3D+kvGoX5kDF3bsczRibBHRw+LBECSRQB+T4Z/0Wg0HhguAbAl8BMoPzDU++lZ82EYtusLotiHIMT8gAoFupBPoedf4yqTwQjt4up8EUQLvFb3/PVzO9W2jb3Q9X08o4kCisE6F1m73ZZa1btbjVLWg6IBCBum4fFqV74RGVk1vI1uwlbhXljqpnAZX8GnmBcCaY2nJ1j44aro1Ml2CmWIzNWAdv8i5upkH8Tcv4c3zlqDRxyH3qLmDMdD/eRuXxAg1iTCYw+XhUCLUpAHnRqNTaoVYXb/FEZqNB7CyF/AR9We5eVLekWPv4LkVx5r5i1uX4o91SwMILveK7ZWwq3fPeEttvI7kORiCq5Lt7f8cTFF2nDOspgH4rQkALyUfj8tg6gNxuUtTrbsSuIsC85DuAuSNJ5BSPI2Fhd4URxdL+Oc3opbS/uVrL/pyhg9OMbvi3JQfo2z0jHx55uucLLCUmGKlivcFdKvlWCKW5za1mNFKj2wyk8EgbqJH/opF44dwDSNU0A6SLyGjYB4A2yX3GENogWvdbXXi/TGqKjWDCLwwxeqJnZRGnvY/W9BmYfyK9Lkbm7tlaj6kr4SfZbCLM7TGdT4BeulF3kLuIQRapNDwORLbM8ETy49lFrU++xWr3Fv3//xgsIzuFQ7m72jZoxNB42ZLVDMjhVeQaY0QEgflmjuV794pa8uH7vcR2zddHnvQdyss7D525YiU9UvBPAeeZ1FvgJti493aqmmet2eZZv6Y2HX7B5BEy/Nni5l4VOVDyzUnar56wvVfAPKpAkqQv0pvsY4+gOcrSLbV3tbhZ+vdbfaZwREf6txWThc5Xnd42pX/AuXqz1/rM89WdZqFSsrP9gT/anOZ6tyt/hB7kKx4qVUpVbRCsLz9tNslke4boj+XjUj2zlhR3EeUb9lBDPkkt2uVuUWKhP9K2XfLWp5hoIwrNTMr7YlpZ3lJBnN8zC8xuQX9N30A9W/arW+fW0MJ4ZlG+Pj1v8GAAD//x7OgQxIZQAA + H4sIAAAAAAAC/+R8/Xebxrbo7/orppTGdmMkITtO6hzaYgk7vMiSHiCnuUkuC8NIokagwODEdfT+9rfmCwaEHDtue3vOzVldR57Zs7/3nj1ffP9d5zKMO5detmgZluXab23HOO87Q9d2dMtxT3VzqB0C0tcfjqcD1xyZjuuY58Z46mjPaM+pOTTcN7rTf1X0HNGeV+PhwH2jD83R9Df9zBg52nPaYRlDQ7eNBoAXFECfOK45sh19OCyQ/kS7BuP+a8Pa6O11K92D8ZvRcKwPyn610v/aeNsA06vAYCYwXNF9UOkWdNRjSjofn7wlw4amXeqpxxR1brtnk7MtpI8EDBuyMbX1xyNHN0eGNdgEYYqzpqP+ZidT3esXNgYYmaOzou+gW/ZtcHXAlPZ6emJgtxiNHfd0PB0NtAOmKvP8rGHYQTlsaDiipg4Oq1Y8P3MnU4HVg2cbovadJrijTTjLxDxugm7XHnFdQagXG5AXhmWb45Frji70oTnQDpgq+yNzU+5DtTD0xBoP3IFx0gDU2wSavD5z9cGABRzT3tjSBZMYljW2tEOmHhqpgiBk4AvuQ4OJNT4xWCvjeDx1TrCUWLoR7Xom2F6fmK5tWBeGJQKojQCDke0Ox+PX0wkD6zWC6f81tYxNYO4cuqM3x8JRV4CoB+GRKnTWHf2IMXLxalC37dGmY20Qft4Vgmizl1HuT21nfO7ahm71X7mD8blujmwq2wuG4Gwy3Rz/4kDotEzsWWJkvDjc7K7L9+KZAGNcmH3DnQynZ+aoguioBDJHp2PXGp+7/bFlTSeOMdBesHCwz37bSuen7iaMQOEntczSA90cltb5Scjf08lAd4yyi0eObWDHvzBJXNl9y5w4xE6WoQ9KTGq3KxDB6XQ6ObP0gSFACGxMptYZc3i12yuCBCcEy8Bm0NQu03/ftF3dts2zkWuNx447eaOpqrrRR/xnYljnpo051VSVoZ3oJHX1x5O3BEhTVRHzZDJ86050234ztkiwnZpnmqrWAreYQ8YsLFSVZzSaxjbcR1WfVwDGE8PSHaxDmhpUlWcvx2ro/Am0qLJIUNqO3n/tnhmOq1vnrjN+bYw0lU+hdZCR4bwZW6+ZLFOKWFP5jFoHt6cnI8NxJ5Zxav6mqXhSLYLyZGoOeS5T8bxIlfJGn7h9y8DuQpXBZyWxxxzZ09NTs28aI+IRr117ovcNTcWzFIF2jKExGVvOoJI2NZXnubKfOzzt5oJYjnmq9/F8ZRn6OZ4lOR5N5TmuAYgh01Sc2mjh4zgT7OS/vXX7OtbbhWE5msoTG4sM3GVYjq2pR0Vxwti2jT5WqjO03ZPx2LEdS58U06nxm9HncV94xxE38MC0T/Sh4ZoTRz8ZGram4rRGc6Y1tR2MYdO5eHIbmDYe5dr2K019zj3eMs916607MvuuORGSqvqceb45sg3Lcc3zge1ahu1gF8XeZ00xJyNn7J7ro7Oh4RKeNPX54X3HnZpDx7CKcSyMBlgRxpZxpzjh1egd3Xdcjd5zwXktA9vCtYz/OzUtY6D1eIoajUlS0M8Mmymmx3OTPdIn9qtxkQ3ForHLI2NimRe4E8+fuBTAXtnj6Qo3iu7a6x7ysCnK9XPdfs2Qsr6+ZQyMkWPqQ5psB401cZdHIC5n6qVOr3sEWq2yFCFFFeaGcf8c1PpwO9Yqnv1dVet1X9QhhMn3jW6fa73uT3ci6Wk9tVuH4OmorOzVOsh0pE+dV2PL/C9sJpUrhZUh3MeL8tSwLnAc42A0T80+NoU1dmj+dPQzraceMDUNDX00nZRyuOY5trrWUw9Z9I1s95WhD51XTE048bfCGZiFcQA6EPlAQTcrCGb7EVBibwmB9KOSwgh6GZSAskrDGAHlYx4i0Pu5E8DrTpxHEfgC5ilcAeUj2GnvvARoAeMWAACMbU3ezZIUASUl6DsFNjzG+3QFdpYe8he7cncfdP571xy4Q/O1oe36SQqTbO+LOdB22z/u7cmdfeDtgVtAWUBJvlrBdNd71/sAvHcHH/ZeAvg5RGC9s8coc495IAeFnz2YMPgCUAqUAOxIO3stGGWQcAL9RQKkGuk4QWCW5HEgtWZhqzU9mY6cqTu23ZF+bmgS/VtqnesWsWPRwRrKHlJo1rtxo9QiMx9ZvJYAZZvUYssmrZNnaSdKfC8i6+2r/BL6KGrRGoD24vYg8a9g2oKfV1ibpMa70CT5tqwIucaPtbVUgTNsR6QSX4dB6DEChZnUtnrQVhWVjxxdmANT56iJJ7v2K52TLBpEak1jcIhwNi/Winy7BfEGFkEw5+3EqMmKm75CWpOWftpehn6aZMkMtf1k2fGuMvyfMl/lJSs1tCVSXCzRQplm2P75QJN87GUxuHqRtcMEpHkMFByY12EE5zAAipIugaLEECmLJENAUT6FaKHEGViFwXFnlSZ+R+3EWWcVYuBlkmO3vllB7TKMg/0s9bVOskKd+SrfDzKkdZYx/SNZoTCJMy3FcHeN9HwCWI7mDRUMhZDMDzbkpA7XJGAMkcZkW4UB+3kNONvHnOWikTFwLHJDFCW1cHne1/uvDHdgWlrn2ks7vucvYMfD41J/EV7DrNPCpbY+wrWdAJwmCcJwdEDLuDBGDl5Onp2R6ozji5J5x/sjT2HnvPAFHf/dNj4jGGeYm3Y/z1CytP00XKEOvIYxyjqt/tQa4qXxZOpoHbRcdfw8jdxrmF4mGWwnOWqRWUWESFIv24SwjDPTdqy3rEqmKwOSkzB8x0/iWThv33jLCLRaKUTpjb8M3HDmzrwwylO4uwduSTbDfSHMNFl9CT55IXKzCMKVJvdeAhQuYZIjTT54CbJFOEPgyZPaD4JilqQgBGEM5N0MfgQqkBnSvZcgSAgI/sfQAZn/kOTbX9cSxnWZQu8KfPkC3hfQ4Qy8A3IIFPixwAc+CFMR/0fSsfEZ+jmCAXgvyb++l/BATCV7WQFNIcrTGKhFY5HT+T8iPJBLRRS9s5D8DJJYmAW2k103at3NwgjG6D9H+X+WRkV1xVmUJFf5qtCSqBlV0AzWUoK8yBV1lUI/SQNNPiRDM+SliPRr8m7gIQie/pDRguLTIowgQGkOK4ri1IFSYOUqUwiLWherBBPZojw/T1MYb6Faand3VwQEisDr3h5Q5hDIFem2O7/kYDjBxJVhKcTJLNh/kGTYX2Eg3W1rZsDtVi6C5U6VUBmKUHoQm0n6NUVm0E/iIJNwSDZFZJy4GfJQ9k+ISRyS/5yILLQ1h8hFXnrpRVGhJeSl7l2aouBEU3ka8XCkppZvhdFrrnBpi+oE2Jr6vBQo6I8ZAcHU7qM6Ads3qo8b66iL3ToCyiyzh9dAJr+TkpmfgSzM9qD38xO1ggez9Q7Iv4DvNNAFH5qYIaHjoQqiCoAQgY+1rDtLk6WbwnmYofTGxSWmi0uJR1ocj5olUQBTHPdhSpegXEnS3n+iW2C1gRVeRotOwdSAq1SmZIVWaUC+3VrSrbEbCSXh49xIQPSnu5Hn+zDLXJRcwdidJWnVee5wHOIsBw/Jm3q/b9g23UbmpbK8uxGX10DJgPIKSOcQeYGHvGM82Ut4uZGs0uTzDZB+lICEbSTVJmclBpLcQEbizgEaZuHGAU1e1P2GGZQNle/cm6rbJIWzFGaLbzCK56cuNcxLgGDsxcgNcVH1sqJ8TX72ELtZxqll2K/uabjfwGRsO8SA/SRGMEaKc7OCx8BbraLQ9/Car/NZ+fTpkzJL0qWSpxGM/SSAgSREOf6nBECap1gGsrYVPfVJBtPr0IeazCR+QqXV5ELqJyK8VjFyndACoVV23OlwZJ3Ey9Gi14Gf/YUXz2GTlzUp5W43axzxP+ZnZHkaJfMwfqhfVeTg88U9XYmwNhyfmYIfkbRLOAEStwCO9jCAMQrRjUIsqGQoCOOGLCzdlYYl8K9//auue4lk49Ko8HOIXOyBmvxLq5afiz4y32xJ1MzAG8I91LqSYF6p2b4FP/WccRnGXnrz1WqAgd1hagax8tCiXhRwGpt1gTCoVhtUCdbKgy2uUx1T9SAagbMazcbJnxQP22f+SiFRJQm2Tccb9UQj5q/XFRVN/tmlxQPKi6+WGA1lxt2lRm3AlsrD92KWgTLX89O/pt5IcrTCq77dui1SuEpAlLEaojGnbFV/PXlQL/qFp4et2cHzUxBmdFXvXUbw/rmBmlKSqTgS0DTwo5THeIpK0vAPGBwD/BsnSzq7ghR+zMMUBtKPd+UrvW9hjuIElVwdA07mXlsI1V01KY/h5xX0EQxACrNVEmcQ4ISEp48a5gfPV2TDdRZG5Q4oabnnqh8PpBntkHnSs0qWEnF9dQkjAlc97h1JTTKnBj58KBYxzesXEdUjFzDFbkTj6rZg6R+8vCUAuNqtmPkOC5dWpXlh5V3DgB19kG1+P0ryQAnjECkYNmsTCAJLz0lPP2LrczxrCcgEAlutEpL3zDgF0p3vjfHpjqD2u93g79gYIpAwAEoIpA5mrxNIJYNlNAiu8jNTR2vdym4yBJc+wt5K9uketu8GsmsflwoPLBc3fLtgAwQeXCaxksIo8YL7DGB8A5mx8jds2BW0M+ShPCtJ46WssvLmeO6PKmN+T/I09iI8SMmLAd8UTqXJMpSs/u3shZn+O431YK0GYYanzH87xTK+/5m6pRkGi/IwvT5WmSTgFKqkf45CrmGahUnszhF3MwQzBCR5l1yCmYGdH7L38Q6Q5F8l8AWw6zUX4AtYQC8ASgzUPVIwSrIqtdat0nuNGPuAHgd2JZlvpHmgdrvgGTjoApnKYxn0bprt6M7U5ivmzVSnVpMc+BnUjuBlVaGw7SiZt0oFVwkAJYYNdTWr21TgJ3kUkBr2EtIDJPH4q2IJptpwBr4DDSdKQO1hSXvPBGFgTCNFvRd5Ch2Ay5sSxXZeRGsMaEgScwipOpwJvERhhpQ8DlEGFGWGV5OK4lWufEmy2mb7YlKN4epcALiksopdfJsyk9VKVOZG5rsXGgbL8DC54fIapv1kufKEGw38wpeuybu0ElHBF+DniGwEPpVwac0WXhz0pADtbQMlS6fbAveahUPRcrKWWJleKfhwKMGgQC8gAOJYetVsB/8PxyEPwQtAiS/C+QJm6IKGsSbvmqe2Viw6KI21VLAuEyTKrHcH6/JtFem6ifvC19atIPkU43Q6gJeTq7mTnIq19eT1Gb2PxoIb/13c1usVTQPTMvrO2HrLE+3yKghToKyAXOmmRXieLQIg31Z61kUm34g67ENH3S7wVkiZQwQ4wwwFZm+t0d+MtfWPlFCywpWpt0JkA4yPY8LdMWtUT35ftgAg1+HwEA3rj0lQuZCEHVyI4HvMNMHqag4UtqOAJVU8HLhJ6kPSGMBZeUsCr3qwIFHiX2WkmatDScBgdTU/Ph7TO1vHx5qIJYmCUmPKTf16SOtrExcRWn1JpqjNaeklTZps/YAVXtMDX8anELXWrTlE/clUT/1F4WFe6i80eTenZe9yryWsMW9x5/7+mkSkh/84OpQwgVpPusTtm2tRtrFCulsb8yzrXQa8l+SeMNOt86NDMcViVnZL1vdEos001S3UukKOCzOLbSpN0/L4nToa2/0j+xAqiwy2Y5vCOfys7fx3++n7Dv3vuP1U3qmorRy+Btr/w8oXBxc8g/rU0wXiPMitCDC3UTLPXJS49L5bjV3kZVckjsqbErSDQuOMMvIqF0R+OBjttQRAMjE74iUS6YdT8IPT/uFgxPaLsd9yvnhVwajEwfahBO73LIndDKVhPNfkXfD7R1z5lIWbonjpHGAcGfKWKwBI8uUsraUN0PEKpmQnzQwwKGOgAZDlYNIiqe3ewSaI42VXWDuAksW6bEBkYE0O4TWMAJDMeJakS8KAF23CnsMs8+aQEsWTaAQRDI6B/OMWvJMwILDdLf1OU//ObaGwYyAXv/dF5RwDWfhrn6vjGMjs134hPsbBfu4L0h4Dufxjn4t2DGT2a7+QgENOwmC/YJs3OmGwpjEiHD7It4JfkF3z282LoWv5turF6zYe1SoTp4STmwS+04iCqvlATH9CebPABZCbXYUrl16xdoM0xLV8WWfjzP6ZHqokwY0m75a7dtWzb9B4+L1AaHXc6ahHP7V7zw7b7P87SzaqE8YZ8mIf/uKtQoWtIrRet6cq3Z7SVVnMCaH2LaISQUpZebEkyVgkXNXgQIRgp+0ny1WOYBt582wYZgh8AUtvtZvBCPpot03mhi9kabMr2Vfh6myVD4jCTCxGFEkvgRRKe3t777of2tdelEPQ6QBp5kUZlIqRRFEUcqdyBiXwKAn2YZWpe5Vfwggil5TO8dz1YYrCWeh7CLppgoh3/8cajimh2XZpg+3efcBVrmg5Ml1eZQpDpTB9KkyfiqBPhetT2gNfADVl1Va3Vb7299dSPaTY9OdH0IuF26b/e0Lq/mbBwXRC1NWn2vqq3jFVrvQwO/fSMIbpOCW35IdhnH+u1QZJxksYVp0kGVml1B7M4EXKly9NAOK7mU2ozaczmyVZdaM+rC+AWvDaiyaef+XN4YBVylNrWJOD1GK36rGyFoQhFz3IEeHmOQjGCqQUZnmENPkWF2PCmRmdgGhvq7YxJPJJtU+1TXPd//nIOCtOL7HJucNhm5V3UPiJoMgcs2d51laUqeEMNFoUSPLYrm4YZHmQABTEM8C4wkuL3z/iZQXF//tH8MnLeC+pPqp8bhTkfJnGET4DKjjqfgtSojo60+YrXBJa9C1XzaIranKNbH1VHFaSe9UWvj6X5AOJbXKRD49oEruhXAUfJp9g2vcyIWveJhlZx6MU7Lw7Ji/Tjj/s4N8RBj7+wKLt+9MkBfRR2T42iFwQB2EG1Bft7iHw4gBIqfqieyjhRi/KEhDAWRjDAK84ceQnMS5ZSKWyT2t9mT9oCzOSCVHCcVC6drgMIy+NbsjStdflhHq9dvewDcZoAdNPYQabELWZFtqlCCx6CXEgjPCiT95NyQFXH4iTT8LoMqoblHDQ7lIVXB+0uw/RADOaqAGC4mvOT2xXC2++LOTmZc60ZilYagdFJjGzNkZROMW6/V66xi18g+a9JO2RCSDOo8ZUIjrc5timKwFNKa/mzG9CtEhyNEhQxUs5YrJdDAOwk3Xetzud+U5lZX5PufPLPEZ5OxUQl2TXd0stSLxlPJddDHWWxxlw9peHfCXBVBXCg76q1j8rUbCH4nzLy9Z291qtx3qmRPc2tlhE5FcK4MzLI1RY4NG02/ItU/G6zfJ5dtG720eoHiMPldudmba7lb6SfgsLlcqpQguzhjkjNVOlR9rbqzG5SuF1mOTZ8G9ktpFmhelGCJF5PBlc89yLS4rbqrbf/foB50bh8KzJOZ9qu5J8e81joERfXDxoptWstD+TZj1R/iVufHdYbc/V13+Nl7z7wC28qfHrrTq+l37r11G7ZWY+zyMU6qm/qOVmKmq49ObQSU7gJMeVHc3QLQC+//0jKSE2RtN7Y7jLT2Lk4WnbxDiyNjBnoF9texd+aC/rGC56/HYbNsw+ZxktPLRPt7tZy32QtTa9piYSt1gTI1uT3NcS3BYaxCsa6Dwmld03jT2GpUcmrIcmq/Pp0DFd8vmt+3n1t2aoBxMqFoI0JW1PBw/SNg/8+4b9/djm73wrBdj2hTSvwdiuQLlL0Gusv9iB4j+s+qJLlXAG7sq9AH4OM8RWH3O84lhAUMIPixSWQrb2SYpV1lbwKkFWhYE/o/K7o84SuNAePy0K2CSgpOXMTI6zhd61BEqewJMnxRxUfIEIMySRI8Hmrhq61vaNlm8RkWn/q7L9PXKx2Qp757rV8oLgNd1nHSUBHHqXsH7IONRPjKFrO5Y5OhP26OhlkRBIsgjA38nwbx2NxgPDJQC2BH4G5QeGej8/ab4Mw3Z9QZwEEESYH1ChQBfyKfSCGzzLZDBG+3h2XoTxHK/VvWDz3k61bGMHukGARzRRQAnY5CJrt9tSq/p2q1HKelA0AGHDNDSv9+VbkZF1w2l0E7YK98JSN4XL5Bo+xrwQSBs8PcLC91dFp062UyhDZK4GtP83MVcney/m/md446w1eMRp5M1rznA61M/u9gUBYkMi3Hd/WQi0KAVp6NRobFOtCLP/lzBSo3EfRv4GPqr2vIZpOLshX4FbQC9Ci9090ZxBsvTC2KX3hFUhef0BJFnolLbcixyMbIYDZ124XKGbjdwqN3yGrpJug3Du+gvoX7lx4lJs5MnfHDyNkxT64Gm2SFIEntJ7Vs/AU34b9xlo77Uqb6PuuMN5Sr5YgnN3CrMkuoYgTRLE2d9p7zyG8yrbDYwyGUSlFud4lSehRBTeyAUih1XMKjWa0r3FZZKKLHBJMa1jcj5IyD5IE1VvoF4GCIdg5WUZDMihU/kKmL4V5Wfh/O1tLc8Uz4DF4t6PQsjemYs1vvD8/KBV8+FiiFRRYjFkm/aKcSBJSwLAS+mH/DKI2mBcPidm6/9VkmXhZQT3wSpNfAhJAYHFBV6cxDfLJKfPMzf0W/GqbW8X6Q1G/nC57jyV0r30n+a3xKzCqTBF6ya8PKGfzcEUdzi1nYeKVKbCKj8xBOo2fug3hTh2ANM0SQFZygC08GIgPkXcJ4+pw3jOi67aOTd9uiyqNYMIPP1M1cRe7GMP+/pxPPNQ/lafPBKvnc2rL+jZ/BMca3nqQ42/9F96sTeHSxijNrmNTj4J+ETw5NJDqUW9T271ewK7X/+KRuEZXKq97d5RM8a2bDkT0gdOZ9eQKQ0Q0ncmi7r6xbeldfnYK1Ni66ZXpPfipjlfNX9+VWSq+qkKvljbZJFvhbTF5r1aqql+94Flm3qzsH37FUFXXpo9XsrCpypf+qg7VfNnQKr5BpRJE1SE+kt8jXH0JzhbRbZv9rYKP9/qbrXvWYj+VuOycLhKe93jat+aKFyu1v5Qn3u0rNVZrJz5wYHoT3U+713IlfxSrHhNX5mr6AzC8/bjbJbHeN4Q/b1qRraFx+6EPWD+lhHMkEu2XVuV59BM9G+Ufb+YyzMURlFlzvxmW1LaWU6S0SyPohtMfk4vSdxT/etW6/tXxnBiWLYxPm39/wAAAP//6NQ9SOtnAAA= @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/line33.sh b/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/CustomData b/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/CustomData index af350902003..5739b32855b 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/9x7bXfauLbwd36FxsPTtHPGvPRtpp1Dz3LBIV4Bw2ObzO3t9HoJW4BOjORKcppMm/vb75JkG0MMJJne+XBZqw3IW1t7b+13yT/+0J5j0p5DvmrYnheeOiM7/N0K+mdh4IztySzovQYNjgQwrxt4AT4CcwHaNBVt+GfGUDuiREBMEOPtlNErzDElrYiu0wQJBD79BsQKkQZQHxStKDCshCEY3wAGCRAU8CyKEOcAXWOBybLVahkF+DUWoNNY4EYDpmIN2eXv1giT7NpaIiLAiiYxeNJojCbDcOB4vfYVZO2ELnPC4CVvrC9jzICZgubXHOq2kRBgcrADHCUZF4iZGxYSugR/5IQcAzYjjkyaiTQT2/M2Yvqp9W9OSd2TKKFZbGKChbnACeKtFF6huA7yaiXhuIBJspFwAbfhsN1opDdiRcmLY/sUMhTDSISKhDCiZIGXrfQmx2mamjQ9bqZQrHJJ4Lmmuq2oIVHBRI5BXIsShZaKnlwhcRe+0Zi9n7nBLPTskW35dq/5NOHzkKEEQY6AyYDJnyn1+wiaX7dhb0GvB4zu61bnpQE+VTWOZzEFMBXmUqrvDYCZoAyt6RUC0YpRctMotbL5r80MfsMFWkciAQxxAZnIR2JT4DXiNySKlVLqiU9jKNCzn5tPV5QLAtfo2c9AzYoyLuiaRwyn4t07tRXrRmNBGcAAE9B8ytFn0AUvXnc6z34DMVUEaAvjwGh+7ft2eGaPprbnK6ucWsHZrbFjUgAsGUqBefoZnPyYQ9uT05MDCJ48AXOG4KXCsMCbZZsYmOizIujOKsoWm/UOQksx4aiE5glCKegWK8SUoAZHMTAxMNoVMtuxsZ/QBqcZi9ABgB2IgeMH3uQ4Jsf1A2s02g+QIzoK15+4p85wiyKtokbz68DxrfcjO/R9KXOpoYJlaEdBY8zhPEG+fwa+favIuDJ5o2lGyvAVFAigJZMOM2X0+gbAOFa/MAcnza9Tz7mwAju0h57t++HUm/zHh9AaDOSv25Mqff7ZZDYa5CzMPDs8C4KpnrCf3vvMDvvWfgTyo60+Y0jOmUom+tY2+7PpQDLRt8K+7QV+VVHLybaIbHKFGSVrRISS0gHm+jM/mIwlxsCb+cF+AhO65KGgIbpCRHBgWOd+q+/brXLdvrLqPuwjJvACR1AgAxx6epg1Sbcm2ySS8skseD+ZuZL28dhyB7e1O6BhtbgvLM+/rREzuoIJaG5gqlJkSLCbaB2HeBEuIE4yhsCrDuiCV6C5SwF49+7BAfD5uyfdbb4rWF03PLWc0W+K933y5kj0pzOLRSsDbL4X9tdGImpTbubxoVFGBmdwC37oAWMNmYx1UizS3209UzwkMo/YkZq2Mk8GCEyWYA2JGc9V0DCzVHp5sEjgEsgoXWYp++jXYWYMyWBuZYLO1PzTBC5PcYIMcPDxtlI0v76fTAI/8CxlYMr99iduYDmu7YWePZTO6kPo296F7d2WHIGD5FEG+YguMVHfwkR+Db9gsQovszlKkAhxjIjA4sYAxyCkKj6AxP/XvjVAc+bbXmj5vjN07UHoDGw3cIIPoTMAzcB2LTeQX0sN+pf2gtcpZULmn3xFsyQO+SVOQ3KFYwzDmOErxHjj7liY50y95tMavQ8JDbmAgoOuNIBuB8hUGJjR9YFVnjUYEr3mv0qPw5AwlHJ1anXqFOIExTLbjZFAbI0JkpaskQKNFORk5suCOQJy5RTFWtM2tuReOAPHCgeec2F7RZSqKI3R/DqczkJ3MrBvNVWFo5MS1QD7xfQI35ggSGbpcDobaPEY4M7QQWMvwqDOsjzEaXKFYgPUj+/HU7phK15jMuPSAdwdqyrSEglHsz2mMbJI3JeEZ2m/yJadNVwi3vDPnWn43nEt70PYH9mWO5v+JXWaYwLZTRjp1Z41TmejUZlvePb/nzmePeg1n96TPtCsIRA0HT+8OBs8Xlll2ixWqNTMNY0RgCQGOd2gLCoAVnTsampOScUZOGNraFfDXnPiS31r5jn9xA9da2wXfhsYzVrRGGCjovfQ0JyBAUq5ASo/GmXWqlkf0iRGRDPzmzY/GQlilCISIxJhxIvpUGBKjINqnUOWe+VlRBYQJQW7D3R5bTS/urY98DdCG2ybZCGYr4E9sqcTLwhtV2aLO2D3CQM5IQFKkLSIeJpkS0xKAnfGFbMciSztu84AM36UdReJL5Rd7qDdGm2UXDt+eC6Ts5Ed1HGSMxLBBEiHginhv0O+7jWf/vuzLBBPWlMYXUot/PgJfAMcJSgST1uyIlPISl2NzS+Qr02+wmtuPAPfQCumX0hCYTzzHN6K0QJmiWhFGWOIiFax2MXzj59aCRSIiws9JIus/mQ8nbi2G2zqDeNZhdQC9YhGSmO+N8kF3ofQMvNGf4vkKusdI+9+BhRLsn21Otj/DBjNOqkblfFcAnKoqktGo0bJ/BST82yO7isunmIiU6S/XbUeSqhRUPo9FOrRi/+NelTQWCpPMbClGRuou3pUfbarH0YZ1KQz0y459O2+LD+DkR+WKfLUcYcHHNyeFCmnxEdRxlAw8t9TKrhgMD3X6bh9jaLCzz4AWBHt2ZK4Mu1YQBkVD7S3DF91xYrUSobI4XSW57HcqE1De0Ayu6nHjuWgPzwsB0WEZwxVU9Ddke0GRr4/ksCBfeH07XA6mg0dN3ROQxl+dTQtaN4prUssY2dY8ldNszWL5gIYqlLN24f537Zm2YzRFY6Qmap9aHHE5M+aQl5+ykb2gxG2YmMLk0DoMUja3Y65xstQapFAyxuVaxvgHWjH6KpNsiQB//zniT05PWl89PWkT41Kg6ZnSFlJ/Q/s4YeeKZGZBTLAMVkmyGhIvVS61at8bWectZXDyWlUBxZ15IJmdRHJbcOenJbs582PQ2qkGretOtwGMMq+sE1kWWKRWNtBPfhW++OunvmB5QWqEXK3fbqfOpoeJW6giyZFHU3riSt6Qds2oaxVpZ6n1nvP6Ydjy7WGtne4nYcXAPOx7rdMmPVnxpA6pAFGc+IbNbp8LGdUBJ/COcPRGBK4lFXc/mcP2d1cFgs1f13gPravO+B391XV4f7ujt4R7x5nsSOhHV8socpnRxnUPm+Ml1PIBFYVCrg7VpB3+AzDsGWht8/F79Qqg0n/3PbC0WTouHtjG0cC/ONaN75pdIkYUF0lYGag6duetg7PcfvO1BqF/ZFj6zaQmR547tt9zw4kJdZ/ylBbdMB3G2NGSYJ5fZ+qLY+U8k8kEovE8pvqVpfauB+k0YgYggLJgTEkeIG4GGC2kdqZ5Rc9ad+2vP5ZOJiMrQOyM5pf6+Cr5zrv9hz3qYrN1KdRJkeQRSszpmuIyZ5ebd1CvlZs1WY/HIzy9mA1/hxv2OSiVJGDLCtdm+0H98H0K69O/5XfY07fdao9fNepFKXTi9fhYGaNpHn3zw+V2vfITwZn/enV68Im9a8ibbyfEz3KS94sm3E0UHtclcadZ1sp6+Guw7153FRkBZ+bEbBpuBwRlPIPpaDUr+0O59j2fWtoh5PTMDizw4H1IU8a7x6YHJCs7qWYC32iEJNFG2aCrqHAkRLpzjlocYbJ22iNRXiFIeiBNRVx9TcXMabtpbEPZx7vt9pfxk7/q5pFxrmd6TMIUy7XimvzRHjJ9QHUmIpYnylMoVj17k5vv3ljwkteeAU5WMEjaBatpJD3ILytppTRak1j0Pnl1av7zlAxx0TAqNw9+YNEUGiJSWKkNzuKLY/4unW3RyO+gTnk6PVLKcZ3G/zbuhRY3tAOwv5oMiu0XilKf4UJ7Cc02xU3QwIux31Pd19PKVOQ20jzCuNs4gd+cVJsDW330YePU33829eHb2eUi9K2ax5tmfbWeWgYeJbrTy1Phs+z2dAOp9bQfrC1l14lYJDwFMpS/SxboilcVk9Ea54eIM3/3ZqqmPZ4cvwvMNWHbHeG6tzd0JvMphfP9663t166E+dkiRQtGc3Sq+e15ZGsRfYUR+ez9/ZIqqAiJzwdWUO/Z+boTJ119XICDFXUPMpzl5FbMbTp623ZkaTFtYMwsMfTkRXY9Va0mawkQZAIBVqnCRRIe7nHSG/TaJTrmYsELh9eaJayLOVRypPpRrvJ0OcMcaHu89BM9Lqv1sDcLF/CIRKnFBPRywi+fttut1lGqpxvvrY4jS7BZgW9c7yX89viCY7QFnxe75cVahGtfgAcra8Q69O1NBugN8Rz7cD2Q1loOBP3rWl0Wp1Wx7gFRrf1/JdWZ7fQeqTgS/q/k+hDb+YGzthWO9CrEXGPoTUVFTHkdUk1US6wDhz/PAw+TO3vZKxzTOI1zYjYb60zgsWnhoc+Z5gh3pMzTD0lx9SwFgKxugeFkR5OdPwbHomkSHT0r8YDDoLqnGhF8WcjZ+wE/h6BHbp8UWrqLMFrLKpp5J1n9+Azz+MLRvOflXapL4s3dxIOZlNZxE3Gjt+fTWZ++N5zBo8IT3odlw6ydEKmjK4xj7L3DMcyOh14eK+jyW/f/mK6ns0zIjKfwJSvqNCZTakEW6MFPfXnoHduBu2lefd2kHT2z+O4G6HuL2bnlzfIfNl5EZnzF6+em7D75nkXoeedXxCSVsFveHue8fbVWv6f9wDaq6swEzhpZ0Rq/+buX54jd1/gP777Kn+QPK1mUUu1BKs+48IaOQMrcCZuaHter9NoNKypkzcA9MUjzw48x/Z7rzrFHlcglKR6PfBTK79pl2By2fppW3j7MHY76qaycuDqutEO4lvQ+2/wXx875ptP//ijVf+3uXepgeurlT6Ul7JfdDrVbX8oG8fQv87RV+6HHs1qfzjU1fJ7zaf7rAGmWHpNxFyeUHqZpQYwyrsVJB8DXdB9tS3XO2Tf1sg9PxuSHz/we/lF361+qxyvYbfpB75kqnOXHxm6QEnZ3UV3jgqanq3M8iej+/rX1usXre7zN63ua+MnUN/u39Fk1ZU5/9UPK8vobpeUwGgyOZc5Y9F4vMPePTHuw1WUWVWUhd/euYmtnXT3V30Vu4axH4PJYAKexv/myc2zt/k1OCBWmANKIgTUVIA5ORGAZ2lKmUAxgORmTRm6Vxd5o0v9qhZVLjpu7VbVhm/1hR0SAfPqzzoLfvnyher/6t0/BCah7iHy8jLk/o07ymc/Y8kjOY0ylgDzSqa+MEIsr79lrsQIEoi35SBvR7AVMQFWQqT8bbt9l+O3W4J5GFbjHmgfJclcbRd403Pa57sLX/p/TKcqmcz3uRirmtrHrsaqC2KXOLqUgHSxKIBzuJRR9boPFMWxg27m6Ib5vhux6k2YjDPVL1pDEs8l9ZquHP8CE8xXKM4X2loBPCnTqO3zlV0mTxiaUyoA0xl//DPQA5IXQmMEMAFdsMYkE+hEU1V0sIAZAYOvMhHTLwSYDHTBE+MRmVndq04ZyV922tXoh6HeuZwwc60gsN2BPQhn06FnDWx/b5pdfGazIuoPHK+nay2YCvlPVVGqtZgihmmMI2PPGXbzaYyZugkiQ0gV463xbOe4umhF7oBtAeUtyNcvXx6D1JtsTYO3b6c5kW/fal0z8/sq5ghzafxd47cT8O7d4zASKAQiMYrNWbpkMEb3xrd5+Sgja8gv1ftLMcTJTVFZbkbMTCMva856REgda/5vIJJOi9WgUeN7kBTvVJkmoeY8odHlfRFW8T0GeR1zdcfHRy1QNe/vf+j9HcyuekfSCqyj8BvN1GfaG4Us9BFzQGg1yZrfgEsoYH6T92fwBSeJApmjfOPjk23N301Vtrciv7wNYrIwywMQk1CBFzeUFHt9AAEXNH387Nx6tucXb08WBrB17Ol/8AN73A9Guyf5j1hA6+tfQL9zFeH7rVLR802GtHnHTB+3AP3WYhlTWzJ1AjoHAhElBEUCUwKiFYouQURj9NYAze3k5MDVAkTi+pcjNR87eBqNH+3J6f8EAAD//5MULimoPAAA + H4sIAAAAAAAC/9x7e5fauJL4/3wKjYdfOpk75pHXTDKX3OOAm/YJGH626dlsJusjbAG6bSRHkkn3dHo/+x5JtjE0r+7Jzh/LOUmDXCpVlapK9ZB//KE5xaQ5hXxRsz0vPHcGdvi7FXQvwsAZ2qNJ0HkNahwJYF7X8Ax8AuYMNGkqmvDPjKFmRImAmCDGmymjK8wxJY2ILtMECQQ+/wbEApEaUB8ULSgwrIQhGN8ABgkQFPAsihDnAF1jgcm80WgYBfg1FqBVm+FaDaZiCdnV79YAk+zamiMiwIImMXhSqw1G/bDneJ3mCrJmQuc5YfCK15ZXMWbATEH9Noe6qyUEmBxsAUdJxgVi5pqFhM7BHzkhx4DNiCOTZiLNxOa8tZh+avybU7LrSZTQLDYxwcKc4QTxRgpXKN4FuVpIOC5gkqwlXMCtOWzWaumNWFDy4tg+hQzFMBKhIiGMKJnheSO9yXGapiZNj5spFItcEniqqW4qakhUMJFjENeiRKGloidXSNyGr9Um7yduMAk9e2Bbvt2pP034NGQoQZAjYDJg8mdK/T6B+u0m7B3odIDRft1ovTTA56rG8SymAKbCnEv1vQEwE5ShJV0hEC0YJTe1Uivr/1rP4DdcoGUkEsAQF5CJfCQ2BV4ifkOiWCmlnvg0hgI9+7n+dEG5IHCJnv0M1Kwo44IuecRwKt69U1uxrNVmlAEMMAH1pxx9AW3w4nWr9ew3EFNFgLYwDoz6bde3wwt7MLY9X1nl2Aou7owtkwJgzlAKzPMv4OzHHNoenZ8dQPDkCZgyBK8UhhleL1vHwERfFEH3VlG2WN/tILQUE45KaJ4glIJ2sUJMCapxFAMTA6NZIbMZG/sJrXGasQgdANiC6Dl+4I2OY3JcP7AGg/0AOaKjcN2Re+70NyjSKmrUb3uOb70f2KHvS5lLDRUsQ1sKGmMOpwny/Qvw7VtFxpXJa00zUoZXUCCA5kw6zJTR6xsA41j9whyc1W/HnnNpBXZo9z3b98OxN/qPj6HV68lfd2dV+vyL0WTQy1mYeHZ4EQRjPWE/vafMDrvWfgTyo60+Y0jOGUsmutYm+5NxTzLRtcKu7QV+VVHLybaIbLLCjJIlIkJJ6QBz3YkfjIYSY+BN/GA/gQmd81DQEK0QERwY1ge/0fXtRrluV1l1F3YRE3iGIyiQAQ49PcyapDumS4hJKH1Hx1hGrLHEEaOczoR080bOlklA/fb9aBT4gWcpWStL7I7cwHJc2ws9uy/19mPo296l7d1tqVp1kQch+n/NO0PSuUIMz27CnuuHCwQT6dArSLcU2PXDC9saBBfhueUMamsejPrtaBK8H01cuT/DoeX27nZqmYbVKnVpef7dDlVCK5iA+hqmqikMCXYTLeMQz8IZxEnGEHjVAm3wCtS3KQDv3j34kH/+7kl7k+kKVtdVfP+m9nefTnEkuuOJxaKFAdbfCx/TRCJqUm7mZ2CtPP2c3h34oQOMJWTyPJdikT5945niIZGx0pbUtCfx5CGIyRwsITHjqToYzSyVJxmYJXAOZCRSRmL76NdH6RCS3tTKBJ2o+ecJnJ/jBBng4GMlmL+q2OAgeZRBPqBzTNS3MJFfw69YLMKrbIoSJEIcIyKwuDHAMQjwcJMB9Ylve6Hl+07ftXuh07PdwAk+hk4P1APbtdxAfi016F/a01+nlAkZY/MFzZI45Fc4DckKxxiGMcMrxHjt/liYx4Wd+tMdeh8SGnIBBQdtaQDtFpDhPjCj6wOrPKsxJDr1f5VelSFhKOVq7dSpc4gTFMuIPkYCsSUmSFqyRgo0UpCTmS8LpgjIlVMUa01b25J76fQcK+x5zqXtFSdxRWmM+m1/PAndUc++01QVzlxKVAPsF9Mj/H+CIJmk/fGkp8VjgHtDB429OOp1JOkhTpMVig2we3w/nvKoseIlJhMuHcD9saoizZFwNNtDGiOLxF1JeJZ2i4zAWcI54jX/gzMO3zuu5X0MuwPbcifjv6ROU0wguwkjvdqz2vlkMChjKs/+/xPHs3ud+tMT6QP1HQSCuuOHlxe9xyurTA3EApWauaQxApDEIKcblIkTwIqObU3NKak4A2do9W2/oqz1kS/1rZ7nLSM/dK2hXfhtYNR3isYAaxU9QUNzBnoo5Qao/KiVkblmvU+TGBHNzG/a/ORJEKMUkRiRCCNeTIcCU2IcVOscstwrLyMySSop2H6gSwhG/da17Z6/Flpv0yQLwdwG9sAej7wgtF0ZEW+BnXIM5IQEKEHSIuJxks0xKQncGlfMciSytOs6Pcz4UdZdJL5SdrWFdmO0VnLt+OEHGYAO7GAXJzkjEUyAdCiYEv475MtO/em/v8gk+KwxhtGV1MJPn8E3wFGCIvG0oeIviazU1dj8CvnS5Au85MYz8A00YvqVJBTGE8/hjRjNYJaIRpQxhohoFItdPv/0uZFAgbi41EMykeyOhuORa7vBOqcynlVILVAPaKQ05nuTXOB9CC0Tb/C3SK6y3jHyTjOgWJLtq9XB/mfAqO+SulEZzyUgh6q6ZNR2KJmfYvIhm6JTxcVTTGSI9Ler1kMJNQpKv4dCPXrxv1GPChpL5SkGNjRjDXVfj6rPtvXDKA816cy0Sw59uytT7GDgh2WIPHbc/gEHtydEyinxUZQxFAz895QKLhhMP+hw3L5GUeFnHwCsiPZsSVwZdsygPBUPlPAMX1X+itBKHpH98SSPY7mxMwztAMnsOh87FoP+8LAYFBGeMVQNQbdHNos0+f5IAnv2pdO1w/Fg0nfc0DkP5fGrT9OC5q3UusQydPolf9UwW7NozoChMtW8RJr/bWqWzRitcITMVO1DgyMmf+5I5OWnLNY/GGEjNjYwCYQeg6TZbplLPA+lFgk0v1GxtgHegWaMVk2SJQn45z/P7NH5We2Tryd9rlWKUB1Dykrqf2D3P3ZMicwskAGOyTxBRk3qpdKtTuVrM+OsqRxOTqNqyuwiF9Sri0hua/bovGQ/L34cUiNVnG7swm0Ao6x920SmJRaJtR3sBt8of9zXMz+wvEAXgO6ViPdTR9OjxPV00qSoo+lu4opa0KZNKGtVoee59d5zuuHQcq2+7R0uWeIZwHyo6y0jZv2ZMaQaUcCoj3xjhy4fixkVwedwynA0hATOZRa3/9lDdjeXxUzNXxa4j+3rFvj9fVV5uL+9o/fEu8dZbEloyxdLqPLZUQa1zxvi+RgygVWGAu6PFeQd7tMYtkz09rn4rVylN+p+sL1wMOo77t6zjSMB/nGdV1yjK8SAqioBMwN13/a0dXiO23XG1iDsDhxbl4HM9MBz3+56diApsf5THrVFlX+7MGaUJJjXp2Rt+Ukp/0QisUgsv6mKfKmN+0FqtYghKJAcGEKCZ4iLHmZrqV1YflF3923L616EvdHQOiA7o367C77au3q3p6WpMjZTd9xMjiCLFqYuTu+p1e5ayNeKrVoJhw+jvDxYPX+OF2xyUaqTg8wrVZvNB6dg+pVXp//KT5jTdZ1qn8J1Kknp+PJ12JtYA2ne3Q+HUu0T4pPeRXe8el3YpP5VhI2nOdGjvOTFsglHPbXHVWnce7YRsh6uOpzM4zojK/hcj4B1weWIoJR/KAWlfm1WOIe271t9Oxydh8GFHfasj3nQeL9hckCyupZiznRHISazJswEXUKBIyXSrV5v0aflTbTEIlxhCDpgSUVc/c1FjGlzbuzDmZ/3G+UvY6v+VY0i49zOdA/ClMs14p1xIrziusk2pCLWPYUxFIvO/enNN29MeMULryAHK3gEzaKFFPIehHfVkDJaLGkMWr+8enXqDHXmmAgYlfs1f5AICi0xSYz0Zkex5Se+Lt3t0YhvYAo5ev1SivHdGv+mLgWW17eDsDsYTQqtV4rSXWACuwnNtsXNkIDzYdfT1ddzyhTkJtI8w7gY+YFfdMOtvu0+usE61i3urm6+XVAuStve8WjDtDd6vmHgWa4/tjx5fF5M+nY4tvr2g6299CoBg4SnUKbqF9kcjeG82vXd8fQAaf7v1lidaY8nx/8KU91kuze0y931vdFkfPl873p786V755xMkaI5o1m6er4zPZK5yJ7k6MPkvT2QKqjICc8HVt/vmDk6U0ddnZwAQyU1j/Lc5cmtGFrX9TbsSNLi2kEY2MPxwArs3Va0nqwkQZAIBVqmCRRIe7nHSG9daJTrmbMEzh+eaJayLOVRypPpQrvJ0JcMcaHuLNFMdNqvlsBcL1/CIRKnFBPRyQi+fttsNllGqpyvvzY4ja7AegW9c7yT89vgCY7QBnye75cZanFa/QA4Wq4Q69KlNBugN8Rz7cD2Q5loOCP3rWm0Gq1Gy7gDRrvx/JdGazvReqTgS/q/k+hDb+IGztBWO9DZIeIOQ0sqKmLI85JqoFxg7Tn+hzD4OLa/k7FOMYmXNCNiv7VOCBafax76kmGGeEfOMPWUHFPNmgnEdj0ojPRwoOPf8EgkRaCjf9Ue0Aja5UQrij8ZOEMn8PcI7NDli1JTJwleYlENI+89O4HPPI4vGM1/Vsqlvkze3FHYm4xlEjcaOn53Mpr44XvP6T3ieNLruLSXpSMyZnSJeZS9ZziWp9OBhye1Jr99+4vhejbNiMh8AlO+oEJHNqUSbIwW9Ozug967GbSX5u3bQdLZP4/jdoTav5itX94g82XrRWROX7x6bsL2m+dthJ63fkFIWgW/4c1pxpurpfw/rwE0F6swEzhpZkRq//p+Yx4jt1/gP777Kn+QPKxmUUOVBKs+49IaOD0rcEZuaHtep1Wr1ayxkxcA9MUjzw48x/Y7r1rFHlcglKQ6HfBTI79NmGBy1fhpU3j7MLZb6ja2cuDqutEW4jvQ+W/wX59a5pvP//ijsftvfe9SPddXK30sL56/aLWq2/5QNo6hf52jr9yBPRrV/nCoquV36k/3WQNMsfSaiLk8ofQqSw1glHcrSD4G2qD9alOu98i+2yH3vDckP37gd/LLzBv1Vjm+g926H/iSqdZ9fuTRBUrK7i+61Sqoe7Yyy5+M9utfG69fNNrP3zTar42fwO5y/5Ymq6rMh1/9sLKMrnZJCQxGow8yZiwKj/fYOxHjPlxFmlVFWfjtrdvm2km3f9XXzXcw9mMw6o3A0/jfPLl59ja/BgfEAnNASYSAmgowJ2cC8CxNKRMoBpDcLClDJ1WR17rUrWpR5aLjxm5VbfhOX9ghETBXf+6y4JcvX6j6r979Q2AS6gSRl5ch92/cUT67GUseyWmUsQSYKxn6wgixPP+WsRIjSCDelIO8GcFGxARYCJHyt83mfY7fbgjmYViNE9A+SpK52s7wuua0z3cXvvT/mE5VIpnvczFWFbWPXY1VF8SucHQlAelsVgDncCmj6pUmKIq2gy7m6IL5vhux6m2fjDNVL1pCEk8l9ZquHP8ME8wXKM4X2lgBPCnDqM3+yjaTZwxNKRWA6Yg//hnoAckLoTECmIA2WGKSCXSmqSoqWMCMgMEXmYjpVwJMBtrgifGIyGzX61wZyV/o2tboh6Heupwwca0gsN2e3Qsn475n9Wx/b5hdfCaT4tTvOV5H51owFfKfyqJUaTFFDNMYR8aeHnb9aYyZugkij5Aqxjvj2Va7uihFboFtAOUlyNcvXx6D1JtsjYO3b8c5kW/fal0z8/sq5gBzafxt47cz8O7d4zASKAQiMYrNSTpnMEYn41u/YJWRJeRX6h2tGOLkpsgs1yNmppGXOeduREi1Nf83EEmnxXagUeN7kBTvjZkmoeY0odHVqQir+B6DfBdzu9rHRy1QFe9Pb3p/B7Or3pG0Auso/FozdU97rZCFPmIOCK0GWdMbcAUFzG/y/gy+4iRRIFOUb3x8tqn526HK5lbkl7dBTGZm2QAxCRV4dkNJsdcHEHBB08fPzq1nc37xhmhhABttT/+jH9jDbjDY7uQ/YgGtr38B/dZVhO+3SkXP1xHS+j063W4B+s3M8kxtyNAJ6BgIRJQQFAlMCYgWKLoCEY3RWwPUN4OTA1cLEIl3vwCq+djCU6v9aI/O/ycAAP//Z7zg3Yw9AAA= - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line33.sh b/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/CustomData b/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/CustomData index 15d522ceee3..fba6bacdb53 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/9x7bXfauLbwd36FxsPTtHPGvPRtpp1Dz3LBIV4Bw2ObzO3t9HoJW4BOjORKcppMm/vb75JkG0MMJJne+XBZqw3IW1t7b+13yT/+0J5j0p5DvmrYnheeOiM7/N0K+mdh4IztySzovQYNjgQwrxt4AT4CcwHaNBVt+GfGUDuiREBMEOPtlNErzDElrYiu0wQJBD79BsQKkQZQHxStKDCshCEY3wAGCRAU8CyKEOcAXWOBybLVahkF+DUWoNNY4EYDpmIN2eXv1giT7NpaIiLAiiYxeNJojCbDcOB4vfYVZO2ELnPC4CVvrC9jzICZgubXHOq2kRBgcrADHCUZF4iZGxYSugR/5IQcAzYjjkyaiTQT2/M2Yvqp9W9OSd2TKKFZbGKChbnACeKtFF6huA7yaiXhuIBJspFwAbfhsN1opDdiRcmLY/sUMhTDSISKhDCiZIGXrfQmx2mamjQ9bqZQrHJJ4Lmmuq2oIVHBRI5BXIsShZaKnlwhcRe+0Zi9n7nBLPTskW35dq/5NOHzkKEEQY6AyYDJnyn1+wiaX7dhb0GvB4zu61bnpQE+VTWOZzEFMBXmUqrvDYCZoAyt6RUC0YpRctMotbL5r80MfsMFWkciAQxxAZnIR2JT4DXiNySKlVLqiU9jKNCzn5tPV5QLAtfo2c9AzYoyLuiaRwyn4t07tRXrRmNBGcAAE9B8ytFn0AUvXnc6z34DMVUEaAvjwGh+7ft2eGaPprbnK6ucWsHZrbFjUgAsGUqBefoZnPyYQ9uT05MDCJ48AXOG4KXCsMCbZZsYmOizIujOKsoWm/UOQksx4aiE5glCKegWK8SUoAZHMTAxMNoVMtuxsZ/QBqcZi9ABgB2IgeMH3uQ4Jsf1A2s02g+QIzoK15+4p85wiyKtokbz68DxrfcjO/R9KXOpoYJlaEdBY8zhPEG+fwa+favIuDJ5o2lGyvAVFAigJZMOM2X0+gbAOFa/MAcnza9Tz7mwAju0h57t++HUm/zHh9AaDOSv25Mqff7ZZDYa5CzMPDs8C4KpnrCf3vvMDvvWfgTyo60+Y0jOmUom+tY2+7PpQDLRt8K+7QV+VVHLybaIbHKFGSVrRISS0gHm+jM/mIwlxsCb+cF+AhO65KGgIbpCRHBgWOd+q+/brXLdvrLqPuwjJvACR1AgAxx6epg1Sbcm2ySS8skseD+ZuZL28dhyB7e1O6BhtbgvLM+/rREzuoIJaG5gqlJkSLCbaB2HeBEuIE4yhsCrDuiCV6C5SwF49+7BAfD5uyfdbb4rWF03PLWc0W+K933y5kj0pzOLRSsDbL4X9tdGImpTbubxoVFGBmdwC37oAWMNmYx1UizS3209UzwkMo/YkZq2Mk8GCEyWYA2JGc9V0DCzVHp5sEjgEsgoXWYp++jXYWYMyWBuZYLO1PzTBC5PcYIMcPDxtlI0v76fTAI/8CxlYMr99iduYDmu7YWePZTO6kPo296F7d2WHIGD5FEG+YguMVHfwkR+Db9gsQovszlKkAhxjIjA4sYAxyCkKj6AxP/XvjVAc+bbXmj5vjN07UHoDGw3cIIPoTMAzcB2LTeQX0sN+pf2gtcpZULmn3xFsyQO+SVOQ3KFYwzDmOErxHjj7liY50y95tMavQ8JDbmAgoOuNIBuB8hUGJjR9YFVnjUYEr3mv0qPw5AwlHJ1anXqFOIExTLbjZFAbI0JkpaskQKNFORk5suCOQJy5RTFWtM2tuReOAPHCgeec2F7RZSqKI3R/DqczkJ3MrBvNVWFo5MS1QD7xfQI35ggSGbpcDobaPEY4M7QQWMvwqDOsjzEaXKFYgPUj+/HU7phK15jMuPSAdwdqyrSEglHsz2mMbJI3JeEZ2m/yJadNVwi3vDPnWn43nEt70PYH9mWO5v+JXWaYwLZTRjp1Z41TmejUZlvePb/nzmePeg1n96TPtCsIRA0HT+8OBs8Xlll2ixWqNTMNY0RgCQGOd2gLCoAVnTsampOScUZOGNraFfDXnPiS31r5jn9xA9da2wXfhsYzVrRGGCjovfQ0JyBAUq5ASo/GmXWqlkf0iRGRDPzmzY/GQlilCISIxJhxIvpUGBKjINqnUOWe+VlRBYQJQW7D3R5bTS/urY98DdCG2ybZCGYr4E9sqcTLwhtV2aLO2D3CQM5IQFKkLSIeJpkS0xKAnfGFbMciSztu84AM36UdReJL5Rd7qDdGm2UXDt+eC6Ts5Ed1HGSMxLBBEiHginhv0O+7jWf/vuzLBBPWlMYXUot/PgJfAMcJSgST1uyIlPISl2NzS+Qr02+wmtuPAPfQCumX0hCYTzzHN6K0QJmiWhFGWOIiFax2MXzj59aCRSIiws9JIus/mQ8nbi2G2zqDeNZhdQC9YhGSmO+N8kF3ofQMvNGf4vkKusdI+9+BhRLsn21Otj/DBjNOqkblfFcAnKoqktGo0bJ/BST82yO7isunmIiU6S/XbUeSqhRUPo9FOrRi/+NelTQWCpPMbClGRuou3pUfbarH0YZ1KQz0y459O2+LD+DkR+WKfLUcYcHHNyeFCmnxEdRxlAw8t9TKrhgMD3X6bh9jaLCzz4AWBHt2ZK4Mu1YQBkVD7S3DF91xYrUSobI4XSW57HcqE1De0Ayu6nHjuWgPzwsB0WEZwxVU9Ddke0GRr4/ksCBfeH07XA6mg0dN3ROQxl+dTQtaN4prUssY2dY8ldNszWL5gIYqlLN24f537Zm2YzRFY6Qmap9aHHE5M+aQl5+ykb2gxG2YmMLk0DoMUja3Y65xstQapFAyxuVaxvgHWjH6KpNsiQB//zniT05PWl89PWkT41Kg6ZnSFlJ/Q/s4YeeKZGZBTLAMVkmyGhIvVS61at8bWectZXDyWlUBxZ15IJmdRHJbcOenJbs582PQ2qkGretOtwGMMq+sE1kWWKRWNtBPfhW++OunvmB5QWqEXK3fbqfOpoeJW6giyZFHU3riSt6Qds2oaxVpZ6n1nvP6Ydjy7WGtne4nYcXAPOx7rdMmPVnxpA6pAFGc+IbNbp8LGdUBJ/COcPRGBK4lFXc/mcP2d1cFgs1f13gPravO+B391XV4f7ujt4R7x5nsSOhHV8socpnRxnUPm+Ml1PIBFYVCrg7VpB3+AzDsGWht8/F79Qqg0n/3PbC0WTouHtjG0cC/ONaN75pdIkYUF0lYGag6duetg7PcfvO1BqF/ZFj6zaQmR547tt9zw4kJdZ/ylBbdMB3G2NGSYJ5fZ+qLY+U8k8kEovE8pvqVpfauB+k0YgYggLJgTEkeIG4GGC2kdqZ5Rc9ad+2vP5ZOJiMrQOyM5pf6+Cr5zrv9hz3qYrN1KdRJkeQRSszpmuIyZ5ebd1CvlZs1WY/HIzy9mA1/hxv2OSiVJGDLCtdm+0H98H0K69O/5XfY07fdao9fNepFKXTi9fhYGaNpHn3zw+V2vfITwZn/enV68Im9a8ibbyfEz3KS94sm3E0UHtclcadZ1sp6+Guw7153FRkBZ+bEbBpuBwRlPIPpaDUr+0O59j2fWtoh5PTMDizw4H1IU8a7x6YHJCs7qWYC32iEJNFG2aCrqHAkRLpzjlocYbJ22iNRXiFIeiBNRVx9TcXMabtpbEPZx7vt9pfxk7/q5pFxrmd6TMIUy7XimvzRHjJ9QHUmIpYnylMoVj17k5vv3ljwkteeAU5WMEjaBatpJD3ILytppTRak1j0Pnl1av7zlAxx0TAqNw9+YNEUGiJSWKkNzuKLY/4unW3RyO+gTnk6PVLKcZ3G/zbuhRY3tAOwv5oMiu0XilKf4UJ7Cc02xU3QwIux31Pd19PKVOQ20jzCuNs4gd+cVJsDW330YePU33829eHb2eUi9K2ax5tmfbWeWgYeJbrTy1Phs+z2dAOp9bQfrC1l14lYJDwFMpS/SxboilcVk9Ea54eIM3/3ZqqmPZ4cvwvMNWHbHeG6tzd0JvMphfP9663t166E+dkiRQtGc3Sq+e15ZGsRfYUR+ez9/ZIqqAiJzwdWUO/Z+boTJ119XICDFXUPMpzl5FbMbTp623ZkaTFtYMwsMfTkRXY9Va0mawkQZAIBVqnCRRIe7nHSG/TaJTrmYsELh9eaJayLOVRypPpRrvJ0OcMcaHu89BM9Lqv1sDcLF/CIRKnFBPRywi+fttut1lGqpxvvrY4jS7BZgW9c7yX89viCY7QFnxe75cVahGtfgAcra8Q69O1NBugN8Rz7cD2Q1loOBP3rWl0Wp1Wx7gFRrf1/JdWZ7fQeqTgS/q/k+hDb+YGzthWO9CrEXGPoTUVFTHkdUk1US6wDhz/PAw+TO3vZKxzTOI1zYjYb60zgsWnhoc+Z5gh3pMzTD0lx9SwFgKxugeFkR5OdPwbHomkSHT0r8YDDoLqnGhF8WcjZ+wE/h6BHbp8UWrqLMFrLKpp5J1n9+Azz+MLRvOflXapL4s3dxIOZlNZxE3Gjt+fTWZ++N5zBo8IT3odlw6ydEKmjK4xj7L3DMcyOh14eK+jyW/f/mK6ns0zIjKfwJSvqNCZTakEW6MFPfXnoHduBu2lefd2kHT2z+O4G6HuL2bnlzfIfNl5EZnzF6+em7D75nkXoeedXxCSVsFveHue8fbVWv6f9wDaq6swEzhpZ0Rq/+buX54jd1/gP777Kn+QPK1mUUu1BKs+48IaOQMrcCZuaHter9NoNKypkzcA9MUjzw48x/Z7rzrFHlcglKR6PfBTK79pl2By2fppW3j7MHY76qaycuDqutEO4lvQ+2/wXx875ptP//ijVf+3uXepgeurlT6Ul7JfdDrVbX8oG8fQv87RV+6HHs1qfzjU1fJ7zaf7rAGmWHpNxFyeUHqZpQYwyrsVJB8DXdB9tS3XO2Tf1sg9PxuSHz/we/lF361+qxyvYbfpB75kqnOXHxm6QEnZ3UV3jgqanq3M8iej+/rX1usXre7zN63ua+MnUN/u39Fk1ZU5/9UPK8vobpeUwGgyOZc5Y9F4vMPePTHuw1WUWVWUhd/euYmtnXT3V30Vu4axH4PJYAKexv/myc2zt/k1OCBWmANKIgTUVIA5ORGAZ2lKmUAxgORmTRm6Vxd5o0v9qhZVLjpu7VbVhm/1hR0SAfPqzzoLfvnyher/6t0/BCah7iHy8jLk/o07ymc/Y8kjOY0ylgDzSqa+MEIsr79lrsQIEoi35SBvR7AVMQFWQqT8bbt9l+O3W4J5GFbjHmgfJclcbRd403Pa57sLX/p/TKcqmcz3uRirmtrHrsaqC2KXOLqUgHSxKIBzuJRR9boPFMWxg27m6Ib5vhux6k2YjDPVL1pDEs8l9ZquHP8CE8xXKM4X2loBPCnTqO3zlV0mTxiaUyoA0xl//DPQA5IXQmMEMAFdsMYkE+hEU1V0sIAZAYOvMhHTLwSYDHTBE+MRmVndq04ZyV922tXoh6HeuZwwc60gsN2BPQhn06FnDWx/b5pdfGazIuoPHK+nay2YCvlPVVGqtZgihmmMI2PPGXbzaYyZugkiQ0gV463xbOe4umhF7oBtAeUtyNcvXx6D1JtsTYO3b6c5kW/fal0z8/sq5ghzafxd47cT8O7d4zASKAQiMYrNWbpkMEb3xrd5+Sgja8gv1ftLMcTJTVFZbkbMTCMva856REgda/5vIJJOi9WgUeN7kBTvVJkmoeY8odHlfRFW8T0GeR1zdcfHRy1QNe/vf+j9HcyuekfSCqyj8BvN1GfaG4Us9BFzQGg1yZrfgEsoYH6T92fwBSeJApmjfOPjk23N301Vtrciv7wNYrIwywMQk1CBFzeUFHt9AAEXNH387Nx6tucXb08WBrB17Ol/8AN73A9Guyf5j1hA6+tfQL9zFeH7rVLR802GtHnHTB+3AP3WYhlTWzJ1AjoHAhElBEUCUwKiFYouQURj9NYAze3k5MDVAkTi+pcjNR87eBqNH+3J6f8EAAD//5MULimoPAAA + H4sIAAAAAAAC/9x7e5fauJL4/3wKjYdfOpk75pHXTDKX3OOAm/YJGH626dlsJusjbAG6bSRHkkn3dHo/+x5JtjE0r+7Jzh/LOUmDXCpVlapK9ZB//KE5xaQ5hXxRsz0vPHcGdvi7FXQvwsAZ2qNJ0HkNahwJYF7X8Ax8AuYMNGkqmvDPjKFmRImAmCDGmymjK8wxJY2ILtMECQQ+/wbEApEaUB8ULSgwrIQhGN8ABgkQFPAsihDnAF1jgcm80WgYBfg1FqBVm+FaDaZiCdnV79YAk+zamiMiwIImMXhSqw1G/bDneJ3mCrJmQuc5YfCK15ZXMWbATEH9Noe6qyUEmBxsAUdJxgVi5pqFhM7BHzkhx4DNiCOTZiLNxOa8tZh+avybU7LrSZTQLDYxwcKc4QTxRgpXKN4FuVpIOC5gkqwlXMCtOWzWaumNWFDy4tg+hQzFMBKhIiGMKJnheSO9yXGapiZNj5spFItcEniqqW4qakhUMJFjENeiRKGloidXSNyGr9Um7yduMAk9e2Bbvt2pP034NGQoQZAjYDJg8mdK/T6B+u0m7B3odIDRft1ovTTA56rG8SymAKbCnEv1vQEwE5ShJV0hEC0YJTe1Uivr/1rP4DdcoGUkEsAQF5CJfCQ2BV4ifkOiWCmlnvg0hgI9+7n+dEG5IHCJnv0M1Kwo44IuecRwKt69U1uxrNVmlAEMMAH1pxx9AW3w4nWr9ew3EFNFgLYwDoz6bde3wwt7MLY9X1nl2Aou7owtkwJgzlAKzPMv4OzHHNoenZ8dQPDkCZgyBK8UhhleL1vHwERfFEH3VlG2WN/tILQUE45KaJ4glIJ2sUJMCapxFAMTA6NZIbMZG/sJrXGasQgdANiC6Dl+4I2OY3JcP7AGg/0AOaKjcN2Re+70NyjSKmrUb3uOb70f2KHvS5lLDRUsQ1sKGmMOpwny/Qvw7VtFxpXJa00zUoZXUCCA5kw6zJTR6xsA41j9whyc1W/HnnNpBXZo9z3b98OxN/qPj6HV68lfd2dV+vyL0WTQy1mYeHZ4EQRjPWE/vafMDrvWfgTyo60+Y0jOGUsmutYm+5NxTzLRtcKu7QV+VVHLybaIbLLCjJIlIkJJ6QBz3YkfjIYSY+BN/GA/gQmd81DQEK0QERwY1ge/0fXtRrluV1l1F3YRE3iGIyiQAQ49PcyapDumS4hJKH1Hx1hGrLHEEaOczoR080bOlklA/fb9aBT4gWcpWStL7I7cwHJc2ws9uy/19mPo296l7d1tqVp1kQch+n/NO0PSuUIMz27CnuuHCwQT6dArSLcU2PXDC9saBBfhueUMamsejPrtaBK8H01cuT/DoeX27nZqmYbVKnVpef7dDlVCK5iA+hqmqikMCXYTLeMQz8IZxEnGEHjVAm3wCtS3KQDv3j34kH/+7kl7k+kKVtdVfP+m9nefTnEkuuOJxaKFAdbfCx/TRCJqUm7mZ2CtPP2c3h34oQOMJWTyPJdikT5945niIZGx0pbUtCfx5CGIyRwsITHjqToYzSyVJxmYJXAOZCRSRmL76NdH6RCS3tTKBJ2o+ecJnJ/jBBng4GMlmL+q2OAgeZRBPqBzTNS3MJFfw69YLMKrbIoSJEIcIyKwuDHAMQjwcJMB9Ylve6Hl+07ftXuh07PdwAk+hk4P1APbtdxAfi016F/a01+nlAkZY/MFzZI45Fc4DckKxxiGMcMrxHjt/liYx4Wd+tMdeh8SGnIBBQdtaQDtFpDhPjCj6wOrPKsxJDr1f5VelSFhKOVq7dSpc4gTFMuIPkYCsSUmSFqyRgo0UpCTmS8LpgjIlVMUa01b25J76fQcK+x5zqXtFSdxRWmM+m1/PAndUc++01QVzlxKVAPsF9Mj/H+CIJmk/fGkp8VjgHtDB429OOp1JOkhTpMVig2we3w/nvKoseIlJhMuHcD9saoizZFwNNtDGiOLxF1JeJZ2i4zAWcI54jX/gzMO3zuu5X0MuwPbcifjv6ROU0wguwkjvdqz2vlkMChjKs/+/xPHs3ud+tMT6QP1HQSCuuOHlxe9xyurTA3EApWauaQxApDEIKcblIkTwIqObU3NKak4A2do9W2/oqz1kS/1rZ7nLSM/dK2hXfhtYNR3isYAaxU9QUNzBnoo5Qao/KiVkblmvU+TGBHNzG/a/ORJEKMUkRiRCCNeTIcCU2IcVOscstwrLyMySSop2H6gSwhG/da17Z6/Flpv0yQLwdwG9sAej7wgtF0ZEW+BnXIM5IQEKEHSIuJxks0xKQncGlfMciSytOs6Pcz4UdZdJL5SdrWFdmO0VnLt+OEHGYAO7GAXJzkjEUyAdCiYEv475MtO/em/v8gk+KwxhtGV1MJPn8E3wFGCIvG0oeIviazU1dj8CvnS5Au85MYz8A00YvqVJBTGE8/hjRjNYJaIRpQxhohoFItdPv/0uZFAgbi41EMykeyOhuORa7vBOqcynlVILVAPaKQ05nuTXOB9CC0Tb/C3SK6y3jHyTjOgWJLtq9XB/mfAqO+SulEZzyUgh6q6ZNR2KJmfYvIhm6JTxcVTTGSI9Ler1kMJNQpKv4dCPXrxv1GPChpL5SkGNjRjDXVfj6rPtvXDKA816cy0Sw59uytT7GDgh2WIPHbc/gEHtydEyinxUZQxFAz895QKLhhMP+hw3L5GUeFnHwCsiPZsSVwZdsygPBUPlPAMX1X+itBKHpH98SSPY7mxMwztAMnsOh87FoP+8LAYFBGeMVQNQbdHNos0+f5IAnv2pdO1w/Fg0nfc0DkP5fGrT9OC5q3UusQydPolf9UwW7NozoChMtW8RJr/bWqWzRitcITMVO1DgyMmf+5I5OWnLNY/GGEjNjYwCYQeg6TZbplLPA+lFgk0v1GxtgHegWaMVk2SJQn45z/P7NH5We2Tryd9rlWKUB1Dykrqf2D3P3ZMicwskAGOyTxBRk3qpdKtTuVrM+OsqRxOTqNqyuwiF9Sri0hua/bovGQ/L34cUiNVnG7swm0Ao6x920SmJRaJtR3sBt8of9zXMz+wvEAXgO6ViPdTR9OjxPV00qSoo+lu4opa0KZNKGtVoee59d5zuuHQcq2+7R0uWeIZwHyo6y0jZv2ZMaQaUcCoj3xjhy4fixkVwedwynA0hATOZRa3/9lDdjeXxUzNXxa4j+3rFvj9fVV5uL+9o/fEu8dZbEloyxdLqPLZUQa1zxvi+RgygVWGAu6PFeQd7tMYtkz09rn4rVylN+p+sL1wMOo77t6zjSMB/nGdV1yjK8SAqioBMwN13/a0dXiO23XG1iDsDhxbl4HM9MBz3+56diApsf5THrVFlX+7MGaUJJjXp2Rt+Ukp/0QisUgsv6mKfKmN+0FqtYghKJAcGEKCZ4iLHmZrqV1YflF3923L616EvdHQOiA7o367C77au3q3p6WpMjZTd9xMjiCLFqYuTu+p1e5ayNeKrVoJhw+jvDxYPX+OF2xyUaqTg8wrVZvNB6dg+pVXp//KT5jTdZ1qn8J1Kknp+PJ12JtYA2ne3Q+HUu0T4pPeRXe8el3YpP5VhI2nOdGjvOTFsglHPbXHVWnce7YRsh6uOpzM4zojK/hcj4B1weWIoJR/KAWlfm1WOIe271t9Oxydh8GFHfasj3nQeL9hckCyupZiznRHISazJswEXUKBIyXSrV5v0aflTbTEIlxhCDpgSUVc/c1FjGlzbuzDmZ/3G+UvY6v+VY0i49zOdA/ClMs14p1xIrziusk2pCLWPYUxFIvO/enNN29MeMULryAHK3gEzaKFFPIehHfVkDJaLGkMWr+8enXqDHXmmAgYlfs1f5AICi0xSYz0Zkex5Se+Lt3t0YhvYAo5ev1SivHdGv+mLgWW17eDsDsYTQqtV4rSXWACuwnNtsXNkIDzYdfT1ddzyhTkJtI8w7gY+YFfdMOtvu0+usE61i3urm6+XVAuStve8WjDtDd6vmHgWa4/tjx5fF5M+nY4tvr2g6299CoBg4SnUKbqF9kcjeG82vXd8fQAaf7v1lidaY8nx/8KU91kuze0y931vdFkfPl873p786V755xMkaI5o1m6er4zPZK5yJ7k6MPkvT2QKqjICc8HVt/vmDk6U0ddnZwAQyU1j/Lc5cmtGFrX9TbsSNLi2kEY2MPxwArs3Va0nqwkQZAIBVqmCRRIe7nHSG9daJTrmbMEzh+eaJayLOVRypPpQrvJ0JcMcaHuLNFMdNqvlsBcL1/CIRKnFBPRyQi+fttsNllGqpyvvzY4ja7AegW9c7yT89vgCY7QBnye75cZanFa/QA4Wq4Q69KlNBugN8Rz7cD2Q5loOCP3rWm0Gq1Gy7gDRrvx/JdGazvReqTgS/q/k+hDb+IGztBWO9DZIeIOQ0sqKmLI85JqoFxg7Tn+hzD4OLa/k7FOMYmXNCNiv7VOCBafax76kmGGeEfOMPWUHFPNmgnEdj0ojPRwoOPf8EgkRaCjf9Ue0Aja5UQrij8ZOEMn8PcI7NDli1JTJwleYlENI+89O4HPPI4vGM1/Vsqlvkze3FHYm4xlEjcaOn53Mpr44XvP6T3ieNLruLSXpSMyZnSJeZS9ZziWp9OBhye1Jr99+4vhejbNiMh8AlO+oEJHNqUSbIwW9Ozug967GbSX5u3bQdLZP4/jdoTav5itX94g82XrRWROX7x6bsL2m+dthJ63fkFIWgW/4c1pxpurpfw/rwE0F6swEzhpZkRq//p+Yx4jt1/gP777Kn+QPKxmUUOVBKs+49IaOD0rcEZuaHtep1Wr1ayxkxcA9MUjzw48x/Y7r1rFHlcglKQ6HfBTI79NmGBy1fhpU3j7MLZb6ja2cuDqutEW4jvQ+W/wX59a5pvP//ijsftvfe9SPddXK30sL56/aLWq2/5QNo6hf52jr9yBPRrV/nCoquV36k/3WQNMsfSaiLk8ofQqSw1glHcrSD4G2qD9alOu98i+2yH3vDckP37gd/LLzBv1Vjm+g926H/iSqdZ9fuTRBUrK7i+61Sqoe7Yyy5+M9utfG69fNNrP3zTar42fwO5y/5Ymq6rMh1/9sLKMrnZJCQxGow8yZiwKj/fYOxHjPlxFmlVFWfjtrdvm2km3f9XXzXcw9mMw6o3A0/jfPLl59ja/BgfEAnNASYSAmgowJ2cC8CxNKRMoBpDcLClDJ1WR17rUrWpR5aLjxm5VbfhOX9ghETBXf+6y4JcvX6j6r979Q2AS6gSRl5ch92/cUT67GUseyWmUsQSYKxn6wgixPP+WsRIjSCDelIO8GcFGxARYCJHyt83mfY7fbgjmYViNE9A+SpK52s7wuua0z3cXvvT/mE5VIpnvczFWFbWPXY1VF8SucHQlAelsVgDncCmj6pUmKIq2gy7m6IL5vhux6m2fjDNVL1pCEk8l9ZquHP8ME8wXKM4X2lgBPCnDqM3+yjaTZwxNKRWA6Yg//hnoAckLoTECmIA2WGKSCXSmqSoqWMCMgMEXmYjpVwJMBtrgifGIyGzX61wZyV/o2tboh6Heupwwca0gsN2e3Qsn475n9Wx/b5hdfCaT4tTvOV5H51owFfKfyqJUaTFFDNMYR8aeHnb9aYyZugkij5Aqxjvj2Va7uihFboFtAOUlyNcvXx6D1JtsjYO3b8c5kW/fal0z8/sq5gBzafxt47cz8O7d4zASKAQiMYrNSTpnMEYn41u/YJWRJeRX6h2tGOLkpsgs1yNmppGXOeduREi1Nf83EEmnxXagUeN7kBTvjZkmoeY0odHVqQir+B6DfBdzu9rHRy1QFe9Pb3p/B7Or3pG0Auso/FozdU97rZCFPmIOCK0GWdMbcAUFzG/y/gy+4iRRIFOUb3x8tqn526HK5lbkl7dBTGZm2QAxCRV4dkNJsdcHEHBB08fPzq1nc37xhmhhABttT/+jH9jDbjDY7uQ/YgGtr38B/dZVhO+3SkXP1xHS+j063W4B+s3M8kxtyNAJ6BgIRJQQFAlMCYgWKLoCEY3RWwPUN4OTA1cLEIl3vwCq+djCU6v9aI/O/ycAAP//Z7zg3Yw9AAA= - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/line33.sh b/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2404+CustomLinuxOSConfigUlimit/CustomData b/pkg/agent/testdata/AKSUbuntu2404+CustomLinuxOSConfigUlimit/CustomData index f41b58d453d..2321007dee9 100644 --- a/pkg/agent/testdata/AKSUbuntu2404+CustomLinuxOSConfigUlimit/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2404+CustomLinuxOSConfigUlimit/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2404+CustomLinuxOSConfigUlimit/line33.sh b/pkg/agent/testdata/AKSUbuntu2404+CustomLinuxOSConfigUlimit/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2404+CustomLinuxOSConfigUlimit/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2404+CustomLinuxOSConfigUlimit/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2404+CustomLinuxOSConfigUlimit/line9.sh b/pkg/agent/testdata/AKSUbuntu2404+CustomLinuxOSConfigUlimit/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2404+CustomLinuxOSConfigUlimit/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2404+CustomLinuxOSConfigUlimit/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AKSUbuntu2404/CustomData b/pkg/agent/testdata/AKSUbuntu2404/CustomData index 6ecb7a181f3..09c5537db01 100644 --- a/pkg/agent/testdata/AKSUbuntu2404/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2404/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AKSUbuntu2404/line33.sh b/pkg/agent/testdata/AKSUbuntu2404/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AKSUbuntu2404/line33.sh +++ b/pkg/agent/testdata/AKSUbuntu2404/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AKSUbuntu2404/line9.sh b/pkg/agent/testdata/AKSUbuntu2404/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AKSUbuntu2404/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2404/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AzureLinuxV2+Kata/CustomData b/pkg/agent/testdata/AzureLinuxV2+Kata/CustomData index 64732880d22..61b953af7d0 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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 @@ -29,7 +29,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AzureLinuxV2+Kata/line32.sh b/pkg/agent/testdata/AzureLinuxV2+Kata/line32.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AzureLinuxV2+Kata/line32.sh +++ b/pkg/agent/testdata/AzureLinuxV2+Kata/line32.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AzureLinuxV2+Kata/line9.sh b/pkg/agent/testdata/AzureLinuxV2+Kata/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AzureLinuxV2+Kata/line9.sh +++ b/pkg/agent/testdata/AzureLinuxV2+Kata/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/CustomData b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/CustomData index 64732880d22..61b953af7d0 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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 @@ -29,7 +29,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line32.sh b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line32.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line32.sh +++ b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line32.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line9.sh b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line9.sh +++ b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/CustomData b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/CustomData index 64732880d22..61b953af7d0 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 | - H4sIAAAAAAAC/+R8e3ebRt7w//oUU0pjuzWSkB0ndZa2WMIOb2RJLyCn2STLwWIkUyMgMDhxbT2f/TlzgwEhX+K2290ne3pWZn7zu99mmOHbbzrnQdQ597KLlmFZrv3OdozTvjN0bUe3HPdYN4faPiBj/eF4OnDNkem4jnlqjKeO9pyOHJtDw32rO/3XxcgBHXk9Hg7ct/rQHE1/1U+MkaO9oAOWMTR022gAeEkB9InjmiPb0YfDAumPdGgw7r8xrLXRXrcyPBi/HQ3H+qAcVyvjb4x3DTC9CgxmAsMVw3uVYUFHPaak0/HROzJtaNqlnnpMUae2ezI52UD6QMCwJhtTW388cnRzZFiDdRCmOGs66q8PMtW9eWljgJE5OinG9rrl2BpXe0xpb6ZHBnaL0dhxj8fT0UDbY6oyT08apu2V04aGI2pqb79qxdMTdzIVWN17viZq32mCO1iHs0zM4zroZu0R1xWEerkGeWZYtjkeueboTB+aA22PqbI/Mtfl3lcLQ0+s8cAdGEcNQL11oMmbE1cfDFjAMe2NLV0wiWFZY0vbZ+qhkSoIQia+5D40mFjjI4M9ZRyPp84RlhJLN6JDzwXb6xPTtQ3rzLBEALURYDCy3eF4/GY6YWC9RjD9n1PLWAfmzqE7enMsHHQFiHoQHqjCYN3RDxgjZ68HddserDvWGuEXXSGI1kcZ5f7Udsanrm3oVv+1Oxif6ubIprK9ZAhOJtP1+S/3hEHLxJ4lRsbL/fXhunwvnwswxpnZN9zJcHpijiqIDkogc3Q8dq3xqdsfW9Z04hgD7SULB/vk1410fuyuwwgUflTLLD3QzWFpnR+F/D2dDHTHKId45NgGdvwzk8SV3bfMiUPsZBn6oMSkdrsCEZxOp5MTSx8YAoTAxmRqnTCHV7u9IkhwQrAMbAZN7TL9903b1W3bPBm51njsuJO3mqqqa2PEfyaGdWramFNNVRnaiU5SV388eUeANFUVMU8mw3fuRLftt2OLBNuxeaKpai1wixoyZmGhqjyj0TS25j6q+qICMJ4Ylu5gHdLUoKo8ezlWw+CPoEWVRYLSdvT+G/fEcFzdOnWd8RtjpKm8hNZBRobzdmy9YbJMKWJN5RW1Dm5Pj0aG404s49j8VVNxUS2C8mhqDnkuU3FdpEp5q0/cvmVgd6HK4FVJHDFH9vT42Oybxoh4xBvXnuh9Q1NxlSLQjjE0JmPLGVTSpqbyPFeOc4enw1wQyzGP9T6uV5ahn+IqyfFoKs9xDUAMmabi1EYbH8eZYCf/9Z3b17HezgzL0VSe2Fhk4CHDcmxNPSiaE8a2bfSxUp2h7R6Nx47tWPqkKKfGr0afx33hHQfcwAPTPtKHhmtOHP1oaNiaitMazZnW1HYwhnXn4sltYNp4lmvbrzX1Bfd4yzzVrXfuyOy75kRIquoL5vnmyDYsxzVPB7ZrGbaDXRR7nzXFnIycsXuqj06Ghkt40tQX+w+dd2wOHcMq5rEwGmBFGBvmHeOEV6N38NB5NXovBOe1DGwL1zL+/9S0jIHW4ylqNCZJQT8xbKaYHs9N9kif2K/HRTYUm8Yuj4yJZZ7hQVw/cSuAvbLH0xV+KLprr7vPw6Zo1091+w1Dysb6ljEwRo6pD2myHTT2xF0egbidqbc6ve4BaLXKVoQ0VZgbxv0LUBvDz7FWcfV3Va3XfVmHEIrvW90+1XrdH+9E0tN6arcOwdNR2dmrdZDpSJ86r8eW+U9sJpUrhbUh3MeL9tSwznAc42A0j80+NoU1dmj+dPQTrafuMTUNDX00nZRyuOYptrrWU/dbrWAO5kHkgw5EM6Cg6wSC+W4IlMhbQiB9r6QwhF4GJaAkaRAhoHzKAwR6P3V8eNWJ8jAEt2CRwgQon8BWe+sVQBcwagEAwNjW5O0sThFQUoK+U2DDc7zPl2Br6aHZxbbc3QWdf22bA3dovjG07VmcwjjbuTUH2nb7+50dubMLvB1wAygLKM6TBKbb3vveR+C93/u48wrALwECq60dRpn7xSM5KLzp0YTBLUApUHywJW3ttGCYQcIJnF3EQKqRjmIE5nEe+VJrHrRa06PpyJm6Y9sd6aeGJtG/pdapbhFrFQPsQTlC2sn6MH4otUh9I0vUEqB8JrXY4kjr5FnaCeOZF5JV9WV+DmcobNFKT0fxcz+eXcK0Bb8kWJukkzvTJPmm7Pu4xg+1lVSBM2xHpBJdBX7gMQKFmdS2utdWFZXPHJ2ZA1PnqIm/uvZrnZMsHojUmubgQOBsnq0U+WYD4jUsgmDOu4lRkxU/uoe0Ji1naXsZzNI4i+eoPYuXHe8yw/8piyQvWamhLZHiloi2wzSP9k8HmjTDXhaBy5dZO4hBmkdAwYF5FYRwAX2gKOkSKEoEkXIRZwgoyucAXShRBpLAP+wkaTzrqJ0o6yQBBl7GOXbr6wRq50Hk72bpTOvECeosknzXz5DWWUb0jzhBQRxlWorh7prpzQhgOZs/qGAohGR+sCYndbgmASOINCZbEvjs5xXgbB9ylouHjIFDkRuiKKmFm/C+3n9tuAPT0jpXXtqZebML2PHwvHR2EVzBrNPCDbU+wh2cAJzGMcJwdELLODNGDl40npyQHozjC+NFx/s9T2HntPAFHf/dNr4gGGWYm3Y/z1C8tGdpkKAOvIIRyjqt/tQa4gXwZOpoHbRMOrM8Dd0rmJ7HGWzHOWqR2iFCxKmXrUNYxolpO9Y71gvT/p/kJAzfmcXRPFi0r71lCFqtFKL0erb03WDuzr0gzFO4vQNuSDbDYwHMNFl9BT57AXKzEMJEk3uvAAqWMM6RJu+9AtlFMEfg2bPaD4JiHqcgAEEE5O0MfgIqkBnSnVfAjwkI/sfQAZn/kOSbX1YSxnWeQu8S3N6CDwV0MAfvgRwABX4q8IGPQini/0g6Nr7AWY6gDz5I8i8fJDwRU8leVUBTiPI0AmrxsMjp/B8RHsilIorReUB++nEkVIHNZFeNWnezIIQR+u9R/h+lUVFdURbG8WWeFFoSNaMKmsFaipEXuqKuUjiLU1+T98nUDHkpIuOavO17CIIfvstoQ/H5IgghQGkOK4ri1IFSYOUqUwiLWherBBPZoLxZnqYw2kC11O72tggIFIHXnR2gLCCQK9Jtdn7JwXCCiSvTUoiTmb/7KMmwv0JfutvWzICbrVwEy50qoTIUofQoNuP0PkVmcBZHfibhkGyKyCh2M+Sh7O8Qkzgk/z4RWWhrAZGLvPTcC8NCS8hL3bs0RcGJpvI05OFITS3fCLNXXOHSBtUJsDX1eSlQ0O9zAoKpPUR1AravVB831kEXu3UIlHlmD6+ATH7HJTM/AVmo9qD30zO1ggez9R7IP4NvNNAFH5uYIaHjoQqiCoAQgU+1rDtP46WbwkWQofTaxS2mi1uJJ1ocz5rHoQ9THPdBSpegXEnSzn+jW2C1gQQvo0WnYGrAXSpTskK7NCDfbGzpVtiNhJbwaW4kIPrD3cibzWCWuSi+hJE7j9Oq89zhOMRZ9h6TN/V+37BtulnMW2V5ey0ur4CSAeU1kE4h8nwPeYe42Et4uREnafzlGkjfS0DCNpJqxVmJgCQ3kJG4c4CGKtw4ocmLul9RQdlU+c4dqLpNUjhPYXbxFUbxZqlLDfMKIBh5EXID3FS9qihfk58/xm6WcWwZ9usHGu5XMBnbDjFgP44QjJDiXCfwEHhJEgYzD6/5Ol+Uz58/K/M4XSp5GsJoFvvQl4Qox/8UH0iLFMtA1raipz7LYHoVzKAmM4mfUWk1uZD6mQivVYxcJ3SBUJIddjocWSf2cnTR68AvswsvWsAmL2tSyt1u1jjj3+ZnZHkaxosgeqxfVeTg9eKBrkRYG45PTMGPSNolnACJWwBHe+DDCAXoWiEWVDLkB1FDFpbuSsMS+Mc//lHXvUSycWlU+CVALvZATf65VcvPxRipNxsSNTPwmnCPta4kmFdqtm/BTz1nnAeRl17f2w0wsDtMzSASD13UmwJOY70vECbVeoMqwVp7sMF1qnOqHkQjcF6j2Vj8SfOwufJXGokqSbCpHK/1E42Y7+8rKpr8o1uLR7QX97YYDW3G3a1GbcKGzmPmRSwDZa43S/+cfiPOUYJXfdt1W6QwiUGYsR6iMadsVH89eVAv+pmnh43ZwZulIMjoqt47D+HDcwM1pSRTcSSgaeB7KY9wiYrT4HfoHwL8GydLWl1BCj/lQQp96fu78pXetzBHUYxKrg4BJ/OgLYTqrpqUR/BLAmcI+iCFWRJHGQQ4IeHyUcP86HpFNlznQVjugJInD1z144k0o+0zT3peyVIirnuXMCJw1ePek9Qkc2rg48diEdO8fhFRPXEBU+xGNK5uC5b+xstbAoC73YqZ77BwaVWaFxLvCvrs1QfZ5p+Fce4rQRQgBcNmbQJBYOl70uNP2Pocz0oCMoHAVquE5AMzToF061tjfLwlqP1uN/grNoYIJPSBEgCpg9nr+FLJYBkNgqv8xNTRWrWy6wzB5QxhbyX7dI/bdwPZ1Qy3Co9sF9d8u2AD+B5cxpGSwjD2/IdMYHwDmbHyF2zYFbQz5KE8K0njpaySeAtc+8PKnN/iPI28EE9S8mLCV4VTabIMxcl/nL0w03+lsR6tVT/IcMn8j1Ms4/vvqVuaYbAoj9PrU5VJAk6hSvr7KOQKplkQR+4CcTdDMENAkrfJIZg52Pou+xBtAUn+RQK3gB2vOQO34AJ6PlAioO6QhlGSVam1apXea0TYB/TItyvJfC3NA7XbBc/BXhfIVB7LoCfQbEd3pjZfMa+nOrWa5MBPoPYKXlYVCtsO40WrVHCVAFAi2NBXs75NBbM4D33Sw55D+gJJfP1VsQRTbTAH34CGN0pA7WFJe88FYWBEI0V9EHkK7YPz6xLFZl5EawxoSBJzCKk6mAu8hEGGlDwKUAYUZY5Xk4riVY58SbLaZvtiUo3hai0AXFJZxS6+SZlxkojKXMt8D0LDYBkeJjdcXsG0Hy8TTzjRwA986Zq8TTsRFdyCWY7IRuAPEm6t2cKLgx4VoL1NoGTpdFPgXrFwKJ4crSTWplcaPhxK0C/QCwiAOJceNdvC/8NxyEPwDFDiF8HiAmbojIaxJm+bx7ZWLDoojZVUsC4TJMq8dwfr8k0V6aqJ+8LXVi0//hzhdDqA55PLhRMfi7315M0JPY/Gghv/XZzW6xWPBqZl9J2x9Y4n2uWlH6RASYBcGaZNeJ5d+EC+qYysiky+FnXYhw66XeAlSFlABDjDDAVmb6XR34y11feUUJzgztRLENkA4/OYcHdUjeqb31ctAMhxODxFw/pjElQOJGEHFyL4AZXGTy4XQGE7ClhSxcOBG6czSB76cF6eksCrHixIGM8uM/KYq0OJwSC5XBwejumZrcNDTcQSh36pMeW6fjykdV/hIkKrr0iJWi9Lr2jSZOsHrPCaHvgyPoWotWotIOpPpno6uyg8zEtnF5q8ndO2d7nTEtaYN3hwd3dFItLDfxzsS5hAbSRd4ufra1G2sUKGW2t1lo0ufT5Kck+Q6dbpwb6YYjEr2yXrOyLRZprqBmpdIccFmcU2laZp+fqdOhrb/SP7ECqLDLZjm8IF/KJt/av9w4cO/e+w/YO8VVFbOX0FtP/ByhcnFzyDeunpArEOcisCzG0YLzIXxS4971ZjF3nZJYmj8qQEHaDQOKOMvMoBke/2RjstAZAUZkc8RCJ9dwy+c9rf7Y3YfjH2W84X7yoYlcjfPJXA/ZbFkZuhNIgWmrwNfvuEO5+ycVMUL10AjCND3jIBgCRfztJKWgMdJzAlO2mmj0EZAw2ALAeTJ5La7u2tgzhedom1AyhZrMsGRAbW5BBewRAAyYzmcbokDHjhOuwpzDJvASlRXERDiKB/COTvN+CdBD6B7W4Yd5rGt24KhR0Cufi9KyrnEMjCX7tcHYdAZr92C/ExDvZzV5D2EMjlH7tctEMgs1+7hQQcchL4uwXb/KET+CsaI8LLB/lG8Auya36zfjB0Jd9UvXjVxrNaZeKUcHKTwDcaUVA1H4jpT2hvLnAD5GaXQeLSI9aunwa4ly/7bJzZv9CXKrF/rcnb5a5d9d03aHz5fYFQctjpqAc/tnvP99vs/ztLNqsTRBnyohn82UsCha0itF63pyrdntJVWcwJofY1ohJBSll5syTJWCTc1eBAhGCrPYuXSY5gG3mLbBhkCNyCpZdsZzCEM7TdJrXhlixttiX7MkhOknxAFGZiMcJQegWkQNrZ2Xnf/di+8sIcgk4HSHMvzKBUzCSKopBblXdQAo+SYB/WmbqX+TkMIXJJ6xwt3BlMUTAPZh6Cbhoj4t3/tYZjSmi2Xdpgu/cfcZcrWo6Uy8tMYagUpk+F6VMR9KlwfUo74BZQU1ZtdVPla3d3JdVDipW/WQi9SDht+n8npB5uFhxMR0Rdfaqte/WOqXKlB9mplwYRTMcpOSU/DKL8S603iDPewrDuJM7IKqV2YQYvUm5vmwDEezPrUOtXZ9ZbsupGfVBfALXglRdOvNmlt4AD1ilPrWFNDtKL3aiHykoQhhz0IK8I19+DYKxASmGWh0iTb3AzJrwzowWIjrZqG0Min1T7VNs01/2/T4yz4u0lNjl3OGyz8gwKfyMoMsfsWb5rK9rUYA4aLQokeWxXNwyy3I8B8qM5YFzhpcVvn/CyguL/7RP47GV8lHQfVT7XGnK+TOMInwMVHHS/BilRHa20eYJbQove5apZNKEm18jWV8VhJblXfcLX55K8J7FNLvJ5EU1iJ5Sr4MP4M0z7XiZkzZs4I+t4lIKt94fkZtrhxy38O8TAhx9ZtH17HKeAXirbxQaRC+IgyID6st3dB17kAylVX3b3JfzQC7MY+HAeRNDHK04c+XGEWxbSqezSXl/mF9qCjGRCFHMclK4dLIPQS8NrsnTtdTmhXq/d3W+DMbqA6ecgg02I2kwL7VIEFr2EOBBmeOFn77rkgKsPRPFnYXYZ1Q1K2Gt3qQqu9trdx2iAGU3UAEFxn/MT29XCmy8LuXmZM61YCpbafpFJzKyNURROsWp/kK7wE75B80GSdkgBiPKwMZWIDrc+t+lIQFPKqznz2wBdxDkaxKjipRwx2S6GPtjKOh/anc5iq7Iyf6Dc+XkeobydCohLsqu7pRYk3jCfyy6GOsvjDDj700O+kmCqCuFBX1XrH5Uo2HVwvuVla9s7rdZTPVOiexsbLCLyK/lw7uUhKizwZNpt+YapeNVm+Tw7693tI1SPoYfK7c5M295IX0m/hoVK51ShhVnDnJGeqTIi7ezUmExSeBXEeTb8C5ltpFlhuhFCZB4Xgyuee3FLcVPV9vtfPuLcKLw8a3LOH7RtSb654jFQoi8OHjTTalbaH0mznij/FDe+O6w25+qrP8dL3n/kFl7X+NVGHT9Iv/XjqN0yM5/mIQr0dHZRy81U1GDpLaATH8FJjjs7mqFbAHz72yfSQqzNpufG8NAsjpCHy7aJcWRtYM5Bv/rsffCxvaxjOOvx023YMLucZXThoV263c2ePARZa91raiJxizUxsjHJ3ZfgNtAgXtFA5ymp7KFp7CksPTFhPTZZnU6HjumSj2w9zKu/NkM9mlCxEKQpaXM6eJS2eeA/NOwfxja/51tpwDYvpHkPxnYFyl2CXmP/xV4o/s26L7pUCebgrtwL4JcgQ2z1scArjgsISvhhkcJSyNY+cbHK2gheJci6MPBHdH539FkCF9rTy6KATQJKWlZm8jpbGF1JoOQJPHtW1KDiO0OYIYm8EmweqqFrbd5o+RoRmfbvle2vkYtVK+ydq1bL8/03dJ91FPtw6J3D+kvGoX5kDF3bsczRibBHRw+LBECSRQB+T4Z/0Wg0HhguAbAl8BMoPzDU++lZ82EYtusLotiHIMT8gAoFupBPoedf4yqTwQjt4up8EUQLvFb3/PVzO9W2jb3Q9X08o4kCisE6F1m73ZZa1btbjVLWg6IBCBum4fFqV74RGVk1vI1uwlbhXljqpnAZX8GnmBcCaY2nJ1j44aro1Ml2CmWIzNWAdv8i5upkH8Tcv4c3zlqDRxyH3qLmDMdD/eRuXxAg1iTCYw+XhUCLUpAHnRqNTaoVYXb/FEZqNB7CyF/AR9We5eVLekWPv4LkVx5r5i1uX4o91SwMILveK7ZWwq3fPeEttvI7kORiCq5Lt7f8cTFF2nDOspgH4rQkALyUfj8tg6gNxuUtTrbsSuIsC85DuAuSNJ5BSPI2Fhd4URxdL+Oc3opbS/uVrL/pyhg9OMbvi3JQfo2z0jHx55uucLLCUmGKlivcFdKvlWCKW5za1mNFKj2wyk8EgbqJH/opF44dwDSNU0A6SLyGjYB4A2yX3GENogWvdbXXi/TGqKjWDCLwwxeqJnZRGnvY/W9BmYfyK9Lkbm7tlaj6kr4SfZbCLM7TGdT4BeulF3kLuIQRapNDwORLbM8ETy49lFrU++xWr3Fv3//xgsIzuFQ7m72jZoxNB42ZLVDMjhVeQaY0QEgflmjuV794pa8uH7vcR2zddHnvQdyss7D525YiU9UvBPAeeZ1FvgJti493aqmmet2eZZv6Y2HX7B5BEy/Nni5l4VOVDyzUnar56wvVfAPKpAkqQv0pvsY4+gOcrSLbV3tbhZ+vdbfaZwREf6txWThc5Xnd42pX/AuXqz1/rM89WdZqFSsrP9gT/anOZ6tyt/hB7kKx4qVUpVbRCsLz9tNslke4boj+XjUj2zlhR3EeUb9lBDPkkt2uVuUWKhP9K2XfLWp5hoIwrNTMr7YlpZ3lJBnN8zC8xuQX9N30A9W/arW+fW0MJ4ZlG+Pj1v8GAAD//x7OgQxIZQAA + H4sIAAAAAAAC/+R8/Xebxrbo7/orppTGdmMkITtO6hzaYgk7vMiSHiCnuUkuC8NIokagwODEdfT+9rfmCwaEHDtue3vOzVldR57Zs7/3nj1ffP9d5zKMO5detmgZluXab23HOO87Q9d2dMtxT3VzqB0C0tcfjqcD1xyZjuuY58Z46mjPaM+pOTTcN7rTf1X0HNGeV+PhwH2jD83R9Df9zBg52nPaYRlDQ7eNBoAXFECfOK45sh19OCyQ/kS7BuP+a8Pa6O11K92D8ZvRcKwPyn610v/aeNsA06vAYCYwXNF9UOkWdNRjSjofn7wlw4amXeqpxxR1brtnk7MtpI8EDBuyMbX1xyNHN0eGNdgEYYqzpqP+ZidT3esXNgYYmaOzou+gW/ZtcHXAlPZ6emJgtxiNHfd0PB0NtAOmKvP8rGHYQTlsaDiipg4Oq1Y8P3MnU4HVg2cbovadJrijTTjLxDxugm7XHnFdQagXG5AXhmWb45Frji70oTnQDpgq+yNzU+5DtTD0xBoP3IFx0gDU2wSavD5z9cGABRzT3tjSBZMYljW2tEOmHhqpgiBk4AvuQ4OJNT4xWCvjeDx1TrCUWLoR7Xom2F6fmK5tWBeGJQKojQCDke0Ox+PX0wkD6zWC6f81tYxNYO4cuqM3x8JRV4CoB+GRKnTWHf2IMXLxalC37dGmY20Qft4Vgmizl1HuT21nfO7ahm71X7mD8blujmwq2wuG4Gwy3Rz/4kDotEzsWWJkvDjc7K7L9+KZAGNcmH3DnQynZ+aoguioBDJHp2PXGp+7/bFlTSeOMdBesHCwz37bSuen7iaMQOEntczSA90cltb5Scjf08lAd4yyi0eObWDHvzBJXNl9y5w4xE6WoQ9KTGq3KxDB6XQ6ObP0gSFACGxMptYZc3i12yuCBCcEy8Bm0NQu03/ftF3dts2zkWuNx447eaOpqrrRR/xnYljnpo051VSVoZ3oJHX1x5O3BEhTVRHzZDJ86050234ztkiwnZpnmqrWAreYQ8YsLFSVZzSaxjbcR1WfVwDGE8PSHaxDmhpUlWcvx2ro/Am0qLJIUNqO3n/tnhmOq1vnrjN+bYw0lU+hdZCR4bwZW6+ZLFOKWFP5jFoHt6cnI8NxJ5Zxav6mqXhSLYLyZGoOeS5T8bxIlfJGn7h9y8DuQpXBZyWxxxzZ09NTs28aI+IRr117ovcNTcWzFIF2jKExGVvOoJI2NZXnubKfOzzt5oJYjnmq9/F8ZRn6OZ4lOR5N5TmuAYgh01Sc2mjh4zgT7OS/vXX7OtbbhWE5msoTG4sM3GVYjq2pR0Vxwti2jT5WqjO03ZPx2LEdS58U06nxm9HncV94xxE38MC0T/Sh4ZoTRz8ZGram4rRGc6Y1tR2MYdO5eHIbmDYe5dr2K019zj3eMs916607MvuuORGSqvqceb45sg3Lcc3zge1ahu1gF8XeZ00xJyNn7J7ro7Oh4RKeNPX54X3HnZpDx7CKcSyMBlgRxpZxpzjh1egd3Xdcjd5zwXktA9vCtYz/OzUtY6D1eIoajUlS0M8Mmymmx3OTPdIn9qtxkQ3ForHLI2NimRe4E8+fuBTAXtnj6Qo3iu7a6x7ysCnK9XPdfs2Qsr6+ZQyMkWPqQ5psB401cZdHIC5n6qVOr3sEWq2yFCFFFeaGcf8c1PpwO9Yqnv1dVet1X9QhhMn3jW6fa73uT3ci6Wk9tVuH4OmorOzVOsh0pE+dV2PL/C9sJpUrhZUh3MeL8tSwLnAc42A0T80+NoU1dmj+dPQzraceMDUNDX00nZRyuOY5trrWUw9Z9I1s95WhD51XTE048bfCGZiFcQA6EPlAQTcrCGb7EVBibwmB9KOSwgh6GZSAskrDGAHlYx4i0Pu5E8DrTpxHEfgC5ilcAeUj2GnvvARoAeMWAACMbU3ezZIUASUl6DsFNjzG+3QFdpYe8he7cncfdP571xy4Q/O1oe36SQqTbO+LOdB22z/u7cmdfeDtgVtAWUBJvlrBdNd71/sAvHcHH/ZeAvg5RGC9s8coc495IAeFnz2YMPgCUAqUAOxIO3stGGWQcAL9RQKkGuk4QWCW5HEgtWZhqzU9mY6cqTu23ZF+bmgS/VtqnesWsWPRwRrKHlJo1rtxo9QiMx9ZvJYAZZvUYssmrZNnaSdKfC8i6+2r/BL6KGrRGoD24vYg8a9g2oKfV1ibpMa70CT5tqwIucaPtbVUgTNsR6QSX4dB6DEChZnUtnrQVhWVjxxdmANT56iJJ7v2K52TLBpEak1jcIhwNi/Winy7BfEGFkEw5+3EqMmKm75CWpOWftpehn6aZMkMtf1k2fGuMvyfMl/lJSs1tCVSXCzRQplm2P75QJN87GUxuHqRtcMEpHkMFByY12EE5zAAipIugaLEECmLJENAUT6FaKHEGViFwXFnlSZ+R+3EWWcVYuBlkmO3vllB7TKMg/0s9bVOskKd+SrfDzKkdZYx/SNZoTCJMy3FcHeN9HwCWI7mDRUMhZDMDzbkpA7XJGAMkcZkW4UB+3kNONvHnOWikTFwLHJDFCW1cHne1/uvDHdgWlrn2ks7vucvYMfD41J/EV7DrNPCpbY+wrWdAJwmCcJwdEDLuDBGDl5Onp2R6ozji5J5x/sjT2HnvPAFHf/dNj4jGGeYm3Y/z1CytP00XKEOvIYxyjqt/tQa4qXxZOpoHbRcdfw8jdxrmF4mGWwnOWqRWUWESFIv24SwjDPTdqy3rEqmKwOSkzB8x0/iWThv33jLCLRaKUTpjb8M3HDmzrwwylO4uwduSTbDfSHMNFl9CT55IXKzCMKVJvdeAhQuYZIjTT54CbJFOEPgyZPaD4JilqQgBGEM5N0MfgQqkBnSvZcgSAgI/sfQAZn/kOTbX9cSxnWZQu8KfPkC3hfQ4Qy8A3IIFPixwAc+CFMR/0fSsfEZ+jmCAXgvyb++l/BATCV7WQFNIcrTGKhFY5HT+T8iPJBLRRS9s5D8DJJYmAW2k103at3NwgjG6D9H+X+WRkV1xVmUJFf5qtCSqBlV0AzWUoK8yBV1lUI/SQNNPiRDM+SliPRr8m7gIQie/pDRguLTIowgQGkOK4ri1IFSYOUqUwiLWherBBPZojw/T1MYb6Faand3VwQEisDr3h5Q5hDIFem2O7/kYDjBxJVhKcTJLNh/kGTYX2Eg3W1rZsDtVi6C5U6VUBmKUHoQm0n6NUVm0E/iIJNwSDZFZJy4GfJQ9k+ISRyS/5yILLQ1h8hFXnrpRVGhJeSl7l2aouBEU3ka8XCkppZvhdFrrnBpi+oE2Jr6vBQo6I8ZAcHU7qM6Ads3qo8b66iL3ToCyiyzh9dAJr+TkpmfgSzM9qD38xO1ggez9Q7Iv4DvNNAFH5qYIaHjoQqiCoAQgY+1rDtLk6WbwnmYofTGxSWmi0uJR1ocj5olUQBTHPdhSpegXEnS3n+iW2C1gRVeRotOwdSAq1SmZIVWaUC+3VrSrbEbCSXh49xIQPSnu5Hn+zDLXJRcwdidJWnVee5wHOIsBw/Jm3q/b9g23UbmpbK8uxGX10DJgPIKSOcQeYGHvGM82Ut4uZGs0uTzDZB+lICEbSTVJmclBpLcQEbizgEaZuHGAU1e1P2GGZQNle/cm6rbJIWzFGaLbzCK56cuNcxLgGDsxcgNcVH1sqJ8TX72ELtZxqll2K/uabjfwGRsO8SA/SRGMEaKc7OCx8BbraLQ9/Car/NZ+fTpkzJL0qWSpxGM/SSAgSREOf6nBECap1gGsrYVPfVJBtPr0IeazCR+QqXV5ELqJyK8VjFyndACoVV23OlwZJ3Ey9Gi14Gf/YUXz2GTlzUp5W43axzxP+ZnZHkaJfMwfqhfVeTg88U9XYmwNhyfmYIfkbRLOAEStwCO9jCAMQrRjUIsqGQoCOOGLCzdlYYl8K9//auue4lk49Ko8HOIXOyBmvxLq5afiz4y32xJ1MzAG8I91LqSYF6p2b4FP/WccRnGXnrz1WqAgd1hagax8tCiXhRwGpt1gTCoVhtUCdbKgy2uUx1T9SAagbMazcbJnxQP22f+SiFRJQm2Tccb9UQj5q/XFRVN/tmlxQPKi6+WGA1lxt2lRm3AlsrD92KWgTLX89O/pt5IcrTCq77dui1SuEpAlLEaojGnbFV/PXlQL/qFp4et2cHzUxBmdFXvXUbw/rmBmlKSqTgS0DTwo5THeIpK0vAPGBwD/BsnSzq7ghR+zMMUBtKPd+UrvW9hjuIElVwdA07mXlsI1V01KY/h5xX0EQxACrNVEmcQ4ISEp48a5gfPV2TDdRZG5Q4oabnnqh8PpBntkHnSs0qWEnF9dQkjAlc97h1JTTKnBj58KBYxzesXEdUjFzDFbkTj6rZg6R+8vCUAuNqtmPkOC5dWpXlh5V3DgB19kG1+P0ryQAnjECkYNmsTCAJLz0lPP2LrczxrCcgEAlutEpL3zDgF0p3vjfHpjqD2u93g79gYIpAwAEoIpA5mrxNIJYNlNAiu8jNTR2vdym4yBJc+wt5K9uketu8GsmsflwoPLBc3fLtgAwQeXCaxksIo8YL7DGB8A5mx8jds2BW0M+ShPCtJ46WssvLmeO6PKmN+T/I09iI8SMmLAd8UTqXJMpSs/u3shZn+O431YK0GYYanzH87xTK+/5m6pRkGi/IwvT5WmSTgFKqkf45CrmGahUnszhF3MwQzBCR5l1yCmYGdH7L38Q6Q5F8l8AWw6zUX4AtYQC8ASgzUPVIwSrIqtdat0nuNGPuAHgd2JZlvpHmgdrvgGTjoApnKYxn0bprt6M7U5ivmzVSnVpMc+BnUjuBlVaGw7SiZt0oFVwkAJYYNdTWr21TgJ3kUkBr2EtIDJPH4q2IJptpwBr4DDSdKQO1hSXvPBGFgTCNFvRd5Ch2Ay5sSxXZeRGsMaEgScwipOpwJvERhhpQ8DlEGFGWGV5OK4lWufEmy2mb7YlKN4epcALiksopdfJsyk9VKVOZG5rsXGgbL8DC54fIapv1kufKEGw38wpeuybu0ElHBF+DniGwEPpVwac0WXhz0pADtbQMlS6fbAveahUPRcrKWWJleKfhwKMGgQC8gAOJYetVsB/8PxyEPwQtAiS/C+QJm6IKGsSbvmqe2Viw6KI21VLAuEyTKrHcH6/JtFem6ifvC19atIPkU43Q6gJeTq7mTnIq19eT1Gb2PxoIb/13c1usVTQPTMvrO2HrLE+3yKghToKyAXOmmRXieLQIg31Z61kUm34g67ENH3S7wVkiZQwQ4wwwFZm+t0d+MtfWPlFCywpWpt0JkA4yPY8LdMWtUT35ftgAg1+HwEA3rj0lQuZCEHVyI4HvMNMHqag4UtqOAJVU8HLhJ6kPSGMBZeUsCr3qwIFHiX2WkmatDScBgdTU/Ph7TO1vHx5qIJYmCUmPKTf16SOtrExcRWn1JpqjNaeklTZps/YAVXtMDX8anELXWrTlE/clUT/1F4WFe6i80eTenZe9yryWsMW9x5/7+mkSkh/84OpQwgVpPusTtm2tRtrFCulsb8yzrXQa8l+SeMNOt86NDMcViVnZL1vdEos001S3UukKOCzOLbSpN0/L4nToa2/0j+xAqiwy2Y5vCOfys7fx3++n7Dv3vuP1U3qmorRy+Btr/w8oXBxc8g/rU0wXiPMitCDC3UTLPXJS49L5bjV3kZVckjsqbErSDQuOMMvIqF0R+OBjttQRAMjE74iUS6YdT8IPT/uFgxPaLsd9yvnhVwajEwfahBO73LIndDKVhPNfkXfD7R1z5lIWbonjpHGAcGfKWKwBI8uUsraUN0PEKpmQnzQwwKGOgAZDlYNIiqe3ewSaI42VXWDuAksW6bEBkYE0O4TWMAJDMeJakS8KAF23CnsMs8+aQEsWTaAQRDI6B/OMWvJMwILDdLf1OU//ObaGwYyAXv/dF5RwDWfhrn6vjGMjs134hPsbBfu4L0h4Dufxjn4t2DGT2a7+QgENOwmC/YJs3OmGwpjEiHD7It4JfkF3z282LoWv5turF6zYe1SoTp4STmwS+04iCqvlATH9CebPABZCbXYUrl16xdoM0xLV8WWfjzP6ZHqokwY0m75a7dtWzb9B4+L1AaHXc6ahHP7V7zw7b7P87SzaqE8YZ8mIf/uKtQoWtIrRet6cq3Z7SVVnMCaH2LaISQUpZebEkyVgkXNXgQIRgp+0ny1WOYBt582wYZgh8AUtvtZvBCPpot03mhi9kabMr2Vfh6myVD4jCTCxGFEkvgRRKe3t777of2tdelEPQ6QBp5kUZlIqRRFEUcqdyBiXwKAn2YZWpe5Vfwggil5TO8dz1YYrCWeh7CLppgoh3/8cajimh2XZpg+3efcBVrmg5Ml1eZQpDpTB9KkyfiqBPhetT2gNfADVl1Va3Vb7299dSPaTY9OdH0IuF26b/e0Lq/mbBwXRC1NWn2vqq3jFVrvQwO/fSMIbpOCW35IdhnH+u1QZJxksYVp0kGVml1B7M4EXKly9NAOK7mU2ozaczmyVZdaM+rC+AWvDaiyaef+XN4YBVylNrWJOD1GK36rGyFoQhFz3IEeHmOQjGCqQUZnmENPkWF2PCmRmdgGhvq7YxJPJJtU+1TXPd//nIOCtOL7HJucNhm5V3UPiJoMgcs2d51laUqeEMNFoUSPLYrm4YZHmQABTEM8C4wkuL3z/iZQXF//tH8MnLeC+pPqp8bhTkfJnGET4DKjjqfgtSojo60+YrXBJa9C1XzaIranKNbH1VHFaSe9UWvj6X5AOJbXKRD49oEruhXAUfJp9g2vcyIWveJhlZx6MU7Lw7Ji/Tjj/s4N8RBj7+wKLt+9MkBfRR2T42iFwQB2EG1Bft7iHw4gBIqfqieyjhRi/KEhDAWRjDAK84ceQnMS5ZSKWyT2t9mT9oCzOSCVHCcVC6drgMIy+NbsjStdflhHq9dvewDcZoAdNPYQabELWZFtqlCCx6CXEgjPCiT95NyQFXH4iTT8LoMqoblHDQ7lIVXB+0uw/RADOaqAGC4mvOT2xXC2++LOTmZc60ZilYagdFJjGzNkZROMW6/V66xi18g+a9JO2RCSDOo8ZUIjrc5timKwFNKa/mzG9CtEhyNEhQxUs5YrJdDAOwk3Xetzud+U5lZX5PufPLPEZ5OxUQl2TXd0stSLxlPJddDHWWxxlw9peHfCXBVBXCg76q1j8rUbCH4nzLy9Z291qtx3qmRPc2tlhE5FcK4MzLI1RY4NG02/ItU/G6zfJ5dtG720eoHiMPldudmba7lb6SfgsLlcqpQguzhjkjNVOlR9rbqzG5SuF1mOTZ8G9ktpFmhelGCJF5PBlc89yLS4rbqrbf/foB50bh8KzJOZ9qu5J8e81joERfXDxoptWstD+TZj1R/iVufHdYbc/V13+Nl7z7wC28qfHrrTq+l37r11G7ZWY+zyMU6qm/qOVmKmq49ObQSU7gJMeVHc3QLQC+//0jKSE2RtN7Y7jLT2Lk4WnbxDiyNjBnoF9texd+aC/rGC56/HYbNsw+ZxktPLRPt7tZy32QtTa9piYSt1gTI1uT3NcS3BYaxCsa6Dwmld03jT2GpUcmrIcmq/Pp0DFd8vmt+3n1t2aoBxMqFoI0JW1PBw/SNg/8+4b9/djm73wrBdj2hTSvwdiuQLlL0Gusv9iB4j+s+qJLlXAG7sq9AH4OM8RWH3O84lhAUMIPixSWQrb2SYpV1lbwKkFWhYE/o/K7o84SuNAePy0K2CSgpOXMTI6zhd61BEqewJMnxRxUfIEIMySRI8Hmrhq61vaNlm8RkWn/q7L9PXKx2Qp757rV8oLgNd1nHSUBHHqXsH7IONRPjKFrO5Y5OhP26OhlkRBIsgjA38nwbx2NxgPDJQC2BH4G5QeGej8/ab4Mw3Z9QZwEEESYH1ChQBfyKfSCGzzLZDBG+3h2XoTxHK/VvWDz3k61bGMHukGARzRRQAnY5CJrt9tSq/p2q1HKelA0AGHDNDSv9+VbkZF1w2l0E7YK98JSN4XL5Bo+xrwQSBs8PcLC91dFp062UyhDZK4GtP83MVcney/m/md446w1eMRp5M1rznA61M/u9gUBYkMi3Hd/WQi0KAVp6NRobFOtCLP/lzBSo3EfRv4GPqr2vIZpOLshX4FbQC9Ci9090ZxBsvTC2KX3hFUhef0BJFnolLbcixyMbIYDZ124XKGbjdwqN3yGrpJug3Du+gvoX7lx4lJs5MnfHDyNkxT64Gm2SFIEntJ7Vs/AU34b9xlo77Uqb6PuuMN5Sr5YgnN3CrMkuoYgTRLE2d9p7zyG8yrbDYwyGUSlFud4lSehRBTeyAUih1XMKjWa0r3FZZKKLHBJMa1jcj5IyD5IE1VvoF4GCIdg5WUZDMihU/kKmL4V5Wfh/O1tLc8Uz4DF4t6PQsjemYs1vvD8/KBV8+FiiFRRYjFkm/aKcSBJSwLAS+mH/DKI2mBcPidm6/9VkmXhZQT3wSpNfAhJAYHFBV6cxDfLJKfPMzf0W/GqbW8X6Q1G/nC57jyV0r30n+a3xKzCqTBF6ya8PKGfzcEUdzi1nYeKVKbCKj8xBOo2fug3hTh2ANM0SQFZygC08GIgPkXcJ4+pw3jOi67aOTd9uiyqNYMIPP1M1cRe7GMP+/pxPPNQ/lafPBKvnc2rL+jZ/BMca3nqQ42/9F96sTeHSxijNrmNTj4J+ETw5NJDqUW9T271ewK7X/+KRuEZXKq97d5RM8a2bDkT0gdOZ9eQKQ0Q0ncmi7r6xbeldfnYK1Ni66ZXpPfipjlfNX9+VWSq+qkKvljbZJFvhbTF5r1aqql+94Flm3qzsH37FUFXXpo9XsrCpypf+qg7VfNnQKr5BpRJE1SE+kt8jXH0JzhbRbZv9rYKP9/qbrXvWYj+VuOycLhKe93jat+aKFyu1v5Qn3u0rNVZrJz5wYHoT3U+713IlfxSrHhNX5mr6AzC8/bjbJbHeN4Q/b1qRraFx+6EPWD+lhHMkEu2XVuV59BM9G+Ufb+YyzMURlFlzvxmW1LaWU6S0SyPohtMfk4vSdxT/etW6/tXxnBiWLYxPm39/wAAAP//6NQ9SOtnAAA= @@ -29,7 +29,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line32.sh b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line32.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line32.sh +++ b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line32.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line9.sh b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line9.sh +++ b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/CustomData b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/CustomData index 64732880d22..61b953af7d0 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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 @@ -29,7 +29,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line32.sh b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line32.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line32.sh +++ b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line32.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line9.sh b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line9.sh +++ b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/CustomData b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/CustomData index 64732880d22..61b953af7d0 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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 @@ -29,7 +29,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line32.sh b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line32.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line32.sh +++ b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line32.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line9.sh b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line9.sh +++ b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/CustomizedImage/CustomData b/pkg/agent/testdata/CustomizedImage/CustomData index dcad27aa17c..b537a24df9b 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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 @@ -25,7 +25,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/CustomizedImage/line28.sh b/pkg/agent/testdata/CustomizedImage/line28.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/CustomizedImage/line28.sh +++ b/pkg/agent/testdata/CustomizedImage/line28.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/CustomizedImage/line9.sh b/pkg/agent/testdata/CustomizedImage/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/CustomizedImage/line9.sh +++ b/pkg/agent/testdata/CustomizedImage/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/CustomizedImageKata/CustomData b/pkg/agent/testdata/CustomizedImageKata/CustomData index dcad27aa17c..b537a24df9b 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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 @@ -25,7 +25,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/CustomizedImageKata/line28.sh b/pkg/agent/testdata/CustomizedImageKata/line28.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/CustomizedImageKata/line28.sh +++ b/pkg/agent/testdata/CustomizedImageKata/line28.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/CustomizedImageKata/line9.sh b/pkg/agent/testdata/CustomizedImageKata/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/CustomizedImageKata/line9.sh +++ b/pkg/agent/testdata/CustomizedImageKata/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/MarinerV2+CustomCloud/CustomData b/pkg/agent/testdata/MarinerV2+CustomCloud/CustomData index f38079437ab..f368f53e2eb 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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 @@ -29,7 +29,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/MarinerV2+CustomCloud/line32.sh b/pkg/agent/testdata/MarinerV2+CustomCloud/line32.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/MarinerV2+CustomCloud/line32.sh +++ b/pkg/agent/testdata/MarinerV2+CustomCloud/line32.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/MarinerV2+CustomCloud/line9.sh b/pkg/agent/testdata/MarinerV2+CustomCloud/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/MarinerV2+CustomCloud/line9.sh +++ b/pkg/agent/testdata/MarinerV2+CustomCloud/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/MarinerV2+Kata/CustomData b/pkg/agent/testdata/MarinerV2+Kata/CustomData index 6f9c403f5a6..9044c2d5148 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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 @@ -29,7 +29,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/9x7bXfauLbwd36FxsPTtHPGvPRtpp1Dz3LBIV4Bw2ObzO3t9HoJW4BOjORKcppMm/vb75JkG0MMJJne+XBZqw3IW1t7b+13yT/+0J5j0p5DvmrYnheeOiM7/N0K+mdh4IztySzovQYNjgQwrxt4AT4CcwHaNBVt+GfGUDuiREBMEOPtlNErzDElrYiu0wQJBD79BsQKkQZQHxStKDCshCEY3wAGCRAU8CyKEOcAXWOBybLVahkF+DUWoNNY4EYDpmIN2eXv1giT7NpaIiLAiiYxeNJojCbDcOB4vfYVZO2ELnPC4CVvrC9jzICZgubXHOq2kRBgcrADHCUZF4iZGxYSugR/5IQcAzYjjkyaiTQT2/M2Yvqp9W9OSd2TKKFZbGKChbnACeKtFF6huA7yaiXhuIBJspFwAbfhsN1opDdiRcmLY/sUMhTDSISKhDCiZIGXrfQmx2mamjQ9bqZQrHJJ4Lmmuq2oIVHBRI5BXIsShZaKnlwhcRe+0Zi9n7nBLPTskW35dq/5NOHzkKEEQY6AyYDJnyn1+wiaX7dhb0GvB4zu61bnpQE+VTWOZzEFMBXmUqrvDYCZoAyt6RUC0YpRctMotbL5r80MfsMFWkciAQxxAZnIR2JT4DXiNySKlVLqiU9jKNCzn5tPV5QLAtfo2c9AzYoyLuiaRwyn4t07tRXrRmNBGcAAE9B8ytFn0AUvXnc6z34DMVUEaAvjwGh+7ft2eGaPprbnK6ucWsHZrbFjUgAsGUqBefoZnPyYQ9uT05MDCJ48AXOG4KXCsMCbZZsYmOizIujOKsoWm/UOQksx4aiE5glCKegWK8SUoAZHMTAxMNoVMtuxsZ/QBqcZi9ABgB2IgeMH3uQ4Jsf1A2s02g+QIzoK15+4p85wiyKtokbz68DxrfcjO/R9KXOpoYJlaEdBY8zhPEG+fwa+favIuDJ5o2lGyvAVFAigJZMOM2X0+gbAOFa/MAcnza9Tz7mwAju0h57t++HUm/zHh9AaDOSv25Mqff7ZZDYa5CzMPDs8C4KpnrCf3vvMDvvWfgTyo60+Y0jOmUom+tY2+7PpQDLRt8K+7QV+VVHLybaIbHKFGSVrRISS0gHm+jM/mIwlxsCb+cF+AhO65KGgIbpCRHBgWOd+q+/brXLdvrLqPuwjJvACR1AgAxx6epg1Sbcm2ySS8skseD+ZuZL28dhyB7e1O6BhtbgvLM+/rREzuoIJaG5gqlJkSLCbaB2HeBEuIE4yhsCrDuiCV6C5SwF49+7BAfD5uyfdbb4rWF03PLWc0W+K933y5kj0pzOLRSsDbL4X9tdGImpTbubxoVFGBmdwC37oAWMNmYx1UizS3209UzwkMo/YkZq2Mk8GCEyWYA2JGc9V0DCzVHp5sEjgEsgoXWYp++jXYWYMyWBuZYLO1PzTBC5PcYIMcPDxtlI0v76fTAI/8CxlYMr99iduYDmu7YWePZTO6kPo296F7d2WHIGD5FEG+YguMVHfwkR+Db9gsQovszlKkAhxjIjA4sYAxyCkKj6AxP/XvjVAc+bbXmj5vjN07UHoDGw3cIIPoTMAzcB2LTeQX0sN+pf2gtcpZULmn3xFsyQO+SVOQ3KFYwzDmOErxHjj7liY50y95tMavQ8JDbmAgoOuNIBuB8hUGJjR9YFVnjUYEr3mv0qPw5AwlHJ1anXqFOIExTLbjZFAbI0JkpaskQKNFORk5suCOQJy5RTFWtM2tuReOAPHCgeec2F7RZSqKI3R/DqczkJ3MrBvNVWFo5MS1QD7xfQI35ggSGbpcDobaPEY4M7QQWMvwqDOsjzEaXKFYgPUj+/HU7phK15jMuPSAdwdqyrSEglHsz2mMbJI3JeEZ2m/yJadNVwi3vDPnWn43nEt70PYH9mWO5v+JXWaYwLZTRjp1Z41TmejUZlvePb/nzmePeg1n96TPtCsIRA0HT+8OBs8Xlll2ixWqNTMNY0RgCQGOd2gLCoAVnTsampOScUZOGNraFfDXnPiS31r5jn9xA9da2wXfhsYzVrRGGCjovfQ0JyBAUq5ASo/GmXWqlkf0iRGRDPzmzY/GQlilCISIxJhxIvpUGBKjINqnUOWe+VlRBYQJQW7D3R5bTS/urY98DdCG2ybZCGYr4E9sqcTLwhtV2aLO2D3CQM5IQFKkLSIeJpkS0xKAnfGFbMciSztu84AM36UdReJL5Rd7qDdGm2UXDt+eC6Ts5Ed1HGSMxLBBEiHginhv0O+7jWf/vuzLBBPWlMYXUot/PgJfAMcJSgST1uyIlPISl2NzS+Qr02+wmtuPAPfQCumX0hCYTzzHN6K0QJmiWhFGWOIiFax2MXzj59aCRSIiws9JIus/mQ8nbi2G2zqDeNZhdQC9YhGSmO+N8kF3ofQMvNGf4vkKusdI+9+BhRLsn21Otj/DBjNOqkblfFcAnKoqktGo0bJ/BST82yO7isunmIiU6S/XbUeSqhRUPo9FOrRi/+NelTQWCpPMbClGRuou3pUfbarH0YZ1KQz0y459O2+LD+DkR+WKfLUcYcHHNyeFCmnxEdRxlAw8t9TKrhgMD3X6bh9jaLCzz4AWBHt2ZK4Mu1YQBkVD7S3DF91xYrUSobI4XSW57HcqE1De0Ayu6nHjuWgPzwsB0WEZwxVU9Ddke0GRr4/ksCBfeH07XA6mg0dN3ROQxl+dTQtaN4prUssY2dY8ldNszWL5gIYqlLN24f537Zm2YzRFY6Qmap9aHHE5M+aQl5+ykb2gxG2YmMLk0DoMUja3Y65xstQapFAyxuVaxvgHWjH6KpNsiQB//zniT05PWl89PWkT41Kg6ZnSFlJ/Q/s4YeeKZGZBTLAMVkmyGhIvVS61at8bWectZXDyWlUBxZ15IJmdRHJbcOenJbs582PQ2qkGretOtwGMMq+sE1kWWKRWNtBPfhW++OunvmB5QWqEXK3fbqfOpoeJW6giyZFHU3riSt6Qds2oaxVpZ6n1nvP6Ydjy7WGtne4nYcXAPOx7rdMmPVnxpA6pAFGc+IbNbp8LGdUBJ/COcPRGBK4lFXc/mcP2d1cFgs1f13gPravO+B391XV4f7ujt4R7x5nsSOhHV8socpnRxnUPm+Ml1PIBFYVCrg7VpB3+AzDsGWht8/F79Qqg0n/3PbC0WTouHtjG0cC/ONaN75pdIkYUF0lYGag6duetg7PcfvO1BqF/ZFj6zaQmR547tt9zw4kJdZ/ylBbdMB3G2NGSYJ5fZ+qLY+U8k8kEovE8pvqVpfauB+k0YgYggLJgTEkeIG4GGC2kdqZ5Rc9ad+2vP5ZOJiMrQOyM5pf6+Cr5zrv9hz3qYrN1KdRJkeQRSszpmuIyZ5ebd1CvlZs1WY/HIzy9mA1/hxv2OSiVJGDLCtdm+0H98H0K69O/5XfY07fdao9fNepFKXTi9fhYGaNpHn3zw+V2vfITwZn/enV68Im9a8ibbyfEz3KS94sm3E0UHtclcadZ1sp6+Guw7153FRkBZ+bEbBpuBwRlPIPpaDUr+0O59j2fWtoh5PTMDizw4H1IU8a7x6YHJCs7qWYC32iEJNFG2aCrqHAkRLpzjlocYbJ22iNRXiFIeiBNRVx9TcXMabtpbEPZx7vt9pfxk7/q5pFxrmd6TMIUy7XimvzRHjJ9QHUmIpYnylMoVj17k5vv3ljwkteeAU5WMEjaBatpJD3ILytppTRak1j0Pnl1av7zlAxx0TAqNw9+YNEUGiJSWKkNzuKLY/4unW3RyO+gTnk6PVLKcZ3G/zbuhRY3tAOwv5oMiu0XilKf4UJ7Cc02xU3QwIux31Pd19PKVOQ20jzCuNs4gd+cVJsDW330YePU33829eHb2eUi9K2ax5tmfbWeWgYeJbrTy1Phs+z2dAOp9bQfrC1l14lYJDwFMpS/SxboilcVk9Ea54eIM3/3ZqqmPZ4cvwvMNWHbHeG6tzd0JvMphfP9663t166E+dkiRQtGc3Sq+e15ZGsRfYUR+ez9/ZIqqAiJzwdWUO/Z+boTJ119XICDFXUPMpzl5FbMbTp623ZkaTFtYMwsMfTkRXY9Va0mawkQZAIBVqnCRRIe7nHSG/TaJTrmYsELh9eaJayLOVRypPpRrvJ0OcMcaHu89BM9Lqv1sDcLF/CIRKnFBPRywi+fttut1lGqpxvvrY4jS7BZgW9c7yX89viCY7QFnxe75cVahGtfgAcra8Q69O1NBugN8Rz7cD2Q1loOBP3rWl0Wp1Wx7gFRrf1/JdWZ7fQeqTgS/q/k+hDb+YGzthWO9CrEXGPoTUVFTHkdUk1US6wDhz/PAw+TO3vZKxzTOI1zYjYb60zgsWnhoc+Z5gh3pMzTD0lx9SwFgKxugeFkR5OdPwbHomkSHT0r8YDDoLqnGhF8WcjZ+wE/h6BHbp8UWrqLMFrLKpp5J1n9+Azz+MLRvOflXapL4s3dxIOZlNZxE3Gjt+fTWZ++N5zBo8IT3odlw6ydEKmjK4xj7L3DMcyOh14eK+jyW/f/mK6ns0zIjKfwJSvqNCZTakEW6MFPfXnoHduBu2lefd2kHT2z+O4G6HuL2bnlzfIfNl5EZnzF6+em7D75nkXoeedXxCSVsFveHue8fbVWv6f9wDaq6swEzhpZ0Rq/+buX54jd1/gP777Kn+QPK1mUUu1BKs+48IaOQMrcCZuaHter9NoNKypkzcA9MUjzw48x/Z7rzrFHlcglKR6PfBTK79pl2By2fppW3j7MHY76qaycuDqutEO4lvQ+2/wXx875ptP//ijVf+3uXepgeurlT6Ul7JfdDrVbX8oG8fQv87RV+6HHs1qfzjU1fJ7zaf7rAGmWHpNxFyeUHqZpQYwyrsVJB8DXdB9tS3XO2Tf1sg9PxuSHz/we/lF361+qxyvYbfpB75kqnOXHxm6QEnZ3UV3jgqanq3M8iej+/rX1usXre7zN63ua+MnUN/u39Fk1ZU5/9UPK8vobpeUwGgyOZc5Y9F4vMPePTHuw1WUWVWUhd/euYmtnXT3V30Vu4axH4PJYAKexv/myc2zt/k1OCBWmANKIgTUVIA5ORGAZ2lKmUAxgORmTRm6Vxd5o0v9qhZVLjpu7VbVhm/1hR0SAfPqzzoLfvnyher/6t0/BCah7iHy8jLk/o07ymc/Y8kjOY0ylgDzSqa+MEIsr79lrsQIEoi35SBvR7AVMQFWQqT8bbt9l+O3W4J5GFbjHmgfJclcbRd403Pa57sLX/p/TKcqmcz3uRirmtrHrsaqC2KXOLqUgHSxKIBzuJRR9boPFMWxg27m6Ib5vhux6k2YjDPVL1pDEs8l9ZquHP8CE8xXKM4X2loBPCnTqO3zlV0mTxiaUyoA0xl//DPQA5IXQmMEMAFdsMYkE+hEU1V0sIAZAYOvMhHTLwSYDHTBE+MRmVndq04ZyV922tXoh6HeuZwwc60gsN2BPQhn06FnDWx/b5pdfGazIuoPHK+nay2YCvlPVVGqtZgihmmMI2PPGXbzaYyZugkiQ0gV463xbOe4umhF7oBtAeUtyNcvXx6D1JtsTYO3b6c5kW/fal0z8/sq5ghzafxd47cT8O7d4zASKAQiMYrNWbpkMEb3xrd5+Sgja8gv1ftLMcTJTVFZbkbMTCMva856REgda/5vIJJOi9WgUeN7kBTvVJkmoeY8odHlfRFW8T0GeR1zdcfHRy1QNe/vf+j9HcyuekfSCqyj8BvN1GfaG4Us9BFzQGg1yZrfgEsoYH6T92fwBSeJApmjfOPjk23N301Vtrciv7wNYrIwywMQk1CBFzeUFHt9AAEXNH387Nx6tucXb08WBrB17Ol/8AN73A9Guyf5j1hA6+tfQL9zFeH7rVLR802GtHnHTB+3AP3WYhlTWzJ1AjoHAhElBEUCUwKiFYouQURj9NYAze3k5MDVAkTi+pcjNR87eBqNH+3J6f8EAAD//5MULimoPAAA + H4sIAAAAAAAC/9x7e5fauJL4/3wKjYdfOpk75pHXTDKX3OOAm/YJGH626dlsJusjbAG6bSRHkkn3dHo/+x5JtjE0r+7Jzh/LOUmDXCpVlapK9ZB//KE5xaQ5hXxRsz0vPHcGdvi7FXQvwsAZ2qNJ0HkNahwJYF7X8Ax8AuYMNGkqmvDPjKFmRImAmCDGmymjK8wxJY2ILtMECQQ+/wbEApEaUB8ULSgwrIQhGN8ABgkQFPAsihDnAF1jgcm80WgYBfg1FqBVm+FaDaZiCdnV79YAk+zamiMiwIImMXhSqw1G/bDneJ3mCrJmQuc5YfCK15ZXMWbATEH9Noe6qyUEmBxsAUdJxgVi5pqFhM7BHzkhx4DNiCOTZiLNxOa8tZh+avybU7LrSZTQLDYxwcKc4QTxRgpXKN4FuVpIOC5gkqwlXMCtOWzWaumNWFDy4tg+hQzFMBKhIiGMKJnheSO9yXGapiZNj5spFItcEniqqW4qakhUMJFjENeiRKGloidXSNyGr9Um7yduMAk9e2Bbvt2pP034NGQoQZAjYDJg8mdK/T6B+u0m7B3odIDRft1ovTTA56rG8SymAKbCnEv1vQEwE5ShJV0hEC0YJTe1Uivr/1rP4DdcoGUkEsAQF5CJfCQ2BV4ifkOiWCmlnvg0hgI9+7n+dEG5IHCJnv0M1Kwo44IuecRwKt69U1uxrNVmlAEMMAH1pxx9AW3w4nWr9ew3EFNFgLYwDoz6bde3wwt7MLY9X1nl2Aou7owtkwJgzlAKzPMv4OzHHNoenZ8dQPDkCZgyBK8UhhleL1vHwERfFEH3VlG2WN/tILQUE45KaJ4glIJ2sUJMCapxFAMTA6NZIbMZG/sJrXGasQgdANiC6Dl+4I2OY3JcP7AGg/0AOaKjcN2Re+70NyjSKmrUb3uOb70f2KHvS5lLDRUsQ1sKGmMOpwny/Qvw7VtFxpXJa00zUoZXUCCA5kw6zJTR6xsA41j9whyc1W/HnnNpBXZo9z3b98OxN/qPj6HV68lfd2dV+vyL0WTQy1mYeHZ4EQRjPWE/vafMDrvWfgTyo60+Y0jOGUsmutYm+5NxTzLRtcKu7QV+VVHLybaIbLLCjJIlIkJJ6QBz3YkfjIYSY+BN/GA/gQmd81DQEK0QERwY1ge/0fXtRrluV1l1F3YRE3iGIyiQAQ49PcyapDumS4hJKH1Hx1hGrLHEEaOczoR080bOlklA/fb9aBT4gWcpWStL7I7cwHJc2ws9uy/19mPo296l7d1tqVp1kQch+n/NO0PSuUIMz27CnuuHCwQT6dArSLcU2PXDC9saBBfhueUMamsejPrtaBK8H01cuT/DoeX27nZqmYbVKnVpef7dDlVCK5iA+hqmqikMCXYTLeMQz8IZxEnGEHjVAm3wCtS3KQDv3j34kH/+7kl7k+kKVtdVfP+m9nefTnEkuuOJxaKFAdbfCx/TRCJqUm7mZ2CtPP2c3h34oQOMJWTyPJdikT5945niIZGx0pbUtCfx5CGIyRwsITHjqToYzSyVJxmYJXAOZCRSRmL76NdH6RCS3tTKBJ2o+ecJnJ/jBBng4GMlmL+q2OAgeZRBPqBzTNS3MJFfw69YLMKrbIoSJEIcIyKwuDHAMQjwcJMB9Ylve6Hl+07ftXuh07PdwAk+hk4P1APbtdxAfi016F/a01+nlAkZY/MFzZI45Fc4DckKxxiGMcMrxHjt/liYx4Wd+tMdeh8SGnIBBQdtaQDtFpDhPjCj6wOrPKsxJDr1f5VelSFhKOVq7dSpc4gTFMuIPkYCsSUmSFqyRgo0UpCTmS8LpgjIlVMUa01b25J76fQcK+x5zqXtFSdxRWmM+m1/PAndUc++01QVzlxKVAPsF9Mj/H+CIJmk/fGkp8VjgHtDB429OOp1JOkhTpMVig2we3w/nvKoseIlJhMuHcD9saoizZFwNNtDGiOLxF1JeJZ2i4zAWcI54jX/gzMO3zuu5X0MuwPbcifjv6ROU0wguwkjvdqz2vlkMChjKs/+/xPHs3ud+tMT6QP1HQSCuuOHlxe9xyurTA3EApWauaQxApDEIKcblIkTwIqObU3NKak4A2do9W2/oqz1kS/1rZ7nLSM/dK2hXfhtYNR3isYAaxU9QUNzBnoo5Qao/KiVkblmvU+TGBHNzG/a/ORJEKMUkRiRCCNeTIcCU2IcVOscstwrLyMySSop2H6gSwhG/da17Z6/Flpv0yQLwdwG9sAej7wgtF0ZEW+BnXIM5IQEKEHSIuJxks0xKQncGlfMciSytOs6Pcz4UdZdJL5SdrWFdmO0VnLt+OEHGYAO7GAXJzkjEUyAdCiYEv475MtO/em/v8gk+KwxhtGV1MJPn8E3wFGCIvG0oeIviazU1dj8CvnS5Au85MYz8A00YvqVJBTGE8/hjRjNYJaIRpQxhohoFItdPv/0uZFAgbi41EMykeyOhuORa7vBOqcynlVILVAPaKQ05nuTXOB9CC0Tb/C3SK6y3jHyTjOgWJLtq9XB/mfAqO+SulEZzyUgh6q6ZNR2KJmfYvIhm6JTxcVTTGSI9Ler1kMJNQpKv4dCPXrxv1GPChpL5SkGNjRjDXVfj6rPtvXDKA816cy0Sw59uytT7GDgh2WIPHbc/gEHtydEyinxUZQxFAz895QKLhhMP+hw3L5GUeFnHwCsiPZsSVwZdsygPBUPlPAMX1X+itBKHpH98SSPY7mxMwztAMnsOh87FoP+8LAYFBGeMVQNQbdHNos0+f5IAnv2pdO1w/Fg0nfc0DkP5fGrT9OC5q3UusQydPolf9UwW7NozoChMtW8RJr/bWqWzRitcITMVO1DgyMmf+5I5OWnLNY/GGEjNjYwCYQeg6TZbplLPA+lFgk0v1GxtgHegWaMVk2SJQn45z/P7NH5We2Tryd9rlWKUB1Dykrqf2D3P3ZMicwskAGOyTxBRk3qpdKtTuVrM+OsqRxOTqNqyuwiF9Sri0hua/bovGQ/L34cUiNVnG7swm0Ao6x920SmJRaJtR3sBt8of9zXMz+wvEAXgO6ViPdTR9OjxPV00qSoo+lu4opa0KZNKGtVoee59d5zuuHQcq2+7R0uWeIZwHyo6y0jZv2ZMaQaUcCoj3xjhy4fixkVwedwynA0hATOZRa3/9lDdjeXxUzNXxa4j+3rFvj9fVV5uL+9o/fEu8dZbEloyxdLqPLZUQa1zxvi+RgygVWGAu6PFeQd7tMYtkz09rn4rVylN+p+sL1wMOo77t6zjSMB/nGdV1yjK8SAqioBMwN13/a0dXiO23XG1iDsDhxbl4HM9MBz3+56diApsf5THrVFlX+7MGaUJJjXp2Rt+Ukp/0QisUgsv6mKfKmN+0FqtYghKJAcGEKCZ4iLHmZrqV1YflF3923L616EvdHQOiA7o367C77au3q3p6WpMjZTd9xMjiCLFqYuTu+p1e5ayNeKrVoJhw+jvDxYPX+OF2xyUaqTg8wrVZvNB6dg+pVXp//KT5jTdZ1qn8J1Kknp+PJ12JtYA2ne3Q+HUu0T4pPeRXe8el3YpP5VhI2nOdGjvOTFsglHPbXHVWnce7YRsh6uOpzM4zojK/hcj4B1weWIoJR/KAWlfm1WOIe271t9Oxydh8GFHfasj3nQeL9hckCyupZiznRHISazJswEXUKBIyXSrV5v0aflTbTEIlxhCDpgSUVc/c1FjGlzbuzDmZ/3G+UvY6v+VY0i49zOdA/ClMs14p1xIrziusk2pCLWPYUxFIvO/enNN29MeMULryAHK3gEzaKFFPIehHfVkDJaLGkMWr+8enXqDHXmmAgYlfs1f5AICi0xSYz0Zkex5Se+Lt3t0YhvYAo5ev1SivHdGv+mLgWW17eDsDsYTQqtV4rSXWACuwnNtsXNkIDzYdfT1ddzyhTkJtI8w7gY+YFfdMOtvu0+usE61i3urm6+XVAuStve8WjDtDd6vmHgWa4/tjx5fF5M+nY4tvr2g6299CoBg4SnUKbqF9kcjeG82vXd8fQAaf7v1lidaY8nx/8KU91kuze0y931vdFkfPl873p786V755xMkaI5o1m6er4zPZK5yJ7k6MPkvT2QKqjICc8HVt/vmDk6U0ddnZwAQyU1j/Lc5cmtGFrX9TbsSNLi2kEY2MPxwArs3Va0nqwkQZAIBVqmCRRIe7nHSG9daJTrmbMEzh+eaJayLOVRypPpQrvJ0JcMcaHuLNFMdNqvlsBcL1/CIRKnFBPRyQi+fttsNllGqpyvvzY4ja7AegW9c7yT89vgCY7QBnye75cZanFa/QA4Wq4Q69KlNBugN8Rz7cD2Q5loOCP3rWm0Gq1Gy7gDRrvx/JdGazvReqTgS/q/k+hDb+IGztBWO9DZIeIOQ0sqKmLI85JqoFxg7Tn+hzD4OLa/k7FOMYmXNCNiv7VOCBafax76kmGGeEfOMPWUHFPNmgnEdj0ojPRwoOPf8EgkRaCjf9Ue0Aja5UQrij8ZOEMn8PcI7NDli1JTJwleYlENI+89O4HPPI4vGM1/Vsqlvkze3FHYm4xlEjcaOn53Mpr44XvP6T3ieNLruLSXpSMyZnSJeZS9ZziWp9OBhye1Jr99+4vhejbNiMh8AlO+oEJHNqUSbIwW9Ozug967GbSX5u3bQdLZP4/jdoTav5itX94g82XrRWROX7x6bsL2m+dthJ63fkFIWgW/4c1pxpurpfw/rwE0F6swEzhpZkRq//p+Yx4jt1/gP777Kn+QPKxmUUOVBKs+49IaOD0rcEZuaHtep1Wr1ayxkxcA9MUjzw48x/Y7r1rFHlcglKQ6HfBTI79NmGBy1fhpU3j7MLZb6ja2cuDqutEW4jvQ+W/wX59a5pvP//ijsftvfe9SPddXK30sL56/aLWq2/5QNo6hf52jr9yBPRrV/nCoquV36k/3WQNMsfSaiLk8ofQqSw1glHcrSD4G2qD9alOu98i+2yH3vDckP37gd/LLzBv1Vjm+g926H/iSqdZ9fuTRBUrK7i+61Sqoe7Yyy5+M9utfG69fNNrP3zTar42fwO5y/5Ymq6rMh1/9sLKMrnZJCQxGow8yZiwKj/fYOxHjPlxFmlVFWfjtrdvm2km3f9XXzXcw9mMw6o3A0/jfPLl59ja/BgfEAnNASYSAmgowJ2cC8CxNKRMoBpDcLClDJ1WR17rUrWpR5aLjxm5VbfhOX9ghETBXf+6y4JcvX6j6r979Q2AS6gSRl5ch92/cUT67GUseyWmUsQSYKxn6wgixPP+WsRIjSCDelIO8GcFGxARYCJHyt83mfY7fbgjmYViNE9A+SpK52s7wuua0z3cXvvT/mE5VIpnvczFWFbWPXY1VF8SucHQlAelsVgDncCmj6pUmKIq2gy7m6IL5vhux6m2fjDNVL1pCEk8l9ZquHP8ME8wXKM4X2lgBPCnDqM3+yjaTZwxNKRWA6Yg//hnoAckLoTECmIA2WGKSCXSmqSoqWMCMgMEXmYjpVwJMBtrgifGIyGzX61wZyV/o2tboh6Heupwwca0gsN2e3Qsn475n9Wx/b5hdfCaT4tTvOV5H51owFfKfyqJUaTFFDNMYR8aeHnb9aYyZugkij5Aqxjvj2Va7uihFboFtAOUlyNcvXx6D1JtsjYO3b8c5kW/fal0z8/sq5gBzafxt47cz8O7d4zASKAQiMYrNSTpnMEYn41u/YJWRJeRX6h2tGOLkpsgs1yNmppGXOeduREi1Nf83EEmnxXagUeN7kBTvjZkmoeY0odHVqQir+B6DfBdzu9rHRy1QFe9Pb3p/B7Or3pG0Auso/FozdU97rZCFPmIOCK0GWdMbcAUFzG/y/gy+4iRRIFOUb3x8tqn526HK5lbkl7dBTGZm2QAxCRV4dkNJsdcHEHBB08fPzq1nc37xhmhhABttT/+jH9jDbjDY7uQ/YgGtr38B/dZVhO+3SkXP1xHS+j063W4B+s3M8kxtyNAJ6BgIRJQQFAlMCYgWKLoCEY3RWwPUN4OTA1cLEIl3vwCq+djCU6v9aI/O/ycAAP//Z7zg3Yw9AAA= - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/MarinerV2+Kata/line32.sh b/pkg/agent/testdata/MarinerV2+Kata/line32.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/MarinerV2+Kata/line32.sh +++ b/pkg/agent/testdata/MarinerV2+Kata/line32.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/MarinerV2+Kata/line9.sh b/pkg/agent/testdata/MarinerV2+Kata/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/MarinerV2+Kata/line9.sh +++ b/pkg/agent/testdata/MarinerV2+Kata/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/CustomData b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/CustomData index 6f9c403f5a6..9044c2d5148 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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 @@ -29,7 +29,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line32.sh b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line32.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line32.sh +++ b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line32.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line9.sh b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line9.sh +++ b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/CustomData b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/CustomData index 6f9c403f5a6..9044c2d5148 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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 @@ -29,7 +29,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line32.sh b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line32.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line32.sh +++ b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line32.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line9.sh b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line9.sh +++ b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/CustomData b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/CustomData index 6f9c403f5a6..9044c2d5148 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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 @@ -29,7 +29,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAC/9x7bXfauLbwd36FxsPTtHPGvPRtpp1Dz3LBIV4Bw2ObzO3t9HoJW4BOjORKcppMm/vb75JkG0MMJJne+XBZqw3IW1t7b+13yT/+0J5j0p5DvmrYnheeOiM7/N0K+mdh4IztySzovQYNjgQwrxt4AT4CcwHaNBVt+GfGUDuiREBMEOPtlNErzDElrYiu0wQJBD79BsQKkQZQHxStKDCshCEY3wAGCRAU8CyKEOcAXWOBybLVahkF+DUWoNNY4EYDpmIN2eXv1giT7NpaIiLAiiYxeNJojCbDcOB4vfYVZO2ELnPC4CVvrC9jzICZgubXHOq2kRBgcrADHCUZF4iZGxYSugR/5IQcAzYjjkyaiTQT2/M2Yvqp9W9OSd2TKKFZbGKChbnACeKtFF6huA7yaiXhuIBJspFwAbfhsN1opDdiRcmLY/sUMhTDSISKhDCiZIGXrfQmx2mamjQ9bqZQrHJJ4Lmmuq2oIVHBRI5BXIsShZaKnlwhcRe+0Zi9n7nBLPTskW35dq/5NOHzkKEEQY6AyYDJnyn1+wiaX7dhb0GvB4zu61bnpQE+VTWOZzEFMBXmUqrvDYCZoAyt6RUC0YpRctMotbL5r80MfsMFWkciAQxxAZnIR2JT4DXiNySKlVLqiU9jKNCzn5tPV5QLAtfo2c9AzYoyLuiaRwyn4t07tRXrRmNBGcAAE9B8ytFn0AUvXnc6z34DMVUEaAvjwGh+7ft2eGaPprbnK6ucWsHZrbFjUgAsGUqBefoZnPyYQ9uT05MDCJ48AXOG4KXCsMCbZZsYmOizIujOKsoWm/UOQksx4aiE5glCKegWK8SUoAZHMTAxMNoVMtuxsZ/QBqcZi9ABgB2IgeMH3uQ4Jsf1A2s02g+QIzoK15+4p85wiyKtokbz68DxrfcjO/R9KXOpoYJlaEdBY8zhPEG+fwa+favIuDJ5o2lGyvAVFAigJZMOM2X0+gbAOFa/MAcnza9Tz7mwAju0h57t++HUm/zHh9AaDOSv25Mqff7ZZDYa5CzMPDs8C4KpnrCf3vvMDvvWfgTyo60+Y0jOmUom+tY2+7PpQDLRt8K+7QV+VVHLybaIbHKFGSVrRISS0gHm+jM/mIwlxsCb+cF+AhO65KGgIbpCRHBgWOd+q+/brXLdvrLqPuwjJvACR1AgAxx6epg1Sbcm2ySS8skseD+ZuZL28dhyB7e1O6BhtbgvLM+/rREzuoIJaG5gqlJkSLCbaB2HeBEuIE4yhsCrDuiCV6C5SwF49+7BAfD5uyfdbb4rWF03PLWc0W+K933y5kj0pzOLRSsDbL4X9tdGImpTbubxoVFGBmdwC37oAWMNmYx1UizS3209UzwkMo/YkZq2Mk8GCEyWYA2JGc9V0DCzVHp5sEjgEsgoXWYp++jXYWYMyWBuZYLO1PzTBC5PcYIMcPDxtlI0v76fTAI/8CxlYMr99iduYDmu7YWePZTO6kPo296F7d2WHIGD5FEG+YguMVHfwkR+Db9gsQovszlKkAhxjIjA4sYAxyCkKj6AxP/XvjVAc+bbXmj5vjN07UHoDGw3cIIPoTMAzcB2LTeQX0sN+pf2gtcpZULmn3xFsyQO+SVOQ3KFYwzDmOErxHjj7liY50y95tMavQ8JDbmAgoOuNIBuB8hUGJjR9YFVnjUYEr3mv0qPw5AwlHJ1anXqFOIExTLbjZFAbI0JkpaskQKNFORk5suCOQJy5RTFWtM2tuReOAPHCgeec2F7RZSqKI3R/DqczkJ3MrBvNVWFo5MS1QD7xfQI35ggSGbpcDobaPEY4M7QQWMvwqDOsjzEaXKFYgPUj+/HU7phK15jMuPSAdwdqyrSEglHsz2mMbJI3JeEZ2m/yJadNVwi3vDPnWn43nEt70PYH9mWO5v+JXWaYwLZTRjp1Z41TmejUZlvePb/nzmePeg1n96TPtCsIRA0HT+8OBs8Xlll2ixWqNTMNY0RgCQGOd2gLCoAVnTsampOScUZOGNraFfDXnPiS31r5jn9xA9da2wXfhsYzVrRGGCjovfQ0JyBAUq5ASo/GmXWqlkf0iRGRDPzmzY/GQlilCISIxJhxIvpUGBKjINqnUOWe+VlRBYQJQW7D3R5bTS/urY98DdCG2ybZCGYr4E9sqcTLwhtV2aLO2D3CQM5IQFKkLSIeJpkS0xKAnfGFbMciSztu84AM36UdReJL5Rd7qDdGm2UXDt+eC6Ts5Ed1HGSMxLBBEiHginhv0O+7jWf/vuzLBBPWlMYXUot/PgJfAMcJSgST1uyIlPISl2NzS+Qr02+wmtuPAPfQCumX0hCYTzzHN6K0QJmiWhFGWOIiFax2MXzj59aCRSIiws9JIus/mQ8nbi2G2zqDeNZhdQC9YhGSmO+N8kF3ofQMvNGf4vkKusdI+9+BhRLsn21Otj/DBjNOqkblfFcAnKoqktGo0bJ/BST82yO7isunmIiU6S/XbUeSqhRUPo9FOrRi/+NelTQWCpPMbClGRuou3pUfbarH0YZ1KQz0y459O2+LD+DkR+WKfLUcYcHHNyeFCmnxEdRxlAw8t9TKrhgMD3X6bh9jaLCzz4AWBHt2ZK4Mu1YQBkVD7S3DF91xYrUSobI4XSW57HcqE1De0Ayu6nHjuWgPzwsB0WEZwxVU9Ddke0GRr4/ksCBfeH07XA6mg0dN3ROQxl+dTQtaN4prUssY2dY8ldNszWL5gIYqlLN24f537Zm2YzRFY6Qmap9aHHE5M+aQl5+ykb2gxG2YmMLk0DoMUja3Y65xstQapFAyxuVaxvgHWjH6KpNsiQB//zniT05PWl89PWkT41Kg6ZnSFlJ/Q/s4YeeKZGZBTLAMVkmyGhIvVS61at8bWectZXDyWlUBxZ15IJmdRHJbcOenJbs582PQ2qkGretOtwGMMq+sE1kWWKRWNtBPfhW++OunvmB5QWqEXK3fbqfOpoeJW6giyZFHU3riSt6Qds2oaxVpZ6n1nvP6Ydjy7WGtne4nYcXAPOx7rdMmPVnxpA6pAFGc+IbNbp8LGdUBJ/COcPRGBK4lFXc/mcP2d1cFgs1f13gPravO+B391XV4f7ujt4R7x5nsSOhHV8socpnRxnUPm+Ml1PIBFYVCrg7VpB3+AzDsGWht8/F79Qqg0n/3PbC0WTouHtjG0cC/ONaN75pdIkYUF0lYGag6duetg7PcfvO1BqF/ZFj6zaQmR547tt9zw4kJdZ/ylBbdMB3G2NGSYJ5fZ+qLY+U8k8kEovE8pvqVpfauB+k0YgYggLJgTEkeIG4GGC2kdqZ5Rc9ad+2vP5ZOJiMrQOyM5pf6+Cr5zrv9hz3qYrN1KdRJkeQRSszpmuIyZ5ebd1CvlZs1WY/HIzy9mA1/hxv2OSiVJGDLCtdm+0H98H0K69O/5XfY07fdao9fNepFKXTi9fhYGaNpHn3zw+V2vfITwZn/enV68Im9a8ibbyfEz3KS94sm3E0UHtclcadZ1sp6+Guw7153FRkBZ+bEbBpuBwRlPIPpaDUr+0O59j2fWtoh5PTMDizw4H1IU8a7x6YHJCs7qWYC32iEJNFG2aCrqHAkRLpzjlocYbJ22iNRXiFIeiBNRVx9TcXMabtpbEPZx7vt9pfxk7/q5pFxrmd6TMIUy7XimvzRHjJ9QHUmIpYnylMoVj17k5vv3ljwkteeAU5WMEjaBatpJD3ILytppTRak1j0Pnl1av7zlAxx0TAqNw9+YNEUGiJSWKkNzuKLY/4unW3RyO+gTnk6PVLKcZ3G/zbuhRY3tAOwv5oMiu0XilKf4UJ7Cc02xU3QwIux31Pd19PKVOQ20jzCuNs4gd+cVJsDW330YePU33829eHb2eUi9K2ax5tmfbWeWgYeJbrTy1Phs+z2dAOp9bQfrC1l14lYJDwFMpS/SxboilcVk9Ea54eIM3/3ZqqmPZ4cvwvMNWHbHeG6tzd0JvMphfP9663t166E+dkiRQtGc3Sq+e15ZGsRfYUR+ez9/ZIqqAiJzwdWUO/Z+boTJ119XICDFXUPMpzl5FbMbTp623ZkaTFtYMwsMfTkRXY9Va0mawkQZAIBVqnCRRIe7nHSG/TaJTrmYsELh9eaJayLOVRypPpRrvJ0OcMcaHu89BM9Lqv1sDcLF/CIRKnFBPRywi+fttut1lGqpxvvrY4jS7BZgW9c7yX89viCY7QFnxe75cVahGtfgAcra8Q69O1NBugN8Rz7cD2Q1loOBP3rWl0Wp1Wx7gFRrf1/JdWZ7fQeqTgS/q/k+hDb+YGzthWO9CrEXGPoTUVFTHkdUk1US6wDhz/PAw+TO3vZKxzTOI1zYjYb60zgsWnhoc+Z5gh3pMzTD0lx9SwFgKxugeFkR5OdPwbHomkSHT0r8YDDoLqnGhF8WcjZ+wE/h6BHbp8UWrqLMFrLKpp5J1n9+Azz+MLRvOflXapL4s3dxIOZlNZxE3Gjt+fTWZ++N5zBo8IT3odlw6ydEKmjK4xj7L3DMcyOh14eK+jyW/f/mK6ns0zIjKfwJSvqNCZTakEW6MFPfXnoHduBu2lefd2kHT2z+O4G6HuL2bnlzfIfNl5EZnzF6+em7D75nkXoeedXxCSVsFveHue8fbVWv6f9wDaq6swEzhpZ0Rq/+buX54jd1/gP777Kn+QPK1mUUu1BKs+48IaOQMrcCZuaHter9NoNKypkzcA9MUjzw48x/Z7rzrFHlcglKR6PfBTK79pl2By2fppW3j7MHY76qaycuDqutEO4lvQ+2/wXx875ptP//ijVf+3uXepgeurlT6Ul7JfdDrVbX8oG8fQv87RV+6HHs1qfzjU1fJ7zaf7rAGmWHpNxFyeUHqZpQYwyrsVJB8DXdB9tS3XO2Tf1sg9PxuSHz/we/lF361+qxyvYbfpB75kqnOXHxm6QEnZ3UV3jgqanq3M8iej+/rX1usXre7zN63ua+MnUN/u39Fk1ZU5/9UPK8vobpeUwGgyOZc5Y9F4vMPePTHuw1WUWVWUhd/euYmtnXT3V30Vu4axH4PJYAKexv/myc2zt/k1OCBWmANKIgTUVIA5ORGAZ2lKmUAxgORmTRm6Vxd5o0v9qhZVLjpu7VbVhm/1hR0SAfPqzzoLfvnyher/6t0/BCah7iHy8jLk/o07ymc/Y8kjOY0ylgDzSqa+MEIsr79lrsQIEoi35SBvR7AVMQFWQqT8bbt9l+O3W4J5GFbjHmgfJclcbRd403Pa57sLX/p/TKcqmcz3uRirmtrHrsaqC2KXOLqUgHSxKIBzuJRR9boPFMWxg27m6Ib5vhux6k2YjDPVL1pDEs8l9ZquHP8CE8xXKM4X2loBPCnTqO3zlV0mTxiaUyoA0xl//DPQA5IXQmMEMAFdsMYkE+hEU1V0sIAZAYOvMhHTLwSYDHTBE+MRmVndq04ZyV922tXoh6HeuZwwc60gsN2BPQhn06FnDWx/b5pdfGazIuoPHK+nay2YCvlPVVGqtZgihmmMI2PPGXbzaYyZugkiQ0gV463xbOe4umhF7oBtAeUtyNcvXx6D1JtsTYO3b6c5kW/fal0z8/sq5ghzafxd47cT8O7d4zASKAQiMYrNWbpkMEb3xrd5+Sgja8gv1ftLMcTJTVFZbkbMTCMva856REgda/5vIJJOi9WgUeN7kBTvVJkmoeY8odHlfRFW8T0GeR1zdcfHRy1QNe/vf+j9HcyuekfSCqyj8BvN1GfaG4Us9BFzQGg1yZrfgEsoYH6T92fwBSeJApmjfOPjk23N301Vtrciv7wNYrIwywMQk1CBFzeUFHt9AAEXNH387Nx6tucXb08WBrB17Ol/8AN73A9Guyf5j1hA6+tfQL9zFeH7rVLR802GtHnHTB+3AP3WYhlTWzJ1AjoHAhElBEUCUwKiFYouQURj9NYAze3k5MDVAkTi+pcjNR87eBqNH+3J6f8EAAD//5MULimoPAAA + H4sIAAAAAAAC/9x7e5fauJL4/3wKjYdfOpk75pHXTDKX3OOAm/YJGH626dlsJusjbAG6bSRHkkn3dHo/+x5JtjE0r+7Jzh/LOUmDXCpVlapK9ZB//KE5xaQ5hXxRsz0vPHcGdvi7FXQvwsAZ2qNJ0HkNahwJYF7X8Ax8AuYMNGkqmvDPjKFmRImAmCDGmymjK8wxJY2ILtMECQQ+/wbEApEaUB8ULSgwrIQhGN8ABgkQFPAsihDnAF1jgcm80WgYBfg1FqBVm+FaDaZiCdnV79YAk+zamiMiwIImMXhSqw1G/bDneJ3mCrJmQuc5YfCK15ZXMWbATEH9Noe6qyUEmBxsAUdJxgVi5pqFhM7BHzkhx4DNiCOTZiLNxOa8tZh+avybU7LrSZTQLDYxwcKc4QTxRgpXKN4FuVpIOC5gkqwlXMCtOWzWaumNWFDy4tg+hQzFMBKhIiGMKJnheSO9yXGapiZNj5spFItcEniqqW4qakhUMJFjENeiRKGloidXSNyGr9Um7yduMAk9e2Bbvt2pP034NGQoQZAjYDJg8mdK/T6B+u0m7B3odIDRft1ovTTA56rG8SymAKbCnEv1vQEwE5ShJV0hEC0YJTe1Uivr/1rP4DdcoGUkEsAQF5CJfCQ2BV4ifkOiWCmlnvg0hgI9+7n+dEG5IHCJnv0M1Kwo44IuecRwKt69U1uxrNVmlAEMMAH1pxx9AW3w4nWr9ew3EFNFgLYwDoz6bde3wwt7MLY9X1nl2Aou7owtkwJgzlAKzPMv4OzHHNoenZ8dQPDkCZgyBK8UhhleL1vHwERfFEH3VlG2WN/tILQUE45KaJ4glIJ2sUJMCapxFAMTA6NZIbMZG/sJrXGasQgdANiC6Dl+4I2OY3JcP7AGg/0AOaKjcN2Re+70NyjSKmrUb3uOb70f2KHvS5lLDRUsQ1sKGmMOpwny/Qvw7VtFxpXJa00zUoZXUCCA5kw6zJTR6xsA41j9whyc1W/HnnNpBXZo9z3b98OxN/qPj6HV68lfd2dV+vyL0WTQy1mYeHZ4EQRjPWE/vafMDrvWfgTyo60+Y0jOGUsmutYm+5NxTzLRtcKu7QV+VVHLybaIbLLCjJIlIkJJ6QBz3YkfjIYSY+BN/GA/gQmd81DQEK0QERwY1ge/0fXtRrluV1l1F3YRE3iGIyiQAQ49PcyapDumS4hJKH1Hx1hGrLHEEaOczoR080bOlklA/fb9aBT4gWcpWStL7I7cwHJc2ws9uy/19mPo296l7d1tqVp1kQch+n/NO0PSuUIMz27CnuuHCwQT6dArSLcU2PXDC9saBBfhueUMamsejPrtaBK8H01cuT/DoeX27nZqmYbVKnVpef7dDlVCK5iA+hqmqikMCXYTLeMQz8IZxEnGEHjVAm3wCtS3KQDv3j34kH/+7kl7k+kKVtdVfP+m9nefTnEkuuOJxaKFAdbfCx/TRCJqUm7mZ2CtPP2c3h34oQOMJWTyPJdikT5945niIZGx0pbUtCfx5CGIyRwsITHjqToYzSyVJxmYJXAOZCRSRmL76NdH6RCS3tTKBJ2o+ecJnJ/jBBng4GMlmL+q2OAgeZRBPqBzTNS3MJFfw69YLMKrbIoSJEIcIyKwuDHAMQjwcJMB9Ylve6Hl+07ftXuh07PdwAk+hk4P1APbtdxAfi016F/a01+nlAkZY/MFzZI45Fc4DckKxxiGMcMrxHjt/liYx4Wd+tMdeh8SGnIBBQdtaQDtFpDhPjCj6wOrPKsxJDr1f5VelSFhKOVq7dSpc4gTFMuIPkYCsSUmSFqyRgo0UpCTmS8LpgjIlVMUa01b25J76fQcK+x5zqXtFSdxRWmM+m1/PAndUc++01QVzlxKVAPsF9Mj/H+CIJmk/fGkp8VjgHtDB429OOp1JOkhTpMVig2we3w/nvKoseIlJhMuHcD9saoizZFwNNtDGiOLxF1JeJZ2i4zAWcI54jX/gzMO3zuu5X0MuwPbcifjv6ROU0wguwkjvdqz2vlkMChjKs/+/xPHs3ud+tMT6QP1HQSCuuOHlxe9xyurTA3EApWauaQxApDEIKcblIkTwIqObU3NKak4A2do9W2/oqz1kS/1rZ7nLSM/dK2hXfhtYNR3isYAaxU9QUNzBnoo5Qao/KiVkblmvU+TGBHNzG/a/ORJEKMUkRiRCCNeTIcCU2IcVOscstwrLyMySSop2H6gSwhG/da17Z6/Flpv0yQLwdwG9sAej7wgtF0ZEW+BnXIM5IQEKEHSIuJxks0xKQncGlfMciSytOs6Pcz4UdZdJL5SdrWFdmO0VnLt+OEHGYAO7GAXJzkjEUyAdCiYEv475MtO/em/v8gk+KwxhtGV1MJPn8E3wFGCIvG0oeIviazU1dj8CvnS5Au85MYz8A00YvqVJBTGE8/hjRjNYJaIRpQxhohoFItdPv/0uZFAgbi41EMykeyOhuORa7vBOqcynlVILVAPaKQ05nuTXOB9CC0Tb/C3SK6y3jHyTjOgWJLtq9XB/mfAqO+SulEZzyUgh6q6ZNR2KJmfYvIhm6JTxcVTTGSI9Ler1kMJNQpKv4dCPXrxv1GPChpL5SkGNjRjDXVfj6rPtvXDKA816cy0Sw59uytT7GDgh2WIPHbc/gEHtydEyinxUZQxFAz895QKLhhMP+hw3L5GUeFnHwCsiPZsSVwZdsygPBUPlPAMX1X+itBKHpH98SSPY7mxMwztAMnsOh87FoP+8LAYFBGeMVQNQbdHNos0+f5IAnv2pdO1w/Fg0nfc0DkP5fGrT9OC5q3UusQydPolf9UwW7NozoChMtW8RJr/bWqWzRitcITMVO1DgyMmf+5I5OWnLNY/GGEjNjYwCYQeg6TZbplLPA+lFgk0v1GxtgHegWaMVk2SJQn45z/P7NH5We2Tryd9rlWKUB1Dykrqf2D3P3ZMicwskAGOyTxBRk3qpdKtTuVrM+OsqRxOTqNqyuwiF9Sri0hua/bovGQ/L34cUiNVnG7swm0Ao6x920SmJRaJtR3sBt8of9zXMz+wvEAXgO6ViPdTR9OjxPV00qSoo+lu4opa0KZNKGtVoee59d5zuuHQcq2+7R0uWeIZwHyo6y0jZv2ZMaQaUcCoj3xjhy4fixkVwedwynA0hATOZRa3/9lDdjeXxUzNXxa4j+3rFvj9fVV5uL+9o/fEu8dZbEloyxdLqPLZUQa1zxvi+RgygVWGAu6PFeQd7tMYtkz09rn4rVylN+p+sL1wMOo77t6zjSMB/nGdV1yjK8SAqioBMwN13/a0dXiO23XG1iDsDhxbl4HM9MBz3+56diApsf5THrVFlX+7MGaUJJjXp2Rt+Ukp/0QisUgsv6mKfKmN+0FqtYghKJAcGEKCZ4iLHmZrqV1YflF3923L616EvdHQOiA7o367C77au3q3p6WpMjZTd9xMjiCLFqYuTu+p1e5ayNeKrVoJhw+jvDxYPX+OF2xyUaqTg8wrVZvNB6dg+pVXp//KT5jTdZ1qn8J1Kknp+PJ12JtYA2ne3Q+HUu0T4pPeRXe8el3YpP5VhI2nOdGjvOTFsglHPbXHVWnce7YRsh6uOpzM4zojK/hcj4B1weWIoJR/KAWlfm1WOIe271t9Oxydh8GFHfasj3nQeL9hckCyupZiznRHISazJswEXUKBIyXSrV5v0aflTbTEIlxhCDpgSUVc/c1FjGlzbuzDmZ/3G+UvY6v+VY0i49zOdA/ClMs14p1xIrziusk2pCLWPYUxFIvO/enNN29MeMULryAHK3gEzaKFFPIehHfVkDJaLGkMWr+8enXqDHXmmAgYlfs1f5AICi0xSYz0Zkex5Se+Lt3t0YhvYAo5ev1SivHdGv+mLgWW17eDsDsYTQqtV4rSXWACuwnNtsXNkIDzYdfT1ddzyhTkJtI8w7gY+YFfdMOtvu0+usE61i3urm6+XVAuStve8WjDtDd6vmHgWa4/tjx5fF5M+nY4tvr2g6299CoBg4SnUKbqF9kcjeG82vXd8fQAaf7v1lidaY8nx/8KU91kuze0y931vdFkfPl873p786V755xMkaI5o1m6er4zPZK5yJ7k6MPkvT2QKqjICc8HVt/vmDk6U0ddnZwAQyU1j/Lc5cmtGFrX9TbsSNLi2kEY2MPxwArs3Va0nqwkQZAIBVqmCRRIe7nHSG9daJTrmbMEzh+eaJayLOVRypPpQrvJ0JcMcaHuLNFMdNqvlsBcL1/CIRKnFBPRyQi+fttsNllGqpyvvzY4ja7AegW9c7yT89vgCY7QBnye75cZanFa/QA4Wq4Q69KlNBugN8Rz7cD2Q5loOCP3rWm0Gq1Gy7gDRrvx/JdGazvReqTgS/q/k+hDb+IGztBWO9DZIeIOQ0sqKmLI85JqoFxg7Tn+hzD4OLa/k7FOMYmXNCNiv7VOCBafax76kmGGeEfOMPWUHFPNmgnEdj0ojPRwoOPf8EgkRaCjf9Ue0Aja5UQrij8ZOEMn8PcI7NDli1JTJwleYlENI+89O4HPPI4vGM1/Vsqlvkze3FHYm4xlEjcaOn53Mpr44XvP6T3ieNLruLSXpSMyZnSJeZS9ZziWp9OBhye1Jr99+4vhejbNiMh8AlO+oEJHNqUSbIwW9Ozug967GbSX5u3bQdLZP4/jdoTav5itX94g82XrRWROX7x6bsL2m+dthJ63fkFIWgW/4c1pxpurpfw/rwE0F6swEzhpZkRq//p+Yx4jt1/gP777Kn+QPKxmUUOVBKs+49IaOD0rcEZuaHtep1Wr1ayxkxcA9MUjzw48x/Y7r1rFHlcglKQ6HfBTI79NmGBy1fhpU3j7MLZb6ja2cuDqutEW4jvQ+W/wX59a5pvP//ijsftvfe9SPddXK30sL56/aLWq2/5QNo6hf52jr9yBPRrV/nCoquV36k/3WQNMsfSaiLk8ofQqSw1glHcrSD4G2qD9alOu98i+2yH3vDckP37gd/LLzBv1Vjm+g926H/iSqdZ9fuTRBUrK7i+61Sqoe7Yyy5+M9utfG69fNNrP3zTar42fwO5y/5Ymq6rMh1/9sLKMrnZJCQxGow8yZiwKj/fYOxHjPlxFmlVFWfjtrdvm2km3f9XXzXcw9mMw6o3A0/jfPLl59ja/BgfEAnNASYSAmgowJ2cC8CxNKRMoBpDcLClDJ1WR17rUrWpR5aLjxm5VbfhOX9ghETBXf+6y4JcvX6j6r979Q2AS6gSRl5ch92/cUT67GUseyWmUsQSYKxn6wgixPP+WsRIjSCDelIO8GcFGxARYCJHyt83mfY7fbgjmYViNE9A+SpK52s7wuua0z3cXvvT/mE5VIpnvczFWFbWPXY1VF8SucHQlAelsVgDncCmj6pUmKIq2gy7m6IL5vhux6m2fjDNVL1pCEk8l9ZquHP8ME8wXKM4X2lgBPCnDqM3+yjaTZwxNKRWA6Yg//hnoAckLoTECmIA2WGKSCXSmqSoqWMCMgMEXmYjpVwJMBtrgifGIyGzX61wZyV/o2tboh6Heupwwca0gsN2e3Qsn475n9Wx/b5hdfCaT4tTvOV5H51owFfKfyqJUaTFFDNMYR8aeHnb9aYyZugkij5Aqxjvj2Va7uihFboFtAOUlyNcvXx6D1JtsjYO3b8c5kW/fal0z8/sq5gBzafxt47cz8O7d4zASKAQiMYrNSTpnMEYn41u/YJWRJeRX6h2tGOLkpsgs1yNmppGXOeduREi1Nf83EEmnxXagUeN7kBTvjZkmoeY0odHVqQir+B6DfBdzu9rHRy1QFe9Pb3p/B7Or3pG0Auso/FozdU97rZCFPmIOCK0GWdMbcAUFzG/y/gy+4iRRIFOUb3x8tqn526HK5lbkl7dBTGZm2QAxCRV4dkNJsdcHEHBB08fPzq1nc37xhmhhABttT/+jH9jDbjDY7uQ/YgGtr38B/dZVhO+3SkXP1xHS+j063W4B+s3M8kxtyNAJ6BgIRJQQFAlMCYgWKLoCEY3RWwPUN4OTA1cLEIl3vwCq+djCU6v9aI/O/ycAAP//Z7zg3Yw9AAA= - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line32.sh b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line32.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line32.sh +++ b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line32.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line9.sh b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line9.sh +++ b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/CustomData b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/CustomData index 6f9c403f5a6..9044c2d5148 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 | - H4sIAAAAAAAC/+R8e3ebRt7w//oUU0pjuzWSkB0ndZa2WMIOb2RJLyCn2STLwWIkUyMgMDhxbT2f/TlzgwEhX+K2290ne3pWZn7zu99mmOHbbzrnQdQ597KLlmFZrv3OdozTvjN0bUe3HPdYN4faPiBj/eF4OnDNkem4jnlqjKeO9pyOHJtDw32rO/3XxcgBHXk9Hg7ct/rQHE1/1U+MkaO9oAOWMTR022gAeEkB9InjmiPb0YfDAumPdGgw7r8xrLXRXrcyPBi/HQ3H+qAcVyvjb4x3DTC9CgxmAsMVw3uVYUFHPaak0/HROzJtaNqlnnpMUae2ezI52UD6QMCwJhtTW388cnRzZFiDdRCmOGs66q8PMtW9eWljgJE5OinG9rrl2BpXe0xpb6ZHBnaL0dhxj8fT0UDbY6oyT08apu2V04aGI2pqb79qxdMTdzIVWN17viZq32mCO1iHs0zM4zroZu0R1xWEerkGeWZYtjkeueboTB+aA22PqbI/Mtfl3lcLQ0+s8cAdGEcNQL11oMmbE1cfDFjAMe2NLV0wiWFZY0vbZ+qhkSoIQia+5D40mFjjI4M9ZRyPp84RlhJLN6JDzwXb6xPTtQ3rzLBEALURYDCy3eF4/GY6YWC9RjD9n1PLWAfmzqE7enMsHHQFiHoQHqjCYN3RDxgjZ68HddserDvWGuEXXSGI1kcZ5f7Udsanrm3oVv+1Oxif6ubIprK9ZAhOJtP1+S/3hEHLxJ4lRsbL/fXhunwvnwswxpnZN9zJcHpijiqIDkogc3Q8dq3xqdsfW9Z04hgD7SULB/vk1410fuyuwwgUflTLLD3QzWFpnR+F/D2dDHTHKId45NgGdvwzk8SV3bfMiUPsZBn6oMSkdrsCEZxOp5MTSx8YAoTAxmRqnTCHV7u9IkhwQrAMbAZN7TL9903b1W3bPBm51njsuJO3mqqqa2PEfyaGdWramFNNVRnaiU5SV388eUeANFUVMU8mw3fuRLftt2OLBNuxeaKpai1wixoyZmGhqjyj0TS25j6q+qICMJ4Ylu5gHdLUoKo8ezlWw+CPoEWVRYLSdvT+G/fEcFzdOnWd8RtjpKm8hNZBRobzdmy9YbJMKWJN5RW1Dm5Pj0aG404s49j8VVNxUS2C8mhqDnkuU3FdpEp5q0/cvmVgd6HK4FVJHDFH9vT42Oybxoh4xBvXnuh9Q1NxlSLQjjE0JmPLGVTSpqbyPFeOc4enw1wQyzGP9T6uV5ahn+IqyfFoKs9xDUAMmabi1EYbH8eZYCf/9Z3b17HezgzL0VSe2Fhk4CHDcmxNPSiaE8a2bfSxUp2h7R6Nx47tWPqkKKfGr0afx33hHQfcwAPTPtKHhmtOHP1oaNiaitMazZnW1HYwhnXn4sltYNp4lmvbrzX1Bfd4yzzVrXfuyOy75kRIquoL5vnmyDYsxzVPB7ZrGbaDXRR7nzXFnIycsXuqj06Ghkt40tQX+w+dd2wOHcMq5rEwGmBFGBvmHeOEV6N38NB5NXovBOe1DGwL1zL+/9S0jIHW4ylqNCZJQT8xbKaYHs9N9kif2K/HRTYUm8Yuj4yJZZ7hQVw/cSuAvbLH0xV+KLprr7vPw6Zo1091+w1Dysb6ljEwRo6pD2myHTT2xF0egbidqbc6ve4BaLXKVoQ0VZgbxv0LUBvDz7FWcfV3Va3XfVmHEIrvW90+1XrdH+9E0tN6arcOwdNR2dmrdZDpSJ86r8eW+U9sJpUrhbUh3MeL9tSwznAc42A0j80+NoU1dmj+dPQTrafuMTUNDX00nZRyuOYptrrWU/dbrWAO5kHkgw5EM6Cg6wSC+W4IlMhbQiB9r6QwhF4GJaAkaRAhoHzKAwR6P3V8eNWJ8jAEt2CRwgQon8BWe+sVQBcwagEAwNjW5O0sThFQUoK+U2DDc7zPl2Br6aHZxbbc3QWdf22bA3dovjG07VmcwjjbuTUH2nb7+50dubMLvB1wAygLKM6TBKbb3vveR+C93/u48wrALwECq60dRpn7xSM5KLzp0YTBLUApUHywJW3ttGCYQcIJnF3EQKqRjmIE5nEe+VJrHrRa06PpyJm6Y9sd6aeGJtG/pdapbhFrFQPsQTlC2sn6MH4otUh9I0vUEqB8JrXY4kjr5FnaCeOZF5JV9WV+DmcobNFKT0fxcz+eXcK0Bb8kWJukkzvTJPmm7Pu4xg+1lVSBM2xHpBJdBX7gMQKFmdS2utdWFZXPHJ2ZA1PnqIm/uvZrnZMsHojUmubgQOBsnq0U+WYD4jUsgmDOu4lRkxU/uoe0Ji1naXsZzNI4i+eoPYuXHe8yw/8piyQvWamhLZHiloi2wzSP9k8HmjTDXhaBy5dZO4hBmkdAwYF5FYRwAX2gKOkSKEoEkXIRZwgoyucAXShRBpLAP+wkaTzrqJ0o6yQBBl7GOXbr6wRq50Hk72bpTOvECeosknzXz5DWWUb0jzhBQRxlWorh7prpzQhgOZs/qGAohGR+sCYndbgmASOINCZbEvjs5xXgbB9ylouHjIFDkRuiKKmFm/C+3n9tuAPT0jpXXtqZebML2PHwvHR2EVzBrNPCDbU+wh2cAJzGMcJwdELLODNGDl40npyQHozjC+NFx/s9T2HntPAFHf/dNr4gGGWYm3Y/z1C8tGdpkKAOvIIRyjqt/tQa4gXwZOpoHbRMOrM8Dd0rmJ7HGWzHOWqR2iFCxKmXrUNYxolpO9Y71gvT/p/kJAzfmcXRPFi0r71lCFqtFKL0erb03WDuzr0gzFO4vQNuSDbDYwHMNFl9BT57AXKzEMJEk3uvAAqWMM6RJu+9AtlFMEfg2bPaD4JiHqcgAEEE5O0MfgIqkBnSnVfAjwkI/sfQAZn/kOSbX1YSxnWeQu8S3N6CDwV0MAfvgRwABX4q8IGPQini/0g6Nr7AWY6gDz5I8i8fJDwRU8leVUBTiPI0AmrxsMjp/B8RHsilIorReUB++nEkVIHNZFeNWnezIIQR+u9R/h+lUVFdURbG8WWeFFoSNaMKmsFaipEXuqKuUjiLU1+T98nUDHkpIuOavO17CIIfvstoQ/H5IgghQGkOK4ri1IFSYOUqUwiLWherBBPZoLxZnqYw2kC11O72tggIFIHXnR2gLCCQK9Jtdn7JwXCCiSvTUoiTmb/7KMmwv0JfutvWzICbrVwEy50qoTIUofQoNuP0PkVmcBZHfibhkGyKyCh2M+Sh7O8Qkzgk/z4RWWhrAZGLvPTcC8NCS8hL3bs0RcGJpvI05OFITS3fCLNXXOHSBtUJsDX1eSlQ0O9zAoKpPUR1AravVB831kEXu3UIlHlmD6+ATH7HJTM/AVmo9qD30zO1ggez9R7IP4NvNNAFH5uYIaHjoQqiCoAQgU+1rDtP46WbwkWQofTaxS2mi1uJJ1ocz5rHoQ9THPdBSpegXEnSzn+jW2C1gQQvo0WnYGrAXSpTskK7NCDfbGzpVtiNhJbwaW4kIPrD3cibzWCWuSi+hJE7j9Oq89zhOMRZ9h6TN/V+37BtulnMW2V5ey0ur4CSAeU1kE4h8nwPeYe42Et4uREnafzlGkjfS0DCNpJqxVmJgCQ3kJG4c4CGKtw4ocmLul9RQdlU+c4dqLpNUjhPYXbxFUbxZqlLDfMKIBh5EXID3FS9qihfk58/xm6WcWwZ9usHGu5XMBnbDjFgP44QjJDiXCfwEHhJEgYzD6/5Ol+Uz58/K/M4XSp5GsJoFvvQl4Qox/8UH0iLFMtA1raipz7LYHoVzKAmM4mfUWk1uZD6mQivVYxcJ3SBUJIddjocWSf2cnTR68AvswsvWsAmL2tSyt1u1jjj3+ZnZHkaxosgeqxfVeTg9eKBrkRYG45PTMGPSNolnACJWwBHe+DDCAXoWiEWVDLkB1FDFpbuSsMS+Mc//lHXvUSycWlU+CVALvZATf65VcvPxRipNxsSNTPwmnCPta4kmFdqtm/BTz1nnAeRl17f2w0wsDtMzSASD13UmwJOY70vECbVeoMqwVp7sMF1qnOqHkQjcF6j2Vj8SfOwufJXGokqSbCpHK/1E42Y7+8rKpr8o1uLR7QX97YYDW3G3a1GbcKGzmPmRSwDZa43S/+cfiPOUYJXfdt1W6QwiUGYsR6iMadsVH89eVAv+pmnh43ZwZulIMjoqt47D+HDcwM1pSRTcSSgaeB7KY9wiYrT4HfoHwL8GydLWl1BCj/lQQp96fu78pXetzBHUYxKrg4BJ/OgLYTqrpqUR/BLAmcI+iCFWRJHGQQ4IeHyUcP86HpFNlznQVjugJInD1z144k0o+0zT3peyVIirnuXMCJw1ePek9Qkc2rg48diEdO8fhFRPXEBU+xGNK5uC5b+xstbAoC73YqZ77BwaVWaFxLvCvrs1QfZ5p+Fce4rQRQgBcNmbQJBYOl70uNP2Pocz0oCMoHAVquE5AMzToF061tjfLwlqP1uN/grNoYIJPSBEgCpg9nr+FLJYBkNgqv8xNTRWrWy6wzB5QxhbyX7dI/bdwPZ1Qy3Co9sF9d8u2AD+B5cxpGSwjD2/IdMYHwDmbHyF2zYFbQz5KE8K0njpaySeAtc+8PKnN/iPI28EE9S8mLCV4VTabIMxcl/nL0w03+lsR6tVT/IcMn8j1Ms4/vvqVuaYbAoj9PrU5VJAk6hSvr7KOQKplkQR+4CcTdDMENAkrfJIZg52Pou+xBtAUn+RQK3gB2vOQO34AJ6PlAioO6QhlGSVam1apXea0TYB/TItyvJfC3NA7XbBc/BXhfIVB7LoCfQbEd3pjZfMa+nOrWa5MBPoPYKXlYVCtsO40WrVHCVAFAi2NBXs75NBbM4D33Sw55D+gJJfP1VsQRTbTAH34CGN0pA7WFJe88FYWBEI0V9EHkK7YPz6xLFZl5EawxoSBJzCKk6mAu8hEGGlDwKUAYUZY5Xk4riVY58SbLaZvtiUo3hai0AXFJZxS6+SZlxkojKXMt8D0LDYBkeJjdcXsG0Hy8TTzjRwA986Zq8TTsRFdyCWY7IRuAPEm6t2cKLgx4VoL1NoGTpdFPgXrFwKJ4crSTWplcaPhxK0C/QCwiAOJceNdvC/8NxyEPwDFDiF8HiAmbojIaxJm+bx7ZWLDoojZVUsC4TJMq8dwfr8k0V6aqJ+8LXVi0//hzhdDqA55PLhRMfi7315M0JPY/Gghv/XZzW6xWPBqZl9J2x9Y4n2uWlH6RASYBcGaZNeJ5d+EC+qYysiky+FnXYhw66XeAlSFlABDjDDAVmb6XR34y11feUUJzgztRLENkA4/OYcHdUjeqb31ctAMhxODxFw/pjElQOJGEHFyL4AZXGTy4XQGE7ClhSxcOBG6czSB76cF6eksCrHixIGM8uM/KYq0OJwSC5XBwejumZrcNDTcQSh36pMeW6fjykdV/hIkKrr0iJWi9Lr2jSZOsHrPCaHvgyPoWotWotIOpPpno6uyg8zEtnF5q8ndO2d7nTEtaYN3hwd3dFItLDfxzsS5hAbSRd4ufra1G2sUKGW2t1lo0ufT5Kck+Q6dbpwb6YYjEr2yXrOyLRZprqBmpdIccFmcU2laZp+fqdOhrb/SP7ECqLDLZjm8IF/KJt/av9w4cO/e+w/YO8VVFbOX0FtP/ByhcnFzyDeunpArEOcisCzG0YLzIXxS4971ZjF3nZJYmj8qQEHaDQOKOMvMoBke/2RjstAZAUZkc8RCJ9dwy+c9rf7Y3YfjH2W84X7yoYlcjfPJXA/ZbFkZuhNIgWmrwNfvuEO5+ycVMUL10AjCND3jIBgCRfztJKWgMdJzAlO2mmj0EZAw2ALAeTJ5La7u2tgzhedom1AyhZrMsGRAbW5BBewRAAyYzmcbokDHjhOuwpzDJvASlRXERDiKB/COTvN+CdBD6B7W4Yd5rGt24KhR0Cufi9KyrnEMjCX7tcHYdAZr92C/ExDvZzV5D2EMjlH7tctEMgs1+7hQQcchL4uwXb/KET+CsaI8LLB/lG8Auya36zfjB0Jd9UvXjVxrNaZeKUcHKTwDcaUVA1H4jpT2hvLnAD5GaXQeLSI9aunwa4ly/7bJzZv9CXKrF/rcnb5a5d9d03aHz5fYFQctjpqAc/tnvP99vs/ztLNqsTRBnyohn82UsCha0itF63pyrdntJVWcwJofY1ohJBSll5syTJWCTc1eBAhGCrPYuXSY5gG3mLbBhkCNyCpZdsZzCEM7TdJrXhlixttiX7MkhOknxAFGZiMcJQegWkQNrZ2Xnf/di+8sIcgk4HSHMvzKBUzCSKopBblXdQAo+SYB/WmbqX+TkMIXJJ6xwt3BlMUTAPZh6Cbhoj4t3/tYZjSmi2Xdpgu/cfcZcrWo6Uy8tMYagUpk+F6VMR9KlwfUo74BZQU1ZtdVPla3d3JdVDipW/WQi9SDht+n8npB5uFhxMR0Rdfaqte/WOqXKlB9mplwYRTMcpOSU/DKL8S603iDPewrDuJM7IKqV2YQYvUm5vmwDEezPrUOtXZ9ZbsupGfVBfALXglRdOvNmlt4AD1ilPrWFNDtKL3aiHykoQhhz0IK8I19+DYKxASmGWh0iTb3AzJrwzowWIjrZqG0Min1T7VNs01/2/T4yz4u0lNjl3OGyz8gwKfyMoMsfsWb5rK9rUYA4aLQokeWxXNwyy3I8B8qM5YFzhpcVvn/CyguL/7RP47GV8lHQfVT7XGnK+TOMInwMVHHS/BilRHa20eYJbQove5apZNKEm18jWV8VhJblXfcLX55K8J7FNLvJ5EU1iJ5Sr4MP4M0z7XiZkzZs4I+t4lIKt94fkZtrhxy38O8TAhx9ZtH17HKeAXirbxQaRC+IgyID6st3dB17kAylVX3b3JfzQC7MY+HAeRNDHK04c+XGEWxbSqezSXl/mF9qCjGRCFHMclK4dLIPQS8NrsnTtdTmhXq/d3W+DMbqA6ecgg02I2kwL7VIEFr2EOBBmeOFn77rkgKsPRPFnYXYZ1Q1K2Gt3qQqu9trdx2iAGU3UAEFxn/MT29XCmy8LuXmZM61YCpbafpFJzKyNURROsWp/kK7wE75B80GSdkgBiPKwMZWIDrc+t+lIQFPKqznz2wBdxDkaxKjipRwx2S6GPtjKOh/anc5iq7Iyf6Dc+XkeobydCohLsqu7pRYk3jCfyy6GOsvjDDj700O+kmCqCuFBX1XrH5Uo2HVwvuVla9s7rdZTPVOiexsbLCLyK/lw7uUhKizwZNpt+YapeNVm+Tw7693tI1SPoYfK7c5M295IX0m/hoVK51ShhVnDnJGeqTIi7ezUmExSeBXEeTb8C5ltpFlhuhFCZB4Xgyuee3FLcVPV9vtfPuLcKLw8a3LOH7RtSb654jFQoi8OHjTTalbaH0mznij/FDe+O6w25+qrP8dL3n/kFl7X+NVGHT9Iv/XjqN0yM5/mIQr0dHZRy81U1GDpLaATH8FJjjs7mqFbAHz72yfSQqzNpufG8NAsjpCHy7aJcWRtYM5Bv/rsffCxvaxjOOvx023YMLucZXThoV263c2ePARZa91raiJxizUxsjHJ3ZfgNtAgXtFA5ymp7KFp7CksPTFhPTZZnU6HjumSj2w9zKu/NkM9mlCxEKQpaXM6eJS2eeA/NOwfxja/51tpwDYvpHkPxnYFyl2CXmP/xV4o/s26L7pUCebgrtwL4JcgQ2z1scArjgsISvhhkcJSyNY+cbHK2gheJci6MPBHdH539FkCF9rTy6KATQJKWlZm8jpbGF1JoOQJPHtW1KDiO0OYIYm8EmweqqFrbd5o+RoRmfbvle2vkYtVK+ydq1bL8/03dJ91FPtw6J3D+kvGoX5kDF3bsczRibBHRw+LBECSRQB+T4Z/0Wg0HhguAbAl8BMoPzDU++lZ82EYtusLotiHIMT8gAoFupBPoedf4yqTwQjt4up8EUQLvFb3/PVzO9W2jb3Q9X08o4kCisE6F1m73ZZa1btbjVLWg6IBCBum4fFqV74RGVk1vI1uwlbhXljqpnAZX8GnmBcCaY2nJ1j44aro1Ml2CmWIzNWAdv8i5upkH8Tcv4c3zlqDRxyH3qLmDMdD/eRuXxAg1iTCYw+XhUCLUpAHnRqNTaoVYXb/FEZqNB7CyF/AR9We5eVLekWPv4LkVx5r5i1uX4o91SwMILveK7ZWwq3fPeEttvI7kORiCq5Lt7f8cTFF2nDOspgH4rQkALyUfj8tg6gNxuUtTrbsSuIsC85DuAuSNJ5BSPI2Fhd4URxdL+Oc3opbS/uVrL/pyhg9OMbvi3JQfo2z0jHx55uucLLCUmGKlivcFdKvlWCKW5za1mNFKj2wyk8EgbqJH/opF44dwDSNU0A6SLyGjYB4A2yX3GENogWvdbXXi/TGqKjWDCLwwxeqJnZRGnvY/W9BmYfyK9Lkbm7tlaj6kr4SfZbCLM7TGdT4BeulF3kLuIQRapNDwORLbM8ETy49lFrU++xWr3Fv3//xgsIzuFQ7m72jZoxNB42ZLVDMjhVeQaY0QEgflmjuV794pa8uH7vcR2zddHnvQdyss7D525YiU9UvBPAeeZ1FvgJti493aqmmet2eZZv6Y2HX7B5BEy/Nni5l4VOVDyzUnar56wvVfAPKpAkqQv0pvsY4+gOcrSLbV3tbhZ+vdbfaZwREf6txWThc5Xnd42pX/AuXqz1/rM89WdZqFSsrP9gT/anOZ6tyt/hB7kKx4qVUpVbRCsLz9tNslke4boj+XjUj2zlhR3EeUb9lBDPkkt2uVuUWKhP9K2XfLWp5hoIwrNTMr7YlpZ3lJBnN8zC8xuQX9N30A9W/arW+fW0MJ4ZlG+Pj1v8GAAD//x7OgQxIZQAA + H4sIAAAAAAAC/+R8/Xebxrbo7/orppTGdmMkITtO6hzaYgk7vMiSHiCnuUkuC8NIokagwODEdfT+9rfmCwaEHDtue3vOzVldR57Zs7/3nj1ffP9d5zKMO5detmgZluXab23HOO87Q9d2dMtxT3VzqB0C0tcfjqcD1xyZjuuY58Z46mjPaM+pOTTcN7rTf1X0HNGeV+PhwH2jD83R9Df9zBg52nPaYRlDQ7eNBoAXFECfOK45sh19OCyQ/kS7BuP+a8Pa6O11K92D8ZvRcKwPyn610v/aeNsA06vAYCYwXNF9UOkWdNRjSjofn7wlw4amXeqpxxR1brtnk7MtpI8EDBuyMbX1xyNHN0eGNdgEYYqzpqP+ZidT3esXNgYYmaOzou+gW/ZtcHXAlPZ6emJgtxiNHfd0PB0NtAOmKvP8rGHYQTlsaDiipg4Oq1Y8P3MnU4HVg2cbovadJrijTTjLxDxugm7XHnFdQagXG5AXhmWb45Frji70oTnQDpgq+yNzU+5DtTD0xBoP3IFx0gDU2wSavD5z9cGABRzT3tjSBZMYljW2tEOmHhqpgiBk4AvuQ4OJNT4xWCvjeDx1TrCUWLoR7Xom2F6fmK5tWBeGJQKojQCDke0Ox+PX0wkD6zWC6f81tYxNYO4cuqM3x8JRV4CoB+GRKnTWHf2IMXLxalC37dGmY20Qft4Vgmizl1HuT21nfO7ahm71X7mD8blujmwq2wuG4Gwy3Rz/4kDotEzsWWJkvDjc7K7L9+KZAGNcmH3DnQynZ+aoguioBDJHp2PXGp+7/bFlTSeOMdBesHCwz37bSuen7iaMQOEntczSA90cltb5Scjf08lAd4yyi0eObWDHvzBJXNl9y5w4xE6WoQ9KTGq3KxDB6XQ6ObP0gSFACGxMptYZc3i12yuCBCcEy8Bm0NQu03/ftF3dts2zkWuNx447eaOpqrrRR/xnYljnpo051VSVoZ3oJHX1x5O3BEhTVRHzZDJ86050234ztkiwnZpnmqrWAreYQ8YsLFSVZzSaxjbcR1WfVwDGE8PSHaxDmhpUlWcvx2ro/Am0qLJIUNqO3n/tnhmOq1vnrjN+bYw0lU+hdZCR4bwZW6+ZLFOKWFP5jFoHt6cnI8NxJ5Zxav6mqXhSLYLyZGoOeS5T8bxIlfJGn7h9y8DuQpXBZyWxxxzZ09NTs28aI+IRr117ovcNTcWzFIF2jKExGVvOoJI2NZXnubKfOzzt5oJYjnmq9/F8ZRn6OZ4lOR5N5TmuAYgh01Sc2mjh4zgT7OS/vXX7OtbbhWE5msoTG4sM3GVYjq2pR0Vxwti2jT5WqjO03ZPx2LEdS58U06nxm9HncV94xxE38MC0T/Sh4ZoTRz8ZGram4rRGc6Y1tR2MYdO5eHIbmDYe5dr2K019zj3eMs916607MvuuORGSqvqceb45sg3Lcc3zge1ahu1gF8XeZ00xJyNn7J7ro7Oh4RKeNPX54X3HnZpDx7CKcSyMBlgRxpZxpzjh1egd3Xdcjd5zwXktA9vCtYz/OzUtY6D1eIoajUlS0M8Mmymmx3OTPdIn9qtxkQ3ForHLI2NimRe4E8+fuBTAXtnj6Qo3iu7a6x7ysCnK9XPdfs2Qsr6+ZQyMkWPqQ5psB401cZdHIC5n6qVOr3sEWq2yFCFFFeaGcf8c1PpwO9Yqnv1dVet1X9QhhMn3jW6fa73uT3ci6Wk9tVuH4OmorOzVOsh0pE+dV2PL/C9sJpUrhZUh3MeL8tSwLnAc42A0T80+NoU1dmj+dPQzraceMDUNDX00nZRyuOY5trrWUw9Z9I1s95WhD51XTE048bfCGZiFcQA6EPlAQTcrCGb7EVBibwmB9KOSwgh6GZSAskrDGAHlYx4i0Pu5E8DrTpxHEfgC5ilcAeUj2GnvvARoAeMWAACMbU3ezZIUASUl6DsFNjzG+3QFdpYe8he7cncfdP571xy4Q/O1oe36SQqTbO+LOdB22z/u7cmdfeDtgVtAWUBJvlrBdNd71/sAvHcHH/ZeAvg5RGC9s8coc495IAeFnz2YMPgCUAqUAOxIO3stGGWQcAL9RQKkGuk4QWCW5HEgtWZhqzU9mY6cqTu23ZF+bmgS/VtqnesWsWPRwRrKHlJo1rtxo9QiMx9ZvJYAZZvUYssmrZNnaSdKfC8i6+2r/BL6KGrRGoD24vYg8a9g2oKfV1ibpMa70CT5tqwIucaPtbVUgTNsR6QSX4dB6DEChZnUtnrQVhWVjxxdmANT56iJJ7v2K52TLBpEak1jcIhwNi/Winy7BfEGFkEw5+3EqMmKm75CWpOWftpehn6aZMkMtf1k2fGuMvyfMl/lJSs1tCVSXCzRQplm2P75QJN87GUxuHqRtcMEpHkMFByY12EE5zAAipIugaLEECmLJENAUT6FaKHEGViFwXFnlSZ+R+3EWWcVYuBlkmO3vllB7TKMg/0s9bVOskKd+SrfDzKkdZYx/SNZoTCJMy3FcHeN9HwCWI7mDRUMhZDMDzbkpA7XJGAMkcZkW4UB+3kNONvHnOWikTFwLHJDFCW1cHne1/uvDHdgWlrn2ks7vucvYMfD41J/EV7DrNPCpbY+wrWdAJwmCcJwdEDLuDBGDl5Onp2R6ozji5J5x/sjT2HnvPAFHf/dNj4jGGeYm3Y/z1CytP00XKEOvIYxyjqt/tQa4qXxZOpoHbRcdfw8jdxrmF4mGWwnOWqRWUWESFIv24SwjDPTdqy3rEqmKwOSkzB8x0/iWThv33jLCLRaKUTpjb8M3HDmzrwwylO4uwduSTbDfSHMNFl9CT55IXKzCMKVJvdeAhQuYZIjTT54CbJFOEPgyZPaD4JilqQgBGEM5N0MfgQqkBnSvZcgSAgI/sfQAZn/kOTbX9cSxnWZQu8KfPkC3hfQ4Qy8A3IIFPixwAc+CFMR/0fSsfEZ+jmCAXgvyb++l/BATCV7WQFNIcrTGKhFY5HT+T8iPJBLRRS9s5D8DJJYmAW2k103at3NwgjG6D9H+X+WRkV1xVmUJFf5qtCSqBlV0AzWUoK8yBV1lUI/SQNNPiRDM+SliPRr8m7gIQie/pDRguLTIowgQGkOK4ri1IFSYOUqUwiLWherBBPZojw/T1MYb6Faand3VwQEisDr3h5Q5hDIFem2O7/kYDjBxJVhKcTJLNh/kGTYX2Eg3W1rZsDtVi6C5U6VUBmKUHoQm0n6NUVm0E/iIJNwSDZFZJy4GfJQ9k+ISRyS/5yILLQ1h8hFXnrpRVGhJeSl7l2aouBEU3ka8XCkppZvhdFrrnBpi+oE2Jr6vBQo6I8ZAcHU7qM6Ads3qo8b66iL3ToCyiyzh9dAJr+TkpmfgSzM9qD38xO1ggez9Q7Iv4DvNNAFH5qYIaHjoQqiCoAQgY+1rDtLk6WbwnmYofTGxSWmi0uJR1ocj5olUQBTHPdhSpegXEnS3n+iW2C1gRVeRotOwdSAq1SmZIVWaUC+3VrSrbEbCSXh49xIQPSnu5Hn+zDLXJRcwdidJWnVee5wHOIsBw/Jm3q/b9g23UbmpbK8uxGX10DJgPIKSOcQeYGHvGM82Ut4uZGs0uTzDZB+lICEbSTVJmclBpLcQEbizgEaZuHGAU1e1P2GGZQNle/cm6rbJIWzFGaLbzCK56cuNcxLgGDsxcgNcVH1sqJ8TX72ELtZxqll2K/uabjfwGRsO8SA/SRGMEaKc7OCx8BbraLQ9/Car/NZ+fTpkzJL0qWSpxGM/SSAgSREOf6nBECap1gGsrYVPfVJBtPr0IeazCR+QqXV5ELqJyK8VjFyndACoVV23OlwZJ3Ey9Gi14Gf/YUXz2GTlzUp5W43axzxP+ZnZHkaJfMwfqhfVeTg88U9XYmwNhyfmYIfkbRLOAEStwCO9jCAMQrRjUIsqGQoCOOGLCzdlYYl8K9//auue4lk49Ko8HOIXOyBmvxLq5afiz4y32xJ1MzAG8I91LqSYF6p2b4FP/WccRnGXnrz1WqAgd1hagax8tCiXhRwGpt1gTCoVhtUCdbKgy2uUx1T9SAagbMazcbJnxQP22f+SiFRJQm2Tccb9UQj5q/XFRVN/tmlxQPKi6+WGA1lxt2lRm3AlsrD92KWgTLX89O/pt5IcrTCq77dui1SuEpAlLEaojGnbFV/PXlQL/qFp4et2cHzUxBmdFXvXUbw/rmBmlKSqTgS0DTwo5THeIpK0vAPGBwD/BsnSzq7ghR+zMMUBtKPd+UrvW9hjuIElVwdA07mXlsI1V01KY/h5xX0EQxACrNVEmcQ4ISEp48a5gfPV2TDdRZG5Q4oabnnqh8PpBntkHnSs0qWEnF9dQkjAlc97h1JTTKnBj58KBYxzesXEdUjFzDFbkTj6rZg6R+8vCUAuNqtmPkOC5dWpXlh5V3DgB19kG1+P0ryQAnjECkYNmsTCAJLz0lPP2LrczxrCcgEAlutEpL3zDgF0p3vjfHpjqD2u93g79gYIpAwAEoIpA5mrxNIJYNlNAiu8jNTR2vdym4yBJc+wt5K9uketu8GsmsflwoPLBc3fLtgAwQeXCaxksIo8YL7DGB8A5mx8jds2BW0M+ShPCtJ46WssvLmeO6PKmN+T/I09iI8SMmLAd8UTqXJMpSs/u3shZn+O431YK0GYYanzH87xTK+/5m6pRkGi/IwvT5WmSTgFKqkf45CrmGahUnszhF3MwQzBCR5l1yCmYGdH7L38Q6Q5F8l8AWw6zUX4AtYQC8ASgzUPVIwSrIqtdat0nuNGPuAHgd2JZlvpHmgdrvgGTjoApnKYxn0bprt6M7U5ivmzVSnVpMc+BnUjuBlVaGw7SiZt0oFVwkAJYYNdTWr21TgJ3kUkBr2EtIDJPH4q2IJptpwBr4DDSdKQO1hSXvPBGFgTCNFvRd5Ch2Ay5sSxXZeRGsMaEgScwipOpwJvERhhpQ8DlEGFGWGV5OK4lWufEmy2mb7YlKN4epcALiksopdfJsyk9VKVOZG5rsXGgbL8DC54fIapv1kufKEGw38wpeuybu0ElHBF+DniGwEPpVwac0WXhz0pADtbQMlS6fbAveahUPRcrKWWJleKfhwKMGgQC8gAOJYetVsB/8PxyEPwQtAiS/C+QJm6IKGsSbvmqe2Viw6KI21VLAuEyTKrHcH6/JtFem6ifvC19atIPkU43Q6gJeTq7mTnIq19eT1Gb2PxoIb/13c1usVTQPTMvrO2HrLE+3yKghToKyAXOmmRXieLQIg31Z61kUm34g67ENH3S7wVkiZQwQ4wwwFZm+t0d+MtfWPlFCywpWpt0JkA4yPY8LdMWtUT35ftgAg1+HwEA3rj0lQuZCEHVyI4HvMNMHqag4UtqOAJVU8HLhJ6kPSGMBZeUsCr3qwIFHiX2WkmatDScBgdTU/Ph7TO1vHx5qIJYmCUmPKTf16SOtrExcRWn1JpqjNaeklTZps/YAVXtMDX8anELXWrTlE/clUT/1F4WFe6i80eTenZe9yryWsMW9x5/7+mkSkh/84OpQwgVpPusTtm2tRtrFCulsb8yzrXQa8l+SeMNOt86NDMcViVnZL1vdEos001S3UukKOCzOLbSpN0/L4nToa2/0j+xAqiwy2Y5vCOfys7fx3++n7Dv3vuP1U3qmorRy+Btr/w8oXBxc8g/rU0wXiPMitCDC3UTLPXJS49L5bjV3kZVckjsqbErSDQuOMMvIqF0R+OBjttQRAMjE74iUS6YdT8IPT/uFgxPaLsd9yvnhVwajEwfahBO73LIndDKVhPNfkXfD7R1z5lIWbonjpHGAcGfKWKwBI8uUsraUN0PEKpmQnzQwwKGOgAZDlYNIiqe3ewSaI42VXWDuAksW6bEBkYE0O4TWMAJDMeJakS8KAF23CnsMs8+aQEsWTaAQRDI6B/OMWvJMwILDdLf1OU//ObaGwYyAXv/dF5RwDWfhrn6vjGMjs134hPsbBfu4L0h4Dufxjn4t2DGT2a7+QgENOwmC/YJs3OmGwpjEiHD7It4JfkF3z282LoWv5turF6zYe1SoTp4STmwS+04iCqvlATH9CebPABZCbXYUrl16xdoM0xLV8WWfjzP6ZHqokwY0m75a7dtWzb9B4+L1AaHXc6ahHP7V7zw7b7P87SzaqE8YZ8mIf/uKtQoWtIrRet6cq3Z7SVVnMCaH2LaISQUpZebEkyVgkXNXgQIRgp+0ny1WOYBt582wYZgh8AUtvtZvBCPpot03mhi9kabMr2Vfh6myVD4jCTCxGFEkvgRRKe3t777of2tdelEPQ6QBp5kUZlIqRRFEUcqdyBiXwKAn2YZWpe5Vfwggil5TO8dz1YYrCWeh7CLppgoh3/8cajimh2XZpg+3efcBVrmg5Ml1eZQpDpTB9KkyfiqBPhetT2gNfADVl1Va3Vb7299dSPaTY9OdH0IuF26b/e0Lq/mbBwXRC1NWn2vqq3jFVrvQwO/fSMIbpOCW35IdhnH+u1QZJxksYVp0kGVml1B7M4EXKly9NAOK7mU2ozaczmyVZdaM+rC+AWvDaiyaef+XN4YBVylNrWJOD1GK36rGyFoQhFz3IEeHmOQjGCqQUZnmENPkWF2PCmRmdgGhvq7YxJPJJtU+1TXPd//nIOCtOL7HJucNhm5V3UPiJoMgcs2d51laUqeEMNFoUSPLYrm4YZHmQABTEM8C4wkuL3z/iZQXF//tH8MnLeC+pPqp8bhTkfJnGET4DKjjqfgtSojo60+YrXBJa9C1XzaIranKNbH1VHFaSe9UWvj6X5AOJbXKRD49oEruhXAUfJp9g2vcyIWveJhlZx6MU7Lw7Ji/Tjj/s4N8RBj7+wKLt+9MkBfRR2T42iFwQB2EG1Bft7iHw4gBIqfqieyjhRi/KEhDAWRjDAK84ceQnMS5ZSKWyT2t9mT9oCzOSCVHCcVC6drgMIy+NbsjStdflhHq9dvewDcZoAdNPYQabELWZFtqlCCx6CXEgjPCiT95NyQFXH4iTT8LoMqoblHDQ7lIVXB+0uw/RADOaqAGC4mvOT2xXC2++LOTmZc60ZilYagdFJjGzNkZROMW6/V66xi18g+a9JO2RCSDOo8ZUIjrc5timKwFNKa/mzG9CtEhyNEhQxUs5YrJdDAOwk3Xetzud+U5lZX5PufPLPEZ5OxUQl2TXd0stSLxlPJddDHWWxxlw9peHfCXBVBXCg76q1j8rUbCH4nzLy9Z291qtx3qmRPc2tlhE5FcK4MzLI1RY4NG02/ItU/G6zfJ5dtG720eoHiMPldudmba7lb6SfgsLlcqpQguzhjkjNVOlR9rbqzG5SuF1mOTZ8G9ktpFmhelGCJF5PBlc89yLS4rbqrbf/foB50bh8KzJOZ9qu5J8e81joERfXDxoptWstD+TZj1R/iVufHdYbc/V13+Nl7z7wC28qfHrrTq+l37r11G7ZWY+zyMU6qm/qOVmKmq49ObQSU7gJMeVHc3QLQC+//0jKSE2RtN7Y7jLT2Lk4WnbxDiyNjBnoF9texd+aC/rGC56/HYbNsw+ZxktPLRPt7tZy32QtTa9piYSt1gTI1uT3NcS3BYaxCsa6Dwmld03jT2GpUcmrIcmq/Pp0DFd8vmt+3n1t2aoBxMqFoI0JW1PBw/SNg/8+4b9/djm73wrBdj2hTSvwdiuQLlL0Gusv9iB4j+s+qJLlXAG7sq9AH4OM8RWH3O84lhAUMIPixSWQrb2SYpV1lbwKkFWhYE/o/K7o84SuNAePy0K2CSgpOXMTI6zhd61BEqewJMnxRxUfIEIMySRI8Hmrhq61vaNlm8RkWn/q7L9PXKx2Qp757rV8oLgNd1nHSUBHHqXsH7IONRPjKFrO5Y5OhP26OhlkRBIsgjA38nwbx2NxgPDJQC2BH4G5QeGej8/ab4Mw3Z9QZwEEESYH1ChQBfyKfSCGzzLZDBG+3h2XoTxHK/VvWDz3k61bGMHukGARzRRQAnY5CJrt9tSq/p2q1HKelA0AGHDNDSv9+VbkZF1w2l0E7YK98JSN4XL5Bo+xrwQSBs8PcLC91dFp062UyhDZK4GtP83MVcney/m/md446w1eMRp5M1rznA61M/u9gUBYkMi3Hd/WQi0KAVp6NRobFOtCLP/lzBSo3EfRv4GPqr2vIZpOLshX4FbQC9Ci9090ZxBsvTC2KX3hFUhef0BJFnolLbcixyMbIYDZ124XKGbjdwqN3yGrpJug3Du+gvoX7lx4lJs5MnfHDyNkxT64Gm2SFIEntJ7Vs/AU34b9xlo77Uqb6PuuMN5Sr5YgnN3CrMkuoYgTRLE2d9p7zyG8yrbDYwyGUSlFud4lSehRBTeyAUih1XMKjWa0r3FZZKKLHBJMa1jcj5IyD5IE1VvoF4GCIdg5WUZDMihU/kKmL4V5Wfh/O1tLc8Uz4DF4t6PQsjemYs1vvD8/KBV8+FiiFRRYjFkm/aKcSBJSwLAS+mH/DKI2mBcPidm6/9VkmXhZQT3wSpNfAhJAYHFBV6cxDfLJKfPMzf0W/GqbW8X6Q1G/nC57jyV0r30n+a3xKzCqTBF6ya8PKGfzcEUdzi1nYeKVKbCKj8xBOo2fug3hTh2ANM0SQFZygC08GIgPkXcJ4+pw3jOi67aOTd9uiyqNYMIPP1M1cRe7GMP+/pxPPNQ/lafPBKvnc2rL+jZ/BMca3nqQ42/9F96sTeHSxijNrmNTj4J+ETw5NJDqUW9T271ewK7X/+KRuEZXKq97d5RM8a2bDkT0gdOZ9eQKQ0Q0ncmi7r6xbeldfnYK1Ni66ZXpPfipjlfNX9+VWSq+qkKvljbZJFvhbTF5r1aqql+94Flm3qzsH37FUFXXpo9XsrCpypf+qg7VfNnQKr5BpRJE1SE+kt8jXH0JzhbRbZv9rYKP9/qbrXvWYj+VuOycLhKe93jat+aKFyu1v5Qn3u0rNVZrJz5wYHoT3U+713IlfxSrHhNX5mr6AzC8/bjbJbHeN4Q/b1qRraFx+6EPWD+lhHMkEu2XVuV59BM9G+Ufb+YyzMURlFlzvxmW1LaWU6S0SyPohtMfk4vSdxT/etW6/tXxnBiWLYxPm39/wAAAP//6NQ9SOtnAAA= @@ -29,7 +29,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line32.sh b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line32.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line32.sh +++ b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line32.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line9.sh b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line9.sh +++ b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/RawUbuntu/CustomData b/pkg/agent/testdata/RawUbuntu/CustomData index 70c14f3ab98..ab436d186cf 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/RawUbuntu/line33.sh b/pkg/agent/testdata/RawUbuntu/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/RawUbuntu/line33.sh +++ b/pkg/agent/testdata/RawUbuntu/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/RawUbuntu/line9.sh b/pkg/agent/testdata/RawUbuntu/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/RawUbuntu/line9.sh +++ b/pkg/agent/testdata/RawUbuntu/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2 diff --git a/pkg/agent/testdata/RawUbuntuContainerd/CustomData b/pkg/agent/testdata/RawUbuntuContainerd/CustomData index ed0845a3860..6d87a503063 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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 @@ -30,7 +30,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 - path: /opt/azure/containers/provision_installs.sh permissions: "0744" diff --git a/pkg/agent/testdata/RawUbuntuContainerd/line33.sh b/pkg/agent/testdata/RawUbuntuContainerd/line33.sh index 37ca6326231..4152da31b4d 100644 --- a/pkg/agent/testdata/RawUbuntuContainerd/line33.sh +++ b/pkg/agent/testdata/RawUbuntuContainerd/line33.sh @@ -66,6 +66,12 @@ if [[ "${SHOULD_CONFIGURE_CUSTOM_CA_TRUST}" == "true" ]]; then logs_to_events "AKS.CSE.configureCustomCaCertificate" configureCustomCaCertificate || exit $ERR_UPDATE_CA_CERTS fi +domain_name="mcr.microsoft.com" +if [[ -n ${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER} ]]; then + domain_name="${BOOTSTRAP_PROFILE_CONTAINER_REGISTRY_SERVER%/}" +fi +verify_DNS_health $domain_name || exit $ERR_DNS_HEALTH_FAIL + if [[ -n "${OUTBOUND_COMMAND}" ]]; then if [[ -n "${PROXY_VARS}" ]]; then eval $PROXY_VARS diff --git a/pkg/agent/testdata/RawUbuntuContainerd/line9.sh b/pkg/agent/testdata/RawUbuntuContainerd/line9.sh index 8a8a8232993..1b0ed40f260 100644 --- a/pkg/agent/testdata/RawUbuntuContainerd/line9.sh +++ b/pkg/agent/testdata/RawUbuntuContainerd/line9.sh @@ -117,6 +117,8 @@ ERR_LOOKUP_DISABLE_KUBELET_SERVING_CERTIFICATE_ROTATION_TAG=213 ERR_CLEANUP_CONTAINER_IMAGES=214 +ERR_DNS_HEALTH_FAIL=215 + if find /etc -type f,l -name "*-release" -print -quit 2>/dev/null | grep -q '.'; then OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -695,6 +697,28 @@ removeKubeletFlag() { fi } +verify_DNS_health(){ + local domain_name=$1 + if [ -z "$domain_name" ]; then + echo "DNS domain is empty" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_no_domain=$(dig +norec +short +tries=5 +timeout=5 .) + if [ $? -ne 0 ]; then + echo "Failed to resolve root domain '.'" + return $ERR_DNS_HEALTH_FAIL + fi + + dig_check_domain=$(dig +tries=5 +timeout=5 +short $domain_name) + ret_code=$? + if [ ret_code -ne 0 ] || [ -z "$dig_check_domain" ]; then + echo "Failed to resolve domain $domain_name return code: $ret_code" + return $ERR_DNS_HEALTH_FAIL + fi + echo "DNS health check passed" +} + oras_login_with_kubelet_identity() { local acr_url=$1 local client_id=$2