Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test: Speed up K8sServicesTest #11550

Merged
merged 6 commits into from May 20, 2020
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
43 changes: 31 additions & 12 deletions test/k8sT/Services.go
Expand Up @@ -729,23 +729,34 @@ var _ = Describe("K8sServicesTest", func() {
testCurlRequestFail(testDSClient, httpURL)
testCurlRequestFail(testDSClient, tftpURL)

// Ensure the NodePort cannot be bound from any redirected address
failBind(localCiliumHostIPv4, data.Spec.Ports[0].NodePort, "tcp", k8s1NodeName)
failBind(localCiliumHostIPv4, data.Spec.Ports[1].NodePort, "udp", k8s1NodeName)
failBind("127.0.0.1", data.Spec.Ports[0].NodePort, "tcp", k8s1NodeName)
failBind("127.0.0.1", data.Spec.Ports[1].NodePort, "udp", k8s1NodeName)
failBind("", data.Spec.Ports[0].NodePort, "tcp", k8s1NodeName)
failBind("", data.Spec.Ports[1].NodePort, "udp", k8s1NodeName)

failBind("::ffff:127.0.0.1", data.Spec.Ports[0].NodePort, "tcp", k8s1NodeName)
failBind("::ffff:127.0.0.1", data.Spec.Ports[1].NodePort, "udp", k8s1NodeName)
failBind("::ffff:"+localCiliumHostIPv4, data.Spec.Ports[0].NodePort, "tcp", k8s1NodeName)
failBind("::ffff:"+localCiliumHostIPv4, data.Spec.Ports[1].NodePort, "udp", k8s1NodeName)
}

wg.Wait()
}

testFailBind := func() {
var data v1.Service
var localCiliumHostIPv4 string

err := kubectl.Get(helpers.DefaultNamespace, "service test-nodeport").Unmarshal(&data)
Expect(err).Should(BeNil(), "Can not retrieve service")
brb marked this conversation as resolved.
Show resolved Hide resolved
localCiliumHostIPv4, err = kubectl.GetCiliumHostIPv4(context.TODO(), k8s1NodeName)
Expect(err).Should(BeNil(), "Cannot retrieve k8s1 cilium_host ipv4")

// Ensure the NodePort cannot be bound from any redirected address
failBind(localCiliumHostIPv4, data.Spec.Ports[0].NodePort, "tcp", k8s1NodeName)
failBind(localCiliumHostIPv4, data.Spec.Ports[1].NodePort, "udp", k8s1NodeName)
failBind("127.0.0.1", data.Spec.Ports[0].NodePort, "tcp", k8s1NodeName)
failBind("127.0.0.1", data.Spec.Ports[1].NodePort, "udp", k8s1NodeName)
failBind("", data.Spec.Ports[0].NodePort, "tcp", k8s1NodeName)
failBind("", data.Spec.Ports[1].NodePort, "udp", k8s1NodeName)

failBind("::ffff:127.0.0.1", data.Spec.Ports[0].NodePort, "tcp", k8s1NodeName)
failBind("::ffff:127.0.0.1", data.Spec.Ports[1].NodePort, "udp", k8s1NodeName)
failBind("::ffff:"+localCiliumHostIPv4, data.Spec.Ports[0].NodePort, "tcp", k8s1NodeName)
failBind("::ffff:"+localCiliumHostIPv4, data.Spec.Ports[1].NodePort, "udp", k8s1NodeName)
}

testNodePortExternal := func(checkTCP, checkUDP bool) {
var data v1.Service

Expand Down Expand Up @@ -1101,6 +1112,10 @@ var _ = Describe("K8sServicesTest", func() {
testHealthCheckNodePort()
})

It("Tests that binding to NodePort port fails", func() {
testFailBind()
})

It("Tests HostPort", func() {
testHostPort()
})
Expand Down Expand Up @@ -1143,6 +1158,10 @@ var _ = Describe("K8sServicesTest", func() {
testHealthCheckNodePort()
})

It("Tests that binding to NodePort port fails", func() {
testFailBind()
})

It("Tests HostPort", func() {
testHostPort()
})
Expand Down