Update e2e tests to pipe in clusterID for gce resource cleanup

This commit is contained in:
Zihong Zheng 2017-06-23 15:56:12 -07:00
parent baca8a1490
commit be6bb318aa
4 changed files with 14 additions and 9 deletions

View File

@ -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
}

View File

@ -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)
}

View File

@ -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{}

View File

@ -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)