From 9f3146b2852d6924be7aaffb76ae91ba68be7aa4 Mon Sep 17 00:00:00 2001 From: Xing Yang Date: Fri, 24 Aug 2018 16:20:06 -0700 Subject: [PATCH] Fix error when checking and updating snapshotclass --- pkg/controller/snapshot_controller_base.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkg/controller/snapshot_controller_base.go b/pkg/controller/snapshot_controller_base.go index aa3e7ad5..9a5c519a 100644 --- a/pkg/controller/snapshot_controller_base.go +++ b/pkg/controller/snapshot_controller_base.go @@ -330,6 +330,7 @@ func (ctrl *csiSnapshotController) checkAndUpdateSnapshotClass(snapshot *crdv1.V className := snapshot.Spec.VolumeSnapshotClassName var class *crdv1.VolumeSnapshotClass var err error + newSnapshot := snapshot if className != nil { glog.V(5).Infof("checkAndUpdateSnapshotClass [%s]: VolumeSnapshotClassName [%s]", snapshot.Name, *className) class, err = ctrl.GetSnapshotClass(*className) @@ -340,7 +341,7 @@ func (ctrl *csiSnapshotController) checkAndUpdateSnapshotClass(snapshot *crdv1.V } } else { glog.V(5).Infof("checkAndUpdateSnapshotClass [%s]: SetDefaultSnapshotClass", snapshot.Name) - class, snapshot, err = ctrl.SetDefaultSnapshotClass(snapshot) + class, newSnapshot, err = ctrl.SetDefaultSnapshotClass(snapshot) if err != nil { glog.Errorf("checkAndUpdateSnapshotClass failed to setDefaultClass %v", err) ctrl.updateSnapshotErrorStatusWithEvent(snapshot, v1.EventTypeWarning, "SetDefaultSnapshotClassFailed", fmt.Sprintf("Failed to set default snapshot class with error %v", err)) @@ -351,9 +352,9 @@ func (ctrl *csiSnapshotController) checkAndUpdateSnapshotClass(snapshot *crdv1.V glog.V(5).Infof("VolumeSnapshotClass Snapshotter [%s] Snapshot Controller snapshotterName [%s]", class.Snapshotter, ctrl.snapshotterName) if class.Snapshotter != ctrl.snapshotterName { glog.V(4).Infof("Skipping VolumeSnapshot %s for snapshotter [%s] in VolumeSnapshotClass because it does not match with the snapshotter for controller [%s]", snapshotKey(snapshot), class.Snapshotter, ctrl.snapshotterName) - return nil, err + return nil, fmt.Errorf("volumeSnapshotClass does not match with the snapshotter for controller") } - return snapshot, nil + return newSnapshot, nil } // updateSnapshot runs in worker thread and handles "snapshot added",