Skip to content

Commit 5ba70f9

Browse files
committed
Made changes in netlink code to ignore interface not found error
1 parent 3c5ae5d commit 5ba70f9

File tree

3 files changed

+12
-8
lines changed

3 files changed

+12
-8
lines changed

cni/network/network.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -320,8 +320,8 @@ func (plugin *netPlugin) Delete(args *cniSkel.CmdArgs) error {
320320
// Delete the endpoint.
321321
err = plugin.nm.DeleteEndpoint(networkId, endpointId)
322322
if err != nil {
323-
// Log the error but don't return before releasing address
324-
log.Printf("Container Namespace might have been removed. Failed to delete endpoint: %v", err)
323+
err = plugin.Errorf("Failed to delete endpoint: %v", err)
324+
return err
325325
}
326326

327327
// Call into IPAM plugin to release the endpoint's addresses.
@@ -330,7 +330,7 @@ func (plugin *netPlugin) Delete(args *cniSkel.CmdArgs) error {
330330
nwCfg.Ipam.Address = address.IP.String()
331331
err = plugin.DelegateDel(nwCfg.Ipam.Type, nwCfg)
332332
if err != nil {
333-
plugin.Errorf("Failed to release address: %v", err)
333+
err = plugin.Errorf("Failed to release address: %v", err)
334334
return err
335335
}
336336
}

netlink/link.go

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"fmt"
88
"net"
99

10+
"github.com/Azure/azure-container-networking/log"
1011
"golang.org/x/sys/unix"
1112
)
1213

@@ -146,15 +147,17 @@ func AddLink(link Link) error {
146147
// DeleteLink deletes a network interface.
147148
func DeleteLink(name string) error {
148149
if name == "" {
149-
return fmt.Errorf("Invalid link name")
150+
log.Printf("[net] Invalid link name. Not returning error")
151+
return nil
150152
}
151153

152-
s, err := getSocket()
154+
iface, err := net.InterfaceByName(name)
153155
if err != nil {
154-
return err
156+
log.Printf("[net] Interface not found. Not returning error")
157+
return nil
155158
}
156159

157-
iface, err := net.InterfaceByName(name)
160+
s, err := getSocket()
158161
if err != nil {
159162
return err
160163
}

network/endpoint.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,8 @@ func (nw *network) deleteEndpoint(endpointId string) error {
8383
// Look up the endpoint.
8484
ep, err := nw.getEndpoint(endpointId)
8585
if err != nil {
86-
return err
86+
log.Printf("[net] Endpoint %v not found. Not Returning error", endpointId)
87+
return nil
8788
}
8889

8990
// Call the platform implementation.

0 commit comments

Comments
 (0)