Change:
was the fix in sufficient, or do you want to bubble the error past SetNodeStatusUpdateNeeded?
do you want this in v1.7?
can you retitle this to be meaningful or close it?
Issues go stale after 90d of inactivity. Mark the issue as fresh with . Stale issues rot after an additional 30d of inactivity and eventually close. Prevent issues from auto-closing with an comment. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle stale
I checked the sources, now returns as requested here. /close

Discussion:
// needs to be updated again by the node status updater. // If the specifed node does not exist in the nodesToUpdateStatusFor list, log the error and return // This is an internal function and caller should acquire and release the lock <del> func (asw *actualStateOfWorld) updateNodeStatusUpdateNeeded(nodeName types.NodeName, needed bool) { </del> <ins> func (asw *actualStateOfWorld) updateNodeStatusUpdateNeeded(nodeName types.NodeName, needed bool) error { </ins> nodeToUpdate, nodeToUpdateExists := asw.nodesToUpdateStatusFor[nodeName] if !nodeToUpdateExists { // should not happen <del> glog.Errorf( "Failed to set statusUpdateNeeded to needed %t because nodeName=%q  does not exist", needed, nodeName) return </del> <ins> errMsg := fmt.Sprintf("Failed to set statusUpdateNeeded to needed %t because nodeName=%q  does not exist", needed, nodeName) glog.Errorf(errMsg) return fmt.Errorf(errMsg) </ins> } nodeToUpdate.statusUpdateNeeded = needed asw.nodesToUpdateStatusFor[nodeName] = nodeToUpdate <ins> return nil </ins> } func (asw *actualStateOfWorld) SetNodeStatusUpdateNeeded(nodeName types.NodeName) { asw.Lock() defer asw.Unlock() <del> asw.updateNodeStatusUpdateNeeded(nodeName, true) </del> <ins> if err := asw.updateNodeStatusUpdateNeeded(nodeName, true); err != nil { glog.Errorf("Failed to update statusUpdateNeeded field in actual state of world: %v", err) } </ins> } func (asw *actualStateOfWorld) DeleteVolumeNode(

// When GetVolumesToReportAttached is called by node status updater, the current status // of this node will be updated, so set the flag statusUpdateNeeded to false indicating // the current status is already updated. <del> asw.updateNodeStatusUpdateNeeded(nodeName, false) </del> <ins> if err := asw.updateNodeStatusUpdateNeeded(nodeName, false); err != nil { glog.Errorf("Failed to update statusUpdateNeeded field when getting volumes: %v", err) } </ins> } return volumesToReportAttached

} } <ins> // Test_updateNodeStatusUpdateNeeded expects statusUpdateNeeded to be properly updated if // updateNodeStatusUpdateNeeded is called on a node that exists in the actual state of the world func Test_updateNodeStatusUpdateNeeded(t *testing.T) { // Arrange volumePluginMgr, _ := volumetesting.GetTestVolumePluginMgr(t) asw := &actualStateOfWorld{ attachedVolumes:        make(map[v1.UniqueVolumeName]attachedVolume), nodesToUpdateStatusFor: make(map[types.NodeName]nodeToUpdateStatusFor), volumePluginMgr:        volumePluginMgr, } nodeName := types.NodeName("node-1") nodeToUpdate := nodeToUpdateStatusFor{ nodeName:                  nodeName, statusUpdateNeeded:        true, volumesToReportAsAttached: make(map[v1.UniqueVolumeName]v1.UniqueVolumeName), } asw.nodesToUpdateStatusFor[nodeName] = nodeToUpdate // Act err := asw.updateNodeStatusUpdateNeeded(nodeName, false) // Assert if err != nil { t.Fatalf("updateNodeStatusUpdateNeeded should not return error, but got: %v", err) } nodesToUpdateStatusFor := asw.GetNodesToUpdateStatusFor() if nodesToUpdateStatusFor[nodeName].statusUpdateNeeded { t.Fatalf("nodesToUpdateStatusFor should be updated to: false, but got: true") } } // Test_updateNodeStatusUpdateNeededError expects statusUpdateNeeded to report error if // updateNodeStatusUpdateNeeded is called on a node that does not exist in the actual state of the world func Test_updateNodeStatusUpdateNeededError(t *testing.T) { // Arrange volumePluginMgr, _ := volumetesting.GetTestVolumePluginMgr(t) asw := &actualStateOfWorld{ attachedVolumes:        make(map[v1.UniqueVolumeName]attachedVolume), nodesToUpdateStatusFor: make(map[types.NodeName]nodeToUpdateStatusFor), volumePluginMgr:        volumePluginMgr, } nodeName := types.NodeName("node-1") // Act err := asw.updateNodeStatusUpdateNeeded(nodeName, false) // Assert if err == nil { t.Fatalf("updateNodeStatusUpdateNeeded should return error, but got nothing") } } </ins> func verifyAttachedVolume( t *testing.T, attachedVolumes []AttachedVolume,