Introduce a separate `resourceName` property for KubeVirt device plugin names
eliaskoromilas opened this issue · comments
Elias Koromilas commented
Description
I suggest using the .status.description
property for a human-readable lspci
-like description of the PCI device and introduce a .spec.resourceName
property for the device plugin name. It would be nice to allow users edit this.
Describe the results you received:
$ kubectl get pcidevices
NAME ADDRESS VENDOR ID DEVICE ID NODE NAME DESCRIPTION KERNEL DRIVER IN USE
...
minikube-10de-174d-000001000 0000:01:00.0 10de 174d minikube nvidia.com/GM108MGeForceMX130 nouveau
...
Describe the results you expected:
$ kubectl get pcidevices
NAME ADDRESS VENDOR ID DEVICE ID CLASS ID NODE NAME RESOURCE NAME DESCRIPTION KERNEL DRIVER IN USE
...
minikube-10de-174d-000001000 0000:01:00.0 10de 174d 0302 minikube nvidia.com/GM108MGeForceMX130 3D controller: NVIDIA Corporation GM108M [GeForce MX130] nouveau
...
Elias Koromilas commented
Another proposal is moving the resourceName
notion to the PCIDeviceClaim
CRD. This will allow us to manage KubeVirt device plugins driven by claims with the following features:
- Auto-generate a
resourceName
, if none provided (with the current function) - Enable multi-function PCI passthrough using a glob-like BDF notation (https://wiki.xenproject.org/wiki/Bus:Device.Function_(BDF)_Notation), in which case the
resourceName
should be required - Allow users to just specify an alternate
resourceName
, e.g. in case the PCI DB doesn't include the device, or they find the auto-generated one too verbose