diff options
| author | luomengY <2938893385@qq.com> | 2023-09-20 09:45:23 +0800 |
|---|---|---|
| committer | luomengY <2938893385@qq.com> | 2023-11-07 11:49:02 +0800 |
| commit | 66050e1929401e2347a7c6a359243950ac2082db (patch) | |
| tree | 434f99326669f90c70466fc452ef319947d55332 | |
| parent | Merge pull request #5109 from wlq1212/automated-cherry-pick-of-#5085-upstream... (diff) | |
| download | kubeedge-66050e1929401e2347a7c6a359243950ac2082db.tar.gz | |
Solving the deployment order dependency of mapper and device
Signed-off-by: luomengY <2938893385@qq.com>
| -rw-r--r-- | edge/pkg/devicetwin/dtmanager/dmiworker.go | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/edge/pkg/devicetwin/dtmanager/dmiworker.go b/edge/pkg/devicetwin/dtmanager/dmiworker.go index 13e8f5c29..504b6e5aa 100644 --- a/edge/pkg/devicetwin/dtmanager/dmiworker.go +++ b/edge/pkg/devicetwin/dtmanager/dmiworker.go @@ -122,14 +122,14 @@ func (dw *DMIWorker) dealMetaDeviceOperation(context *dtcontext.DTContext, resou } switch message.GetOperation() { case model.InsertOperation: + dw.dmiCache.DeviceMu.Lock() + dw.dmiCache.DeviceList[device.Name] = &device + dw.dmiCache.DeviceMu.Unlock() err = dmiclient.DMIClientsImp.RegisterDevice(&device) if err != nil { klog.Errorf("add device %s failed with err: %v", device.Name, err) return err } - dw.dmiCache.DeviceMu.Lock() - dw.dmiCache.DeviceList[device.Name] = &device - dw.dmiCache.DeviceMu.Unlock() case model.DeleteOperation: err = dmiclient.DMIClientsImp.RemoveDevice(&device) if err != nil { @@ -140,14 +140,14 @@ func (dw *DMIWorker) dealMetaDeviceOperation(context *dtcontext.DTContext, resou delete(dw.dmiCache.DeviceList, device.Name) dw.dmiCache.DeviceMu.Unlock() case model.UpdateOperation: + dw.dmiCache.DeviceMu.Lock() + dw.dmiCache.DeviceList[device.Name] = &device + dw.dmiCache.DeviceMu.Unlock() err = dmiclient.DMIClientsImp.UpdateDevice(&device) if err != nil { klog.Errorf("udpate device %s failed with err: %v", device.Name, err) return err } - dw.dmiCache.DeviceMu.Lock() - dw.dmiCache.DeviceList[device.Name] = &device - dw.dmiCache.DeviceMu.Unlock() default: klog.Warningf("unsupported operation %s", message.GetOperation()) } @@ -158,14 +158,14 @@ func (dw *DMIWorker) dealMetaDeviceOperation(context *dtcontext.DTContext, resou } switch message.GetOperation() { case model.InsertOperation: + dw.dmiCache.DeviceModelMu.Lock() + dw.dmiCache.DeviceModelList[dm.Name] = &dm + dw.dmiCache.DeviceModelMu.Unlock() err = dmiclient.DMIClientsImp.CreateDeviceModel(&dm) if err != nil { klog.Errorf("add device model %s failed with err: %v", dm.Name, err) return err } - dw.dmiCache.DeviceModelMu.Lock() - dw.dmiCache.DeviceModelList[dm.Name] = &dm - dw.dmiCache.DeviceModelMu.Unlock() case model.DeleteOperation: err = dmiclient.DMIClientsImp.RemoveDeviceModel(&dm) if err != nil { @@ -176,14 +176,14 @@ func (dw *DMIWorker) dealMetaDeviceOperation(context *dtcontext.DTContext, resou delete(dw.dmiCache.DeviceModelList, dm.Name) dw.dmiCache.DeviceModelMu.Unlock() case model.UpdateOperation: + dw.dmiCache.DeviceModelMu.Lock() + dw.dmiCache.DeviceModelList[dm.Name] = &dm + dw.dmiCache.DeviceModelMu.Unlock() err = dmiclient.DMIClientsImp.UpdateDeviceModel(&dm) if err != nil { klog.Errorf("update device model %s failed with err: %v", dm.Name, err) return err } - dw.dmiCache.DeviceModelMu.Lock() - dw.dmiCache.DeviceModelList[dm.Name] = &dm - dw.dmiCache.DeviceModelMu.Unlock() default: klog.Warningf("unsupported operation %s", message.GetOperation()) } |
