From 149e92999881c40e265c02af79dd911126d0724d Mon Sep 17 00:00:00 2001 From: Fabian Wiesel Date: Mon, 15 Dec 2025 15:36:16 +0100 Subject: [PATCH] Onboarding: Only reset ones own readiness summary When onboarding aborts, it means usually that another controller will take over, so we better do not remove its summary (i.e. during scaledown). --- internal/controller/onboarding_controller.go | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/internal/controller/onboarding_controller.go b/internal/controller/onboarding_controller.go index 8211e31b..6ee6906a 100644 --- a/internal/controller/onboarding_controller.go +++ b/internal/controller/onboarding_controller.go @@ -152,12 +152,20 @@ func (r *OnboardingController) abortOnboarding(ctx context.Context, hv *kvmv1.Hy return nil } - changed := meta.SetStatusCondition(&hv.Status.Conditions, metav1.Condition{ - Type: kvmv1.ConditionTypeReady, - Status: metav1.ConditionFalse, - Reason: ConditionReasonOnboarding, - Message: "Onboarding aborted", - }) + changed := false + ready := meta.FindStatusCondition(hv.Status.Conditions, kvmv1.ConditionTypeReady) + if ready != nil { + // Only undo ones own readiness status reporting + if ready.Reason == ConditionReasonOnboarding { + meta.SetStatusCondition(&hv.Status.Conditions, metav1.Condition{ + Type: kvmv1.ConditionTypeReady, + Status: metav1.ConditionFalse, + Reason: ConditionReasonOnboarding, + Message: "Onboarding aborted", + }) + changed = true + } + } if meta.SetStatusCondition(&hv.Status.Conditions, metav1.Condition{ Type: ConditionTypeOnboarding,