mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-08-14 22:24:14 +00:00
packaging: adding caching capability for kernel
The SEV initrd build requires kernel modules. So, for SEV case, we need to cache kernel modules tarball in addition to kernel tarball. Fixes: #6572 Signed-Off-By: Unmesh Deodhar <udeodhar@amd.com>
This commit is contained in:
parent
12c5ef9020
commit
76ae7a3abe
@ -188,6 +188,39 @@ install_initrd_sev() {
|
||||
install_initrd "initrd-sev" "sev"
|
||||
}
|
||||
|
||||
#Install kernel component helper
|
||||
install_cached_kernel_tarball_component() {
|
||||
local kernel_name=${1}
|
||||
|
||||
install_cached_tarball_component \
|
||||
"${kernel_name}" \
|
||||
"${jenkins_url}/job/kata-containers-main-${kernel_name}-$(uname -m)/${cached_artifacts_path}" \
|
||||
"${kernel_version}-${kernel_kata_config_version}" \
|
||||
"$(get_kernel_image_name)" \
|
||||
"${final_tarball_name}" \
|
||||
"${final_tarball_path}" \
|
||||
|| return 1
|
||||
|
||||
if [[ "${kernel_name}" != "kernel-sev" ]]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
# SEV specific code path
|
||||
install_cached_tarball_component \
|
||||
"${kernel_name}" \
|
||||
"${jenkins_url}/job/kata-containers-main-${kernel_name}-$(uname -m)/${cached_artifacts_path}" \
|
||||
"${kernel_version}-${kernel_kata_config_version}" \
|
||||
"$(get_kernel_image_name)" \
|
||||
"kata-static-kernel-sev-modules.tar.xz" \
|
||||
"${workdir}/kata-static-kernel-sev-modules.tar.xz" \
|
||||
|| return 1
|
||||
|
||||
mkdir -p "${module_dir}"
|
||||
tar xvf "${workdir}/kata-static-kernel-sev-modules.tar.xz" -C "${module_dir}" && return 0
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
#Install kernel asset
|
||||
install_kernel_helper() {
|
||||
local kernel_version_yaml_path="${1}"
|
||||
@ -199,7 +232,9 @@ install_kernel_helper() {
|
||||
local module_dir=""
|
||||
|
||||
if [[ "${kernel_name}" == "kernel-sev" ]]; then
|
||||
job_name="kata-containers-main-${kernel_name}-sev-$(uname -m)"
|
||||
kernel_version="$(get_from_kata_deps assets.kernel.sev.version)"
|
||||
default_patches_dir="${repo_root_dir}/tools/packaging/kernel/patches"
|
||||
module_dir="${repo_root_dir}/tools/packaging/kata-deploy/local-build/build/kernel-sev/builddir/kata-linux-${kernel_version#v}-${kernel_kata_config_version}/lib/modules/${kernel_version#v}"
|
||||
fi
|
||||
|
||||
install_cached_kernel_tarball_component ${kernel_name} ${module_dir} && return 0
|
||||
|
@ -33,8 +33,21 @@ cache_kernel_artifacts() {
|
||||
local kernel_tarball_name="kata-static-${KERNEL_FLAVOUR}.tar.xz"
|
||||
local current_kernel_image="$(get_kernel_image_name)"
|
||||
local current_kernel_kata_config_version="$(cat ${repo_root_dir}/tools/packaging/kernel/kata_config_version)"
|
||||
local current_kernel_version="$(get_from_kata_deps "assets.${KERNEL_FLAVOUR}.version")-${current_kernel_kata_config_version}"
|
||||
create_cache_asset "${kernel_tarball_name}" "${current_kernel_version}" "${current_kernel_image}"
|
||||
local current_kernel_version="$(get_from_kata_deps "assets.${KERNEL_FLAVOUR}.version")"
|
||||
local kernel_modules_tarball_path="${repo_root_dir}/tools/packaging/kata-deploy/local-build/build/kata-static-kernel-sev-modules.tar.xz"
|
||||
|
||||
if [[ "${KERNEL_FLAVOUR}" == "kernel-sev" ]]; then
|
||||
current_kernel_version="$(get_from_kata_deps "assets.kernel.sev.version")"
|
||||
fi
|
||||
|
||||
create_cache_asset "${kernel_tarball_name}" "${current_kernel_version}-${current_kernel_kata_config_version}" "${current_kernel_image}"
|
||||
if [[ "${KERNEL_FLAVOUR}" == "kernel-sev" ]]; then
|
||||
module_dir="${repo_root_dir}/tools/packaging/kata-deploy/local-build/build/kernel-sev/builddir/kata-linux-${current_kernel_version#v}-${current_kernel_kata_config_version}/lib/modules/${current_kernel_version#v}"
|
||||
if [ ! -f "${kernel_modules_tarball_path}" ]; then
|
||||
tar cvfJ "${kernel_modules_tarball_path}" "${module_dir}/kernel/drivers/virt/coco/efi_secret/"
|
||||
fi
|
||||
create_cache_asset "kata-static-kernel-sev-modules.tar.xz" "${current_kernel_version}-${current_kernel_kata_config_version}" "${current_kernel_image}"
|
||||
fi
|
||||
}
|
||||
|
||||
cache_nydus_artifacts() {
|
||||
|
Loading…
Reference in New Issue
Block a user