mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-08-22 17:59:31 +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}"
|
||||
}
|
||||
|
||||
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_image() {
|
||||
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}"
|
||||
if [ "${variant}" == "confidential" ]; then
|
||||
if [[ "${variant}" == *confidential ]]; then
|
||||
# For the confidential image we depend on the kernel built in order to ensure that
|
||||
# measured boot is used
|
||||
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)"
|
||||
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=""
|
||||
|
||||
install_cached_tarball_component \
|
||||
@ -465,7 +484,7 @@ install_initrd() {
|
||||
"$(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}"
|
||||
if [ "${variant}" == "confidential" ]; then
|
||||
if [[ "${variant}" == *confidential ]]; then
|
||||
# For the confidential initrd we depend on the kernel built in order to ensure that
|
||||
# measured boot is used
|
||||
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)"
|
||||
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=""
|
||||
|
||||
[[ "${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