diff --git a/daemon/network.go b/daemon/network.go index a9944e637c..f852c6b43a 100644 --- a/daemon/network.go +++ b/daemon/network.go @@ -127,6 +127,14 @@ func (daemon *Daemon) SetupIngress(create clustertypes.NetworkCreateRequest, nod return } + // Cleanup any stale endpoints that might be left over during previous iterations + epList := n.Endpoints() + for _, ep := range epList { + if err := ep.Delete(true); err != nil { + logrus.Errorf("Failed to delete endpoint %s (%s): %v", ep.Name(), ep.ID(), err) + } + } + if err := n.Delete(); err != nil { logrus.Errorf("Failed to delete stale ingress network %s: %v", n.ID(), err) return