kata-deploy: register qemu-nvidia-cpu runtime classes

Make qemu-nvidia-cpu and qemu-nvidia-cpu-runtime-rs first-class kata-deploy
citizens: add them to the shim allow-lists and per-arch defaults in the
kata-deploy binary (amd64 + arm64), expose them as shims in the Helm
values and give them a RuntimeClass with a lightweight pod overhead
(320Mi/250m) - they carry no GPU, so the GPU 10Gi budget doesn't apply.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
Assisted-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Fabiano Fidêncio
2026-07-11 11:03:55 +02:00
parent 64dedaf926
commit 146c5d881d
5 changed files with 28 additions and 2 deletions

View File

@@ -33,6 +33,8 @@ const ALL_SHIMS: &[&str] = &[
"qemu-cca",
"qemu-coco-dev",
"qemu-coco-dev-runtime-rs",
"qemu-nvidia-cpu",
"qemu-nvidia-cpu-runtime-rs",
"qemu-nvidia-gpu",
"qemu-nvidia-gpu-runtime-rs",
"qemu-nvidia-gpu-snp",
@@ -1369,6 +1371,8 @@ mod tests {
#[case("qemu-se", "qemu")]
#[case("qemu-coco-dev", "qemu")]
#[case("qemu-cca", "qemu")]
#[case("qemu-nvidia-cpu", "qemu")]
#[case("qemu-nvidia-cpu-runtime-rs", "qemu")]
#[case("qemu-nvidia-gpu", "qemu")]
#[case("qemu-nvidia-gpu-runtime-rs", "qemu")]
#[case("qemu-nvidia-gpu-snp", "qemu")]

View File

@@ -886,8 +886,8 @@ fn parse_custom_runtimes() -> Result<Vec<CustomRuntime>> {
/// Returns only shims that are supported for that architecture
fn get_default_shims_for_arch(arch: &str) -> &'static str {
match arch {
"x86_64" => "clh clh-runtime-rs 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-nvidia-gpu-tdx-runtime-rs qemu-snp qemu-snp-runtime-rs qemu-tdx qemu-tdx-runtime-rs",
"aarch64" => "clh clh-runtime-rs dragonball fc qemu qemu-coco-dev-runtime-rs qemu-runtime-rs qemu-nvidia-gpu qemu-cca",
"x86_64" => "clh clh-runtime-rs dragonball fc qemu qemu-coco-dev qemu-coco-dev-runtime-rs qemu-runtime-rs qemu-nvidia-cpu qemu-nvidia-cpu-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-nvidia-gpu-tdx-runtime-rs qemu-snp qemu-snp-runtime-rs qemu-tdx qemu-tdx-runtime-rs",
"aarch64" => "clh clh-runtime-rs dragonball fc qemu qemu-coco-dev-runtime-rs qemu-runtime-rs qemu-nvidia-cpu qemu-nvidia-cpu-runtime-rs qemu-nvidia-gpu qemu-cca",
"s390x" => "qemu qemu-runtime-rs qemu-se qemu-se-runtime-rs qemu-coco-dev qemu-coco-dev-runtime-rs",
"ppc64le" => "qemu",
_ => "qemu", // Fallback to qemu for unknown architectures

View File

@@ -11,6 +11,7 @@ pub const RUST_SHIMS: &[&str] = &[
"clh-runtime-rs",
"dragonball",
"qemu-runtime-rs",
"qemu-nvidia-cpu-runtime-rs",
"qemu-nvidia-gpu-runtime-rs",
"qemu-nvidia-gpu-snp-runtime-rs",
"qemu-nvidia-gpu-tdx-runtime-rs",
@@ -215,6 +216,7 @@ mod tests {
"qemu-se",
"qemu-coco-dev",
"qemu-cca",
"qemu-nvidia-cpu",
"qemu-nvidia-gpu",
"qemu-nvidia-gpu-tdx",
"qemu-nvidia-gpu-snp",

View File

@@ -26,6 +26,8 @@
"qemu-snp-runtime-rs" (dict "memory" "2048Mi" "cpu" "1.0")
"qemu-tdx" (dict "memory" "2048Mi" "cpu" "1.0")
"qemu-tdx-runtime-rs" (dict "memory" "2048Mi" "cpu" "1.0")
"qemu-nvidia-cpu" (dict "memory" "320Mi" "cpu" "250m")
"qemu-nvidia-cpu-runtime-rs" (dict "memory" "320Mi" "cpu" "250m")
"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")

View File

@@ -464,6 +464,24 @@ shims:
containerd:
snapshotter: ""
qemu-nvidia-cpu:
enabled: ~
supportedArches:
- amd64
- arm64
allowedHypervisorAnnotations: []
containerd:
snapshotter: ""
qemu-nvidia-cpu-runtime-rs:
enabled: ~
supportedArches:
- amd64
- arm64
allowedHypervisorAnnotations: []
containerd:
snapshotter: ""
qemu-nvidia-gpu:
enabled: ~
supportedArches: