Hi all,
I'd like to propose moving the iommufd-device-plugin [1] project under
the KubeVirt GitHub organization.
What is it?
The iommufd-device-plugin is a Kubernetes device plugin that opens and
configures /dev/iommu (IOMMUFD) and passes the file descriptor to
virt-launcher pods via SCM_RIGHTS over a unix socket.
On modern kernels (6.2+), IOMMUFD replaces the legacy VFIO container
model. The IOMMUFD file descriptor needs to be pre-configured with
IOMMU_OPTION_RLIMIT_MODE for proper memory pinning accounting during
GPU/PCI device passthrough. Since virt-launcher runs unprivileged and
cannot open /dev/iommu itself, this device plugin handles it.
The plugin registers
devices.kubevirt.io/iommufd as a Kubernetes
extended resource. When allocated it opens /dev/iommu, configures the
RLIMIT mode, and passes the configured FD into the container where
virt-launcher hands it to libvirt via virDomainFDAssociate.
Why move it under kubevirt?
This plugin is a key component of the kubevirt-aie project and the
ongoing work on the release-1.8-aie-nv branch. The plan is for the
kubevirt-aie-webhook to inject
devices.kubevirt.io/iommufd resource
requests into virt-launcher pods, with the iommufd-device-plugin being
the counterpart that fulfills those requests on the node. Together
they will enable unprivileged GPU/PCI passthrough with IOMMUFD on the
CentOS Stream Accelerated Infrastructure Enablement builds.
Moving it under the kubevirt org alongside kubevirt-aie and
kubevirt-aie-webhook keeps these tightly coupled components under the
same governance, CI infrastructure, and maintainer team.
Looking ahead, future plans are still being discussed but we might end
up integrating the iommufd device plugin directly into
kubevirt/kubevirt in v1.9.0 or later. Having the project under the
kubevirt org now makes that future transition smoother and gives the
wider community visibility into the work in the meantime.
Maintainers
The existing kubevirt-aie-maintainers team (vladikr, jean-edouard,
xpivarc, lyarwood) will maintain the repo.
Licensing
Apache-2.0
The PR to add the repository to the org is here [2].
Feedback and questions welcome.
Thanks,
Lee
[1]
https://github.com/vladikr/iommufd-device-plugin
[2]
https://github.com/kubevirt/project-infra/pull/4876