diff --git a/tools/packaging/kata-deploy/binary/src/artifacts/install.rs b/tools/packaging/kata-deploy/binary/src/artifacts/install.rs index e844862a8d..c1d6d688aa 100644 --- a/tools/packaging/kata-deploy/binary/src/artifacts/install.rs +++ b/tools/packaging/kata-deploy/binary/src/artifacts/install.rs @@ -32,6 +32,7 @@ const ALL_SHIMS: &[&str] = &[ "qemu-nvidia-gpu", "qemu-nvidia-gpu-runtime-rs", "qemu-nvidia-gpu-snp", + "qemu-nvidia-gpu-snp-runtime-rs", "qemu-nvidia-gpu-tdx", "qemu-runtime-rs", "qemu-se", @@ -666,6 +667,7 @@ fn get_qemu_share_name(shim: &str) -> Option { let share_name = match shim { "qemu-cca" => "qemu-cca-experimental", "qemu-nvidia-gpu-snp" => "qemu-snp-experimental", + "qemu-nvidia-gpu-snp-runtime-rs" => "qemu-snp-experimental", "qemu-nvidia-gpu-tdx" => "qemu-tdx-experimental", _ => "qemu", }; @@ -1057,8 +1059,9 @@ mod tests { #[case("qemu-cca", "qemu")] #[case("qemu-nvidia-gpu", "qemu")] #[case("qemu-nvidia-gpu-runtime-rs", "qemu")] - #[case("qemu-nvidia-gpu-tdx", "qemu")] #[case("qemu-nvidia-gpu-snp", "qemu")] + #[case("qemu-nvidia-gpu-snp-runtime-rs", "qemu")] + #[case("qemu-nvidia-gpu-tdx", "qemu")] #[case("qemu-runtime-rs", "qemu")] #[case("qemu-coco-dev-runtime-rs", "qemu")] #[case("qemu-se-runtime-rs", "qemu")] diff --git a/tools/packaging/kata-deploy/binary/src/config.rs b/tools/packaging/kata-deploy/binary/src/config.rs index d6c1ab4a7a..a539bae91c 100644 --- a/tools/packaging/kata-deploy/binary/src/config.rs +++ b/tools/packaging/kata-deploy/binary/src/config.rs @@ -718,7 +718,7 @@ fn parse_custom_runtimes() -> Result> { /// Returns only shims that are supported for that architecture fn get_default_shims_for_arch(arch: &str) -> &'static str { match arch { - "x86_64" => "clh cloud-hypervisor dragonball fc qemu qemu-coco-dev qemu-coco-dev-runtime-rs qemu-runtime-rs qemu-nvidia-gpu qemu-nvidia-gpu-runtime-rs qemu-nvidia-gpu-snp qemu-nvidia-gpu-tdx qemu-snp qemu-snp-runtime-rs qemu-tdx qemu-tdx-runtime-rs", + "x86_64" => "clh cloud-hypervisor dragonball fc qemu qemu-coco-dev qemu-coco-dev-runtime-rs qemu-runtime-rs qemu-nvidia-gpu qemu-nvidia-gpu-runtime-rs qemu-nvidia-gpu-snp qemu-nvidia-gpu-snp-runtime-rs qemu-nvidia-gpu-tdx qemu-snp qemu-snp-runtime-rs qemu-tdx qemu-tdx-runtime-rs", "aarch64" => "clh cloud-hypervisor dragonball fc qemu qemu-runtime-rs qemu-nvidia-gpu qemu-nvidia-gpu-runtime-rs qemu-cca", "s390x" => "qemu qemu-runtime-rs qemu-se qemu-se-runtime-rs qemu-coco-dev qemu-coco-dev-runtime-rs", "ppc64le" => "qemu", diff --git a/tools/packaging/kata-deploy/binary/src/utils/system.rs b/tools/packaging/kata-deploy/binary/src/utils/system.rs index fd0aca0dca..534ebf4414 100644 --- a/tools/packaging/kata-deploy/binary/src/utils/system.rs +++ b/tools/packaging/kata-deploy/binary/src/utils/system.rs @@ -11,6 +11,7 @@ pub const RUST_SHIMS: &[&str] = &[ "dragonball", "qemu-runtime-rs", "qemu-nvidia-gpu-runtime-rs", + "qemu-nvidia-gpu-snp-runtime-rs", "qemu-coco-dev-runtime-rs", "qemu-se-runtime-rs", "qemu-snp-runtime-rs", diff --git a/tools/packaging/kata-deploy/helm-chart/kata-deploy/templates/runtimeclasses.yaml b/tools/packaging/kata-deploy/helm-chart/kata-deploy/templates/runtimeclasses.yaml index 00ba3911da..c89d9e4f1a 100644 --- a/tools/packaging/kata-deploy/helm-chart/kata-deploy/templates/runtimeclasses.yaml +++ b/tools/packaging/kata-deploy/helm-chart/kata-deploy/templates/runtimeclasses.yaml @@ -99,6 +99,7 @@ scheduling: "qemu-nvidia-gpu" (dict "memory" "10240Mi" "cpu" "1.0") "qemu-nvidia-gpu-runtime-rs" (dict "memory" "10240Mi" "cpu" "1.0") "qemu-nvidia-gpu-snp" (dict "memory" "10240Mi" "cpu" "1.0") + "qemu-nvidia-gpu-snp-runtime-rs" (dict "memory" "10240Mi" "cpu" "1.0") "qemu-nvidia-gpu-tdx" (dict "memory" "10240Mi" "cpu" "1.0") "qemu-cca" (dict "memory" "2048Mi" "cpu" "1.0") "stratovirt" (dict "memory" "130Mi" "cpu" "250m") diff --git a/tools/packaging/kata-deploy/helm-chart/kata-deploy/try-kata-nvidia-gpu.values.yaml b/tools/packaging/kata-deploy/helm-chart/kata-deploy/try-kata-nvidia-gpu.values.yaml index 321d81a29a..bd1c7dd366 100644 --- a/tools/packaging/kata-deploy/helm-chart/kata-deploy/try-kata-nvidia-gpu.values.yaml +++ b/tools/packaging/kata-deploy/helm-chart/kata-deploy/try-kata-nvidia-gpu.values.yaml @@ -1,5 +1,5 @@ # Example values file to enable NVIDIA GPU shims -# This includes all NVIDIA GPU-enabled shims: qemu-nvidia-gpu, qemu-nvidia-gpu-runtime-rs, qemu-nvidia-gpu-snp, qemu-nvidia-gpu-tdx +# This includes all NVIDIA GPU-enabled shims: qemu-nvidia-gpu, qemu-nvidia-gpu-runtime-rs, qemu-nvidia-gpu-snp, qemu-nvidia-gpu-snp-runtime-rs, qemu-nvidia-gpu-tdx # # Usage: # helm install kata-deploy oci://ghcr.io/kata-containers/kata-deploy-charts/kata-deploy \ @@ -67,6 +67,28 @@ shims: nvidia.com/cc.ready.state: "true" amd.feature.node.kubernetes.io/snp: "true" + qemu-nvidia-gpu-snp-runtime-rs: + enabled: true + supportedArches: + - amd64 + allowedHypervisorAnnotations: [] + containerd: + snapshotter: "nydus" + forceGuestPull: false + crio: + guestPull: true + agent: + httpsProxy: "" + noProxy: "" + runtimeClass: + # These labels are automatically added by gpu-operator and NFD + # respectively. Override if you want to use a different label. + # If you don't have NFD, you need to add the snp label by other + # means to your SNP nodes. + nodeSelector: + nvidia.com/cc.ready.state: "true" + amd.feature.node.kubernetes.io/snp: "true" + qemu-nvidia-gpu-tdx: enabled: true supportedArches: diff --git a/tools/packaging/kata-deploy/helm-chart/kata-deploy/values.yaml b/tools/packaging/kata-deploy/helm-chart/kata-deploy/values.yaml index 993879df9f..b0f7600346 100644 --- a/tools/packaging/kata-deploy/helm-chart/kata-deploy/values.yaml +++ b/tools/packaging/kata-deploy/helm-chart/kata-deploy/values.yaml @@ -182,6 +182,24 @@ shims: nvidia.com/cc.ready.state: "true" amd.feature.node.kubernetes.io/snp: "true" + qemu-nvidia-gpu-snp-runtime-rs: + enabled: ~ + supportedArches: + - amd64 + allowedHypervisorAnnotations: [] + containerd: + snapshotter: "nydus" + forceGuestPull: false + crio: + guestPull: true + agent: + httpsProxy: "" + noProxy: "" + runtimeClass: + nodeSelector: + nvidia.com/cc.ready.state: "true" + amd.feature.node.kubernetes.io/snp: "true" + qemu-nvidia-gpu-tdx: enabled: ~ supportedArches: