From 94b6a1fb70e8c103ddf54eaefd215ee99664fad6 Mon Sep 17 00:00:00 2001 From: Marek Grabowski Date: Fri, 24 Nov 2017 13:25:38 +0000 Subject: [PATCH] Fix panic in GCE loadbalancer library --- pkg/cloudprovider/providers/gce/gce_loadbalancer_external.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkg/cloudprovider/providers/gce/gce_loadbalancer_external.go b/pkg/cloudprovider/providers/gce/gce_loadbalancer_external.go index 4bb2a40942a..aabef25feb7 100644 --- a/pkg/cloudprovider/providers/gce/gce_loadbalancer_external.go +++ b/pkg/cloudprovider/providers/gce/gce_loadbalancer_external.go @@ -344,7 +344,10 @@ func (gce *GCECloud) ensureExternalLoadBalancerDeleted(clusterName, clusterID st glog.Infof("ensureExternalLoadBalancerDeleted(%s): Failed to retrieve health check:%v.", lbRefStr, err) return err } - hcNames = append(hcNames, hcToDelete.Name) + // If we got 'StatusNotFound' LB was already deleted and it's safe to ignore. + if err == nil { + hcNames = append(hcNames, hcToDelete.Name) + } } else { // EnsureLoadBalancerDeleted() could be triggered by changing service from // LoadBalancer type to others. In this case we have no idea whether it was