Merge pull request #87073 from tanjunchen/migrate-to-skipper-002

e2e/network/:Use e2eskipper package
This commit is contained in:
Kubernetes Prow Robot 2020-01-13 13:59:09 -08:00 committed by GitHub
commit 652cc2ef40
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 51 additions and 39 deletions

View File

@ -74,6 +74,7 @@ go_library(
"//test/e2e/framework/providers/gce:go_default_library", "//test/e2e/framework/providers/gce:go_default_library",
"//test/e2e/framework/rc:go_default_library", "//test/e2e/framework/rc:go_default_library",
"//test/e2e/framework/service: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/framework/ssh:go_default_library",
"//test/e2e/network/scale:go_default_library", "//test/e2e/network/scale:go_default_library",
"//test/images/agnhost/net/nat:go_default_library", "//test/images/agnhost/net/nat:go_default_library",

View File

@ -26,6 +26,7 @@ import (
"k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/util/wait"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2eservice "k8s.io/kubernetes/test/e2e/framework/service" e2eservice "k8s.io/kubernetes/test/e2e/framework/service"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
@ -62,7 +63,7 @@ var _ = SIGDescribe("DNS", func() {
// Added due to #8512. This is critical for GCE and GKE deployments. // Added due to #8512. This is critical for GCE and GKE deployments.
ginkgo.It("should provide DNS for the cluster [Provider:GCE]", func() { ginkgo.It("should provide DNS for the cluster [Provider:GCE]", func() {
framework.SkipUnlessProviderIs("gce", "gke") e2eskipper.SkipUnlessProviderIs("gce", "gke")
namesToResolve := []string{"google.com"} namesToResolve := []string{"google.com"}
// Windows containers do not have a route to the GCE metadata server by default. // Windows containers do not have a route to the GCE metadata server by default.

View File

@ -24,6 +24,7 @@ import (
"k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/util/wait"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2eservice "k8s.io/kubernetes/test/e2e/framework/service" e2eservice "k8s.io/kubernetes/test/e2e/framework/service"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
@ -520,7 +521,7 @@ var _ = SIGDescribe("DNS configMap nameserver [Feature:Networking-IPv6] [LinuxOn
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
// IPv6 is not supported on Windows. // IPv6 is not supported on Windows.
framework.SkipIfNodeOSDistroIs("windows") e2eskipper.SkipIfNodeOSDistroIs("windows")
}) })
ginkgo.Context("Change stubDomain", func() { ginkgo.Context("Change stubDomain", func() {

View File

@ -32,6 +32,7 @@ import (
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
"k8s.io/kubernetes/test/e2e/framework/providers/gce" "k8s.io/kubernetes/test/e2e/framework/providers/gce"
e2eservice "k8s.io/kubernetes/test/e2e/framework/service" e2eservice "k8s.io/kubernetes/test/e2e/framework/service"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
gcecloud "k8s.io/legacy-cloud-providers/gce" gcecloud "k8s.io/legacy-cloud-providers/gce"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
@ -53,7 +54,7 @@ var _ = SIGDescribe("Firewall rule", func() {
var gceCloud *gcecloud.Cloud var gceCloud *gcecloud.Cloud
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("gce") e2eskipper.SkipUnlessProviderIs("gce")
var err error var err error
cs = f.ClientSet cs = f.ClientSet

View File

@ -39,6 +39,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework/ingress" "k8s.io/kubernetes/test/e2e/framework/ingress"
"k8s.io/kubernetes/test/e2e/framework/providers/gce" "k8s.io/kubernetes/test/e2e/framework/providers/gce"
e2eservice "k8s.io/kubernetes/test/e2e/framework/service" e2eservice "k8s.io/kubernetes/test/e2e/framework/service"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
@ -85,7 +86,7 @@ var _ = SIGDescribe("Loadbalancing: L7", func() {
// Platform specific setup // Platform specific setup
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("gce", "gke") e2eskipper.SkipUnlessProviderIs("gce", "gke")
ginkgo.By("Initializing gce controller") ginkgo.By("Initializing gce controller")
gceController = &gce.IngressController{ gceController = &gce.IngressController{
Ns: ns, Ns: ns,
@ -242,7 +243,7 @@ var _ = SIGDescribe("Loadbalancing: L7", func() {
// Platform specific setup // Platform specific setup
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("gce", "gke") e2eskipper.SkipUnlessProviderIs("gce", "gke")
ginkgo.By("Initializing gce controller") ginkgo.By("Initializing gce controller")
gceController = &gce.IngressController{ gceController = &gce.IngressController{
Ns: ns, Ns: ns,
@ -588,7 +589,7 @@ var _ = SIGDescribe("Loadbalancing: L7", func() {
// Platform specific setup // Platform specific setup
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("gce", "gke") e2eskipper.SkipUnlessProviderIs("gce", "gke")
jig.Class = ingress.MulticlusterIngressClassValue jig.Class = ingress.MulticlusterIngressClassValue
jig.PollInterval = 5 * time.Second jig.PollInterval = 5 * time.Second
ginkgo.By("Initializing gce controller") ginkgo.By("Initializing gce controller")
@ -716,7 +717,7 @@ var _ = SIGDescribe("Loadbalancing: L7", func() {
var nginxController *ingress.NginxIngressController var nginxController *ingress.NginxIngressController
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("gce", "gke") e2eskipper.SkipUnlessProviderIs("gce", "gke")
ginkgo.By("Initializing nginx controller") ginkgo.By("Initializing nginx controller")
jig.Class = "nginx" jig.Class = "nginx"
nginxController = &ingress.NginxIngressController{Ns: ns, Client: jig.Client} nginxController = &ingress.NginxIngressController{Ns: ns, Client: jig.Client}

View File

@ -18,6 +18,7 @@ package network
import ( import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/network/scale" "k8s.io/kubernetes/test/e2e/network/scale"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
@ -40,7 +41,7 @@ var _ = SIGDescribe("Loadbalancing: L7 Scalability", func() {
) )
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("gce", "gke") e2eskipper.SkipUnlessProviderIs("gce", "gke")
scaleFramework = scale.NewIngressScaleFramework(f.ClientSet, ns, framework.TestContext.CloudConfig) scaleFramework = scale.NewIngressScaleFramework(f.ClientSet, ns, framework.TestContext.CloudConfig)
if err := scaleFramework.PrepareScaleTest(); err != nil { if err := scaleFramework.PrepareScaleTest(); err != nil {

View File

@ -30,6 +30,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
e2essh "k8s.io/kubernetes/test/e2e/framework/ssh" e2essh "k8s.io/kubernetes/test/e2e/framework/ssh"
"k8s.io/kubernetes/test/images/agnhost/net/nat" "k8s.io/kubernetes/test/images/agnhost/net/nat"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
@ -54,7 +55,7 @@ var _ = SIGDescribe("Network", func() {
nodes, err := e2enode.GetBoundedReadySchedulableNodes(fr.ClientSet, 2) nodes, err := e2enode.GetBoundedReadySchedulableNodes(fr.ClientSet, 2)
framework.ExpectNoError(err) framework.ExpectNoError(err)
if len(nodes.Items) < 2 { if len(nodes.Items) < 2 {
framework.Skipf( e2eskipper.Skipf(
"Test requires >= 2 Ready nodes, but there are only %v nodes", "Test requires >= 2 Ready nodes, but there are only %v nodes",
len(nodes.Items)) len(nodes.Items))
} }
@ -87,7 +88,7 @@ var _ = SIGDescribe("Network", func() {
framework.TestContext.Provider, framework.TestContext.Provider,
clientNodeInfo.node) clientNodeInfo.node)
if err != nil && strings.Contains(err.Error(), "No such file or directory") { 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) framework.ExpectNoError(err)

View File

@ -25,6 +25,7 @@ import (
"k8s.io/apimachinery/pkg/util/intstr" "k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
"fmt" "fmt"
@ -49,7 +50,7 @@ var _ = SIGDescribe("NetworkPolicy [LinuxOnly]", func() {
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
// Windows does not support network policies. // Windows does not support network policies.
framework.SkipIfNodeOSDistroIs("windows") e2eskipper.SkipIfNodeOSDistroIs("windows")
}) })
ginkgo.Context("NetworkPolicy between server and client", func() { ginkgo.Context("NetworkPolicy between server and client", func() {

View File

@ -31,6 +31,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
"k8s.io/kubernetes/test/e2e/framework/providers/gce" "k8s.io/kubernetes/test/e2e/framework/providers/gce"
e2eservice "k8s.io/kubernetes/test/e2e/framework/service" e2eservice "k8s.io/kubernetes/test/e2e/framework/service"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
gcecloud "k8s.io/legacy-cloud-providers/gce" gcecloud "k8s.io/legacy-cloud-providers/gce"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
@ -44,7 +45,7 @@ var _ = SIGDescribe("Services [Feature:GCEAlphaFeature][Slow]", func() {
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
// This test suite requires the GCE environment. // This test suite requires the GCE environment.
framework.SkipUnlessProviderIs("gce") e2eskipper.SkipUnlessProviderIs("gce")
cs = f.ClientSet cs = f.ClientSet
}) })

View File

@ -30,6 +30,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2enetwork "k8s.io/kubernetes/test/e2e/framework/network" e2enetwork "k8s.io/kubernetes/test/e2e/framework/network"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
e2essh "k8s.io/kubernetes/test/e2e/framework/ssh" e2essh "k8s.io/kubernetes/test/e2e/framework/ssh"
"github.com/onsi/ginkgo" "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() { ginkgo.It("should provide Internet connection for containers [Feature:Networking-IPv6][Experimental][LinuxOnly]", func() {
// IPv6 is not supported on Windows. // 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") ginkgo.By("Running container which tries to connect to 2001:4860:4860::8888")
framework.ExpectNoError( framework.ExpectNoError(
checkConnectivityToHost(f, "", "connectivity-test", "2001:4860:4860::8888", 53, 30)) 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() { ginkgo.It("should recreate its iptables rules if they are deleted [Disruptive]", func() {
framework.SkipUnlessProviderIs(framework.ProvidersWithSSH...) e2eskipper.SkipUnlessProviderIs(framework.ProvidersWithSSH...)
framework.SkipUnlessSSHKeyPresent() e2eskipper.SkipUnlessSSHKeyPresent()
hosts, err := e2essh.NodeSSHHosts(f.ClientSet) hosts, err := e2essh.NodeSSHHosts(f.ClientSet)
framework.ExpectNoError(err, "failed to find external/internal IPs for every node") framework.ExpectNoError(err, "failed to find external/internal IPs for every node")

View File

@ -25,6 +25,7 @@ import (
v1 "k8s.io/api/core/v1" v1 "k8s.io/api/core/v1"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
imageutils "k8s.io/kubernetes/test/utils/image" 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 // 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() { var _ = SIGDescribe("Networking IPerf IPv6 [Experimental] [Feature:Networking-IPv6] [Slow] [Feature:Networking-Performance] [LinuxOnly]", func() {
// IPv6 is not supported on Windows. // IPv6 is not supported on Windows.
framework.SkipIfNodeOSDistroIs("windows") e2eskipper.SkipIfNodeOSDistroIs("windows")
networkingIPerfTest(true) networkingIPerfTest(true)
}) })

View File

@ -50,6 +50,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework/providers/gce" "k8s.io/kubernetes/test/e2e/framework/providers/gce"
e2erc "k8s.io/kubernetes/test/e2e/framework/rc" e2erc "k8s.io/kubernetes/test/e2e/framework/rc"
e2eservice "k8s.io/kubernetes/test/e2e/framework/service" e2eservice "k8s.io/kubernetes/test/e2e/framework/service"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
e2essh "k8s.io/kubernetes/test/e2e/framework/ssh" e2essh "k8s.io/kubernetes/test/e2e/framework/ssh"
testutils "k8s.io/kubernetes/test/utils" testutils "k8s.io/kubernetes/test/utils"
imageutils "k8s.io/kubernetes/test/utils/image" 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() { 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. // 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. // 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. // 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, err := proxyMode(f); err == nil {
if proxyMode == "userspace" { 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 { } else {
framework.Logf("Couldn't detect KubeProxy mode - test failure may be expected: %v", err) 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) framework.ExpectNoError(err)
nodeCounts := len(nodes.Items) nodeCounts := len(nodes.Items)
if nodeCounts < 2 { 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") 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() { ginkgo.It("should be able to up and down services", func() {
// TODO: use the ServiceTestJig here // TODO: use the ServiceTestJig here
// this test uses e2essh.NodeSSHHosts that does not work if a Node only reports LegacyHostIP // 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 // this test does not work if the Node does not support SSH Key
framework.SkipUnlessSSHKeyPresent() e2eskipper.SkipUnlessSSHKeyPresent()
ns := f.Namespace.Name ns := f.Namespace.Name
numPods, servicePort := 3, defaultServeHostnameServicePort numPods, servicePort := 3, defaultServeHostnameServicePort
@ -1025,8 +1026,8 @@ var _ = SIGDescribe("Services", func() {
ginkgo.It("should work after restarting kube-proxy [Disruptive]", func() { ginkgo.It("should work after restarting kube-proxy [Disruptive]", func() {
// TODO: use the ServiceTestJig here // TODO: use the ServiceTestJig here
framework.SkipUnlessProviderIs("gce", "gke") e2eskipper.SkipUnlessProviderIs("gce", "gke")
framework.SkipUnlessSSHKeyPresent() e2eskipper.SkipUnlessSSHKeyPresent()
ns := f.Namespace.Name ns := f.Namespace.Name
numPods, servicePort := 3, defaultServeHostnameServicePort numPods, servicePort := 3, defaultServeHostnameServicePort
@ -1070,8 +1071,8 @@ var _ = SIGDescribe("Services", func() {
ginkgo.It("should work after restarting apiserver [Disruptive]", func() { ginkgo.It("should work after restarting apiserver [Disruptive]", func() {
// TODO: use the ServiceTestJig here // TODO: use the ServiceTestJig here
framework.SkipUnlessProviderIs("gce", "gke") e2eskipper.SkipUnlessProviderIs("gce", "gke")
framework.SkipUnlessSSHKeyPresent() e2eskipper.SkipUnlessSSHKeyPresent()
ns := f.Namespace.Name ns := f.Namespace.Name
numPods, servicePort := 3, 80 numPods, servicePort := 3, 80
@ -1150,7 +1151,7 @@ var _ = SIGDescribe("Services", func() {
// TODO: Get rid of [DisabledForLargeClusters] tag when issue #56138 is fixed. // 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() { ginkgo.It("should be able to change the type and ports of a service [Slow] [DisabledForLargeClusters]", func() {
// requires cloud load-balancer support // requires cloud load-balancer support
framework.SkipUnlessProviderIs("gce", "gke", "aws") e2eskipper.SkipUnlessProviderIs("gce", "gke", "aws")
loadBalancerSupportsUDP := !framework.ProviderIs("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() { ginkgo.It("should only allow access from service loadbalancer source ranges [Slow]", func() {
// this feature currently supported only on GCE/GKE/AWS // this feature currently supported only on GCE/GKE/AWS
framework.SkipUnlessProviderIs("gce", "gke", "aws") e2eskipper.SkipUnlessProviderIs("gce", "gke", "aws")
loadBalancerLagTimeout := e2eservice.LoadBalancerLagTimeoutDefault loadBalancerLagTimeout := e2eservice.LoadBalancerLagTimeoutDefault
if framework.ProviderIs("aws") { if framework.ProviderIs("aws") {
@ -2160,7 +2161,7 @@ var _ = SIGDescribe("Services", func() {
// TODO: Get rid of [DisabledForLargeClusters] tag when issue #56138 is fixed. // 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() { 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) createTimeout := e2eservice.GetServiceLoadBalancerCreationTimeout(cs)
pollInterval := framework.Poll * 10 pollInterval := framework.Poll * 10
@ -2284,8 +2285,8 @@ var _ = SIGDescribe("Services", func() {
const gceHcCheckIntervalSeconds = int64(8) const gceHcCheckIntervalSeconds = int64(8)
// This test is for clusters on GCE. // This test is for clusters on GCE.
// (It restarts kube-controller-manager, which we don't support on GKE) // (It restarts kube-controller-manager, which we don't support on GKE)
framework.SkipUnlessProviderIs("gce") e2eskipper.SkipUnlessProviderIs("gce")
framework.SkipUnlessSSHKeyPresent() e2eskipper.SkipUnlessSSHKeyPresent()
clusterID, err := gce.GetClusterID(cs) clusterID, err := gce.GetClusterID(cs)
if err != nil { if err != nil {
@ -2383,7 +2384,7 @@ var _ = SIGDescribe("Services", func() {
// [LinuxOnly]: Windows does not support session affinity. // [LinuxOnly]: Windows does not support session affinity.
ginkgo.It("should have session affinity work for LoadBalancer service with ESIPP on [Slow] [DisabledForLargeClusters] [LinuxOnly]", func() { 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. // L4 load balancer affinity `ClientIP` is not supported on AWS ELB.
framework.SkipIfProviderIs("aws") e2eskipper.SkipIfProviderIs("aws")
svc := getServeHostnameService("affinity-lb-esipp") svc := getServeHostnameService("affinity-lb-esipp")
svc.Spec.Type = v1.ServiceTypeLoadBalancer svc.Spec.Type = v1.ServiceTypeLoadBalancer
@ -2395,7 +2396,7 @@ var _ = SIGDescribe("Services", func() {
// [LinuxOnly]: Windows does not support session affinity. // [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() { 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. // L4 load balancer affinity `ClientIP` is not supported on AWS ELB.
framework.SkipIfProviderIs("aws") e2eskipper.SkipIfProviderIs("aws")
svc := getServeHostnameService("affinity-lb-esipp-transition") svc := getServeHostnameService("affinity-lb-esipp-transition")
svc.Spec.Type = v1.ServiceTypeLoadBalancer svc.Spec.Type = v1.ServiceTypeLoadBalancer
@ -2407,7 +2408,7 @@ var _ = SIGDescribe("Services", func() {
// [LinuxOnly]: Windows does not support session affinity. // [LinuxOnly]: Windows does not support session affinity.
ginkgo.It("should have session affinity work for LoadBalancer service with ESIPP off [Slow] [DisabledForLargeClusters] [LinuxOnly]", func() { 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. // L4 load balancer affinity `ClientIP` is not supported on AWS ELB.
framework.SkipIfProviderIs("aws") e2eskipper.SkipIfProviderIs("aws")
svc := getServeHostnameService("affinity-lb") svc := getServeHostnameService("affinity-lb")
svc.Spec.Type = v1.ServiceTypeLoadBalancer svc.Spec.Type = v1.ServiceTypeLoadBalancer
@ -2419,7 +2420,7 @@ var _ = SIGDescribe("Services", func() {
// [LinuxOnly]: Windows does not support session affinity. // [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() { 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. // L4 load balancer affinity `ClientIP` is not supported on AWS ELB.
framework.SkipIfProviderIs("aws") e2eskipper.SkipIfProviderIs("aws")
svc := getServeHostnameService("affinity-lb-transition") svc := getServeHostnameService("affinity-lb-transition")
svc.Spec.Type = v1.ServiceTypeLoadBalancer svc.Spec.Type = v1.ServiceTypeLoadBalancer
@ -2429,9 +2430,9 @@ var _ = SIGDescribe("Services", func() {
ginkgo.It("should implement service.kubernetes.io/service-proxy-name", 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 // 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 // this test does not work if the Node does not support SSH Key
framework.SkipUnlessSSHKeyPresent() e2eskipper.SkipUnlessSSHKeyPresent()
ns := f.Namespace.Name ns := f.Namespace.Name
numPods, servicePort := 3, defaultServeHostnameServicePort numPods, servicePort := 3, defaultServeHostnameServicePort
@ -2492,9 +2493,9 @@ var _ = SIGDescribe("Services", func() {
ginkgo.It("should implement service.kubernetes.io/headless", 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 // 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 // this test does not work if the Node does not support SSH Key
framework.SkipUnlessSSHKeyPresent() e2eskipper.SkipUnlessSSHKeyPresent()
ns := f.Namespace.Name ns := f.Namespace.Name
numPods, servicePort := 3, defaultServeHostnameServicePort numPods, servicePort := 3, defaultServeHostnameServicePort
@ -2661,7 +2662,7 @@ var _ = SIGDescribe("ESIPP [Slow] [DisabledForLargeClusters]", func() {
ginkgo.BeforeEach(func() { ginkgo.BeforeEach(func() {
// requires cloud load-balancer support - this feature currently supported only on GCE/GKE // requires cloud load-balancer support - this feature currently supported only on GCE/GKE
framework.SkipUnlessProviderIs("gce", "gke") e2eskipper.SkipUnlessProviderIs("gce", "gke")
cs = f.ClientSet cs = f.ClientSet
loadBalancerCreateTimeout = e2eservice.GetServiceLoadBalancerCreationTimeout(cs) loadBalancerCreateTimeout = e2eservice.GetServiceLoadBalancerCreationTimeout(cs)