1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Merge pull request #2524 from trapier/cleanup-vfp-during-network-removal

Cleanup VFP during overlay network removal
This commit is contained in:
elangovan sivanandam 2020-03-05 14:55:50 -05:00 committed by GitHub
commit a9596db128
2 changed files with 9 additions and 3 deletions

View file

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

View file

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