mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-08-23 10:12:10 +00:00
gpu: Rebuild initrd and image for kernel bump
We need to make sure that we use the latest kernel and rebuild the initrd and image for the nvidia-gpu use-cases otherwise the tests will fail since the modules are not build against the new kernel and they simply fail to load. Signed-off-by: Zvonko Kaiser <zkaiser@nvidia.com>
This commit is contained in:
parent
e20f6b2f9d
commit
bce8efca67
@ -343,6 +343,20 @@ get_latest_kernel_confidential_artefact_and_builder_image_version() {
|
|||||||
echo "${latest_kernel_artefact}-${latest_kernel_builder_image}"
|
echo "${latest_kernel_artefact}-${latest_kernel_builder_image}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get_latest_kernel_artefact_and_builder_image_version() {
|
||||||
|
local kernel_version
|
||||||
|
local kernel_kata_config_version
|
||||||
|
local latest_kernel_artefact
|
||||||
|
local latest_kernel_builder_image
|
||||||
|
|
||||||
|
kernel_version=$(get_from_kata_deps ".assets.kernel.version")
|
||||||
|
kernel_kata_config_version="$(cat "${repo_root_dir}"/tools/packaging/kernel/kata_config_version)"
|
||||||
|
latest_kernel_artefact="${kernel_version}-${kernel_kata_config_version}-$(get_last_modification "$(dirname "${kernel_builder}")")"
|
||||||
|
latest_kernel_builder_image="$(get_kernel_image_name)"
|
||||||
|
|
||||||
|
echo "${latest_kernel_artefact}-${latest_kernel_builder_image}"
|
||||||
|
}
|
||||||
|
|
||||||
#Install guest image
|
#Install guest image
|
||||||
install_image() {
|
install_image() {
|
||||||
local variant="${1:-}"
|
local variant="${1:-}"
|
||||||
@ -370,7 +384,7 @@ install_image() {
|
|||||||
|
|
||||||
|
|
||||||
latest_artefact="$(get_kata_version)-${os_name}-${os_version}-${osbuilder_last_commit}-${guest_image_last_commit}-${agent_last_commit}-${libs_last_commit}-${gperf_version}-${libseccomp_version}-${rust_version}-${image_type}"
|
latest_artefact="$(get_kata_version)-${os_name}-${os_version}-${osbuilder_last_commit}-${guest_image_last_commit}-${agent_last_commit}-${libs_last_commit}-${gperf_version}-${libseccomp_version}-${rust_version}-${image_type}"
|
||||||
if [ "${variant}" == "confidential" ]; then
|
if [[ "${variant}" == *confidential ]]; then
|
||||||
# For the confidential image we depend on the kernel built in order to ensure that
|
# For the confidential image we depend on the kernel built in order to ensure that
|
||||||
# measured boot is used
|
# measured boot is used
|
||||||
latest_artefact+="-$(get_latest_kernel_confidential_artefact_and_builder_image_version)"
|
latest_artefact+="-$(get_latest_kernel_confidential_artefact_and_builder_image_version)"
|
||||||
@ -378,6 +392,11 @@ install_image() {
|
|||||||
latest_artefact+="-$(get_latest_pause_image_artefact_and_builder_image_version)"
|
latest_artefact+="-$(get_latest_pause_image_artefact_and_builder_image_version)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ "${variant}" == "nvidia-gpu" ]]; then
|
||||||
|
# If we bump the kernel we need to rebuild the image
|
||||||
|
latest_artefact+="-$(get_latest_kernel_artefact_and_builder_image_version "${variant}")"
|
||||||
|
fi
|
||||||
|
|
||||||
latest_builder_image=""
|
latest_builder_image=""
|
||||||
|
|
||||||
install_cached_tarball_component \
|
install_cached_tarball_component \
|
||||||
@ -465,7 +484,7 @@ install_initrd() {
|
|||||||
"$(get_last_modification "${repo_root_dir}/tools/packaging/static-build/agent")")
|
"$(get_last_modification "${repo_root_dir}/tools/packaging/static-build/agent")")
|
||||||
|
|
||||||
latest_artefact="$(get_kata_version)-${os_name}-${os_version}-${osbuilder_last_commit}-${guest_image_last_commit}-${agent_last_commit}-${libs_last_commit}-${gperf_version}-${libseccomp_version}-${rust_version}-${initrd_type}"
|
latest_artefact="$(get_kata_version)-${os_name}-${os_version}-${osbuilder_last_commit}-${guest_image_last_commit}-${agent_last_commit}-${libs_last_commit}-${gperf_version}-${libseccomp_version}-${rust_version}-${initrd_type}"
|
||||||
if [ "${variant}" == "confidential" ]; then
|
if [[ "${variant}" == *confidential ]]; then
|
||||||
# For the confidential initrd we depend on the kernel built in order to ensure that
|
# For the confidential initrd we depend on the kernel built in order to ensure that
|
||||||
# measured boot is used
|
# measured boot is used
|
||||||
latest_artefact+="-$(get_latest_kernel_confidential_artefact_and_builder_image_version)"
|
latest_artefact+="-$(get_latest_kernel_confidential_artefact_and_builder_image_version)"
|
||||||
@ -473,6 +492,11 @@ install_initrd() {
|
|||||||
latest_artefact+="-$(get_latest_pause_image_artefact_and_builder_image_version)"
|
latest_artefact+="-$(get_latest_pause_image_artefact_and_builder_image_version)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ "${variant}" == "nvidia-gpu" ]]; then
|
||||||
|
# If we bump the kernel we need to rebuild the initrd as well
|
||||||
|
latest_artefact+="-$(get_latest_kernel_artefact_and_builder_image_version "${variant}")"
|
||||||
|
fi
|
||||||
|
|
||||||
latest_builder_image=""
|
latest_builder_image=""
|
||||||
|
|
||||||
[[ "${ARCH}" == "aarch64" && "${CROSS_BUILD}" == "true" ]] && echo "warning: Don't cross build initrd for aarch64 as it's too slow" && exit 0
|
[[ "${ARCH}" == "aarch64" && "${CROSS_BUILD}" == "true" ]] && echo "warning: Don't cross build initrd for aarch64 as it's too slow" && exit 0
|
||||||
|
Loading…
Reference in New Issue
Block a user