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:
commit
a9596db128
2 changed files with 9 additions and 3 deletions
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue