From 2608a38d475480f79a9cb80613d5ac6378396c1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arda=20G=C3=BC=C3=A7l=C3=BC?= Date: Mon, 25 Aug 2025 13:26:48 +0300 Subject: [PATCH 1/2] Increase port-forward broken connection detection client timeout --- test/e2e/kubectl/portforward.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/e2e/kubectl/portforward.go b/test/e2e/kubectl/portforward.go index f2b57635f79..080b8c6f9e0 100644 --- a/test/e2e/kubectl/portforward.go +++ b/test/e2e/kubectl/portforward.go @@ -641,7 +641,9 @@ var _ = SIGDescribe("Kubectl Port forwarding", func() { ginkgo.By("Send a http request to verify port-forward working") client := http.Client{ - Timeout: 15 * time.Second, + // As discussed in https://github.com/kubernetes/kubernetes/pull/133682#issuecomment-3228372990, + // 30 second should be sufficient to complete. + Timeout: 30 * time.Second, } resp, err := client.Get(fmt.Sprintf("http://127.0.0.1:%d/", cmd.port)) framework.ExpectNoError(err, "couldn't get http response from port-forward") From f336f4c75a0b6789b799b9285adc82bea1d350e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arda=20G=C3=BC=C3=A7l=C3=BC?= Date: Thu, 28 Aug 2025 14:21:40 +0300 Subject: [PATCH 2/2] Close response body after the conn is closed --- test/e2e/kubectl/portforward.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/test/e2e/kubectl/portforward.go b/test/e2e/kubectl/portforward.go index 080b8c6f9e0..85136ccc5d4 100644 --- a/test/e2e/kubectl/portforward.go +++ b/test/e2e/kubectl/portforward.go @@ -649,6 +649,10 @@ var _ = SIGDescribe("Kubectl Port forwarding", func() { framework.ExpectNoError(err, "couldn't get http response from port-forward") gomega.Expect(resp.StatusCode).To(gomega.Equal(http.StatusOK), "unexpected status code") + ginkgo.By("Close response body") + err = resp.Body.Close() + framework.ExpectNoError(err, "couldn't close response body") + ginkgo.By("Dialing the local port") conn, err := net.Dial("tcp", fmt.Sprintf("127.0.0.1:%d", cmd.port)) framework.ExpectNoError(err, "couldn't connect to port %d", cmd.port) @@ -673,6 +677,10 @@ var _ = SIGDescribe("Kubectl Port forwarding", func() { resp, err = client.Get(fmt.Sprintf("http://127.0.0.1:%d/", cmd.port)) framework.ExpectNoError(err, "couldn't get http response from port-forward") gomega.Expect(resp.StatusCode).To(gomega.Equal(http.StatusOK), "unexpected status code") + + ginkgo.By("Close response body") + err = resp.Body.Close() + framework.ExpectNoError(err, "couldn't close response body") }) }) })