From 4f398cc96901aa88c4a30f21791d3bf7743779d9 Mon Sep 17 00:00:00 2001 From: Wainer dos Santos Moschetta Date: Mon, 10 Jun 2024 11:16:02 -0300 Subject: [PATCH 1/2] kata-deploy: add qemu-runtime-rs runtimeClass Allow kata-deploy to install and configure the qemu-runtime-rs runtimeClass which ties to qemu hypervisor implementation in rust for the runtime-rs. Fixes: #9804 Signed-off-by: Wainer dos Santos Moschetta --- .../kata-deploy/kata-cleanup/base/kata-cleanup.yaml | 2 +- .../kata-deploy/kata-deploy/base/kata-deploy.yaml | 2 +- .../runtimeclasses/kata-qemu-runtime-rs.yaml | 13 +++++++++++++ .../runtimeclasses/kata-runtimeClasses.yaml | 13 +++++++++++++ tools/packaging/kata-deploy/scripts/kata-deploy.sh | 4 ++-- 5 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 tools/packaging/kata-deploy/runtimeclasses/kata-qemu-runtime-rs.yaml diff --git a/tools/packaging/kata-deploy/kata-cleanup/base/kata-cleanup.yaml b/tools/packaging/kata-deploy/kata-cleanup/base/kata-cleanup.yaml index 396575b5ef..edeca6c6f3 100644 --- a/tools/packaging/kata-deploy/kata-cleanup/base/kata-cleanup.yaml +++ b/tools/packaging/kata-deploy/kata-cleanup/base/kata-cleanup.yaml @@ -30,7 +30,7 @@ spec: - name: DEBUG value: "false" - name: SHIMS - value: "clh cloud-hypervisor dragonball fc qemu-sev qemu-snp qemu-tdx qemu qemu-coco-dev stratovirt qemu-nvidia-gpu qemu-nvidia-gpu-snp qemu-nvidia-gpu-tdx" + value: "clh cloud-hypervisor dragonball fc qemu-runtime-rs qemu-sev qemu-snp qemu-tdx qemu qemu-coco-dev stratovirt qemu-nvidia-gpu qemu-nvidia-gpu-snp qemu-nvidia-gpu-tdx" - name: DEFAULT_SHIM value: "qemu" - name: CREATE_RUNTIMECLASSES diff --git a/tools/packaging/kata-deploy/kata-deploy/base/kata-deploy.yaml b/tools/packaging/kata-deploy/kata-deploy/base/kata-deploy.yaml index 98817a508f..387f55cd42 100644 --- a/tools/packaging/kata-deploy/kata-deploy/base/kata-deploy.yaml +++ b/tools/packaging/kata-deploy/kata-deploy/base/kata-deploy.yaml @@ -32,7 +32,7 @@ spec: - name: DEBUG value: "false" - name: SHIMS - value: "clh cloud-hypervisor dragonball fc qemu qemu-coco-dev qemu-sev qemu-snp qemu-tdx stratovirt qemu-nvidia-gpu qemu-nvidia-gpu-snp qemu-nvidia-gpu-tdx" + value: "clh cloud-hypervisor dragonball fc qemu qemu-coco-dev qemu-runtime-rs qemu-sev qemu-snp qemu-tdx stratovirt qemu-nvidia-gpu qemu-nvidia-gpu-snp qemu-nvidia-gpu-tdx" - name: DEFAULT_SHIM value: "qemu" - name: CREATE_RUNTIMECLASSES diff --git a/tools/packaging/kata-deploy/runtimeclasses/kata-qemu-runtime-rs.yaml b/tools/packaging/kata-deploy/runtimeclasses/kata-qemu-runtime-rs.yaml new file mode 100644 index 0000000000..f92a3ea1c0 --- /dev/null +++ b/tools/packaging/kata-deploy/runtimeclasses/kata-qemu-runtime-rs.yaml @@ -0,0 +1,13 @@ +--- +kind: RuntimeClass +apiVersion: node.k8s.io/v1 +metadata: + name: kata-qemu-runtime-rs +handler: kata-qemu-runtime-rs +overhead: + podFixed: + memory: "160Mi" + cpu: "250m" +scheduling: + nodeSelector: + katacontainers.io/kata-runtime: "true" diff --git a/tools/packaging/kata-deploy/runtimeclasses/kata-runtimeClasses.yaml b/tools/packaging/kata-deploy/runtimeclasses/kata-runtimeClasses.yaml index 06d60e7dc3..82a5c650c6 100644 --- a/tools/packaging/kata-deploy/runtimeclasses/kata-runtimeClasses.yaml +++ b/tools/packaging/kata-deploy/runtimeclasses/kata-runtimeClasses.yaml @@ -105,6 +105,19 @@ scheduling: --- kind: RuntimeClass apiVersion: node.k8s.io/v1 +metadata: + name: kata-qemu-runtime-rs +handler: kata-qemu-runtime-rs +overhead: + podFixed: + memory: "160Mi" + cpu: "250m" +scheduling: + nodeSelector: + katacontainers.io/kata-runtime: "true" +--- +kind: RuntimeClass +apiVersion: node.k8s.io/v1 metadata: name: kata-qemu-se handler: kata-qemu-se diff --git a/tools/packaging/kata-deploy/scripts/kata-deploy.sh b/tools/packaging/kata-deploy/scripts/kata-deploy.sh index 27be984a2c..23c3a291f5 100755 --- a/tools/packaging/kata-deploy/scripts/kata-deploy.sh +++ b/tools/packaging/kata-deploy/scripts/kata-deploy.sh @@ -151,7 +151,7 @@ function get_kata_containers_config_path() { # Map the runtime shim name to the appropriate configuration # file directory. case "$shim" in - cloud-hypervisor | dragonball) config_path="$rust_config_path" ;; + cloud-hypervisor | dragonball | qemu-runtime-rs) config_path="$rust_config_path" ;; *) config_path="$golang_config_path" ;; esac @@ -360,7 +360,7 @@ function configure_different_shims_base() { # Map the runtime shim name to the appropriate # containerd-shim-kata-v2 binary case "$shim" in - cloud-hypervisor | dragonball) + cloud-hypervisor | dragonball | qemu-runtime-rs) ln -sf /opt/kata/runtime-rs/bin/containerd-shim-kata-v2 "${shim_file}" ;; *) ln -sf /opt/kata/bin/containerd-shim-kata-v2 "${shim_file}" ;; From be9990144a25ecffa116a184c692229b8587d9e0 Mon Sep 17 00:00:00 2001 From: Wainer dos Santos Moschetta Date: Mon, 10 Jun 2024 14:31:29 -0300 Subject: [PATCH 2/2] workflow: run kata-deploy tests to qemu-runtime-rs on AKS Start testing the ability of kata-deploy to install and configure the qemu-runtime-rs runtimeClass. Signed-off-by: Wainer dos Santos Moschetta --- .github/workflows/run-kata-deploy-tests-on-aks.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/run-kata-deploy-tests-on-aks.yaml b/.github/workflows/run-kata-deploy-tests-on-aks.yaml index a5401c2c17..c838b8d795 100644 --- a/.github/workflows/run-kata-deploy-tests-on-aks.yaml +++ b/.github/workflows/run-kata-deploy-tests-on-aks.yaml @@ -33,6 +33,7 @@ jobs: - clh - dragonball - qemu + - qemu-runtime-rs include: - host_os: cbl-mariner vmm: clh