tools: Add support for caching Nydus artefacts

Let's add support for caching Nydus artefacts that are generated using
the kata-deploy local-build scripts.

Right now those are not used, but we'll switch to using them very soon
as part of upcoming changes of how we build the components we test in
our CI.

Fixes: #6480

Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
Signed-off-by: Gabriela Cervantes <gabriela.cervantes.tellez@intel.com>
This commit is contained in:
Fabiano Fidêncio 2023-03-16 12:45:20 +01:00
parent cb4cbe2958
commit 7aed8f8c80

View File

@ -34,6 +34,12 @@ cache_kernel_artifacts() {
create_cache_asset "${kernel_tarball_name}" "${current_kernel_version}" "${current_kernel_image}" create_cache_asset "${kernel_tarball_name}" "${current_kernel_version}" "${current_kernel_image}"
} }
cache_nydus_artifacts() {
local nydus_tarball_name="kata-static-nydus.tar.xz"
local current_nydus_version="$(get_from_kata_deps "externals.nydus.version")"
create_cache_asset "${nydus_tarball_name}" "${current_nydus_version}" ""
}
create_cache_asset() { create_cache_asset() {
local component_name="${1}" local component_name="${1}"
local component_version="${2}" local component_version="${2}"
@ -60,6 +66,7 @@ Usage: $0 "[options]"
-k Kernel cache -k Kernel cache
* Export KERNEL_FLAVOUR="kernel|kernek-experimental|kernel-arm-experimental|kernel-dragonball-experimental" for a specific build * Export KERNEL_FLAVOUR="kernel|kernek-experimental|kernel-arm-experimental|kernel-dragonball-experimental" for a specific build
The default KERNEL_FLAVOUR value is "kernel" The default KERNEL_FLAVOUR value is "kernel"
-n Nydus cache
-h Shows help -h Shows help
EOF EOF
)" )"
@ -69,8 +76,9 @@ main() {
local cloud_hypervisor_component="${cloud_hypervisor_component:-}" local cloud_hypervisor_component="${cloud_hypervisor_component:-}"
local firecracker_component="${firecracker_component:-}" local firecracker_component="${firecracker_component:-}"
local kernel_component="${kernel_component:-}" local kernel_component="${kernel_component:-}"
local nydus_component="${nydus_component:-}"
local OPTIND local OPTIND
while getopts ":cFkh:" opt while getopts ":cFknh:" opt
do do
case "$opt" in case "$opt" in
c) c)
@ -82,6 +90,9 @@ main() {
k) k)
kernel_component="1" kernel_component="1"
;; ;;
n)
nydus_component="1"
;;
h) h)
help help
exit 0; exit 0;
@ -98,6 +109,7 @@ main() {
[[ -z "${cloud_hypervisor_component}" ]] && \ [[ -z "${cloud_hypervisor_component}" ]] && \
[[ -z "${firecracker_component}" ]] && \ [[ -z "${firecracker_component}" ]] && \
[[ -z "${kernel_component}" ]] && \ [[ -z "${kernel_component}" ]] && \
[[ -z "${nydus_component}" ]] && \
help && die "Must choose at least one option" help && die "Must choose at least one option"
mkdir -p "${WORKSPACE}/artifacts" mkdir -p "${WORKSPACE}/artifacts"
@ -107,6 +119,7 @@ main() {
[ "${cloud_hypervisor_component}" == "1" ] && cache_clh_artifacts [ "${cloud_hypervisor_component}" == "1" ] && cache_clh_artifacts
[ "${firecracker_component}" == "1" ] && cache_firecracker_artifacts [ "${firecracker_component}" == "1" ] && cache_firecracker_artifacts
[ "${kernel_component}" == "1" ] && cache_kernel_artifacts [ "${kernel_component}" == "1" ] && cache_kernel_artifacts
[ "${nydus_component}" == "1" ] && cache_nydus_artifacts
ls -la "${WORKSPACE}/artifacts/" ls -la "${WORKSPACE}/artifacts/"
popd popd