harvester / pcidevices

Manage PCI Devices and PCI Device Claims for PCI Passthrough in Harvester

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Introduce a separate `resourceName` property for KubeVirt device plugin names

eliaskoromilas opened this issue · comments

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
...

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