Skip to content

Commit

Permalink
Merge pull request #2524 from trapier/cleanup-vfp-during-network-removal
Browse files Browse the repository at this point in the history
Cleanup VFP during overlay network removal
  • Loading branch information
selansen authored Mar 5, 2020
2 parents aca52ce + b6b8023 commit d503f05
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 3 deletions.
4 changes: 4 additions & 0 deletions network.go
Original file line number Diff line number Diff line change
Expand Up @@ -1088,6 +1088,10 @@ func (n *network) delete(force bool, rmLBEndpoint bool) error {
// Cleanup the service discovery for this network
c.cleanupServiceDiscovery(n.ID())

// Cleanup the load balancer. On Windows this call is required
// to remove remote loadbalancers in VFP.
c.cleanupServiceBindings(n.ID())

removeFromStore:
// deleteFromStore performs an atomic delete operation and the
// network.epCnt will help prevent any possible
Expand Down
8 changes: 5 additions & 3 deletions service_common.go
Original file line number Diff line number Diff line change
Expand Up @@ -369,9 +369,11 @@ func (c *controller) rmServiceBinding(svcName, svcID, nID, eID, containerName st
// sandboxes in the network only if the vip is valid.
if entries == 0 {
// The network may well have been deleted before the last
// of the service bindings. That's ok, because removing
// the network sandbox implicitly removes the backend
// service bindings.
// of the service bindings. That's ok on Linux because
// removing the network sandbox implicitly removes the
// backend service bindings. Windows VFP cleanup requires
// calling cleanupServiceBindings on the network prior to
// deleting the network, performed by network.delete.
n, err := c.NetworkByID(nID)
if err == nil {
n.(*network).rmLBBackend(ip, lb, rmService, fullRemove)
Expand Down

0 comments on commit d503f05

Please sign in to comment.