diff --git a/controllers/object_controls.go b/controllers/object_controls.go index ab8aeb577..6dd059dae 100644 --- a/controllers/object_controls.go +++ b/controllers/object_controls.go @@ -2105,6 +2105,13 @@ func TransformVFIOManager(obj *appsv1.DaemonSet, config *gpuv1.ClusterPolicySpec return fmt.Errorf("failed to transform k8s-driver-manager initContainer for VFIO Manager: %v", err) } + // Used to determine if GPUs are already bound to vfio-pci (avoids disrupting active VM workloads) + // Set to gpuWorkloadConfigVMPassthrough since VFIO Manager only runs on vm-passthrough nodes. + driverManagerContainer := findContainerByName(obj.Spec.Template.Spec.InitContainers, "k8s-driver-manager") + if driverManagerContainer != nil { + setContainerEnv(driverManagerContainer, "GPU_WORKLOAD_CONFIG", gpuWorkloadConfigVMPassthrough) + } + // update image image, err := gpuv1.ImagePath(&config.VFIOManager) if err != nil {