mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 13:37:30 +00:00
Support split test tarballs in get-kube-binaries.sh
This commit is contained in:
parent
3469579a63
commit
56949c7834
@ -150,11 +150,8 @@ function extract_arch_tarball() {
|
|||||||
platforms_dir="${KUBE_ROOT}/platforms/${platform}/${arch}"
|
platforms_dir="${KUBE_ROOT}/platforms/${platform}/${arch}"
|
||||||
echo "Extracting ${tarfile} into ${platforms_dir}"
|
echo "Extracting ${tarfile} into ${platforms_dir}"
|
||||||
mkdir -p "${platforms_dir}"
|
mkdir -p "${platforms_dir}"
|
||||||
# Tarball looks like kubernetes/{client,server}/bin/BINARY"
|
# Tarball looks like kubernetes/{client,server,test}/bin/BINARY"
|
||||||
tar -xzf "${tarfile}" --strip-components 3 -C "${platforms_dir}"
|
tar -xzf "${tarfile}" --strip-components 3 -C "${platforms_dir}"
|
||||||
# Create convenience symlink
|
|
||||||
ln -sf "${platforms_dir}" "$(dirname "${tarfile}")/bin"
|
|
||||||
echo "Add '$(dirname "${tarfile}")/bin' to your PATH to use newly-installed binaries."
|
|
||||||
}
|
}
|
||||||
|
|
||||||
detect_kube_release
|
detect_kube_release
|
||||||
@ -199,11 +196,10 @@ if [[ -n "${NODE_TAR:-}" ]]; then
|
|||||||
echo "Will download and extract ${NODE_TAR} from ${DOWNLOAD_URL_PREFIX}"
|
echo "Will download and extract ${NODE_TAR} from ${DOWNLOAD_URL_PREFIX}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
TESTS_TAR="kubernetes-test.tar.gz"
|
|
||||||
DOWNLOAD_TESTS_TAR=false
|
DOWNLOAD_TESTS_TAR=false
|
||||||
if [[ -n "${KUBERNETES_DOWNLOAD_TESTS-}" ]]; then
|
if [[ -n "${KUBERNETES_DOWNLOAD_TESTS-}" ]]; then
|
||||||
DOWNLOAD_TESTS_TAR=true
|
DOWNLOAD_TESTS_TAR=true
|
||||||
echo "Will download and extract ${TESTS_TAR} from ${DOWNLOAD_URL_PREFIX}"
|
echo "Will download and extract kubernetes-test tarball(s) from ${DOWNLOAD_URL_PREFIX}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${DOWNLOAD_CLIENT_TAR}" == false && \
|
if [[ "${DOWNLOAD_CLIENT_TAR}" == false && \
|
||||||
@ -233,11 +229,40 @@ fi
|
|||||||
if "${DOWNLOAD_CLIENT_TAR}"; then
|
if "${DOWNLOAD_CLIENT_TAR}"; then
|
||||||
download_tarball "${KUBE_ROOT}/client" "${CLIENT_TAR}"
|
download_tarball "${KUBE_ROOT}/client" "${CLIENT_TAR}"
|
||||||
extract_arch_tarball "${KUBE_ROOT}/client/${CLIENT_TAR}" "${CLIENT_PLATFORM}" "${CLIENT_ARCH}"
|
extract_arch_tarball "${KUBE_ROOT}/client/${CLIENT_TAR}" "${CLIENT_PLATFORM}" "${CLIENT_ARCH}"
|
||||||
|
ln -s "${KUBE_ROOT}/platforms/${CLIENT_PLATFORM}/${CLIENT_ARCH}" "${KUBE_ROOT}/client/bin"
|
||||||
|
echo "Add '${KUBE_ROOT}/client/bin' to your PATH to use newly-installed binaries."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if "${DOWNLOAD_TESTS_TAR}"; then
|
if "${DOWNLOAD_TESTS_TAR}"; then
|
||||||
download_tarball "${KUBE_ROOT}/test" "${TESTS_TAR}"
|
TESTS_PORTABLE_TAR="kubernetes-test-portable.tar.gz"
|
||||||
echo "Extracting ${TESTS_TAR} into ${KUBE_ROOT}"
|
download_tarball "${KUBE_ROOT}/test" "${TESTS_PORTABLE_TAR}" || true
|
||||||
# Strip leading "kubernetes/"
|
if [[ -f "${KUBE_ROOT}/test/${TESTS_PORTABLE_TAR}" ]]; then
|
||||||
tar -xzf "${KUBE_ROOT}/test/${TESTS_TAR}" --strip-components 1 -C "${KUBE_ROOT}"
|
echo "Extracting ${TESTS_PORTABLE_TAR} into ${KUBE_ROOT}"
|
||||||
|
# Strip leading "kubernetes/"
|
||||||
|
tar -xzf "${KUBE_ROOT}/test/${TESTS_PORTABLE_TAR}" --strip-components 1 -C "${KUBE_ROOT}"
|
||||||
|
|
||||||
|
# Next, download platform-specific test tarballs for all relevant platforms
|
||||||
|
TEST_PLATFORM_TUPLES=(
|
||||||
|
"${CLIENT_PLATFORM}/${CLIENT_ARCH}"
|
||||||
|
"${SERVER_PLATFORM}/${SERVER_ARCH}"
|
||||||
|
)
|
||||||
|
if [[ -n "${NODE_PLATFORM:-}" && -n "${NODE_ARCH:-}" ]]; then
|
||||||
|
TEST_PLATFORM_TUPLES+=("${NODE_PLATFORM}/${NODE_ARCH}")
|
||||||
|
fi
|
||||||
|
# Loop over only the unique tuples
|
||||||
|
for TUPLE in $(printf "%s\n" "${TEST_PLATFORM_TUPLES[@]}" | sort -u); do
|
||||||
|
OS=$(echo "${TUPLE}" | cut -d/ -f1)
|
||||||
|
ARCH=$(echo "${TUPLE}" | cut -d/ -f2)
|
||||||
|
TEST_PLATFORM_TAR="kubernetes-test-${OS}-${ARCH}.tar.gz"
|
||||||
|
download_tarball "${KUBE_ROOT}/test" "${TEST_PLATFORM_TAR}"
|
||||||
|
extract_arch_tarball "${KUBE_ROOT}/test/${TEST_PLATFORM_TAR}" "${OS}" "${ARCH}"
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo "Failed to download portable test tarball, falling back to mondo test tarball."
|
||||||
|
TESTS_MONDO_TAR="kubernetes-test.tar.gz"
|
||||||
|
download_tarball "${KUBE_ROOT}/test" "${TESTS_MONDO_TAR}"
|
||||||
|
echo "Extracting ${TESTS_MONDO_TAR} into ${KUBE_ROOT}"
|
||||||
|
# Strip leading "kubernetes/"
|
||||||
|
tar -xzf "${KUBE_ROOT}/test/${TESTS_MONDO_TAR}" --strip-components 1 -C "${KUBE_ROOT}"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user