From 67e1739a56c0577bf9919eaffb4ecc424dd005c7 Mon Sep 17 00:00:00 2001 From: NekoPunch Date: Mon, 17 Aug 2026 10:04:19 -0700 Subject: [PATCH] test(atecontroller): retry the WorkerPool update on conflict TestWorkerPoolPodTemplateUpdate did a bare get-then-update while the reconciler writes the same object's status, so a reconcile landing between the read and the write rejected it with "the object has been modified". The file already has updateWorkerPoolSpec for this; use it. Claude-Session: https://claude.ai/code/session_01XuQqkwLf5Zx6CSZFHSC6hb --- .../internal/controllers/workerpool_controller_test.go | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/cmd/atecontroller/internal/controllers/workerpool_controller_test.go b/cmd/atecontroller/internal/controllers/workerpool_controller_test.go index cb1e8a917b..ed866a174e 100644 --- a/cmd/atecontroller/internal/controllers/workerpool_controller_test.go +++ b/cmd/atecontroller/internal/controllers/workerpool_controller_test.go @@ -424,13 +424,9 @@ func TestWorkerPoolPodTemplateUpdate(t *testing.T) { return err == nil && dep.Spec.Template.Spec.NodeSelector["workload"] == "substrate", nil }) - if err := k8sClient.Get(ctx, types.NamespacedName{Name: wp.Name, Namespace: wp.Namespace}, wp); err != nil { - t.Fatalf("re-fetch WorkerPool: %v", err) - } - wp.Spec.Template.NodeSelector = map[string]string{"workload": "updated"} - if err := k8sClient.Update(ctx, wp); err != nil { - t.Fatalf("update WorkerPool template: %v", err) - } + updateWorkerPoolSpec(t, ctx, wp, "update WorkerPool template", func(current *atev1alpha1.WorkerPool) { + current.Spec.Template.NodeSelector = map[string]string{"workload": "updated"} + }) eventually(t, func(ctx context.Context) (bool, error) { dep, err := getDeployment(ctx, wp)