Fixed review comments, lint.

Added error check to EnsureLoadBalancerDeleted.
This commit is contained in:
Pavithra Ramesh 2019-07-31 13:05:51 -07:00
parent ffb4504230
commit dbfc876e83
4 changed files with 12 additions and 5 deletions

View File

@ -311,6 +311,11 @@ func (s *ServiceController) syncLoadBalancerIfNeeded(service *v1.Service, key st
klog.V(2).Infof("Deleting existing load balancer for service %s", key)
s.eventRecorder.Event(service, v1.EventTypeNormal, "DeletingLoadBalancer", "Deleting load balancer")
if err := s.balancer.EnsureLoadBalancerDeleted(context.TODO(), s.clusterName, service); err != nil {
if err == cloudprovider.ImplementedElsewhere {
klog.V(3).Infof("LoadBalancer for service %s implemented by a different controller %s," +
"Ignoring error upon deletion", key, s.cloud.ProviderName())
return op, nil
}
return op, fmt.Errorf("failed to delete load balancer: %v", err)
}
}
@ -340,7 +345,7 @@ func (s *ServiceController) syncLoadBalancerIfNeeded(service *v1.Service, key st
newStatus, err = s.ensureLoadBalancer(service)
if err != nil {
if err == cloudprovider.ImplementedElsewhere {
klog.Infof("LoadBalancer for service %s implemented by a different controller %s, Ignoring error",
klog.V(3).Infof("LoadBalancer for service %s implemented by a different controller %s, Ignoring error",
key, s.cloud.ProviderName())
return op, nil
}

View File

@ -200,7 +200,7 @@ type Routes interface {
var (
DiskNotFound = errors.New("disk is not found")
ImplementedElsewhere = errors.New("implemented by a different controller")
ImplementedElsewhere = errors.New("implemented by alternate to cloud provider")
InstanceNotFound = errors.New("instance not found")
NotImplemented = errors.New("unimplemented")
)

View File

@ -26,6 +26,8 @@ const (
//
// alpha: v1.8 (for Services)
AlphaFeatureNetworkTiers = "NetworkTiers"
// AlphaFeatureILBSubsets allows InternalLoadBalancer services to include a subset
// of cluster nodes as backends instead of all nodes.
AlphaFeatureILBSubsets = "ILBSubsets"
)

View File

@ -38,7 +38,7 @@ const (
func (g *Cloud) usesSubsets() bool {
return g.AlphaFeatureGate != nil && g.AlphaFeatureGate.Enabled(AlphaFeatureILBSubsets)
}
}
func (g *Cloud) ensureInternalLoadBalancer(clusterName, clusterID string, svc *v1.Service, existingFwdRule *compute.ForwardingRule, nodes []*v1.Node) (*v1.LoadBalancerStatus, error) {
if g.usesSubsets() {