From 586e1f2325b7b8d3dce157cf939b8d3198b70f6e Mon Sep 17 00:00:00 2001 From: tanjunchen <2799194073@qq.com> Date: Fri, 10 Jan 2020 18:38:44 +0800 Subject: [PATCH] e2e/network/: Use e2eskipper package --- test/e2e/network/BUILD | 1 + test/e2e/network/dns.go | 3 +- test/e2e/network/dns_configmap.go | 3 +- test/e2e/network/firewall.go | 3 +- test/e2e/network/ingress.go | 9 +++--- test/e2e/network/ingress_scale.go | 3 +- test/e2e/network/kube_proxy.go | 5 +-- test/e2e/network/network_policy.go | 3 +- test/e2e/network/network_tiers.go | 3 +- test/e2e/network/networking.go | 7 +++-- test/e2e/network/networking_perf.go | 3 +- test/e2e/network/service.go | 47 +++++++++++++++-------------- 12 files changed, 51 insertions(+), 39 deletions(-) diff --git a/test/e2e/network/BUILD b/test/e2e/network/BUILD index 81fcdb3dea6..7368aa459af 100644 --- a/test/e2e/network/BUILD +++ b/test/e2e/network/BUILD @@ -74,6 +74,7 @@ go_library( "//test/e2e/framework/providers/gce:go_default_library", "//test/e2e/framework/rc:go_default_library", "//test/e2e/framework/service:go_default_library", + "//test/e2e/framework/skipper:go_default_library", "//test/e2e/framework/ssh:go_default_library", "//test/e2e/network/scale:go_default_library", "//test/images/agnhost/net/nat:go_default_library", diff --git a/test/e2e/network/dns.go b/test/e2e/network/dns.go index e650ff50a6f..bd9836d45b8 100644 --- a/test/e2e/network/dns.go +++ b/test/e2e/network/dns.go @@ -26,6 +26,7 @@ import ( "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" e2eservice "k8s.io/kubernetes/test/e2e/framework/service" + e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" "github.com/onsi/ginkgo" ) @@ -62,7 +63,7 @@ var _ = SIGDescribe("DNS", func() { // Added due to #8512. This is critical for GCE and GKE deployments. ginkgo.It("should provide DNS for the cluster [Provider:GCE]", func() { - framework.SkipUnlessProviderIs("gce", "gke") + e2eskipper.SkipUnlessProviderIs("gce", "gke") namesToResolve := []string{"google.com"} // Windows containers do not have a route to the GCE metadata server by default. diff --git a/test/e2e/network/dns_configmap.go b/test/e2e/network/dns_configmap.go index e274598cd1e..cea5b7921ec 100644 --- a/test/e2e/network/dns_configmap.go +++ b/test/e2e/network/dns_configmap.go @@ -24,6 +24,7 @@ import ( "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" e2eservice "k8s.io/kubernetes/test/e2e/framework/service" + e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" "github.com/onsi/ginkgo" ) @@ -520,7 +521,7 @@ var _ = SIGDescribe("DNS configMap nameserver [Feature:Networking-IPv6] [LinuxOn ginkgo.BeforeEach(func() { // IPv6 is not supported on Windows. - framework.SkipIfNodeOSDistroIs("windows") + e2eskipper.SkipIfNodeOSDistroIs("windows") }) ginkgo.Context("Change stubDomain", func() { diff --git a/test/e2e/network/firewall.go b/test/e2e/network/firewall.go index 4c91039be75..9b9f3415d92 100644 --- a/test/e2e/network/firewall.go +++ b/test/e2e/network/firewall.go @@ -32,6 +32,7 @@ import ( e2enode "k8s.io/kubernetes/test/e2e/framework/node" "k8s.io/kubernetes/test/e2e/framework/providers/gce" e2eservice "k8s.io/kubernetes/test/e2e/framework/service" + e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" gcecloud "k8s.io/legacy-cloud-providers/gce" "github.com/onsi/ginkgo" @@ -53,7 +54,7 @@ var _ = SIGDescribe("Firewall rule", func() { var gceCloud *gcecloud.Cloud ginkgo.BeforeEach(func() { - framework.SkipUnlessProviderIs("gce") + e2eskipper.SkipUnlessProviderIs("gce") var err error cs = f.ClientSet diff --git a/test/e2e/network/ingress.go b/test/e2e/network/ingress.go index 361968a3868..49b60aac27c 100644 --- a/test/e2e/network/ingress.go +++ b/test/e2e/network/ingress.go @@ -39,6 +39,7 @@ import ( "k8s.io/kubernetes/test/e2e/framework/ingress" "k8s.io/kubernetes/test/e2e/framework/providers/gce" e2eservice "k8s.io/kubernetes/test/e2e/framework/service" + e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" "github.com/onsi/ginkgo" ) @@ -85,7 +86,7 @@ var _ = SIGDescribe("Loadbalancing: L7", func() { // Platform specific setup ginkgo.BeforeEach(func() { - framework.SkipUnlessProviderIs("gce", "gke") + e2eskipper.SkipUnlessProviderIs("gce", "gke") ginkgo.By("Initializing gce controller") gceController = &gce.IngressController{ Ns: ns, @@ -242,7 +243,7 @@ var _ = SIGDescribe("Loadbalancing: L7", func() { // Platform specific setup ginkgo.BeforeEach(func() { - framework.SkipUnlessProviderIs("gce", "gke") + e2eskipper.SkipUnlessProviderIs("gce", "gke") ginkgo.By("Initializing gce controller") gceController = &gce.IngressController{ Ns: ns, @@ -588,7 +589,7 @@ var _ = SIGDescribe("Loadbalancing: L7", func() { // Platform specific setup ginkgo.BeforeEach(func() { - framework.SkipUnlessProviderIs("gce", "gke") + e2eskipper.SkipUnlessProviderIs("gce", "gke") jig.Class = ingress.MulticlusterIngressClassValue jig.PollInterval = 5 * time.Second ginkgo.By("Initializing gce controller") @@ -716,7 +717,7 @@ var _ = SIGDescribe("Loadbalancing: L7", func() { var nginxController *ingress.NginxIngressController ginkgo.BeforeEach(func() { - framework.SkipUnlessProviderIs("gce", "gke") + e2eskipper.SkipUnlessProviderIs("gce", "gke") ginkgo.By("Initializing nginx controller") jig.Class = "nginx" nginxController = &ingress.NginxIngressController{Ns: ns, Client: jig.Client} diff --git a/test/e2e/network/ingress_scale.go b/test/e2e/network/ingress_scale.go index bda4be54b62..6cc8585b7b2 100644 --- a/test/e2e/network/ingress_scale.go +++ b/test/e2e/network/ingress_scale.go @@ -18,6 +18,7 @@ package network import ( "k8s.io/kubernetes/test/e2e/framework" + e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" "k8s.io/kubernetes/test/e2e/network/scale" "github.com/onsi/ginkgo" @@ -40,7 +41,7 @@ var _ = SIGDescribe("Loadbalancing: L7 Scalability", func() { ) ginkgo.BeforeEach(func() { - framework.SkipUnlessProviderIs("gce", "gke") + e2eskipper.SkipUnlessProviderIs("gce", "gke") scaleFramework = scale.NewIngressScaleFramework(f.ClientSet, ns, framework.TestContext.CloudConfig) if err := scaleFramework.PrepareScaleTest(); err != nil { diff --git a/test/e2e/network/kube_proxy.go b/test/e2e/network/kube_proxy.go index 10d2cb86e69..300d614513b 100644 --- a/test/e2e/network/kube_proxy.go +++ b/test/e2e/network/kube_proxy.go @@ -30,6 +30,7 @@ import ( "k8s.io/kubernetes/test/e2e/framework" e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2epod "k8s.io/kubernetes/test/e2e/framework/pod" + e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2essh "k8s.io/kubernetes/test/e2e/framework/ssh" "k8s.io/kubernetes/test/images/agnhost/net/nat" imageutils "k8s.io/kubernetes/test/utils/image" @@ -54,7 +55,7 @@ var _ = SIGDescribe("Network", func() { nodes, err := e2enode.GetBoundedReadySchedulableNodes(fr.ClientSet, 2) framework.ExpectNoError(err) if len(nodes.Items) < 2 { - framework.Skipf( + e2eskipper.Skipf( "Test requires >= 2 Ready nodes, but there are only %v nodes", len(nodes.Items)) } @@ -87,7 +88,7 @@ var _ = SIGDescribe("Network", func() { framework.TestContext.Provider, clientNodeInfo.node) if err != nil && strings.Contains(err.Error(), "No such file or directory") { - framework.Skipf("The node %s does not support /proc/net/nf_conntrack", clientNodeInfo.name) + e2eskipper.Skipf("The node %s does not support /proc/net/nf_conntrack", clientNodeInfo.name) } framework.ExpectNoError(err) diff --git a/test/e2e/network/network_policy.go b/test/e2e/network/network_policy.go index c0b9e70fc05..88ed11a1a97 100644 --- a/test/e2e/network/network_policy.go +++ b/test/e2e/network/network_policy.go @@ -25,6 +25,7 @@ import ( "k8s.io/apimachinery/pkg/util/intstr" "k8s.io/kubernetes/test/e2e/framework" e2epod "k8s.io/kubernetes/test/e2e/framework/pod" + e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" imageutils "k8s.io/kubernetes/test/utils/image" "fmt" @@ -49,7 +50,7 @@ var _ = SIGDescribe("NetworkPolicy [LinuxOnly]", func() { ginkgo.BeforeEach(func() { // Windows does not support network policies. - framework.SkipIfNodeOSDistroIs("windows") + e2eskipper.SkipIfNodeOSDistroIs("windows") }) ginkgo.Context("NetworkPolicy between server and client", func() { diff --git a/test/e2e/network/network_tiers.go b/test/e2e/network/network_tiers.go index b495fa381ec..5f6ff1e7f89 100644 --- a/test/e2e/network/network_tiers.go +++ b/test/e2e/network/network_tiers.go @@ -31,6 +31,7 @@ import ( "k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework/providers/gce" e2eservice "k8s.io/kubernetes/test/e2e/framework/service" + e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" gcecloud "k8s.io/legacy-cloud-providers/gce" "github.com/onsi/ginkgo" @@ -44,7 +45,7 @@ var _ = SIGDescribe("Services [Feature:GCEAlphaFeature][Slow]", func() { ginkgo.BeforeEach(func() { // This test suite requires the GCE environment. - framework.SkipUnlessProviderIs("gce") + e2eskipper.SkipUnlessProviderIs("gce") cs = f.ClientSet }) diff --git a/test/e2e/network/networking.go b/test/e2e/network/networking.go index 275edb46c60..1dbc7005aa3 100644 --- a/test/e2e/network/networking.go +++ b/test/e2e/network/networking.go @@ -30,6 +30,7 @@ import ( "k8s.io/kubernetes/test/e2e/framework" e2enetwork "k8s.io/kubernetes/test/e2e/framework/network" e2epod "k8s.io/kubernetes/test/e2e/framework/pod" + e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2essh "k8s.io/kubernetes/test/e2e/framework/ssh" "github.com/onsi/ginkgo" @@ -111,7 +112,7 @@ var _ = SIGDescribe("Networking", func() { ginkgo.It("should provide Internet connection for containers [Feature:Networking-IPv6][Experimental][LinuxOnly]", func() { // IPv6 is not supported on Windows. - framework.SkipIfNodeOSDistroIs("windows") + e2eskipper.SkipIfNodeOSDistroIs("windows") ginkgo.By("Running container which tries to connect to 2001:4860:4860::8888") framework.ExpectNoError( checkConnectivityToHost(f, "", "connectivity-test", "2001:4860:4860::8888", 53, 30)) @@ -311,8 +312,8 @@ var _ = SIGDescribe("Networking", func() { }) ginkgo.It("should recreate its iptables rules if they are deleted [Disruptive]", func() { - framework.SkipUnlessProviderIs(framework.ProvidersWithSSH...) - framework.SkipUnlessSSHKeyPresent() + e2eskipper.SkipUnlessProviderIs(framework.ProvidersWithSSH...) + e2eskipper.SkipUnlessSSHKeyPresent() hosts, err := e2essh.NodeSSHHosts(f.ClientSet) framework.ExpectNoError(err, "failed to find external/internal IPs for every node") diff --git a/test/e2e/network/networking_perf.go b/test/e2e/network/networking_perf.go index aec9bfb3e97..26c375cada2 100644 --- a/test/e2e/network/networking_perf.go +++ b/test/e2e/network/networking_perf.go @@ -25,6 +25,7 @@ import ( v1 "k8s.io/api/core/v1" "k8s.io/kubernetes/test/e2e/framework" e2enode "k8s.io/kubernetes/test/e2e/framework/node" + e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" imageutils "k8s.io/kubernetes/test/utils/image" ) @@ -166,6 +167,6 @@ var _ = SIGDescribe("Networking IPerf IPv4 [Experimental] [Feature:Networking-IP // TODO jayunit100 : Retag this test according to semantics from #22401 var _ = SIGDescribe("Networking IPerf IPv6 [Experimental] [Feature:Networking-IPv6] [Slow] [Feature:Networking-Performance] [LinuxOnly]", func() { // IPv6 is not supported on Windows. - framework.SkipIfNodeOSDistroIs("windows") + e2eskipper.SkipIfNodeOSDistroIs("windows") networkingIPerfTest(true) }) diff --git a/test/e2e/network/service.go b/test/e2e/network/service.go index d0827d57bc5..9fa046769b3 100644 --- a/test/e2e/network/service.go +++ b/test/e2e/network/service.go @@ -50,6 +50,7 @@ import ( "k8s.io/kubernetes/test/e2e/framework/providers/gce" e2erc "k8s.io/kubernetes/test/e2e/framework/rc" e2eservice "k8s.io/kubernetes/test/e2e/framework/service" + e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2essh "k8s.io/kubernetes/test/e2e/framework/ssh" testutils "k8s.io/kubernetes/test/utils" imageutils "k8s.io/kubernetes/test/utils/image" @@ -853,13 +854,13 @@ var _ = SIGDescribe("Services", func() { ginkgo.It("should preserve source pod IP for traffic thru service cluster IP [LinuxOnly]", func() { // this test is creating a pod with HostNetwork=true, which is not supported on Windows. - framework.SkipIfNodeOSDistroIs("windows") + e2eskipper.SkipIfNodeOSDistroIs("windows") // This behavior is not supported if Kube-proxy is in "userspace" mode. // So we check the kube-proxy mode and skip this test if that's the case. if proxyMode, err := proxyMode(f); err == nil { if proxyMode == "userspace" { - framework.Skipf("The test doesn't work with kube-proxy in userspace mode") + e2eskipper.Skipf("The test doesn't work with kube-proxy in userspace mode") } } else { framework.Logf("Couldn't detect KubeProxy mode - test failure may be expected: %v", err) @@ -886,7 +887,7 @@ var _ = SIGDescribe("Services", func() { framework.ExpectNoError(err) nodeCounts := len(nodes.Items) if nodeCounts < 2 { - framework.Skipf("The test requires at least two ready nodes on %s, but found %v", framework.TestContext.Provider, nodeCounts) + e2eskipper.Skipf("The test requires at least two ready nodes on %s, but found %v", framework.TestContext.Provider, nodeCounts) } ginkgo.By("Creating a webserver pod to be part of the TCP service which echoes back source ip") @@ -967,9 +968,9 @@ var _ = SIGDescribe("Services", func() { ginkgo.It("should be able to up and down services", func() { // TODO: use the ServiceTestJig here // this test uses e2essh.NodeSSHHosts that does not work if a Node only reports LegacyHostIP - framework.SkipUnlessProviderIs(framework.ProvidersWithSSH...) + e2eskipper.SkipUnlessProviderIs(framework.ProvidersWithSSH...) // this test does not work if the Node does not support SSH Key - framework.SkipUnlessSSHKeyPresent() + e2eskipper.SkipUnlessSSHKeyPresent() ns := f.Namespace.Name numPods, servicePort := 3, defaultServeHostnameServicePort @@ -1025,8 +1026,8 @@ var _ = SIGDescribe("Services", func() { ginkgo.It("should work after restarting kube-proxy [Disruptive]", func() { // TODO: use the ServiceTestJig here - framework.SkipUnlessProviderIs("gce", "gke") - framework.SkipUnlessSSHKeyPresent() + e2eskipper.SkipUnlessProviderIs("gce", "gke") + e2eskipper.SkipUnlessSSHKeyPresent() ns := f.Namespace.Name numPods, servicePort := 3, defaultServeHostnameServicePort @@ -1070,8 +1071,8 @@ var _ = SIGDescribe("Services", func() { ginkgo.It("should work after restarting apiserver [Disruptive]", func() { // TODO: use the ServiceTestJig here - framework.SkipUnlessProviderIs("gce", "gke") - framework.SkipUnlessSSHKeyPresent() + e2eskipper.SkipUnlessProviderIs("gce", "gke") + e2eskipper.SkipUnlessSSHKeyPresent() ns := f.Namespace.Name numPods, servicePort := 3, 80 @@ -1150,7 +1151,7 @@ var _ = SIGDescribe("Services", func() { // TODO: Get rid of [DisabledForLargeClusters] tag when issue #56138 is fixed. ginkgo.It("should be able to change the type and ports of a service [Slow] [DisabledForLargeClusters]", func() { // requires cloud load-balancer support - framework.SkipUnlessProviderIs("gce", "gke", "aws") + e2eskipper.SkipUnlessProviderIs("gce", "gke", "aws") loadBalancerSupportsUDP := !framework.ProviderIs("aws") @@ -2080,7 +2081,7 @@ var _ = SIGDescribe("Services", func() { ginkgo.It("should only allow access from service loadbalancer source ranges [Slow]", func() { // this feature currently supported only on GCE/GKE/AWS - framework.SkipUnlessProviderIs("gce", "gke", "aws") + e2eskipper.SkipUnlessProviderIs("gce", "gke", "aws") loadBalancerLagTimeout := e2eservice.LoadBalancerLagTimeoutDefault if framework.ProviderIs("aws") { @@ -2160,7 +2161,7 @@ var _ = SIGDescribe("Services", func() { // TODO: Get rid of [DisabledForLargeClusters] tag when issue #56138 is fixed. ginkgo.It("should be able to create an internal type load balancer [Slow] [DisabledForLargeClusters]", func() { - framework.SkipUnlessProviderIs("azure", "gke", "gce") + e2eskipper.SkipUnlessProviderIs("azure", "gke", "gce") createTimeout := e2eservice.GetServiceLoadBalancerCreationTimeout(cs) pollInterval := framework.Poll * 10 @@ -2284,8 +2285,8 @@ var _ = SIGDescribe("Services", func() { const gceHcCheckIntervalSeconds = int64(8) // This test is for clusters on GCE. // (It restarts kube-controller-manager, which we don't support on GKE) - framework.SkipUnlessProviderIs("gce") - framework.SkipUnlessSSHKeyPresent() + e2eskipper.SkipUnlessProviderIs("gce") + e2eskipper.SkipUnlessSSHKeyPresent() clusterID, err := gce.GetClusterID(cs) if err != nil { @@ -2383,7 +2384,7 @@ var _ = SIGDescribe("Services", func() { // [LinuxOnly]: Windows does not support session affinity. ginkgo.It("should have session affinity work for LoadBalancer service with ESIPP on [Slow] [DisabledForLargeClusters] [LinuxOnly]", func() { // L4 load balancer affinity `ClientIP` is not supported on AWS ELB. - framework.SkipIfProviderIs("aws") + e2eskipper.SkipIfProviderIs("aws") svc := getServeHostnameService("affinity-lb-esipp") svc.Spec.Type = v1.ServiceTypeLoadBalancer @@ -2395,7 +2396,7 @@ var _ = SIGDescribe("Services", func() { // [LinuxOnly]: Windows does not support session affinity. ginkgo.It("should be able to switch session affinity for LoadBalancer service with ESIPP on [Slow] [DisabledForLargeClusters] [LinuxOnly]", func() { // L4 load balancer affinity `ClientIP` is not supported on AWS ELB. - framework.SkipIfProviderIs("aws") + e2eskipper.SkipIfProviderIs("aws") svc := getServeHostnameService("affinity-lb-esipp-transition") svc.Spec.Type = v1.ServiceTypeLoadBalancer @@ -2407,7 +2408,7 @@ var _ = SIGDescribe("Services", func() { // [LinuxOnly]: Windows does not support session affinity. ginkgo.It("should have session affinity work for LoadBalancer service with ESIPP off [Slow] [DisabledForLargeClusters] [LinuxOnly]", func() { // L4 load balancer affinity `ClientIP` is not supported on AWS ELB. - framework.SkipIfProviderIs("aws") + e2eskipper.SkipIfProviderIs("aws") svc := getServeHostnameService("affinity-lb") svc.Spec.Type = v1.ServiceTypeLoadBalancer @@ -2419,7 +2420,7 @@ var _ = SIGDescribe("Services", func() { // [LinuxOnly]: Windows does not support session affinity. ginkgo.It("should be able to switch session affinity for LoadBalancer service with ESIPP off [Slow] [DisabledForLargeClusters] [LinuxOnly]", func() { // L4 load balancer affinity `ClientIP` is not supported on AWS ELB. - framework.SkipIfProviderIs("aws") + e2eskipper.SkipIfProviderIs("aws") svc := getServeHostnameService("affinity-lb-transition") svc.Spec.Type = v1.ServiceTypeLoadBalancer @@ -2429,9 +2430,9 @@ var _ = SIGDescribe("Services", func() { ginkgo.It("should implement service.kubernetes.io/service-proxy-name", func() { // this test uses e2essh.NodeSSHHosts that does not work if a Node only reports LegacyHostIP - framework.SkipUnlessProviderIs(framework.ProvidersWithSSH...) + e2eskipper.SkipUnlessProviderIs(framework.ProvidersWithSSH...) // this test does not work if the Node does not support SSH Key - framework.SkipUnlessSSHKeyPresent() + e2eskipper.SkipUnlessSSHKeyPresent() ns := f.Namespace.Name numPods, servicePort := 3, defaultServeHostnameServicePort @@ -2492,9 +2493,9 @@ var _ = SIGDescribe("Services", func() { ginkgo.It("should implement service.kubernetes.io/headless", func() { // this test uses e2essh.NodeSSHHosts that does not work if a Node only reports LegacyHostIP - framework.SkipUnlessProviderIs(framework.ProvidersWithSSH...) + e2eskipper.SkipUnlessProviderIs(framework.ProvidersWithSSH...) // this test does not work if the Node does not support SSH Key - framework.SkipUnlessSSHKeyPresent() + e2eskipper.SkipUnlessSSHKeyPresent() ns := f.Namespace.Name numPods, servicePort := 3, defaultServeHostnameServicePort @@ -2661,7 +2662,7 @@ var _ = SIGDescribe("ESIPP [Slow] [DisabledForLargeClusters]", func() { ginkgo.BeforeEach(func() { // requires cloud load-balancer support - this feature currently supported only on GCE/GKE - framework.SkipUnlessProviderIs("gce", "gke") + e2eskipper.SkipUnlessProviderIs("gce", "gke") cs = f.ClientSet loadBalancerCreateTimeout = e2eservice.GetServiceLoadBalancerCreationTimeout(cs)