Skip to content

Commit e89fe5a

Browse files
nixpanicmergify[bot]
authored andcommitted
rbd: add context in reported errors by GetVolumeReplicationInfo
Logged errors are much more helpful when there is some context around the message about what went wrong. Signed-off-by: Niels de Vos <[email protected]>
1 parent 4101b63 commit e89fe5a

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

internal/csi-addons/rbd/replication.go

+12-4
Original file line numberDiff line numberDiff line change
@@ -815,6 +815,8 @@ func (rs *ReplicationServer) GetVolumeReplicationInfo(ctx context.Context,
815815
}
816816
cr, err := util.NewUserCredentials(req.GetSecrets())
817817
if err != nil {
818+
log.ErrorLog(ctx, "failed to get user credentials: %v", err)
819+
818820
return nil, status.Error(codes.Internal, err.Error())
819821
}
820822
defer cr.DeleteCredentials()
@@ -830,6 +832,8 @@ func (rs *ReplicationServer) GetVolumeReplicationInfo(ctx context.Context,
830832

831833
rbdVol, err := mgr.GetVolumeByID(ctx, volumeID)
832834
if err != nil {
835+
log.ErrorLog(ctx, "failed to get volume with id %q: %v", volumeID, err)
836+
833837
switch {
834838
case errors.Is(err, corerbd.ErrImageNotFound):
835839
err = status.Error(codes.NotFound, err.Error())
@@ -843,12 +847,14 @@ func (rs *ReplicationServer) GetVolumeReplicationInfo(ctx context.Context,
843847
}
844848
mirror, err := rbdVol.ToMirror()
845849
if err != nil {
850+
log.ErrorLog(ctx, "failed to convert volume %q to mirror type: %v", rbdVol, err)
851+
846852
return nil, status.Error(codes.Internal, err.Error())
847853
}
848854

849855
info, err := mirror.GetMirroringInfo(ctx)
850856
if err != nil {
851-
log.ErrorLog(ctx, err.Error())
857+
log.ErrorLog(ctx, "failed to get info for mirror %q: %v", mirror, err)
852858

853859
return nil, status.Error(codes.Aborted, err.Error())
854860
}
@@ -864,17 +870,18 @@ func (rs *ReplicationServer) GetVolumeReplicationInfo(ctx context.Context,
864870

865871
mirrorStatus, err := mirror.GetGlobalMirroringStatus(ctx)
866872
if err != nil {
873+
log.ErrorLog(ctx, "failed to get status for mirror %q: %v", mirror, err)
874+
867875
if errors.Is(err, corerbd.ErrImageNotFound) {
868876
return nil, status.Error(codes.Aborted, err.Error())
869877
}
870-
log.ErrorLog(ctx, err.Error())
871878

872879
return nil, status.Error(codes.Internal, err.Error())
873880
}
874881

875882
remoteStatus, err := mirrorStatus.GetRemoteSiteStatus(ctx)
876883
if err != nil {
877-
log.ErrorLog(ctx, err.Error())
884+
log.ErrorLog(ctx, "failed to get remote site status for mirror %q: %v", mirror, err)
878885

879886
if errors.Is(err, librbd.ErrNotExist) {
880887
return nil, status.Errorf(codes.NotFound, "failed to get remote status: %v", err)
@@ -886,10 +893,11 @@ func (rs *ReplicationServer) GetVolumeReplicationInfo(ctx context.Context,
886893
description := remoteStatus.GetDescription()
887894
resp, err := getLastSyncInfo(ctx, description)
888895
if err != nil {
896+
log.ErrorLog(ctx, "failed to parse last sync info from %q: %v", description, err)
897+
889898
if errors.Is(err, corerbd.ErrLastSyncTimeNotFound) {
890899
return nil, status.Errorf(codes.NotFound, "failed to get last sync info: %v", err)
891900
}
892-
log.ErrorLog(ctx, err.Error())
893901

894902
return nil, status.Errorf(codes.Internal, "failed to get last sync info: %v", err)
895903
}

0 commit comments

Comments
 (0)