mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-22 14:20:19 +00:00
rbd: export GenVolFromVolID() for consumption by csi-addons
genVolFromVolID() is used by the CSI Controller service to create an rbdVolume object from a CSI volume_id. This function is useful for CSI-Addons Services as well, so rename it to GenVolFromVolID(). Signed-off-by: Niels de Vos <ndevos@redhat.com>
This commit is contained in:
parent
e76bffe353
commit
8d09134125
@ -734,7 +734,7 @@ func checkContentSource(
|
|||||||
if volID == "" {
|
if volID == "" {
|
||||||
return nil, nil, status.Errorf(codes.NotFound, "volume ID cannot be empty")
|
return nil, nil, status.Errorf(codes.NotFound, "volume ID cannot be empty")
|
||||||
}
|
}
|
||||||
rbdvol, err := genVolFromVolID(ctx, volID, cr, req.GetSecrets())
|
rbdvol, err := GenVolFromVolID(ctx, volID, cr, req.GetSecrets())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.ErrorLog(ctx, "failed to get backend image for %s: %v", volID, err)
|
log.ErrorLog(ctx, "failed to get backend image for %s: %v", volID, err)
|
||||||
if !errors.Is(err, ErrImageNotFound) {
|
if !errors.Is(err, ErrImageNotFound) {
|
||||||
@ -750,9 +750,9 @@ func checkContentSource(
|
|||||||
return nil, nil, status.Errorf(codes.InvalidArgument, "not a proper volume source")
|
return nil, nil, status.Errorf(codes.InvalidArgument, "not a proper volume source")
|
||||||
}
|
}
|
||||||
|
|
||||||
// checkErrAndUndoReserve work on error from genVolFromVolID() and undo omap reserve.
|
// checkErrAndUndoReserve work on error from GenVolFromVolID() and undo omap reserve.
|
||||||
// Even-though volumeID is part of rbdVolume struct we take it as an arg here, the main reason
|
// Even-though volumeID is part of rbdVolume struct we take it as an arg here, the main reason
|
||||||
// being, the volume id is getting filled from `genVolFromVolID->generateVolumeFromVolumeID` call path,
|
// being, the volume id is getting filled from `GenVolFromVolID->generateVolumeFromVolumeID` call path,
|
||||||
// and this function is operating on the error case/scenario of above call chain, so we can not rely
|
// and this function is operating on the error case/scenario of above call chain, so we can not rely
|
||||||
// on the 'rbdvol->rbdimage->voldID' field.
|
// on the 'rbdvol->rbdimage->voldID' field.
|
||||||
|
|
||||||
@ -865,7 +865,7 @@ func (cs *ControllerServer) DeleteVolume(
|
|||||||
return &csi.DeleteVolumeResponse{}, nil
|
return &csi.DeleteVolumeResponse{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
rbdVol, err := genVolFromVolID(ctx, volumeID, cr, secrets)
|
rbdVol, err := GenVolFromVolID(ctx, volumeID, cr, secrets)
|
||||||
defer rbdVol.Destroy()
|
defer rbdVol.Destroy()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return cs.checkErrAndUndoReserve(ctx, err, volumeID, rbdVol, cr)
|
return cs.checkErrAndUndoReserve(ctx, err, volumeID, rbdVol, cr)
|
||||||
@ -1016,7 +1016,7 @@ func (cs *ControllerServer) CreateSnapshot(
|
|||||||
defer cr.DeleteCredentials()
|
defer cr.DeleteCredentials()
|
||||||
|
|
||||||
// Fetch source volume information
|
// Fetch source volume information
|
||||||
rbdVol, err := genVolFromVolID(ctx, req.GetSourceVolumeId(), cr, req.GetSecrets())
|
rbdVol, err := GenVolFromVolID(ctx, req.GetSourceVolumeId(), cr, req.GetSecrets())
|
||||||
defer rbdVol.Destroy()
|
defer rbdVol.Destroy()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
switch {
|
switch {
|
||||||
@ -1462,7 +1462,7 @@ func (cs *ControllerServer) ControllerExpandVolume(
|
|||||||
}
|
}
|
||||||
defer cr.DeleteCredentials()
|
defer cr.DeleteCredentials()
|
||||||
|
|
||||||
rbdVol, err := genVolFromVolID(ctx, volID, cr, req.GetSecrets())
|
rbdVol, err := GenVolFromVolID(ctx, volID, cr, req.GetSecrets())
|
||||||
defer rbdVol.Destroy()
|
defer rbdVol.Destroy()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
switch {
|
switch {
|
||||||
|
@ -1145,9 +1145,11 @@ func generateVolumeFromVolumeID(
|
|||||||
return rbdVol, err
|
return rbdVol, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// genVolFromVolID generates a rbdVolume structure from the provided identifier, updating
|
// GenVolFromVolID generates a rbdVolume structure from the provided identifier, updating
|
||||||
// the structure with elements from on-disk image metadata as well.
|
// the structure with elements from on-disk image metadata as well.
|
||||||
func genVolFromVolID(
|
//
|
||||||
|
// nolint // returns non-exported *rbdVolume, which is fine
|
||||||
|
func GenVolFromVolID(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
volumeID string,
|
volumeID string,
|
||||||
cr *util.Credentials,
|
cr *util.Credentials,
|
||||||
|
@ -235,7 +235,7 @@ func (rs *ReplicationServer) EnableVolumeReplication(ctx context.Context,
|
|||||||
}
|
}
|
||||||
defer rs.VolumeLocks.Release(volumeID)
|
defer rs.VolumeLocks.Release(volumeID)
|
||||||
|
|
||||||
rbdVol, err := genVolFromVolID(ctx, volumeID, cr, req.GetSecrets())
|
rbdVol, err := GenVolFromVolID(ctx, volumeID, cr, req.GetSecrets())
|
||||||
defer rbdVol.Destroy()
|
defer rbdVol.Destroy()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
switch {
|
switch {
|
||||||
@ -410,7 +410,7 @@ func (rs *ReplicationServer) DisableVolumeReplication(ctx context.Context,
|
|||||||
}
|
}
|
||||||
defer rs.VolumeLocks.Release(volumeID)
|
defer rs.VolumeLocks.Release(volumeID)
|
||||||
|
|
||||||
rbdVol, err := genVolFromVolID(ctx, volumeID, cr, req.GetSecrets())
|
rbdVol, err := GenVolFromVolID(ctx, volumeID, cr, req.GetSecrets())
|
||||||
defer rbdVol.Destroy()
|
defer rbdVol.Destroy()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
switch {
|
switch {
|
||||||
@ -522,7 +522,7 @@ func (rs *ReplicationServer) PromoteVolume(ctx context.Context,
|
|||||||
}
|
}
|
||||||
defer rs.VolumeLocks.Release(volumeID)
|
defer rs.VolumeLocks.Release(volumeID)
|
||||||
|
|
||||||
rbdVol, err := genVolFromVolID(ctx, volumeID, cr, req.GetSecrets())
|
rbdVol, err := GenVolFromVolID(ctx, volumeID, cr, req.GetSecrets())
|
||||||
defer rbdVol.Destroy()
|
defer rbdVol.Destroy()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
switch {
|
switch {
|
||||||
@ -658,7 +658,7 @@ func (rs *ReplicationServer) DemoteVolume(ctx context.Context,
|
|||||||
}
|
}
|
||||||
defer rs.VolumeLocks.Release(volumeID)
|
defer rs.VolumeLocks.Release(volumeID)
|
||||||
|
|
||||||
rbdVol, err := genVolFromVolID(ctx, volumeID, cr, req.GetSecrets())
|
rbdVol, err := GenVolFromVolID(ctx, volumeID, cr, req.GetSecrets())
|
||||||
defer rbdVol.Destroy()
|
defer rbdVol.Destroy()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
switch {
|
switch {
|
||||||
@ -745,7 +745,7 @@ func (rs *ReplicationServer) ResyncVolume(ctx context.Context,
|
|||||||
return nil, status.Errorf(codes.Aborted, util.VolumeOperationAlreadyExistsFmt, volumeID)
|
return nil, status.Errorf(codes.Aborted, util.VolumeOperationAlreadyExistsFmt, volumeID)
|
||||||
}
|
}
|
||||||
defer rs.VolumeLocks.Release(volumeID)
|
defer rs.VolumeLocks.Release(volumeID)
|
||||||
rbdVol, err := genVolFromVolID(ctx, volumeID, cr, req.GetSecrets())
|
rbdVol, err := GenVolFromVolID(ctx, volumeID, cr, req.GetSecrets())
|
||||||
defer rbdVol.Destroy()
|
defer rbdVol.Destroy()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
switch {
|
switch {
|
||||||
|
Loading…
Reference in New Issue
Block a user