Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -68,14 +68,14 @@ dnf_download() {
retries=$1; wait_sleep=$2; timeout=$3; downloadDir=$4; shift && shift && shift && shift
mkdir -p "${downloadDir}"
for i in $(seq 1 $retries); do
dnf download --downloaddir="${downloadDir}" "$@" && break || \
dnf download --resolve --downloaddir="${downloadDir}" "$@" && break || \
if [ $i -eq $retries ]; then
return 1
else
sleep "$wait_sleep"
dnf_makecache
fi
done
echo Executed dnf download --downloaddir="\"${downloadDir}\"" "$@" $i times;
echo Executed dnf download --resolve --downloaddir="\"${downloadDir}\"" "$@" $i times;
}
#EOF
80 changes: 65 additions & 15 deletions parts/linux/cloud-init/artifacts/mariner/cse_install_mariner.sh
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,20 @@ installCredentialProviderFromPMC() {
mv "/usr/local/bin/azure-acr-credential-provider" "$CREDENTIAL_PROVIDER_BIN_DIR/acr-credential-provider"
}

getPackageCacheRoot() {
echo "${RPM_PACKAGE_CACHE_BASE_DIR:-/opt}"
}

getPackageCacheDir() {
local packageName="${1}"
echo "$(getPackageCacheRoot)/${packageName}"
}

getPackageDownloadDir() {
local packageName="${1}"
echo "$(getPackageCacheDir "${packageName}")/downloads"
}

installKubeletKubectlPkgFromPMC() {
local desiredVersion="${1}"
installRPMPackageFromFile "kubelet" $desiredVersion || exit $ERR_KUBELET_INSTALL_FAIL
Expand Down Expand Up @@ -345,10 +359,11 @@ installNvidiaManagedExpPkgFromCache() {
mkdir -p /var/lib/kubelet/device-plugins

for packageName in $(managedGPUPackageList); do
downloadDir="/opt/${packageName}/downloads"
downloadDir="$(getPackageDownloadDir "${packageName}")"
packageCacheDir="$(getPackageCacheDir "${packageName}")"
if isPackageInstalled "${packageName}"; then
echo "${packageName} is already installed, skipping."
rm -rf $(dirname ${downloadDir})
rm -rf "${packageCacheDir}"
continue
fi

Expand All @@ -359,22 +374,23 @@ installNvidiaManagedExpPkgFromCache() {
fi

logs_to_events "AKS.CSE.install${packageName}.dnf_install" "dnf_install 30 1 600 ${rpmFile}" || exit $ERR_APT_INSTALL_TIMEOUT
rm -rf $(dirname ${downloadDir})
rm -rf "${packageCacheDir}"
done
}

installRPMPackageFromFile() {
local packageName="${1}"
local desiredVersion="${2}"
echo "installing ${packageName} version ${desiredVersion}"
downloadDir="/opt/${packageName}/downloads"
packagePrefix="${packageName}-${desiredVersion}-*"
local downloadDir
downloadDir="$(getPackageDownloadDir "${packageName}")"
local rpmPattern="${packageName}-${desiredVersion}"

rpmFile=$(find "${downloadDir}" -maxdepth 1 -name "${packagePrefix}" -print -quit 2>/dev/null) || rpmFile=""
rpmFile=$(find "${downloadDir}" -maxdepth 1 -type f -name "${rpmPattern}*.rpm" -print -quit 2>/dev/null) || rpmFile=""
if [ -z "${rpmFile}" ]; then
if fallbackToKubeBinaryInstall "${packageName}" "${desiredVersion}"; then
echo "Successfully installed ${packageName} version ${desiredVersion} from binary fallback"
rm -rf ${downloadDir}
rm -rf "${downloadDir}"
return 0
fi
# query all package versions and get the latest version for matching k8s version
Expand All @@ -385,26 +401,60 @@ installRPMPackageFromFile() {
fi
echo "Did not find cached rpm file, downloading ${packageName} version ${fullPackageVersion}"
downloadPkgFromVersion "${packageName}" ${fullPackageVersion} "${downloadDir}"
rpmFile=$(find "${downloadDir}" -maxdepth 1 -name "${packagePrefix}" -print -quit 2>/dev/null) || rpmFile=""
rpmFile=$(find "${downloadDir}" -maxdepth 1 -type f -name "${rpmPattern}*.rpm" -print -quit 2>/dev/null) || rpmFile=""
fi
if [ -z "${rpmFile}" ]; then
if [ -z "${rpmFile}" ]; then
echo "Failed to locate ${packageName} rpm"
return 1
fi

if ! dnf_install 30 1 600 ${rpmFile}; then
local rpmArgs=("${rpmFile}")
local -a cachedRpmFiles=()
mapfile -t cachedRpmFiles < <(find "${downloadDir}" -maxdepth 1 -type f -name "*.rpm" -print 2>/dev/null | sort)

# selecting the correct version of dependency rpms from the cache
for cachedRpm in "${cachedRpmFiles[@]}"; do
if [ "${cachedRpm}" = "${rpmFile}" ]; then
continue
fi

local cachedBaseName
cachedBaseName=$(basename "${cachedRpm}")

case "${cachedBaseName}" in
${packageName}-${desiredVersion}-*.rpm)
rpmArgs+=("${cachedRpm}")
continue
;;
${packageName}-*.rpm)
echo "Skipping cached ${packageName} rpm ${cachedBaseName} because it does not match desired version ${desiredVersion}"
continue
;;
esac

rpmArgs+=("${cachedRpm}")
done

if [ ${#rpmArgs[@]} -gt 1 ]; then
echo "Installing ${packageName} with cached dependency RPMs: ${rpmArgs[*]}"
fi

# When dependency RPMs are cached, they are included in the argument list to dnf_install.
# When no dependency RPM is cached, only the main package RPM is included.
# And dnf_install will handle installing dependencies from configured repos (downloading from network) as needed.
if ! dnf_install 30 1 600 "${rpmArgs[@]}"; then
exit $ERR_APT_INSTALL_TIMEOUT
fi
mv "/usr/bin/${packageName}" "/usr/local/bin/${packageName}"
rm -rf ${downloadDir}
rm -rf "${downloadDir}"
}

downloadPkgFromVersion() {
packageName="${1:-}"
packageVersion="${2:-}"
downloadDir="${3:-"/opt/${packageName}/downloads"}"
mkdir -p ${downloadDir}
dnf_download 30 1 600 ${downloadDir} ${packageName}-${packageVersion} || exit $ERR_APT_INSTALL_TIMEOUT
downloadDir="${3:-$(getPackageDownloadDir "${packageName}")}"
mkdir -p "${downloadDir}"
dnf_download 30 1 600 "${downloadDir}" ${packageName}-${packageVersion} || exit $ERR_APT_INSTALL_TIMEOUT
echo "Succeeded to download ${packageName} version ${packageVersion}"
}

Expand Down Expand Up @@ -461,7 +511,7 @@ cleanUpGPUDrivers() {
rm -Rf $GPU_DEST /opt/gpu

for packageName in $(managedGPUPackageList); do
rm -rf "/opt/${packageName}"
rm -rf "$(getPackageCacheDir "${packageName}")"
done
}

Expand Down
4 changes: 2 additions & 2 deletions pkg/agent/testdata/AzureLinuxV2+Kata/CustomData
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ write_files:
encoding: gzip
owner: root
content: !!binary |
H4sIAAAAAAAC/8yUTW/aShSG9/4VbxwLQSTDJffezUVcJVKIVKlNF11kEVI0eI7xCDPjzAdJFPjvlY1x7BDaoFZtWA0z5/M5Pu/xUW8qZG/KTOJ5FCUK/hfldCTkDJGhSUJpRtpMuDBWq65JECuNT0wLSdr3PC7jJWkjlExVNL8+/yikezifkbTtDp48ANhEvVJgmV0wPQfdObFkKUlbBLu4usT0EZxi5lLbxYcYNhEGwkBSRMYw/QjGOYzLMqU3TlzGqCVGlrqZkL639rwyzbuohct4smBziliUUFWFJqsFmWH/r+Jvw2iinM2cHfbsIutxGYfVS1c5W9jnOQWERNA2dIc+gjJgZwCuCpP8d4R2Xlnlj/ARp/+3+ljBEiF4LS1WmGnKEI7gf23fXI9u/+uedFbtGxrdat096QR+B60WxlWWiNk9oVotTDWxOVart9hXFiLGDQKBkO6qznA7gE1IVkYlRqcl+tUlpYZgUqIM/1aXsdhAVpKeP4HRA0XOEscOoUDAigWZ7fSENJal6c7sgv4A90zYSZFvGJwOCj/l7DD4ewCTiLhA0DwcMr+8tDJ7UdjT2XoP058j1rDY0AueO2u8NuZ2AOFaG2M/OBv7FeaBty4wa1qoJf0hypvk7wHyj1GWtX4Hpcs4s1uUDal5ft1Rmc11KTFvQFeKy8YNYUgPUeo4YWGSZZjmwpsqxknXnuakJaVhbpFXH4aaYk0m2RGlRomHKVKlLs0YuxN93dB746AbI95RnWKI5Qh3B7hFVidQE528Jq7uZY7v0HXY+l0IPQz+2bsezT1ZzLnQCDP4wVMtwNo/dIu2zgjD7ZELPXwZFn5w5v+uHfNrS+b/Einb1+X4RZ9jv+y0vp7Ho8+X3rcAAAD//zMWcJJzCQAA
H4sIAAAAAAAC/8yUT2/aShTF9/4UJ46FIJLhkffepogqkUKkSm266CKLkKLBc41HmBln/pBEge9e2RjHDkkT1KoNK5i5c//8DvccHvSmQvamzCSeR1Gi4H9TTkdCzhAZmiSUZqTNhAtjteqaBLHS+MK0kKR9z+MyXpI2QslURfPL089CurvTGUnb7uDBA4BN1gsFltkF03PQjRNLlpK0RbKzi3NM78EpZi61XXyKYRNhIAwkRWQM0/dgnMO4LFN684jLGLXCyFI3E9L31p5XlnkXvXAZTxZsThGLEqq60GS1IDPs/1P8bARNlLOZs8OeXWQ9LuOwuukqZ4v4vKaAkAjahm7QR1Am7AzAVRGSfw7Qzjur3iO8x/HHVh8rWCIEz5XFCjNNGcIR/O/tq8vR9YfuUWfVvqLRtdbdo07gd9BqYVxViZh9IVWrhakmNsdq9Zb4KkLEuEIgENJNNRmuB7AJySqoxOi0RL86pNQQTEqU4f/qMBYbyErS419gdEeRs8SxQygQsGJBZquekMayNN3RLugPcMuEnRT1hsHxoHinnB0G/w5gEhEXCJpf9tEvb62sXjT2cLJ+gemvEWtEbOgFj5M1bhu67UG4NsbYD07GfoV54K0LzJoWakl/ifKm+HuA/DrKstefoHQZZ3aLsmE1j7c7LrM5Li3mDehKc9k8QxjSXZQ6TliYZBmmufGminHStas5aUlpmEfk3YehpliTSXZMqdHifo5UuUszx66izwd6bxS6IfGO6xQilhLuCrhFVidQM528J65uZY5v33XYvjsTehj89+J6NPdkMedCI8zgBw+1BGt/3y3aPi7mMirNNyrcHnKhh08LwA9O/D+1bX5t3fzfYmqvzzt+MvHYL2eur+zh6Ou59yMAAP//az4jV4cJAAA=

- path: /opt/azure/containers/provision_start.sh
permissions: "0744"
Expand Down Expand Up @@ -58,7 +58,7 @@ write_files:
encoding: gzip
owner: root
content: !!binary |
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

- path: /opt/azure/containers/provision_configs.sh
permissions: "0744"
Expand Down
Loading
Loading