From a243cf52d47360c4c7c6d2b3553a366454cab21e Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Mon, 29 Jul 2024 12:51:32 +0200 Subject: [PATCH] rbd: return more descriptive error updated GetVolumeByID to return more descriptive error so that caller no need to add more details in the error message. Signed-off-by: Madhu Rajanna --- internal/rbd/manager.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/internal/rbd/manager.go b/internal/rbd/manager.go index 48b5130d9..3c41afdc6 100644 --- a/internal/rbd/manager.go +++ b/internal/rbd/manager.go @@ -124,7 +124,18 @@ func (mgr *rbdManager) GetVolumeByID(ctx context.Context, id string) (types.Volu volume, err := GenVolFromVolID(ctx, id, creds, mgr.secrets) if err != nil { - return nil, fmt.Errorf("failed to get volume from id %q: %w", id, err) + switch { + case errors.Is(err, ErrImageNotFound): + err = fmt.Errorf("volume %s not found: %w", id, err) + + return nil, err + case errors.Is(err, util.ErrPoolNotFound): + err = fmt.Errorf("pool %s not found for %s: %w", volume.Pool, id, err) + + return nil, err + default: + return nil, fmt.Errorf("failed to get volume from id %q: %w", id, err) + } } return volume, nil