diff --git a/test/e2e/framework/service_util.go b/test/e2e/framework/service_util.go index f0bb2162ee4..a9339e906f0 100644 --- a/test/e2e/framework/service_util.go +++ b/test/e2e/framework/service_util.go @@ -1300,17 +1300,17 @@ func VerifyServeHostnameServiceDown(c clientset.Interface, host string, serviceI return fmt.Errorf("waiting for service to be down timed out") } -func CleanupServiceResources(loadBalancerName, zone string) { +func CleanupServiceResources(c clientset.Interface, loadBalancerName, zone string) { if TestContext.Provider == "gce" || TestContext.Provider == "gke" { - CleanupServiceGCEResources(loadBalancerName, zone) + CleanupServiceGCEResources(c, loadBalancerName, zone) } // TODO: we need to add this function with other cloud providers, if there is a need. } -func CleanupServiceGCEResources(loadBalancerName, zone string) { +func CleanupServiceGCEResources(c clientset.Interface, loadBalancerName, zone string) { if pollErr := wait.Poll(5*time.Second, LoadBalancerCleanupTimeout, func() (bool, error) { - if err := CleanupGCEResources(loadBalancerName, zone); err != nil { + if err := CleanupGCEResources(c, loadBalancerName, zone); err != nil { Logf("Still waiting for glbc to cleanup: %v", err) return false, nil } diff --git a/test/e2e/framework/util.go b/test/e2e/framework/util.go index 91099ac7854..cc3ec1a7068 100644 --- a/test/e2e/framework/util.go +++ b/test/e2e/framework/util.go @@ -5124,7 +5124,7 @@ func (p *E2ETestNodePreparer) CleanupNodes() error { // CleanupGCEResources cleans up GCE Service Type=LoadBalancer resources with // the given name. The name is usually the UUID of the Service prefixed with an // alpha-numeric character ('a') to work around cloudprovider rules. -func CleanupGCEResources(loadBalancerName, zone string) (retErr error) { +func CleanupGCEResources(c clientset.Interface, loadBalancerName, zone string) (retErr error) { gceCloud, err := GetGCECloud() if err != nil { return err @@ -5155,7 +5155,12 @@ func CleanupGCEResources(loadBalancerName, zone string) (retErr error) { if hc != nil { hcNames = append(hcNames, hc.Name) } - if err := gceCloud.DeleteExternalTargetPoolAndChecks(loadBalancerName, region, hcNames...); err != nil && + clusterID, err := GetClusterID(c) + if err != nil { + retErr = fmt.Errorf("%v\n%v", retErr, err) + return + } + if err := gceCloud.DeleteExternalTargetPoolAndChecks(loadBalancerName, region, clusterID, hcNames...); err != nil && !IsGoogleAPIHTTPErrorCode(err, http.StatusNotFound) { retErr = fmt.Errorf("%v\n%v", retErr, err) } diff --git a/test/e2e/service.go b/test/e2e/service.go index 2165e43e039..0690ea021b3 100644 --- a/test/e2e/service.go +++ b/test/e2e/service.go @@ -57,7 +57,7 @@ var _ = framework.KubeDescribe("Services", func() { } for _, lb := range serviceLBNames { framework.Logf("cleaning gce resource for %s", lb) - framework.CleanupServiceGCEResources(lb, framework.TestContext.CloudConfig.Zone) + framework.CleanupServiceGCEResources(cs, lb, framework.TestContext.CloudConfig.Zone) } //reset serviceLBNames serviceLBNames = []string{} @@ -1337,7 +1337,7 @@ var _ = framework.KubeDescribe("ESIPP [Slow]", func() { } for _, lb := range serviceLBNames { framework.Logf("cleaning gce resource for %s", lb) - framework.CleanupServiceGCEResources(lb, framework.TestContext.CloudConfig.Zone) + framework.CleanupServiceGCEResources(cs, lb, framework.TestContext.CloudConfig.Zone) } //reset serviceLBNames serviceLBNames = []string{} diff --git a/test/e2e_federation/util.go b/test/e2e_federation/util.go index 7d8ac5af95a..fd9ae00148f 100644 --- a/test/e2e_federation/util.go +++ b/test/e2e_federation/util.go @@ -248,7 +248,7 @@ func cleanupServiceShardsAndProviderResources(namespace string, service *v1.Serv zone := fedframework.GetZoneFromClusterName(name) serviceLBName := cloudprovider.GetLoadBalancerName(cSvc) framework.Logf("cleaning cloud provider resource for service %q in namespace %q, in cluster %q", service.Name, namespace, name) - framework.CleanupServiceResources(serviceLBName, zone) + framework.CleanupServiceResources(c.Clientset, serviceLBName, zone) } err = cleanupServiceShard(c.Clientset, name, namespace, cSvc, fedframework.FederatedDefaultTestTimeout)