Skip to content

Commit 98f45a8

Browse files
committed
Add missing defer summarize(req) in UninstallRemediation
UninstallRemediation is the only action reconciler that does not call defer summarize(req). All other reconcilers (Install, Upgrade, Test, Uninstall, Unlock, RollbackRemediation) include this deferred call to propagate sub-conditions into the top-level Ready condition. Without this call, the Ready condition is never updated after an uninstall remediation, leaving a stale status until the next reconciliation pass. Add ReadyCondition assertions to both uninstall success test cases to prevent regressions, matching the pattern in rollback_remediation_test.go. Signed-off-by: Sebastien Tardif <sebtardif@ncf.ca> Assisted-by: Grok/grok-4 Signed-off-by: Sebastien Tardif <sebtardif@ncf.ca>
1 parent ca9234b commit 98f45a8

2 files changed

Lines changed: 7 additions & 0 deletions

File tree

internal/reconcile/uninstall_remediation.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,8 @@ func (r *UninstallRemediation) Reconcile(ctx context.Context, req *Request) erro
8484
cfg = r.configFactory.Build(logBuf, observeUninstall(req.Object, v2.ReleaseActionUninstallRemediation))
8585
)
8686

87+
defer summarize(req)
88+
8789
// Require current to run uninstall.
8890
if cur == nil {
8991
return fmt.Errorf("%w: required to uninstall", ErrNoLatest)

internal/reconcile/uninstall_remediation_test.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import (
3434
"k8s.io/client-go/tools/record"
3535

3636
eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1"
37+
"github.com/fluxcd/pkg/apis/meta"
3738
"github.com/fluxcd/pkg/runtime/conditions"
3839

3940
"github.com/fluxcd/pkg/chartutil"
@@ -111,6 +112,8 @@ func TestUninstallRemediation_Reconcile(t *testing.T) {
111112
expectConditions: []metav1.Condition{
112113
*conditions.TrueCondition(v2.RemediatedCondition, v2.UninstallSucceededReason,
113114
"succeeded"),
115+
*conditions.FalseCondition(meta.ReadyCondition, v2.UninstallSucceededReason,
116+
"succeeded"),
114117
},
115118
expectHistory: func(releases []*helmrelease.Release) v2.Snapshots {
116119
return v2.Snapshots{
@@ -332,6 +335,8 @@ func TestUninstallRemediation_Reconcile(t *testing.T) {
332335
expectConditions: []metav1.Condition{
333336
*conditions.TrueCondition(v2.RemediatedCondition, v2.UninstallSucceededReason,
334337
"succeeded"),
338+
*conditions.FalseCondition(meta.ReadyCondition, v2.UninstallSucceededReason,
339+
"succeeded"),
335340
},
336341
expectHistory: func(releases []*helmrelease.Release) v2.Snapshots {
337342
return v2.Snapshots{

0 commit comments

Comments
 (0)