diff --git a/test/e2e/network/loadbalancer.go b/test/e2e/network/loadbalancer.go index ab25df8a5d2..863a84bc7dd 100644 --- a/test/e2e/network/loadbalancer.go +++ b/test/e2e/network/loadbalancer.go @@ -927,11 +927,6 @@ var _ = common.SIGDescribe("LoadBalancers", feature.LoadBalancer, func() { }) var _ = common.SIGDescribe("LoadBalancers ExternalTrafficPolicy: Local", feature.LoadBalancer, framework.WithSlow(), func() { - // FIXME: What are the expected semantics of requesting an - // "ExternalTrafficPolicy: Local" service from a cloud provider that does not - // support that? What are the expected semantics of "ExternalTrafficPolicy: Local" - // on `IPMode: Proxy`-type LoadBalancers? - f := framework.NewDefaultFramework("esipp") f.NamespacePodSecurityLevel = admissionapi.LevelBaseline var loadBalancerCreateTimeout time.Duration @@ -987,6 +982,14 @@ var _ = common.SIGDescribe("LoadBalancers ExternalTrafficPolicy: Local", feature framework.ExpectNoError(err) }) + // FIXME: figure out the actual expected semantics for + // "ExternalTrafficPolicy: Local" + "IPMode: Proxy". + // https://issues.k8s.io/123714 + ingress := &svc.Status.LoadBalancer.Ingress[0] + if ingress.IP == "" || (ingress.IPMode != nil && *ingress.IPMode == v1.LoadBalancerIPModeProxy) { + e2eskipper.Skipf("LoadBalancer uses 'Proxy' IPMode") + } + svcTCPPort := int(svc.Spec.Ports[0].Port) ingressIP := e2eservice.GetIngressPoint(&svc.Status.LoadBalancer.Ingress[0]) @@ -1133,6 +1136,14 @@ var _ = common.SIGDescribe("LoadBalancers ExternalTrafficPolicy: Local", feature framework.ExpectNoError(err) }) + // FIXME: figure out the actual expected semantics for + // "ExternalTrafficPolicy: Local" + "IPMode: Proxy". + // https://issues.k8s.io/123714 + ingress := &svc.Status.LoadBalancer.Ingress[0] + if ingress.IP == "" || (ingress.IPMode != nil && *ingress.IPMode == v1.LoadBalancerIPModeProxy) { + e2eskipper.Skipf("LoadBalancer uses 'Proxy' IPMode") + } + ingressIP := e2eservice.GetIngressPoint(&svc.Status.LoadBalancer.Ingress[0]) port := strconv.Itoa(int(svc.Spec.Ports[0].Port)) ipPort := net.JoinHostPort(ingressIP, port)