File 0011-Start-serving-the-device-plugin-API-prior-to-registe.patch of Package kubevirt.31335

From 0f7d31e620021d70aadc343cadd21126a466f837 Mon Sep 17 00:00:00 2001
From: Christopher Desiniotis <cdesiniotis@nvidia.com>
Date: Sun, 11 Sep 2022 20:56:17 -0700
Subject: [PATCH] Start serving the device plugin API prior to registering with
 kubelet

Signed-off-by: Christopher Desiniotis <cdesiniotis@nvidia.com>
---
 pkg/virt-handler/device-manager/generic_device.go  | 9 +++++----
 pkg/virt-handler/device-manager/mediated_device.go | 9 +++++----
 pkg/virt-handler/device-manager/pci_device.go      | 9 +++++----
 3 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/pkg/virt-handler/device-manager/generic_device.go b/pkg/virt-handler/device-manager/generic_device.go
index 61f079656..6121ada86 100644
--- a/pkg/virt-handler/device-manager/generic_device.go
+++ b/pkg/virt-handler/device-manager/generic_device.go
@@ -134,10 +134,6 @@ func (dpi *GenericDevicePlugin) Start(stop <-chan struct{}) (err error) {
 	defer dpi.stopDevicePlugin()
 
 	pluginapi.RegisterDevicePluginServer(dpi.server, dpi)
-	err = dpi.register()
-	if err != nil {
-		return fmt.Errorf("error registering with device plugin manager: %v", err)
-	}
 
 	errChan := make(chan error, 2)
 
@@ -150,6 +146,11 @@ func (dpi *GenericDevicePlugin) Start(stop <-chan struct{}) (err error) {
 		return fmt.Errorf("error starting the GRPC server: %v", err)
 	}
 
+	err = dpi.register()
+	if err != nil {
+		return fmt.Errorf("error registering with device plugin manager: %v", err)
+	}
+
 	go func() {
 		errChan <- dpi.healthCheck()
 	}()
diff --git a/pkg/virt-handler/device-manager/mediated_device.go b/pkg/virt-handler/device-manager/mediated_device.go
index 8c5b70316..0f82b588d 100644
--- a/pkg/virt-handler/device-manager/mediated_device.go
+++ b/pkg/virt-handler/device-manager/mediated_device.go
@@ -134,10 +134,6 @@ func (dpi *MediatedDevicePlugin) Start(stop <-chan struct{}) (err error) {
 	defer dpi.stopDevicePlugin()
 
 	pluginapi.RegisterDevicePluginServer(dpi.server, dpi)
-	err = dpi.register()
-	if err != nil {
-		return fmt.Errorf("error registering with device plugin manager: %v", err)
-	}
 
 	errChan := make(chan error, 2)
 
@@ -150,6 +146,11 @@ func (dpi *MediatedDevicePlugin) Start(stop <-chan struct{}) (err error) {
 		return fmt.Errorf("error starting the GRPC server: %v", err)
 	}
 
+	err = dpi.register()
+	if err != nil {
+		return fmt.Errorf("error registering with device plugin manager: %v", err)
+	}
+
 	go func() {
 		errChan <- dpi.healthCheck()
 	}()
diff --git a/pkg/virt-handler/device-manager/pci_device.go b/pkg/virt-handler/device-manager/pci_device.go
index 8dc8c2a92..8d2adc55f 100644
--- a/pkg/virt-handler/device-manager/pci_device.go
+++ b/pkg/virt-handler/device-manager/pci_device.go
@@ -131,10 +131,6 @@ func (dpi *PCIDevicePlugin) Start(stop <-chan struct{}) (err error) {
 	defer dpi.stopDevicePlugin()
 
 	pluginapi.RegisterDevicePluginServer(dpi.server, dpi)
-	err = dpi.register()
-	if err != nil {
-		return fmt.Errorf("error registering with device plugin manager: %v", err)
-	}
 
 	errChan := make(chan error, 2)
 
@@ -147,6 +143,11 @@ func (dpi *PCIDevicePlugin) Start(stop <-chan struct{}) (err error) {
 		return fmt.Errorf("error starting the GRPC server: %v", err)
 	}
 
+	err = dpi.register()
+	if err != nil {
+		return fmt.Errorf("error registering with device plugin manager: %v", err)
+	}
+
 	go func() {
 		errChan <- dpi.healthCheck()
 	}()
-- 
2.40.0

openSUSE Build Service is sponsored by