SIGN IN SIGN UP

fix: avoid 409 Conflict races in integration test status updates (#832)

The 'Test default progressing state' integration test misuses
gomega.Eventually by passing the result of k8sClient.Status().Update
directly, so Update is only invoked once and Eventually keeps
re-checking the same already-resolved error. When the reconciler
updates the LWS status concurrently, the single attempt hits a 409
Conflict and the test times out after 120s.

The SetStatefulsetToUnReady test helper has the same class of bug:
the caller does a Get first and then this helper issues a single
Status().Update on the (potentially already-stale) object, so any
concurrent reconciler write produces a 409.

Wrap both updates in an Eventually polling closure that re-Gets the
latest object on every retry and re-issues Status().Update, matching
the canonical pattern used in kueue and jobset integration tests.

Signed-off-by: Kay Yan <kay.yan@daocloud.io>
K
Kay Yan committed
e5652458f1cfa58a0b9df64146520f22da751f26
Parent: 2b84d28
Committed by GitHub <noreply@github.com> on 4/29/2026, 6:01:27 PM