Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 584a6f2

Browse files
committed
Introduce framework in e2e services; should log events on failure
Once kubernetes#8887 merges this should show errors in load balancer creation. Even before then, it may show another error. Bug kubernetes#8892
1 parent 5bd82ff commit 584a6f2

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

test/e2e/service.go

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ import (
4040
var ServiceNodePortRange = util.PortRange{Base: 30000, Size: 2768}
4141

4242
var _ = Describe("Services", func() {
43+
f := NewFramework("services")
44+
4345
var c *client.Client
4446
// Use these in tests. They're unique for each test to prevent name collisions.
4547
var namespaces [2]string
@@ -336,9 +338,8 @@ var _ = Describe("Services", func() {
336338
SkipUnlessProviderIs("gce", "gke", "aws")
337339

338340
serviceName := "mutability-service-test"
339-
ns := namespaces[0]
340341

341-
t := NewWebserverTest(c, ns, serviceName)
342+
t := NewWebserverTest(f.Client, f.Namespace.Name, serviceName)
342343
defer func() {
343344
defer GinkgoRecover()
344345
errs := t.Cleanup()
@@ -371,7 +372,7 @@ var _ = Describe("Services", func() {
371372
t.CreateWebserverRC(1)
372373

373374
By("changing service " + serviceName + " to type=NodePort")
374-
service, err = updateService(c, ns, serviceName, func(s *api.Service) {
375+
service, err = updateService(f.Client, f.Namespace.Name, serviceName, func(s *api.Service) {
375376
s.Spec.Type = api.ServiceTypeNodePort
376377
})
377378
Expect(err).NotTo(HaveOccurred())
@@ -394,19 +395,19 @@ var _ = Describe("Services", func() {
394395
Failf("got unexpected len(Status.LoadBalancer.Ingresss) for NodePort service: %v", service)
395396
}
396397
By("hitting the pod through the service's NodePort")
397-
ip := pickMinionIP(c)
398+
ip := pickMinionIP(f.Client)
398399
nodePort1 := port.NodePort // Save for later!
399400
testReachable(ip, nodePort1)
400401

401402
By("changing service " + serviceName + " to type=LoadBalancer")
402403
service.Spec.Type = api.ServiceTypeLoadBalancer
403-
service, err = updateService(c, ns, serviceName, func(s *api.Service) {
404+
service, err = updateService(f.Client, f.Namespace.Name, serviceName, func(s *api.Service) {
404405
s.Spec.Type = api.ServiceTypeLoadBalancer
405406
})
406407
Expect(err).NotTo(HaveOccurred())
407408

408409
// Wait for the load balancer to be created asynchronously
409-
service, err = waitForLoadBalancerIngress(c, serviceName, ns)
410+
service, err = waitForLoadBalancerIngress(f.Client, serviceName, f.Namespace.Name)
410411
Expect(err).NotTo(HaveOccurred())
411412

412413
if service.Spec.Type != api.ServiceTypeLoadBalancer {
@@ -427,7 +428,7 @@ var _ = Describe("Services", func() {
427428
Failf("got unexpected Status.LoadBalancer.Ingresss[0] for LoadBalancer service: %v", service)
428429
}
429430
By("hitting the pod through the service's NodePort")
430-
ip = pickMinionIP(c)
431+
ip = pickMinionIP(f.Client)
431432
testReachable(ip, nodePort1)
432433
By("hitting the pod through the service's LoadBalancer")
433434
testLoadBalancerReachable(ingress1, 80)
@@ -438,7 +439,7 @@ var _ = Describe("Services", func() {
438439
//Check for (unlikely) assignment at bottom of range
439440
nodePort2 = nodePort1 + 1
440441
}
441-
service, err = updateService(c, ns, serviceName, func(s *api.Service) {
442+
service, err = updateService(f.Client, f.Namespace.Name, serviceName, func(s *api.Service) {
442443
s.Spec.Ports[0].NodePort = nodePort2
443444
})
444445
Expect(err).NotTo(HaveOccurred())
@@ -462,7 +463,7 @@ var _ = Describe("Services", func() {
462463
if providerIs("aws") {
463464
// TODO: Make this less of a hack (or fix the underlying bug)
464465
time.Sleep(time.Second * 120)
465-
service, err = waitForLoadBalancerIngress(c, serviceName, ns)
466+
service, err = waitForLoadBalancerIngress(f.Client, serviceName, f.Namespace.Name)
466467
Expect(err).NotTo(HaveOccurred())
467468

468469
// We don't want the ingress point to change, but we should verify that the new ingress point still works
@@ -480,7 +481,7 @@ var _ = Describe("Services", func() {
480481
testNotReachable(ip, nodePort1)
481482

482483
By("changing service " + serviceName + " back to type=ClusterIP")
483-
service, err = updateService(c, ns, serviceName, func(s *api.Service) {
484+
service, err = updateService(f.Client, f.Namespace.Name, serviceName, func(s *api.Service) {
484485
s.Spec.Type = api.ServiceTypeClusterIP
485486
s.Spec.Ports[0].NodePort = 0
486487
})
@@ -498,17 +499,17 @@ var _ = Describe("Services", func() {
498499
}
499500

500501
// Wait for the load balancer to be destroyed asynchronously
501-
service, err = waitForLoadBalancerDestroy(c, serviceName, ns)
502+
service, err = waitForLoadBalancerDestroy(f.Client, serviceName, f.Namespace.Name)
502503
Expect(err).NotTo(HaveOccurred())
503504

504505
if len(service.Status.LoadBalancer.Ingress) != 0 {
505506
Failf("got unexpected len(Status.LoadBalancer.Ingresss) for back-to-ClusterIP service: %v", service)
506507
}
507508
By("checking the NodePort (original) is closed")
508-
ip = pickMinionIP(c)
509+
ip = pickMinionIP(f.Client)
509510
testNotReachable(ip, nodePort1)
510511
By("checking the NodePort (updated) is closed")
511-
ip = pickMinionIP(c)
512+
ip = pickMinionIP(f.Client)
512513
testNotReachable(ip, nodePort2)
513514
By("checking the LoadBalancer is closed")
514515
testLoadBalancerNotReachable(ingress2, 80)

0 commit comments

Comments
 (0)