Skip to content

Commit

Permalink
rbd: consider rbd as default mounter if not set.
Browse files Browse the repository at this point in the history
For the default mounter the mounter option
will not be set in the storageclass and as it is
not available in the storageclass same will not
be set in the volume context, Because of this the
mapOptions are getting discarded. If the mounter
is not set assuming it's an rbd mounter.

Note:- If the mounter is not set in the storageclass
we can set it in the volume context explicitly,
Doing this check-in node server to support backward
existing volumes and the check is minimal we are not
altering the volume context.

fixes: #3076

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
  • Loading branch information
Madhu-1 committed May 4, 2022
1 parent 43fe5c3 commit 2ff8908
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions internal/rbd/nodeserver.go
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,11 @@ func populateRbdVol(
return nil, status.Error(codes.Internal, err.Error())
}

if req.GetVolumeContext()["mounter"] == rbdDefaultMounter &&
mounter := req.GetVolumeContext()["mounter"]
if mounter == "" {
mounter = rbdDefaultMounter
}
if mounter == rbdDefaultMounter &&
!isKrbdFeatureSupported(ctx, strings.Join(rv.ImageFeatureSet.Names(), ",")) {
if !parseBoolOption(ctx, req.GetVolumeContext(), tryOtherMounters, false) {
log.ErrorLog(ctx, "unsupported krbd Feature, set `tryOtherMounters:true` or fix krbd driver")
Expand All @@ -252,7 +256,7 @@ func populateRbdVol(
// fallback to rbd-nbd,
rv.Mounter = rbdNbdMounter
} else {
rv.Mounter = req.GetVolumeContext()["mounter"]
rv.Mounter = mounter
}

err = getMapOptions(req, rv)
Expand Down

0 comments on commit 2ff8908

Please sign in to comment.