From 638e077b4b93753a97315dcfb9c88f424d33f333 Mon Sep 17 00:00:00 2001 From: Antonio Ojea Date: Sun, 19 Apr 2020 13:11:31 +0200 Subject: [PATCH 1/3] e2e kube_proxy pull only if not available --- test/e2e/network/kube_proxy.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/e2e/network/kube_proxy.go b/test/e2e/network/kube_proxy.go index cedceb5c4f5..fac41f32fe5 100644 --- a/test/e2e/network/kube_proxy.go +++ b/test/e2e/network/kube_proxy.go @@ -101,7 +101,7 @@ var _ = SIGDescribe("Network", func() { { Name: "e2e-net-exec", Image: kubeProxyE2eImage, - ImagePullPolicy: "Always", + ImagePullPolicy: v1.PullIfNotPresent, Args: []string{"pause"}, VolumeMounts: []v1.VolumeMount{ { @@ -152,7 +152,7 @@ var _ = SIGDescribe("Network", func() { { Name: "e2e-net-client", Image: kubeProxyE2eImage, - ImagePullPolicy: "Always", + ImagePullPolicy: v1.PullIfNotPresent, Args: []string{ "net", "--runner", "nat-closewait-client", @@ -180,7 +180,7 @@ var _ = SIGDescribe("Network", func() { { Name: "e2e-net-server", Image: kubeProxyE2eImage, - ImagePullPolicy: "Always", + ImagePullPolicy: v1.PullIfNotPresent, Args: []string{ "net", "--runner", "nat-closewait-server", From 4b423ad073f38d60b27629416384c59d5cd8c07d Mon Sep 17 00:00:00 2001 From: Antonio Ojea Date: Sun, 19 Apr 2020 13:37:34 +0200 Subject: [PATCH 2/3] e2e kube-proxy don't delete inmediatly --- test/e2e/network/kube_proxy.go | 5 ----- 1 file changed, 5 deletions(-) diff --git a/test/e2e/network/kube_proxy.go b/test/e2e/network/kube_proxy.go index fac41f32fe5..61c0be0ff2a 100644 --- a/test/e2e/network/kube_proxy.go +++ b/test/e2e/network/kube_proxy.go @@ -81,8 +81,6 @@ var _ = SIGDescribe("Network", func() { nodeIP: ips[1], } - zero := int64(0) - // Create a pod to check the conntrack entries on the host node // It mounts the host /proc/net folder to be able to access // the nf_conntrack file with the host conntrack entries @@ -125,7 +123,6 @@ var _ = SIGDescribe("Network", func() { }, }, }, - TerminationGracePeriodSeconds: &zero, }, } fr.PodClient().CreateSync(hostExecPod) @@ -164,7 +161,6 @@ var _ = SIGDescribe("Network", func() { }, }, }, - TerminationGracePeriodSeconds: &zero, }, } @@ -198,7 +194,6 @@ var _ = SIGDescribe("Network", func() { }, }, }, - TerminationGracePeriodSeconds: &zero, }, } From 6efe6e1284245e601d90c69ac372673665eefc95 Mon Sep 17 00:00:00 2001 From: Antonio Ojea Date: Sun, 19 Apr 2020 13:52:49 +0200 Subject: [PATCH 3/3] e2e TCP Close-wait don't set conn deadline Don't set a connection deadline for reading, because the read operation will fail if no data is reaceived after the deadline, and will not keep the connection in the close_wait status. --- test/e2e/network/kube_proxy.go | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/test/e2e/network/kube_proxy.go b/test/e2e/network/kube_proxy.go index 61c0be0ff2a..6101a9e7dab 100644 --- a/test/e2e/network/kube_proxy.go +++ b/test/e2e/network/kube_proxy.go @@ -44,10 +44,9 @@ var kubeProxyE2eImage = imageutils.GetE2EImage(imageutils.Agnhost) var _ = SIGDescribe("Network", func() { const ( - testDaemonHTTPPort = 11301 - testDaemonTCPPort = 11302 - deadlineTimeoutSeconds = 5 - postFinTimeoutSeconds = 15 + testDaemonHTTPPort = 11301 + testDaemonTCPPort = 11302 + postFinTimeoutSeconds = 30 ) fr := framework.NewDefaultFramework("network") @@ -157,7 +156,7 @@ var _ = SIGDescribe("Network", func() { fmt.Sprintf(`{"RemoteAddr":"%v", "PostFinTimeoutSeconds":%v, "TimeoutSeconds":%v, "LeakConnection":true}`, net.JoinHostPort(serverNodeInfo.nodeIP, strconv.Itoa(testDaemonTCPPort)), postFinTimeoutSeconds, - deadlineTimeoutSeconds), + 0), }, }, }, @@ -232,7 +231,7 @@ var _ = SIGDescribe("Network", func() { cmd := fmt.Sprintf("cat /rootfs/proc/net/nf_conntrack "+ "| grep -m 1 'CLOSE_WAIT.*dst=%v.*dport=%v' ", ip, testDaemonTCPPort) - if err := wait.PollImmediate(deadlineTimeoutSeconds, postFinTimeoutSeconds, func() (bool, error) { + if err := wait.PollImmediate(1*time.Second, postFinTimeoutSeconds, func() (bool, error) { result, err := framework.RunHostCmd(fr.Namespace.Name, "e2e-net-exec", cmd) // retry if we can't obtain the conntrack entry if err != nil {