From f02ca97b1cdc420cc69ffa2409e1c905e11bed68 Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Tue, 1 Oct 2024 17:34:09 +0200 Subject: [PATCH] rbd: consider ErrPermissionDenied for vol Incase of RDR with restricted access the ceph user will not have access to all the objects or all the pools where mapping exists This commits add a check to continue to get the volume if there is a permission error Signed-off-by: Madhu Rajanna --- internal/rbd/rbd_util.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/rbd/rbd_util.go b/internal/rbd/rbd_util.go index 1beb4f5318f..4dee7c58906 100644 --- a/internal/rbd/rbd_util.go +++ b/internal/rbd/rbd_util.go @@ -1215,7 +1215,7 @@ func GenVolFromVolID( vol, err = generateVolumeFromVolumeID(ctx, volumeID, vi, cr, secrets) if !errors.Is(err, util.ErrKeyNotFound) && !errors.Is(err, util.ErrPoolNotFound) && - !errors.Is(err, ErrImageNotFound) { + !errors.Is(err, ErrImageNotFound) && !errors.Is(err, rados.ErrPermissionDenied) { return vol, err } @@ -1227,7 +1227,7 @@ func GenVolFromVolID( if mapping != nil { rbdVol, vErr := generateVolumeFromMapping(ctx, mapping, volumeID, vi, cr, secrets) if !errors.Is(vErr, util.ErrKeyNotFound) && !errors.Is(vErr, util.ErrPoolNotFound) && - !errors.Is(vErr, ErrImageNotFound) { + !errors.Is(vErr, ErrImageNotFound) && !errors.Is(vErr, rados.ErrPermissionDenied) { return rbdVol, vErr } } @@ -1281,7 +1281,7 @@ func generateVolumeFromMapping( nvi.LocationID = pID vol, err = generateVolumeFromVolumeID(ctx, volumeID, nvi, cr, secrets) if !errors.Is(err, util.ErrKeyNotFound) && !errors.Is(err, util.ErrPoolNotFound) && - !errors.Is(err, ErrImageNotFound) { + !errors.Is(err, ErrImageNotFound) && !errors.Is(err, rados.ErrPermissionDenied) { return vol, err } }