Skip to content

Commit befdb2e

Browse files
committed
docs(gpu): correct the resourceName slug derivation
The auto-wired permittedHostDevices table described the resourceName as a tidy <arch>_<model> slug, which contradicts how nvidia-sandbox-device-plugin actually derives it (and the upgrade section on the same page). Describe the real derivation — uppercase the full PCI-IDs name, punctuation to '_' — so brand tokens like 'Tesla' on Turing/Volta are preserved (TU104GL_TESLA_T4), and point at 'kubectl describe node | grep nvidia.com/' as the source of truth. Signed-off-by: Aleksei Sviridkin <f@lex.la>
1 parent 10f72a6 commit befdb2e

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

  • content/en/docs/next/virtualization

content/en/docs/next/virtualization/gpu.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ When `cozystack.gpu-operator` is in `bundles.enabledPackages`, Cozystack mirrors
107107
Specifically, the platform injects:
108108

109109
- `HostDevices` into `spec.configuration.developerConfiguration.featureGates` (current KubeVirt splits this from the `GPU` gate; the admission webhook rejects `domain.devices.hostDevices` without it).
110-
- A starter `spec.configuration.permittedHostDevices.pciHostDevices` table (rendered in the default `gpuOperatorVariant: default` — vfio-pci passthrough) covering common NVIDIA datacenter GPUs — Hopper (H100, H200), Ada Lovelace (L4, L40, L40S), Ampere (A100 PCIe/SXM, A40, A30, A10), Turing (T4), Volta (V100, V100S). PCI vendor:device pairs are stable; `resourceName` slugs follow what `nvidia-sandbox-device-plugin` v25.x emits — `<arch>_<model>`, with optional `_<form>_<mem>` qualifiers appended when a model ships in several memory or form-factor variants (e.g. `nvidia.com/GA102GL_A10` for the single-SKU A10, `nvidia.com/GH100_H200_SXM_141GB` for the H200). `externalResourceProvider: true` is set on every entry because the resources are advertised by the sandbox plugin, not by KubeVirt's in-tree device plugin.
110+
- A starter `spec.configuration.permittedHostDevices.pciHostDevices` table (rendered in the default `gpuOperatorVariant: default` — vfio-pci passthrough) covering common NVIDIA datacenter GPUs — Hopper (H100, H200), Ada Lovelace (L4, L40, L40S), Ampere (A100 PCIe/SXM, A40, A30, A10), Turing (T4), Volta (V100, V100S). PCI vendor:device pairs are stable; each `resourceName` slug is whatever `nvidia-sandbox-device-plugin` derives mechanically from the card's PCI-IDs database name — uppercase the name, turn `/`, `.` and whitespace into `_`, then strip the surrounding `[` / `]`. The slug therefore carries every token the PCI-IDs string holds (the `GL` die suffix, the `Tesla` brand on Turing/Volta, the form factor, the memory size), not a tidy `<arch>_<model>`: `TU104GL [Tesla T4]` becomes `nvidia.com/TU104GL_TESLA_T4`, `GA100GL [A30 PCIe]` becomes `nvidia.com/GA100GL_A30_PCIE`, and the H200 SXM becomes `nvidia.com/GH100_H200_SXM_141GB`. Confirm the exact strings your nodes advertise with `kubectl describe node <node> | grep nvidia.com/`. `externalResourceProvider: true` is set on every entry because the resources are advertised by the sandbox plugin, not by KubeVirt's in-tree device plugin.
111111

112112
Verify the resulting CR:
113113

0 commit comments

Comments
 (0)