From 14dda175a1061f7e79fcf17918a1ee04e412ca1c Mon Sep 17 00:00:00 2001 From: Miguel Angel Ajo Pelayo Date: Tue, 28 Oct 2025 14:49:38 +0000 Subject: [PATCH] fix race condition in beginlease test --- internal/controller/lease_controller_test.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/internal/controller/lease_controller_test.go b/internal/controller/lease_controller_test.go index 2b686dff..e3dc97f6 100644 --- a/internal/controller/lease_controller_test.go +++ b/internal/controller/lease_controller_test.go @@ -1660,20 +1660,22 @@ var _ = Describe("Scheduled Leases", func() { It("should acquire first lease at BeginTime, then second after first is released", func() { ctx := context.Background() - // Use same BeginTime for both to avoid timing races - sharedBeginTime := metav1.NewTime(time.Now().Truncate(time.Second).Add(1 * time.Second)) + // Give lease1 an earlier BeginTime to ensure deterministic ordering + // Stagger them closely so both BeginTimes will have passed by the time we check lease2 + lease1BeginTime := metav1.NewTime(time.Now().Truncate(time.Second).Add(1 * time.Second)) + lease2BeginTime := metav1.NewTime(time.Now().Truncate(time.Second).Add(1*time.Second + 100*time.Millisecond)) // Both leases target dut:b (only one exporter available) lease1 := leaseDutA2Sec.DeepCopy() lease1.Name = lease1Name lease1.Spec.Selector.MatchLabels["dut"] = "b" - lease1.Spec.BeginTime = &sharedBeginTime + lease1.Spec.BeginTime = &lease1BeginTime lease1.Spec.Duration = &metav1.Duration{Duration: 10 * time.Second} // Long duration, but we'll release early lease2 := leaseDutA2Sec.DeepCopy() lease2.Name = lease2Name lease2.Spec.Selector.MatchLabels["dut"] = "b" - lease2.Spec.BeginTime = &sharedBeginTime + lease2.Spec.BeginTime = &lease2BeginTime lease2.Spec.Duration = &metav1.Duration{Duration: 10 * time.Second} Expect(k8sClient.Create(ctx, lease1)).To(Succeed())