diff options
Diffstat (limited to 'libnetwork')
-rw-r--r-- | libnetwork/drivers/overlay/ov_network.go | 19 | ||||
-rw-r--r-- | libnetwork/network.go | 3 |
2 files changed, 19 insertions, 3 deletions
diff --git a/libnetwork/drivers/overlay/ov_network.go b/libnetwork/drivers/overlay/ov_network.go index ec3876b8f5..3961538b07 100644 --- a/libnetwork/drivers/overlay/ov_network.go +++ b/libnetwork/drivers/overlay/ov_network.go @@ -216,6 +216,25 @@ func (d *driver) DeleteNetwork(nid string) error { doPeerFlush = true delete(d.networks, nid) + if n.secure { + for _, s := range n.subnets { + if err := programMangle(s.vni, false); err != nil { + logrus.WithFields(logrus.Fields{ + logrus.ErrorKey: err, + "network_id": n.id, + "subnet": s.subnetIP, + }).Warn("Failed to clean up iptables rules during overlay network deletion") + } + if err := programInput(s.vni, false); err != nil { + logrus.WithFields(logrus.Fields{ + logrus.ErrorKey: err, + "network_id": n.id, + "subnet": s.subnetIP, + }).Warn("Failed to clean up iptables rules during overlay network deletion") + } + } + } + return nil } diff --git a/libnetwork/network.go b/libnetwork/network.go index 498c5566d5..b32984419e 100644 --- a/libnetwork/network.go +++ b/libnetwork/network.go @@ -1061,9 +1061,6 @@ func (n *network) delete(force bool, rmLBEndpoint bool) error { } n.ipamRelease() - if err = c.updateToStore(n); err != nil { - logrus.Warnf("Failed to update store after ipam release for network %s (%s): %v", n.Name(), n.ID(), err) - } // We are about to delete the network. Leave the gossip // cluster for the network to stop all incoming network |