mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-09 16:00:22 +00:00
rbd: adapt to GetVolumeByID error message
GetVolumeByID already returning detailed error message, the caller just need to return it. No need to add duplicate details to error message. Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
This commit is contained in:
parent
7e2e5ba2e5
commit
8788e5ec08
@ -282,16 +282,7 @@ func (rs *ReplicationServer) EnableVolumeReplication(ctx context.Context,
|
|||||||
|
|
||||||
rbdVol, err := mgr.GetVolumeByID(ctx, volumeID)
|
rbdVol, err := mgr.GetVolumeByID(ctx, volumeID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
switch {
|
return nil, getGRPCError(err)
|
||||||
case errors.Is(err, corerbd.ErrImageNotFound):
|
|
||||||
err = status.Errorf(codes.NotFound, "volume %s not found", volumeID)
|
|
||||||
case errors.Is(err, util.ErrPoolNotFound):
|
|
||||||
err = status.Errorf(codes.NotFound, "pool %s not found for %s", rbdVol.GetPoolName(), volumeID)
|
|
||||||
default:
|
|
||||||
err = status.Errorf(codes.Internal, err.Error())
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil, err
|
|
||||||
}
|
}
|
||||||
mirror, err := rbdVol.ToMirror()
|
mirror, err := rbdVol.ToMirror()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -361,16 +352,7 @@ func (rs *ReplicationServer) DisableVolumeReplication(ctx context.Context,
|
|||||||
|
|
||||||
rbdVol, err := mgr.GetVolumeByID(ctx, volumeID)
|
rbdVol, err := mgr.GetVolumeByID(ctx, volumeID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
switch {
|
return nil, getGRPCError(err)
|
||||||
case errors.Is(err, corerbd.ErrImageNotFound):
|
|
||||||
err = status.Errorf(codes.NotFound, "volume %s not found", volumeID)
|
|
||||||
case errors.Is(err, util.ErrPoolNotFound):
|
|
||||||
err = status.Errorf(codes.NotFound, "pool %s not found for %s", rbdVol.GetPoolName(), volumeID)
|
|
||||||
default:
|
|
||||||
err = status.Errorf(codes.Internal, err.Error())
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil, err
|
|
||||||
}
|
}
|
||||||
mirror, err := rbdVol.ToMirror()
|
mirror, err := rbdVol.ToMirror()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -438,16 +420,7 @@ func (rs *ReplicationServer) PromoteVolume(ctx context.Context,
|
|||||||
|
|
||||||
rbdVol, err := mgr.GetVolumeByID(ctx, volumeID)
|
rbdVol, err := mgr.GetVolumeByID(ctx, volumeID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
switch {
|
return nil, getGRPCError(err)
|
||||||
case errors.Is(err, corerbd.ErrImageNotFound):
|
|
||||||
err = status.Errorf(codes.NotFound, "volume %s not found", volumeID)
|
|
||||||
case errors.Is(err, util.ErrPoolNotFound):
|
|
||||||
err = status.Errorf(codes.NotFound, "pool %s not found for %s", rbdVol.GetPoolName(), volumeID)
|
|
||||||
default:
|
|
||||||
err = status.Errorf(codes.Internal, err.Error())
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil, err
|
|
||||||
}
|
}
|
||||||
mirror, err := rbdVol.ToMirror()
|
mirror, err := rbdVol.ToMirror()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -540,16 +513,7 @@ func (rs *ReplicationServer) DemoteVolume(ctx context.Context,
|
|||||||
|
|
||||||
rbdVol, err := mgr.GetVolumeByID(ctx, volumeID)
|
rbdVol, err := mgr.GetVolumeByID(ctx, volumeID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
switch {
|
return nil, getGRPCError(err)
|
||||||
case errors.Is(err, corerbd.ErrImageNotFound):
|
|
||||||
err = status.Errorf(codes.NotFound, "volume %s not found", volumeID)
|
|
||||||
case errors.Is(err, util.ErrPoolNotFound):
|
|
||||||
err = status.Errorf(codes.NotFound, "pool %s not found for %s", rbdVol.GetPoolName(), volumeID)
|
|
||||||
default:
|
|
||||||
err = status.Errorf(codes.Internal, err.Error())
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil, err
|
|
||||||
}
|
}
|
||||||
mirror, err := rbdVol.ToMirror()
|
mirror, err := rbdVol.ToMirror()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -659,16 +623,7 @@ func (rs *ReplicationServer) ResyncVolume(ctx context.Context,
|
|||||||
|
|
||||||
rbdVol, err := mgr.GetVolumeByID(ctx, volumeID)
|
rbdVol, err := mgr.GetVolumeByID(ctx, volumeID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
switch {
|
return nil, getGRPCError(err)
|
||||||
case errors.Is(err, corerbd.ErrImageNotFound):
|
|
||||||
err = status.Errorf(codes.NotFound, "volume %s not found", volumeID)
|
|
||||||
case errors.Is(err, util.ErrPoolNotFound):
|
|
||||||
err = status.Errorf(codes.NotFound, "pool %s not found for %s", rbdVol.GetPoolName(), volumeID)
|
|
||||||
default:
|
|
||||||
err = status.Errorf(codes.Internal, err.Error())
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil, err
|
|
||||||
}
|
}
|
||||||
mirror, err := rbdVol.ToMirror()
|
mirror, err := rbdVol.ToMirror()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -830,6 +785,8 @@ func getGRPCError(err error) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
errorStatusMap := map[error]codes.Code{
|
errorStatusMap := map[error]codes.Code{
|
||||||
|
corerbd.ErrImageNotFound: codes.NotFound,
|
||||||
|
util.ErrPoolNotFound: codes.NotFound,
|
||||||
corerbd.ErrInvalidArgument: codes.InvalidArgument,
|
corerbd.ErrInvalidArgument: codes.InvalidArgument,
|
||||||
corerbd.ErrFlattenInProgress: codes.Aborted,
|
corerbd.ErrFlattenInProgress: codes.Aborted,
|
||||||
corerbd.ErrAborted: codes.Aborted,
|
corerbd.ErrAborted: codes.Aborted,
|
||||||
@ -875,9 +832,9 @@ func (rs *ReplicationServer) GetVolumeReplicationInfo(ctx context.Context,
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
switch {
|
switch {
|
||||||
case errors.Is(err, corerbd.ErrImageNotFound):
|
case errors.Is(err, corerbd.ErrImageNotFound):
|
||||||
err = status.Errorf(codes.NotFound, "volume %s not found", volumeID)
|
err = status.Errorf(codes.NotFound, err.Error())
|
||||||
case errors.Is(err, util.ErrPoolNotFound):
|
case errors.Is(err, util.ErrPoolNotFound):
|
||||||
err = status.Errorf(codes.NotFound, "pool %s not found for %s", rbdVol.GetPoolName(), volumeID)
|
err = status.Errorf(codes.NotFound, err.Error())
|
||||||
default:
|
default:
|
||||||
err = status.Errorf(codes.Internal, err.Error())
|
err = status.Errorf(codes.Internal, err.Error())
|
||||||
}
|
}
|
||||||
|
@ -27,6 +27,7 @@ import (
|
|||||||
|
|
||||||
corerbd "github.com/ceph/ceph-csi/internal/rbd"
|
corerbd "github.com/ceph/ceph-csi/internal/rbd"
|
||||||
"github.com/ceph/ceph-csi/internal/rbd/types"
|
"github.com/ceph/ceph-csi/internal/rbd/types"
|
||||||
|
"github.com/ceph/ceph-csi/internal/util"
|
||||||
|
|
||||||
librbd "github.com/ceph/go-ceph/rbd"
|
librbd "github.com/ceph/go-ceph/rbd"
|
||||||
"github.com/ceph/go-ceph/rbd/admin"
|
"github.com/ceph/go-ceph/rbd/admin"
|
||||||
@ -594,6 +595,16 @@ func TestGetGRPCError(t *testing.T) {
|
|||||||
err: nil,
|
err: nil,
|
||||||
expectedErr: status.Error(codes.OK, "ok string"),
|
expectedErr: status.Error(codes.OK, "ok string"),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "ErrImageNotFound",
|
||||||
|
err: corerbd.ErrImageNotFound,
|
||||||
|
expectedErr: status.Error(codes.NotFound, corerbd.ErrImageNotFound.Error()),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "ErrPoolNotFound",
|
||||||
|
err: util.ErrPoolNotFound,
|
||||||
|
expectedErr: status.Error(codes.NotFound, util.ErrPoolNotFound.Error()),
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
|
Loading…
Reference in New Issue
Block a user