Skip to content

Commit e246fec

Browse files
Merge pull request #77 from tamilmani1989/cni_del_fix
CNI should invoke ipam release call even if delete endpoint fails
2 parents 9e768ff + 5ba70f9 commit e246fec

File tree

3 files changed

+13
-9
lines changed

3 files changed

+13
-9
lines changed

ipam/pool.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -542,13 +542,13 @@ func (ap *addressPool) releaseAddress(address string, options map[string]string)
542542

543543
// Fail if an address record with a matching ID is not found.
544544
if ar == nil || (id != "" && id != ar.ID) {
545-
err = errAddressNotFound
546-
return err
545+
log.Printf("Address not found. Not Returning error")
546+
return nil
547547
}
548548

549549
if !ar.InUse {
550-
err = errAddressNotInUse
551-
return err
550+
log.Printf("Address not in use. Not Returning error")
551+
return nil
552552
}
553553

554554
if ar.ID != "" {

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)