diff --git a/pkg/controller/snapshot_controller.go b/pkg/controller/snapshot_controller.go index d1194695c..57cf5bda4 100644 --- a/pkg/controller/snapshot_controller.go +++ b/pkg/controller/snapshot_controller.go @@ -559,27 +559,31 @@ func (ctrl *csiSnapshotController) checkandUpdateBoundSnapshotStatusOperation(sn var timestamp int64 var size int64 var readyToUse = false + var driverName string + var snapshotID string if snapshot.Spec.Source == nil { - glog.V(5).Infof("checkandUpdateBoundSnapshotStatusOperation: snapshot [%s] is pre-bound to content [%s]", snapshot.Name, content.Name) + glog.V(5).Infof("checkandUpdateBoundSnapshotStatusOperation: checking whether snapshot [%s] is pre-bound to content [%s]", snapshot.Name, content.Name) readyToUse, timestamp, size, err = ctrl.handler.GetSnapshotStatus(content) if err != nil { + glog.Errorf("checkandUpdateBoundSnapshotStatusOperation: failed to call get snapshot status to check whether snapshot is ready to use %q", err) return nil, err } + if content.Spec.CSI != nil { + driverName, snapshotID = content.Spec.CSI.Driver, content.Spec.CSI.SnapshotHandle + } } else { class, volume, _, snapshotterCredentials, err := ctrl.getCreateSnapshotInput(snapshot) if err != nil { return nil, fmt.Errorf("failed to get input parameters to create snapshot %s: %q", snapshot.Name, err) } - var driverName string - var snapshotID string driverName, snapshotID, timestamp, size, readyToUse, err = ctrl.handler.CreateSnapshot(snapshot, volume, class.Parameters, snapshotterCredentials) if err != nil { glog.Errorf("checkandUpdateBoundSnapshotStatusOperation: failed to call create snapshot to check whether the snapshot is ready to use %q", err) return nil, err } - glog.V(5).Infof("checkandUpdateBoundSnapshotStatusOperation: driver %s, snapshotId %s, timestamp %d, size %d, readyToUse %t", driverName, snapshotID, timestamp, size, readyToUse) } + glog.V(5).Infof("checkandUpdateBoundSnapshotStatusOperation: driver %s, snapshotId %s, timestamp %d, size %d, readyToUse %t", driverName, snapshotID, timestamp, size, readyToUse) if timestamp == 0 { timestamp = time.Now().UnixNano()