From b25badd185718d552df845ab17fae70d74bb01d4 Mon Sep 17 00:00:00 2001 From: Maximilian Rink Date: Mon, 24 Aug 2026 21:46:05 +0200 Subject: [PATCH 1/2] test(endpoints): follow WireGuard clear refactor Signed-off-by: Maximilian Rink --- pkg/endpoints/endpoints_wireguard_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/endpoints/endpoints_wireguard_test.go b/pkg/endpoints/endpoints_wireguard_test.go index 3f9abc55..5173f6b4 100644 --- a/pkg/endpoints/endpoints_wireguard_test.go +++ b/pkg/endpoints/endpoints_wireguard_test.go @@ -6,7 +6,7 @@ import ( v1 "k8s.io/api/core/v1" ) -func TestWireguardDeleteDoesNotDereferenceNilServiceContext(t *testing.T) { +func TestWireguardClearDoesNotDereferenceNilServiceContext(t *testing.T) { worker := &wireguardWorker{} service := &v1.Service{} From 0e57deef3dade828adafe2a79f950c3651e3268b Mon Sep 17 00:00:00 2001 From: Maximilian Rink Date: Sun, 23 Aug 2026 19:53:06 +0200 Subject: [PATCH 2/2] test(e2e): raise IPv6 control-plane VIP reachability timeout for parallel runs The IPv6 control-plane VIP reachability check used a 5s Eventually window; under the 4-process parallel e2e run on a 4-vCPU runner NDP convergence for the IPv6 VIP can exceed that, causing intermittent timeouts while sibling specs pass. Raise it to a load-tolerant window matching the IPv4 case; the reachability assertion is unchanged. Signed-off-by: Maximilian Rink --- testing/e2e/e2e_test.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/testing/e2e/e2e_test.go b/testing/e2e/e2e_test.go index 86461350..e5a56655 100644 --- a/testing/e2e/e2e_test.go +++ b/testing/e2e/e2e_test.go @@ -393,7 +393,7 @@ var _ = Describe("kube-vip ARP/NDP broadcast neighbor", func() { }) It(clusterName+"provides an IPv6 VIP address for the Kubernetes control plane nodes", func() { - testControlPlaneVIPs(ctx, []string{cpVIP}, clusterName, client) + testControlPlaneVIPsWithTimeout(ctx, []string{cpVIP}, clusterName, client, 2*time.Second, 30*time.Second) }) }) @@ -1695,6 +1695,11 @@ func cleanupCluster(clusterName, network string, configMtx *sync.Mutex, logger l } func testControlPlaneVIPs(ctx context.Context, cpVIPs []string, clusterName string, client kubernetes.Interface) { + testControlPlaneVIPsWithTimeout(ctx, cpVIPs, clusterName, client, time.Duration(0), 20*time.Second) +} + +func testControlPlaneVIPsWithTimeout(ctx context.Context, cpVIPs []string, clusterName string, client kubernetes.Interface, + transportTimeout, eventuallyTimeout time.Duration) { Expect(cpVIPs).ToNot(BeEmpty()) By(withTimestamp("checking that the Kubernetes control plane nodes are accessible via the assigned VIP")) @@ -1702,7 +1707,7 @@ func testControlPlaneVIPs(ctx context.Context, cpVIPs []string, clusterName stri // use the default timeout for establishing a connection to the VIP for _, cpVIP := range cpVIPs { By(withTimestamp(fmt.Sprintf("testing connection to VIP: %s", cpVIP))) - assertControlPlaneIsRoutable(cpVIP, time.Duration(0), 20*time.Second) + assertControlPlaneIsRoutable(cpVIP, transportTimeout, eventuallyTimeout) } var leaderName string @@ -1720,7 +1725,7 @@ func testControlPlaneVIPs(ctx context.Context, cpVIPs []string, clusterName stri for _, cpVIP := range cpVIPs { By(withTimestamp(fmt.Sprintf("testing connection to VIP: %s", cpVIP))) // Allow at most 30 seconds of downtime when polling the control plane nodes - assertControlPlaneIsRoutable(cpVIP, time.Duration(0), 20*time.Second) + assertControlPlaneIsRoutable(cpVIP, transportTimeout, eventuallyTimeout) } }