add missing CompletionTimestamp and metrics when restore moved into terminal phase (#6397)
Signed-off-by: Nutrymaco <efim7299@icloud.com>pull/6481/head
parent
178b073ffb
commit
8396163e77
|
@ -0,0 +1 @@
|
||||||
|
Add missing CompletionTimestamp and metrics when restore moved into terminal phase in restoreOperationsReconciler
|
|
@ -130,6 +130,8 @@ func (r *restoreOperationsReconciler) Reconcile(ctx context.Context, req ctrl.Re
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Warnf("Cannot check progress on Restore operations because backup info is unavailable %s; marking restore PartiallyFailed", err.Error())
|
log.Warnf("Cannot check progress on Restore operations because backup info is unavailable %s; marking restore PartiallyFailed", err.Error())
|
||||||
restore.Status.Phase = velerov1api.RestorePhasePartiallyFailed
|
restore.Status.Phase = velerov1api.RestorePhasePartiallyFailed
|
||||||
|
restore.Status.CompletionTimestamp = &metav1.Time{Time: r.clock.Now()}
|
||||||
|
r.metrics.RegisterRestorePartialFailure(restore.Spec.ScheduleName)
|
||||||
err2 := r.updateRestoreAndOperationsJSON(ctx, original, restore, nil, &itemoperationmap.OperationsForRestore{ErrsSinceUpdate: []string{err.Error()}}, false, false)
|
err2 := r.updateRestoreAndOperationsJSON(ctx, original, restore, nil, &itemoperationmap.OperationsForRestore{ErrsSinceUpdate: []string{err.Error()}}, false, false)
|
||||||
if err2 != nil {
|
if err2 != nil {
|
||||||
log.WithError(err2).Error("error updating Restore")
|
log.WithError(err2).Error("error updating Restore")
|
||||||
|
@ -140,7 +142,8 @@ func (r *restoreOperationsReconciler) Reconcile(ctx context.Context, req ctrl.Re
|
||||||
if info.location.Spec.AccessMode == velerov1api.BackupStorageLocationAccessModeReadOnly {
|
if info.location.Spec.AccessMode == velerov1api.BackupStorageLocationAccessModeReadOnly {
|
||||||
log.Infof("Cannot check progress on Restore operations because backup storage location %s is currently in read-only mode; marking restore PartiallyFailed", info.location.Name)
|
log.Infof("Cannot check progress on Restore operations because backup storage location %s is currently in read-only mode; marking restore PartiallyFailed", info.location.Name)
|
||||||
restore.Status.Phase = velerov1api.RestorePhasePartiallyFailed
|
restore.Status.Phase = velerov1api.RestorePhasePartiallyFailed
|
||||||
|
restore.Status.CompletionTimestamp = &metav1.Time{Time: r.clock.Now()}
|
||||||
|
r.metrics.RegisterRestorePartialFailure(restore.Spec.ScheduleName)
|
||||||
err := r.updateRestoreAndOperationsJSON(ctx, original, restore, nil, &itemoperationmap.OperationsForRestore{ErrsSinceUpdate: []string{"BSL is read-only"}}, false, false)
|
err := r.updateRestoreAndOperationsJSON(ctx, original, restore, nil, &itemoperationmap.OperationsForRestore{ErrsSinceUpdate: []string{"BSL is read-only"}}, false, false)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.WithError(err).Error("error updating Restore")
|
log.WithError(err).Error("error updating Restore")
|
||||||
|
@ -189,10 +192,12 @@ func (r *restoreOperationsReconciler) Reconcile(ctx context.Context, req ctrl.Re
|
||||||
if restore.Status.Phase == velerov1api.RestorePhaseWaitingForPluginOperations {
|
if restore.Status.Phase == velerov1api.RestorePhaseWaitingForPluginOperations {
|
||||||
log.Infof("Marking restore %s completed", restore.Name)
|
log.Infof("Marking restore %s completed", restore.Name)
|
||||||
restore.Status.Phase = velerov1api.RestorePhaseCompleted
|
restore.Status.Phase = velerov1api.RestorePhaseCompleted
|
||||||
|
restore.Status.CompletionTimestamp = &metav1.Time{Time: r.clock.Now()}
|
||||||
r.metrics.RegisterRestoreSuccess(restore.Spec.ScheduleName)
|
r.metrics.RegisterRestoreSuccess(restore.Spec.ScheduleName)
|
||||||
} else {
|
} else {
|
||||||
log.Infof("Marking restore %s FinalizingPartiallyFailed", restore.Name)
|
log.Infof("Marking restore %s FinalizingPartiallyFailed", restore.Name)
|
||||||
restore.Status.Phase = velerov1api.RestorePhasePartiallyFailed
|
restore.Status.Phase = velerov1api.RestorePhasePartiallyFailed
|
||||||
|
restore.Status.CompletionTimestamp = &metav1.Time{Time: r.clock.Now()}
|
||||||
r.metrics.RegisterRestorePartialFailure(restore.Spec.ScheduleName)
|
r.metrics.RegisterRestorePartialFailure(restore.Spec.ScheduleName)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue