Merge pull request #9892 from Lyndon-Li/refactor-generic-exposer-interface

Enhance RebindVolume method for generic restore exposer
This commit is contained in:
lyndon-li
2026-06-10 15:54:16 +08:00
committed by GitHub
6 changed files with 105 additions and 96 deletions
+5 -1
View File
@@ -475,7 +475,11 @@ func (r *DataDownloadReconciler) OnDataDownloadCompleted(ctx context.Context, na
}
objRef := getDataDownloadOwnerObject(&dd)
err := r.restoreExposer.RebindVolume(ctx, objRef, dd.Spec.TargetVolume.PVC, dd.Spec.TargetVolume.Namespace, dd.Spec.OperationTimeout.Duration)
err := r.restoreExposer.RebindVolume(ctx, objRef, exposer.GenericRestoreRebindVolumeParam{
TargetPVCName: dd.Spec.TargetVolume.PVC,
TargetNamespace: dd.Spec.TargetVolume.Namespace,
OperationTimeout: dd.Spec.OperationTimeout.Duration,
})
if err != nil {
log.WithError(err).Error("Failed to rebind PV to target PVC on completion")
return
@@ -548,7 +548,7 @@ func TestDataDownloadReconcile(t *testing.T) {
r.restoreExposer = nil
} else {
r.restoreExposer = func() exposer.GenericRestoreExposer {
ep := exposermockes.NewMockGenericRestoreExposer(t)
ep := exposermockes.NewGenericRestoreExposer(t)
if test.isExposeErr {
ep.On("Expose", mock.Anything, mock.Anything, mock.Anything).Return(errors.New("Error to expose restore exposer"))
} else if test.notNilExpose {
@@ -712,7 +712,7 @@ func TestOnDataDownloadCompleted(t *testing.T) {
needErrs := []bool{test.isGetErr, false, false, false}
r, err := initDataDownloadReconciler(t, nil, needErrs...)
r.restoreExposer = func() exposer.GenericRestoreExposer {
ep := exposermockes.NewMockGenericRestoreExposer(t)
ep := exposermockes.NewGenericRestoreExposer(t)
if test.rebindVolumeErr {
ep.On("RebindVolume", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(errors.New("Error to rebind volume"))
} else {
@@ -1092,7 +1092,7 @@ func (dt *ddResumeTestHelper) DiagnoseExpose(context.Context, corev1api.ObjectRe
return ""
}
func (dt *ddResumeTestHelper) RebindVolume(context.Context, corev1api.ObjectReference, string, string, time.Duration) error {
func (dt *ddResumeTestHelper) RebindVolume(context.Context, corev1api.ObjectReference, exposer.GenericRestoreRebindVolumeParam) error {
return nil
}