rbd: fix volumeGroup UndoReservation

This commit fixes the VolumeGroup UndoReservation
by using the correct RequestName of the VolumeGroup
instead of the volumeGroupHandle.

Signed-off-by: Praveen M <m.praveen@ibm.com>
(cherry picked from commit 51d0a08112)
This commit is contained in:
Praveen M 2024-12-09 13:36:09 +05:30 committed by mergify[bot]
parent 900528da68
commit bbfb3a77d9

View File

@ -183,6 +183,15 @@ func (cvg *commonVolumeGroup) GetName(ctx context.Context) (string, error) {
return cvg.name, nil return cvg.name, nil
} }
// GetRequestName returns the requestName of the VolumeGroup.
func (cvg *commonVolumeGroup) GetRequestName(ctx context.Context) (string, error) {
if cvg.requestName == "" {
return "", errors.New("BUG: requestName is not set")
}
return cvg.requestName, nil
}
// GetPool returns the name of the pool that holds the VolumeGroup. // GetPool returns the name of the pool that holds the VolumeGroup.
func (cvg *commonVolumeGroup) GetPool(ctx context.Context) (string, error) { func (cvg *commonVolumeGroup) GetPool(ctx context.Context) (string, error) {
if cvg.pool == "" { if cvg.pool == "" {
@ -285,9 +294,9 @@ func (cvg *commonVolumeGroup) Delete(ctx context.Context) error {
return fmt.Errorf("failed to get name for volume group %q: %w", cvg, err) return fmt.Errorf("failed to get name for volume group %q: %w", cvg, err)
} }
csiID, err := cvg.GetID(ctx) reqName, err := cvg.GetRequestName(ctx)
if err != nil { if err != nil {
return fmt.Errorf("failed to get id for volume group %q: %w", cvg, err) return fmt.Errorf("failed to get request name for volume group %q: %w", cvg, err)
} }
pool, err := cvg.GetPool(ctx) pool, err := cvg.GetPool(ctx)
@ -300,7 +309,7 @@ func (cvg *commonVolumeGroup) Delete(ctx context.Context) error {
return err return err
} }
err = j.UndoReservation(ctx, pool, name, csiID) err = j.UndoReservation(ctx, pool, name, reqName)
if err != nil /* TODO? !errors.Is(..., err) */ { if err != nil /* TODO? !errors.Is(..., err) */ {
return fmt.Errorf("failed to undo the reservation for volume group %q: %w", cvg, err) return fmt.Errorf("failed to undo the reservation for volume group %q: %w", cvg, err)
} }