mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-31 15:25:57 +00:00
Improve GCE's implementation of UpdateTCPLoadBalancer to only make the
update calls if anything has changed.
This commit is contained in:
parent
6ae8e40d3d
commit
5d9564b1cc
@ -337,27 +337,28 @@ func (gce *GCECloud) UpdateTCPLoadBalancer(name, region string, hosts []string)
|
||||
toRemove = append(toRemove, &compute.InstanceReference{link})
|
||||
}
|
||||
|
||||
add := &compute.TargetPoolsAddInstanceRequest{
|
||||
Instances: toAdd,
|
||||
}
|
||||
op, err := gce.service.TargetPools.AddInstance(gce.projectID, region, name, add).Do()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = gce.waitForRegionOp(op, region)
|
||||
if err != nil {
|
||||
return err
|
||||
if len(toAdd) > 0 {
|
||||
add := &compute.TargetPoolsAddInstanceRequest{Instances: toAdd}
|
||||
op, err := gce.service.TargetPools.AddInstance(gce.projectID, region, name, add).Do()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if err := gce.waitForRegionOp(op, region); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
rm := &compute.TargetPoolsRemoveInstanceRequest{
|
||||
Instances: toRemove,
|
||||
if len(toRemove) > 0 {
|
||||
rm := &compute.TargetPoolsRemoveInstanceRequest{Instances: toRemove}
|
||||
op, err := gce.service.TargetPools.RemoveInstance(gce.projectID, region, name, rm).Do()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if err := gce.waitForRegionOp(op, region); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
op, err = gce.service.TargetPools.RemoveInstance(gce.projectID, region, name, rm).Do()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = gce.waitForRegionOp(op, region)
|
||||
return err
|
||||
return nil
|
||||
}
|
||||
|
||||
// DeleteTCPLoadBalancer is an implementation of TCPLoadBalancer.DeleteTCPLoadBalancer.
|
||||
|
Loading…
Reference in New Issue
Block a user