mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-08-15 14:43:51 +00:00
cache_components: Add support for caching firmwares
As we're already doing for some components, let's also add support for caching firmwares. TD-Shim and TDVF are the ones supported for now. Fixes: #5360, #5361 Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
This commit is contained in:
parent
d910a79a3f
commit
fdd6826d40
@ -14,6 +14,7 @@ source "${script_dir}/../scripts/lib.sh"
|
|||||||
|
|
||||||
export KATA_BUILD_CC="${KATA_BUILD_CC:-}"
|
export KATA_BUILD_CC="${KATA_BUILD_CC:-}"
|
||||||
export TEE="${TEE:-}"
|
export TEE="${TEE:-}"
|
||||||
|
export FIRMWARE="${FIRMWARE:-}"
|
||||||
|
|
||||||
cache_qemu_artifacts() {
|
cache_qemu_artifacts() {
|
||||||
local qemu_tarball_name="kata-static-cc-qemu.tar.xz"
|
local qemu_tarball_name="kata-static-cc-qemu.tar.xz"
|
||||||
@ -47,6 +48,26 @@ 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_firmware_artifacts() {
|
||||||
|
case ${FIRMWARE} in
|
||||||
|
"td-shim")
|
||||||
|
firmware_tarball_name="kata-static-cc-tdx-td-shim.tar.xz"
|
||||||
|
current_firmware_image="$(get_td_shim_image_name)"
|
||||||
|
current_firmware_version="$(get_from_kata_deps "externals.td-shim.version")-$(get_from_kata_deps "externals.td-shim.toolchain")"
|
||||||
|
;;
|
||||||
|
"tdvf")
|
||||||
|
firmware_tarball_name="kata-static-cc-tdx-tdvf.tar.xz"
|
||||||
|
current_firmware_image="$(get_ovmf_image_name)"
|
||||||
|
current_firmware_version="$(get_from_kata_deps "externals.ovmf.tdx.version")"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
die "Not a valid firmware (td-shim, tdvf) wass set as the FIRMWARE environment variable."
|
||||||
|
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
create_cache_asset "${firmware_tarball_name}" "${current_firmware_version}" "${current_firmware_image}"
|
||||||
|
}
|
||||||
|
|
||||||
create_cache_asset() {
|
create_cache_asset() {
|
||||||
local component_name="${1}"
|
local component_name="${1}"
|
||||||
local component_version="${2}"
|
local component_version="${2}"
|
||||||
@ -71,6 +92,10 @@ Usage: $0 "[options]"
|
|||||||
-c Cloud hypervisor cache
|
-c Cloud hypervisor cache
|
||||||
-k Kernel cache
|
-k Kernel cache
|
||||||
-q Qemu cache
|
-q Qemu cache
|
||||||
|
-f Firmware cache
|
||||||
|
* Requires FIRMWARE environment variable set, valid values are:
|
||||||
|
* tdvf
|
||||||
|
* td-shim
|
||||||
-h Shows help
|
-h Shows help
|
||||||
EOF
|
EOF
|
||||||
)"
|
)"
|
||||||
@ -80,8 +105,9 @@ main() {
|
|||||||
local cloud_hypervisor_component="${cloud_hypervisor_component:-}"
|
local cloud_hypervisor_component="${cloud_hypervisor_component:-}"
|
||||||
local qemu_component="${qemu_component:-}"
|
local qemu_component="${qemu_component:-}"
|
||||||
local kernel_component="${kernel_component:-}"
|
local kernel_component="${kernel_component:-}"
|
||||||
|
local firmware_component="${firmware_component:-}"
|
||||||
local OPTIND
|
local OPTIND
|
||||||
while getopts ":ckqh:" opt
|
while getopts ":ckqfh:" opt
|
||||||
do
|
do
|
||||||
case "$opt" in
|
case "$opt" in
|
||||||
c)
|
c)
|
||||||
@ -93,6 +119,9 @@ main() {
|
|||||||
q)
|
q)
|
||||||
qemu_component="1"
|
qemu_component="1"
|
||||||
;;
|
;;
|
||||||
|
f)
|
||||||
|
firmware_component="1"
|
||||||
|
;;
|
||||||
h)
|
h)
|
||||||
help
|
help
|
||||||
exit 0;
|
exit 0;
|
||||||
@ -109,6 +138,7 @@ main() {
|
|||||||
[[ -z "${cloud_hypervisor_component}" ]] && \
|
[[ -z "${cloud_hypervisor_component}" ]] && \
|
||||||
[[ -z "${kernel_component}" ]] && \
|
[[ -z "${kernel_component}" ]] && \
|
||||||
[[ -z "${qemu_component}" ]] && \
|
[[ -z "${qemu_component}" ]] && \
|
||||||
|
[[ -z "${firmware_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"
|
||||||
@ -118,6 +148,7 @@ main() {
|
|||||||
[ "${cloud_hypervisor_component}" == "1" ] && cache_clh_artifacts
|
[ "${cloud_hypervisor_component}" == "1" ] && cache_clh_artifacts
|
||||||
[ "${kernel_component}" == "1" ] && cache_kernel_artifacts
|
[ "${kernel_component}" == "1" ] && cache_kernel_artifacts
|
||||||
[ "${qemu_component}" == "1" ] && cache_qemu_artifacts
|
[ "${qemu_component}" == "1" ] && cache_qemu_artifacts
|
||||||
|
[ "${firmware_component}" == "1" ] && cache_firmware_artifacts
|
||||||
|
|
||||||
ls -la "${WORKSPACE}/artifacts/"
|
ls -la "${WORKSPACE}/artifacts/"
|
||||||
popd
|
popd
|
||||||
|
Loading…
Reference in New Issue
Block a user