@@ -78,7 +78,7 @@ func (m *Manager) checkAndUpdateExistingDevice(lctx *lmctx.LMContext, resource s
7878 return nil , err
7979 }
8080 if len (existingDevices ) == 0 {
81- return nil , fmt .Errorf ("cannot find devices with names: %s , %s" , * device .DisplayName , util .GetFullDisplayName (device , resource , currentCluster ))
81+ return nil , fmt .Errorf ("could not find devices with names: %s , %s" , * device .DisplayName , util .GetFullDisplayName (device , resource , currentCluster ))
8282 }
8383 for _ , existingDevice := range existingDevices {
8484 clusterName := util .GetPropertyValue (existingDevice , constants .K8sClusterNamePropertyKey )
@@ -130,7 +130,7 @@ func (m *Manager) RenameAndUpdateDevice(lctx *lmctx.LMContext, resource string,
130130 entityProperty := models.EntityProperty {Name : constants .K8sSystemCategoriesPropertyKey , Value : updatedCategories , Type : "system" }
131131 err1 := m .updateDevicePropertyByName (lctx , updatedDevice .ID , & entityProperty , resource )
132132 if err1 != nil {
133- log .Errorf ("Failed to remove device %s from conflicts group. %v" , * updatedDevice .DisplayName , err1 )
133+ log .Errorf ("failed to remove device %s from conflicts group. %v" , * updatedDevice .DisplayName , err1 )
134134 return err1
135135 }
136136 }
@@ -145,12 +145,12 @@ func (m *Manager) RenameAndUpdateDevice(lctx *lmctx.LMContext, resource string,
145145 }
146146 newDevice , err := m .UpdateAndReplace (lctx , resource , device , options ... )
147147 if err != nil {
148- log .Errorf ("Failed to update the device %s : %v" , * device .DisplayName , err )
148+ log .Errorf ("failed to update the device %s : %v" , * device .DisplayName , err )
149149 return err
150150 }
151151 err2 := m .moveDeviceToConflictGroup (lctx , newDevice , resource )
152152 if err2 != nil {
153- log .Errorf ("Failed to move device %s to conflicts group: %v" , * newDevice .DisplayName , err2 )
153+ log .Errorf ("failed to move device %s to conflicts group: %v" , * newDevice .DisplayName , err2 )
154154 return err2
155155 }
156156
@@ -328,8 +328,9 @@ func (m *Manager) addConflictingDevice(lctx *lmctx.LMContext, device *models.Dev
328328 log .Infof ("Check and Update the existing device: %s" , * device .DisplayName )
329329 updatedevice , err := m .checkAndUpdateExistingDevice (lctx , resource , device )
330330 if err != nil {
331- log .Errorf ("failed to updated device: %v" , err )
332- return nil , fmt .Errorf ("failed to updated device" )
331+ err2 := fmt .Errorf ("failed to update existing device: %w" , err )
332+ log .Error (err2 .Error ())
333+ return nil , err2
333334 }
334335
335336 if updatedevice == nil {
@@ -345,7 +346,7 @@ func (m *Manager) addConflictingDevice(lctx *lmctx.LMContext, device *models.Dev
345346
346347 if err != nil {
347348 log .Errorf ("add new device failed: %v" , err )
348- return nil , fmt . Errorf ( "add new device failed" )
349+ return nil , err
349350 }
350351
351352 m .DC .Set (util .GetFullDisplayName (renamedDevice , resource , currentCluster ))
@@ -409,12 +410,20 @@ func (m *Manager) UpdateAndReplace(lctx *lmctx.LMContext, resource string, d *mo
409410// UpdateAndReplaceByDisplayName implements types.DeviceManager.
410411func (m * Manager ) UpdateAndReplaceByDisplayName (lctx * lmctx.LMContext , resource , name , fullName string , filter types.UpdateFilter , labels map [string ]string , options ... types.DeviceOption ) (* models.Device , error ) {
411412 log := lmlog .Logger (lctx )
413+ device := buildDevice (lctx , m .Config (), nil , options ... )
414+
415+ if * device .Name == "" {
416+ err := fmt .Errorf ("empty name is invalid for resource %v" , resource )
417+ log .Warn (err .Error ())
418+ return nil , err
419+ }
420+
412421 if ! m .DC .Exists (fullName ) {
413422 log .Infof ("Missing device %v; (full name = %v) adding it now" , name , fullName )
414423 return m .Add (lctx , resource , labels , options ... )
415424 }
416425 if filter != nil && ! filter () {
417- log .Debugf ("filtered device update %s" , name )
426+ log .Debugf ("Ignoring updates for device %s, %s" , name , resource )
418427 return nil , nil
419428 }
420429
@@ -432,12 +441,12 @@ func (m *Manager) UpdateAndReplaceByDisplayName(lctx *lmctx.LMContext, resource,
432441 options = append (options , m .DisplayName (* existingDevice .DisplayName ))
433442
434443 // Update the device.
435- device , err := m .UpdateAndReplace (lctx , resource , existingDevice , options ... )
444+ updatedDevice , err := m .UpdateAndReplace (lctx , resource , existingDevice , options ... )
436445 if err != nil {
437446
438447 return nil , err
439448 }
440- m .DC .Set (util .GetFullDisplayName (device , resource , m .Config ().ClusterName ))
449+ m .DC .Set (util .GetFullDisplayName (updatedDevice , resource , m .Config ().ClusterName ))
441450 return device , nil
442451}
443452
@@ -495,7 +504,7 @@ func (m *Manager) updateDevicePropertyByName(lctx *lmctx.LMContext, deviceID int
495504 return fmt .Errorf ("failed to update device property '%v'. Error: %v" , entityProperty .Name , err )
496505 }
497506 resp := restResponse .(* lm.UpdateDevicePropertyByNameOK )
498- log .Debugf ("update property response payload : %#v" , resp .Payload )
507+ log .Debugf ("Update property response payload : %#v" , resp .Payload )
499508
500509 return nil
501510}
@@ -593,7 +602,7 @@ func (m *Manager) DeleteByDisplayName(lctx *lmctx.LMContext, resource, name, ful
593602 return err2
594603 }
595604 m .DC .Unset (name )
596- log .Infof ("deleted device %q" , name )
605+ log .Infof ("Deleted device %q" , name )
597606
598607 return nil
599608}
@@ -603,7 +612,7 @@ func (m *Manager) getExisitingDeviceByGivenProperties(lctx *lmctx.LMContext, nam
603612 existingDevices , err := m .FindByDisplayNames (lctx , resource , name , fullName )
604613
605614 if err != nil {
606- log .Errorf ("Error finding devices with names: %s, %s - %v" , name , fullName , err )
615+ log .Errorf ("error finding devices with names: %s, %s - %v" , name , fullName , err )
607616 return nil , err
608617 }
609618
0 commit comments