skip test on External IP of NodePort in conformance test

This commit is contained in:
pacoxu 2021-03-03 14:44:27 +08:00
parent f79795d718
commit 520ce44c55
2 changed files with 20 additions and 11 deletions

View File

@ -64,6 +64,9 @@ type TestJig struct {
Name string Name string
ID string ID string
Labels map[string]string Labels map[string]string
// ExternalIPs should be false for Conformance test
// Don't check nodeport on external addrs in conformance test, but in e2e test.
ExternalIPs bool
} }
// NewTestJig allocates and inits a new TestJig. // NewTestJig allocates and inits a new TestJig.
@ -828,9 +831,8 @@ func testReachabilityOverExternalIP(externalIP string, sp v1.ServicePort, execPo
return testEndpointReachability(externalIP, sp.Port, sp.Protocol, execPod) return testEndpointReachability(externalIP, sp.Port, sp.Protocol, execPod)
} }
func testReachabilityOverNodePorts(nodes *v1.NodeList, sp v1.ServicePort, pod *v1.Pod, clusterIP string) error { func testReachabilityOverNodePorts(nodes *v1.NodeList, sp v1.ServicePort, pod *v1.Pod, clusterIP string, externalIPs bool) error {
internalAddrs := e2enode.CollectAddresses(nodes, v1.NodeInternalIP) internalAddrs := e2enode.CollectAddresses(nodes, v1.NodeInternalIP)
externalAddrs := e2enode.CollectAddresses(nodes, v1.NodeExternalIP)
isClusterIPV4 := utilsnet.IsIPv4String(clusterIP) isClusterIPV4 := utilsnet.IsIPv4String(clusterIP)
for _, internalAddr := range internalAddrs { for _, internalAddr := range internalAddrs {
@ -851,14 +853,17 @@ func testReachabilityOverNodePorts(nodes *v1.NodeList, sp v1.ServicePort, pod *v
return err return err
} }
} }
for _, externalAddr := range externalAddrs { if externalIPs {
if isClusterIPV4 != utilsnet.IsIPv4String(externalAddr) { externalAddrs := e2enode.CollectAddresses(nodes, v1.NodeExternalIP)
framework.Logf("skipping testEndpointReachability() for external adddress %s as it does not match clusterIP (%s) family", externalAddr, clusterIP) for _, externalAddr := range externalAddrs {
continue if isClusterIPV4 != utilsnet.IsIPv4String(externalAddr) {
} framework.Logf("skipping testEndpointReachability() for external adddress %s as it does not match clusterIP (%s) family", externalAddr, clusterIP)
err := testEndpointReachability(externalAddr, sp.NodePort, sp.Protocol, pod) continue
if err != nil { }
return err err := testEndpointReachability(externalAddr, sp.NodePort, sp.Protocol, pod)
if err != nil {
return err
}
} }
} }
return nil return nil
@ -969,7 +974,7 @@ func (j *TestJig) checkNodePortServiceReachability(svc *v1.Service, pod *v1.Pod)
if err != nil { if err != nil {
return err return err
} }
err = testReachabilityOverNodePorts(nodes, servicePort, pod, clusterIP) err = testReachabilityOverNodePorts(nodes, servicePort, pod, clusterIP, j.ExternalIPs)
if err != nil { if err != nil {
return err return err
} }

View File

@ -914,6 +914,7 @@ var _ = common.SIGDescribe("Services", func() {
ginkgo.By("creating a TCP service " + serviceName + " with type=ClusterIP in namespace " + ns) ginkgo.By("creating a TCP service " + serviceName + " with type=ClusterIP in namespace " + ns)
jig := e2eservice.NewTestJig(cs, ns, serviceName) jig := e2eservice.NewTestJig(cs, ns, serviceName)
jig.ExternalIPs = true
servicePort := 8080 servicePort := 8080
tcpService, err := jig.CreateTCPServiceWithPort(nil, int32(servicePort)) tcpService, err := jig.CreateTCPServiceWithPort(nil, int32(servicePort))
framework.ExpectNoError(err) framework.ExpectNoError(err)
@ -983,6 +984,7 @@ var _ = common.SIGDescribe("Services", func() {
ginkgo.By("creating a TCP service " + serviceName + " with type=ClusterIP in namespace " + ns) ginkgo.By("creating a TCP service " + serviceName + " with type=ClusterIP in namespace " + ns)
jig := e2eservice.NewTestJig(cs, ns, serviceName) jig := e2eservice.NewTestJig(cs, ns, serviceName)
jig.ExternalIPs = true
servicePort := 8080 servicePort := 8080
svc, err := jig.CreateTCPServiceWithPort(nil, int32(servicePort)) svc, err := jig.CreateTCPServiceWithPort(nil, int32(servicePort))
framework.ExpectNoError(err) framework.ExpectNoError(err)
@ -1176,6 +1178,7 @@ var _ = common.SIGDescribe("Services", func() {
} }
jig := e2eservice.NewTestJig(cs, ns, serviceName) jig := e2eservice.NewTestJig(cs, ns, serviceName)
jig.ExternalIPs = true
ginkgo.By("creating service " + serviceName + " with type=clusterIP in namespace " + ns) ginkgo.By("creating service " + serviceName + " with type=clusterIP in namespace " + ns)
clusterIPService, err := jig.CreateTCPService(func(svc *v1.Service) { clusterIPService, err := jig.CreateTCPService(func(svc *v1.Service) {
@ -1204,6 +1207,7 @@ var _ = common.SIGDescribe("Services", func() {
serviceName := "nodeport-update-service" serviceName := "nodeport-update-service"
ns := f.Namespace.Name ns := f.Namespace.Name
jig := e2eservice.NewTestJig(cs, ns, serviceName) jig := e2eservice.NewTestJig(cs, ns, serviceName)
jig.ExternalIPs = true
ginkgo.By("creating a TCP service " + serviceName + " with type=ClusterIP in namespace " + ns) ginkgo.By("creating a TCP service " + serviceName + " with type=ClusterIP in namespace " + ns)
tcpService, err := jig.CreateTCPService(nil) tcpService, err := jig.CreateTCPService(nil)