From 173ca86a7a4904d2a3402d327e35f45e8a560681 Mon Sep 17 00:00:00 2001 From: Johann Wagner Date: Fri, 28 Feb 2025 15:39:28 +0100 Subject: [PATCH] fix: Evaluate all conditions of a migration job to find out if completed --- internal/resources/datastore/datastore_migrate.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/internal/resources/datastore/datastore_migrate.go b/internal/resources/datastore/datastore_migrate.go index 0169977d..6fea1ae0 100644 --- a/internal/resources/datastore/datastore_migrate.go +++ b/internal/resources/datastore/datastore_migrate.go @@ -128,8 +128,11 @@ func (d *Migrate) CreateOrUpdate(ctx context.Context, tenantControlPlane *kamaji return resources.OperationResultEnqueueBack, nil case controllerutil.OperationResultNone: - if len(d.job.Status.Conditions) > 0 && d.job.Status.Conditions[0].Type == batchv1.JobComplete && d.job.Status.Conditions[0].Status == corev1.ConditionTrue { - return controllerutil.OperationResultNone, nil + // Note: job.Status.Conditions can contain more than one condition on Kubernetes versions greater than v1.30 + for _, condition := range d.job.Status.Conditions { + if condition.Type == batchv1.JobComplete && condition.Status == corev1.ConditionTrue { + return controllerutil.OperationResultNone, nil + } } d.inProgress = true