Skip to content

Commit f45c82f

Browse files
committed
refactor: fix codefactor
Signed-off-by: Jack Yu <jack.yu@suse.com>
1 parent 7615873 commit f45c82f

File tree

3 files changed

+19
-22
lines changed

3 files changed

+19
-22
lines changed

pkg/controller/usbdevice/register.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,20 @@ const (
1616
)
1717

1818
func Register(ctx context.Context, management *config.FactoryManager) error {
19-
reconcileUSBDevice := make(chan struct{}, 1)
20-
2119
usbDeviceCtrl := management.DeviceFactory.Devices().V1beta1().USBDevice()
2220
usbDeviceClaimCtrl := management.DeviceFactory.Devices().V1beta1().USBDeviceClaim()
2321
virtClient := management.KubevirtFactory.Kubevirt().V1().KubeVirt()
2422

2523
handler := NewHandler(usbDeviceCtrl, usbDeviceClaimCtrl, usbDeviceCtrl.Cache(), usbDeviceClaimCtrl.Cache())
26-
usbDeviceClaimController := NewClaimHandler(usbDeviceCtrl.Cache(), usbDeviceClaimCtrl, usbDeviceCtrl, virtClient, reconcileUSBDevice)
24+
usbDeviceClaimController := NewClaimHandler(usbDeviceCtrl.Cache(), usbDeviceClaimCtrl, usbDeviceCtrl, virtClient, handler.reconcileSignal)
2725

2826
// Initial reconcile
2927
if err := handler.reconcile(); err != nil {
3028
logrus.Errorf("error initial reconcile usb devices: %v", err)
3129
return err
3230
}
3331

34-
if err := handler.WatchUSBDevices(ctx, reconcileUSBDevice); err != nil {
32+
if err := handler.WatchUSBDevices(ctx); err != nil {
3533
logrus.Errorf("error watching usb devices: %v", err)
3634
return err
3735
}

pkg/controller/usbdevice/usbdevice_claim_controller.go

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -98,27 +98,23 @@ func (h *DevClaimHandler) OnUSBDeviceClaimChanged(_ string, usbDeviceClaim *v1be
9898
devicePlugin = usbDevicePlugin
9999
}
100100

101+
usbDeviceCp := usbDevice.DeepCopy()
102+
101103
if !devicePlugin.IsStarted() {
102104
devicePlugin.StartDevicePlugin()
103105

104-
usbDeviceCp := usbDevice.DeepCopy()
105106
// Reset status and message regardless of the original status when the device plugin is started
106107
usbDeviceCp.Status.Status = ""
107108
usbDeviceCp.Status.Message = ""
108-
109-
if !reflect.DeepEqual(usbDevice.Status, usbDeviceCp.Status) {
110-
if usbDevice, err = h.usbClient.UpdateStatus(usbDeviceCp); err != nil {
111-
logrus.Errorf("failed to enable usb device %s status: %v", usbDeviceCp.Name, err)
112-
return usbDeviceClaim, err
113-
}
114-
}
115109
}
116110

117111
if !usbDevice.Status.Enabled {
118-
usbDeviceCp := usbDevice.DeepCopy()
119112
usbDeviceCp.Status.Enabled = true
120-
if _, err = h.usbClient.UpdateStatus(usbDeviceCp); err != nil {
121-
logrus.Errorf("failed to enable usb device %s status: %v", usbDeviceCp.Name, err)
113+
}
114+
115+
if !reflect.DeepEqual(usbDevice.Status, usbDeviceCp.Status) {
116+
if usbDevice, err = h.usbClient.UpdateStatus(usbDeviceCp); err != nil {
117+
logrus.Errorf("failed to update usb device %s status: %v", usbDeviceCp.Name, err)
122118
return usbDeviceClaim, err
123119
}
124120
}

pkg/controller/usbdevice/usbdevice_controller.go

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ type DevHandler struct {
2626
usbClaimClient ctldevicerv1vbeta1.USBDeviceClaimClient
2727
usbCache ctldevicerv1vbeta1.USBDeviceCache
2828
usbClaimCache ctldevicerv1vbeta1.USBDeviceClaimCache
29+
30+
reconcileSignal chan struct{}
2931
}
3032

3133
type UsageList struct {
@@ -44,10 +46,11 @@ func NewHandler(
4446
usbClaimCache ctldevicerv1vbeta1.USBDeviceClaimCache,
4547
) *DevHandler {
4648
return &DevHandler{
47-
usbClient: usbClient,
48-
usbClaimClient: usbClaimClient,
49-
usbCache: usbCache,
50-
usbClaimCache: usbClaimCache,
49+
usbClient: usbClient,
50+
usbClaimClient: usbClaimClient,
51+
usbCache: usbCache,
52+
usbClaimCache: usbClaimCache,
53+
reconcileSignal: make(chan struct{}, 1),
5154
}
5255
}
5356

@@ -80,7 +83,7 @@ func (h *DevHandler) OnDeviceChange(_ string, _ string, obj runtime.Object) ([]r
8083
return nil, nil
8184
}
8285

83-
func (h *DevHandler) WatchUSBDevices(ctx context.Context, reconcile <-chan struct{}) error {
86+
func (h *DevHandler) WatchUSBDevices(ctx context.Context) error {
8487
watcher, err := fsnotify.NewWatcher()
8588
if err != nil {
8689
return fmt.Errorf("failed to creating a fsnotify watcher: %v", err)
@@ -108,7 +111,7 @@ func (h *DevHandler) WatchUSBDevices(ctx context.Context, reconcile <-chan struc
108111
select {
109112
case <-ctx.Done():
110113
return
111-
case <-orChan(watcher.Events, reconcile):
114+
case <-orChan(watcher.Events, h.reconcileSignal):
112115
// we need reconcile whatever there is a change in /dev/bus/usb/xxx or reconcile signal is received
113116
if err := h.reconcile(); err != nil {
114117
logrus.Errorf("failed to reconcile USB devices: %v", err)
@@ -193,7 +196,7 @@ func (h *DevHandler) handleList(usageList UsageList) error {
193196

194197
logrus.Errorf("failed to delete orphaned device claim: %v\n", err)
195198
usbDevice.Status.Status = v1beta1.USBDeviceStatusOrphaned
196-
usbDevice.Status.Message = "The USB device is orphaned, please remove it from virtual machine."
199+
usbDevice.Status.Message = "The USB device is orphaned, please remove it from virtual machine and disable it."
197200

198201
_, err = h.usbClient.UpdateStatus(usbDevice)
199202
if err != nil {

0 commit comments

Comments
 (0)