mirror of
https://github.com/ceph/ceph-csi.git
synced 2025-02-07 11:59:29 +00:00
rbd: use rbd.Manager
within ControllerServer.DeleteSnapshot()
Signed-off-by: Niels de Vos <ndevos@ibm.com>
This commit is contained in:
parent
ffb47a88d6
commit
6965c434ed
@ -1421,12 +1421,6 @@ func (cs *ControllerServer) DeleteSnapshot(
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
cr, err := util.NewUserCredentials(req.GetSecrets())
|
|
||||||
if err != nil {
|
|
||||||
return nil, status.Error(codes.Internal, err.Error())
|
|
||||||
}
|
|
||||||
defer cr.DeleteCredentials()
|
|
||||||
|
|
||||||
snapshotID := req.GetSnapshotId()
|
snapshotID := req.GetSnapshotId()
|
||||||
if snapshotID == "" {
|
if snapshotID == "" {
|
||||||
return nil, status.Error(codes.InvalidArgument, "snapshot ID cannot be empty")
|
return nil, status.Error(codes.InvalidArgument, "snapshot ID cannot be empty")
|
||||||
@ -1440,14 +1434,17 @@ func (cs *ControllerServer) DeleteSnapshot(
|
|||||||
defer cs.SnapshotLocks.Release(snapshotID)
|
defer cs.SnapshotLocks.Release(snapshotID)
|
||||||
|
|
||||||
// lock out snapshotID for restore operation
|
// lock out snapshotID for restore operation
|
||||||
if err = cs.OperationLocks.GetDeleteLock(snapshotID); err != nil {
|
if err := cs.OperationLocks.GetDeleteLock(snapshotID); err != nil {
|
||||||
log.ErrorLog(ctx, err.Error())
|
log.ErrorLog(ctx, err.Error())
|
||||||
|
|
||||||
return nil, status.Error(codes.Aborted, err.Error())
|
return nil, status.Error(codes.Aborted, err.Error())
|
||||||
}
|
}
|
||||||
defer cs.OperationLocks.ReleaseDeleteLock(snapshotID)
|
defer cs.OperationLocks.ReleaseDeleteLock(snapshotID)
|
||||||
|
|
||||||
rbdSnap, err := genSnapFromSnapID(ctx, snapshotID, cr, req.GetSecrets())
|
mgr := NewManager(cs.Driver.GetInstanceID(), nil, req.GetSecrets())
|
||||||
|
defer mgr.Destroy(ctx)
|
||||||
|
|
||||||
|
rbdSnap, err := mgr.GetSnapshotByID(ctx, snapshotID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// if error is ErrPoolNotFound, the pool is already deleted we don't
|
// if error is ErrPoolNotFound, the pool is already deleted we don't
|
||||||
// need to worry about deleting snapshot or omap data, return success
|
// need to worry about deleting snapshot or omap data, return success
|
||||||
@ -1498,7 +1495,7 @@ func (cs *ControllerServer) DeleteSnapshot(
|
|||||||
defer cs.SnapshotLocks.Release(requestName)
|
defer cs.SnapshotLocks.Release(requestName)
|
||||||
|
|
||||||
// Deleting snapshot and cloned volume
|
// Deleting snapshot and cloned volume
|
||||||
log.DebugLog(ctx, "deleting cloned rbd volume %s", rbdSnap.RbdSnapName)
|
log.DebugLog(ctx, "deleting cloned rbd volume %s", rbdSnap)
|
||||||
|
|
||||||
err = rbdSnap.Delete(ctx)
|
err = rbdSnap.Delete(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user