pollErr := wait.Poll(5*time.Second, lbCleanupTimeout, func() (bool, error) { if err := ingController.Cleanup(false); err != nil { framework.Logf("Still waiting for glbc to cleanup: %v", err) return false, nil } return true, nil }) // If the controller failed to cleanup the test will fail, but we want to cleanup // resources before that. if pollErr != nil { if cleanupErr := ingController.Cleanup(true); cleanupErr != nil { framework.Logf("WARNING: Failed to cleanup resources %v", cleanupErr) } framework.Failf("Failed to cleanup GCE L7 resources.") } f.AfterEach() framework.Logf("Successfully verified GCE L7 loadbalancer via Ingress.") }) It("should create GCE L7 loadbalancers and verify Ingress", func() { // Create numApps apps, exposed via numIng Ingress each with 2 paths. // Eg with numApp=10, numIng=5: // apps: {foo-app-(0-10)} // ingress: {foo-app-(0, 2, 4, 6, 8)} // paths: // ingress foo-app-0: // default1.bar.com // foo0.bar.com: /foo0 // foo1.bar.com: /foo1 if numApps < numIng { framework.Failf("Need more apps than Ingress")