From 9ba57c93b80a9a881ad21180f4943eb4fc1a4b3e Mon Sep 17 00:00:00 2001 From: ZhiPeng Lu Date: Thu, 1 Mar 2018 01:38:35 +0800 Subject: [PATCH] Add warning message for the failure of deleting link device Signed-off-by: ZhiPeng Lu --- libnetwork/drivers/bridge/bridge.go | 16 ++++++++++++---- libnetwork/drivers/ipvlan/ipvlan_endpoint.go | 4 +++- libnetwork/drivers/ipvlan/ipvlan_network.go | 4 +++- libnetwork/drivers/macvlan/macvlan_endpoint.go | 4 +++- libnetwork/drivers/macvlan/macvlan_network.go | 4 +++- libnetwork/drivers/overlay/ov_network.go | 4 +++- 6 files changed, 27 insertions(+), 9 deletions(-) diff --git a/libnetwork/drivers/bridge/bridge.go b/libnetwork/drivers/bridge/bridge.go index 1fa8f0e921..58dc825e9f 100644 --- a/libnetwork/drivers/bridge/bridge.go +++ b/libnetwork/drivers/bridge/bridge.go @@ -782,7 +782,9 @@ func (d *driver) deleteNetwork(nid string) error { logrus.Warn(err) } if link, err := d.nlh.LinkByName(ep.srcName); err == nil { - d.nlh.LinkDel(link) + if err := d.nlh.LinkDel(link); err != nil { + logrus.WithError(err).Errorf("Failed to delete interface (%s)'s link on endpoint (%s) delete", ep.srcName, ep.id) + } } if err := d.storeDelete(ep); err != nil { @@ -969,7 +971,9 @@ func (d *driver) CreateEndpoint(nid, eid string, ifInfo driverapi.InterfaceInfo, } defer func() { if err != nil { - d.nlh.LinkDel(host) + if err := d.nlh.LinkDel(host); err != nil { + logrus.WithError(err).Warnf("Failed to delete host side interface (%s)'s link", hostIfName) + } } }() @@ -980,7 +984,9 @@ func (d *driver) CreateEndpoint(nid, eid string, ifInfo driverapi.InterfaceInfo, } defer func() { if err != nil { - d.nlh.LinkDel(sbox) + if err := d.nlh.LinkDel(sbox); err != nil { + logrus.WithError(err).Warnf("Failed to delete sandbox side interface (%s)'s link", containerIfName) + } } }() @@ -1117,7 +1123,9 @@ func (d *driver) DeleteEndpoint(nid, eid string) error { // Try removal of link. Discard error: it is a best effort. // Also make sure defer does not see this error either. if link, err := d.nlh.LinkByName(ep.srcName); err == nil { - d.nlh.LinkDel(link) + if err := d.nlh.LinkDel(link); err != nil { + logrus.WithError(err).Errorf("Failed to delete interface (%s)'s link on endpoint (%s) delete", ep.srcName, ep.id) + } } if err := d.storeDelete(ep); err != nil { diff --git a/libnetwork/drivers/ipvlan/ipvlan_endpoint.go b/libnetwork/drivers/ipvlan/ipvlan_endpoint.go index 1fe44f2e71..139cbaf8b7 100644 --- a/libnetwork/drivers/ipvlan/ipvlan_endpoint.go +++ b/libnetwork/drivers/ipvlan/ipvlan_endpoint.go @@ -76,7 +76,9 @@ func (d *driver) DeleteEndpoint(nid, eid string) error { return fmt.Errorf("endpoint id %q not found", eid) } if link, err := ns.NlHandle().LinkByName(ep.srcName); err == nil { - ns.NlHandle().LinkDel(link) + if err := ns.NlHandle().LinkDel(link); err != nil { + logrus.WithError(err).Warnf("Failed to delete interface (%s)'s link on endpoint (%s) delete", ep.srcName, ep.id) + } } if err := d.storeDelete(ep); err != nil { diff --git a/libnetwork/drivers/ipvlan/ipvlan_network.go b/libnetwork/drivers/ipvlan/ipvlan_network.go index a9544b5a95..437919cf9d 100644 --- a/libnetwork/drivers/ipvlan/ipvlan_network.go +++ b/libnetwork/drivers/ipvlan/ipvlan_network.go @@ -150,7 +150,9 @@ func (d *driver) DeleteNetwork(nid string) error { } for _, ep := range n.endpoints { if link, err := ns.NlHandle().LinkByName(ep.srcName); err == nil { - ns.NlHandle().LinkDel(link) + if err := ns.NlHandle().LinkDel(link); err != nil { + logrus.WithError(err).Warnf("Failed to delete interface (%s)'s link on endpoint (%s) delete", ep.srcName, ep.id) + } } if err := d.storeDelete(ep); err != nil { diff --git a/libnetwork/drivers/macvlan/macvlan_endpoint.go b/libnetwork/drivers/macvlan/macvlan_endpoint.go index d9fae57185..bf3e0bbd14 100644 --- a/libnetwork/drivers/macvlan/macvlan_endpoint.go +++ b/libnetwork/drivers/macvlan/macvlan_endpoint.go @@ -81,7 +81,9 @@ func (d *driver) DeleteEndpoint(nid, eid string) error { return fmt.Errorf("endpoint id %q not found", eid) } if link, err := ns.NlHandle().LinkByName(ep.srcName); err == nil { - ns.NlHandle().LinkDel(link) + if err := ns.NlHandle().LinkDel(link); err != nil { + logrus.WithError(err).Warnf("Failed to delete interface (%s)'s link on endpoint (%s) delete", ep.srcName, ep.id) + } } if err := d.storeDelete(ep); err != nil { diff --git a/libnetwork/drivers/macvlan/macvlan_network.go b/libnetwork/drivers/macvlan/macvlan_network.go index 914c6cdf64..be4cf0f445 100644 --- a/libnetwork/drivers/macvlan/macvlan_network.go +++ b/libnetwork/drivers/macvlan/macvlan_network.go @@ -154,7 +154,9 @@ func (d *driver) DeleteNetwork(nid string) error { } for _, ep := range n.endpoints { if link, err := ns.NlHandle().LinkByName(ep.srcName); err == nil { - ns.NlHandle().LinkDel(link) + if err := ns.NlHandle().LinkDel(link); err != nil { + logrus.WithError(err).Warnf("Failed to delete interface (%s)'s link on endpoint (%s) delete", ep.srcName, ep.id) + } } if err := d.storeDelete(ep); err != nil { diff --git a/libnetwork/drivers/overlay/ov_network.go b/libnetwork/drivers/overlay/ov_network.go index a96a45905e..0be94a0708 100644 --- a/libnetwork/drivers/overlay/ov_network.go +++ b/libnetwork/drivers/overlay/ov_network.go @@ -243,7 +243,9 @@ func (d *driver) DeleteNetwork(nid string) error { for _, ep := range n.endpoints { if ep.ifName != "" { if link, err := ns.NlHandle().LinkByName(ep.ifName); err == nil { - ns.NlHandle().LinkDel(link) + if err := ns.NlHandle().LinkDel(link); err != nil { + logrus.WithError(err).Warnf("Failed to delete interface (%s)'s link on endpoint (%s) delete", ep.ifName, ep.id) + } } }