From d91971cbe037b27bab2e59fd7e2f8ac6b2a5dcf6 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 11 May 2016 18:50:25 +0200 Subject: [PATCH] plugins/{ptp,bridge}: teardown first This will allow the IPAM allocations to be cleared in case the interfaces and iptables rules are non-existent. --- plugins/main/bridge/bridge.go | 6 +++++- plugins/main/ptp/ptp.go | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/plugins/main/bridge/bridge.go b/plugins/main/bridge/bridge.go index 3c058e1a..77c52156 100644 --- a/plugins/main/bridge/bridge.go +++ b/plugins/main/bridge/bridge.go @@ -238,6 +238,10 @@ func cmdDel(args *skel.CmdArgs) error { return err } + if err := ipam.ExecDel(n.IPAM.Type, args.StdinData); err != nil { + return err + } + var ipn *net.IPNet err = ns.WithNetNSPath(args.Netns, false, func(hostNS *os.File) error { var err error @@ -256,7 +260,7 @@ func cmdDel(args *skel.CmdArgs) error { } } - return ipam.ExecDel(n.IPAM.Type, args.StdinData) + return nil } func main() { diff --git a/plugins/main/ptp/ptp.go b/plugins/main/ptp/ptp.go index 2cd5185a..f92c49ef 100644 --- a/plugins/main/ptp/ptp.go +++ b/plugins/main/ptp/ptp.go @@ -195,6 +195,10 @@ func cmdDel(args *skel.CmdArgs) error { return fmt.Errorf("failed to load netconf: %v", err) } + if err := ipam.ExecDel(conf.IPAM.Type, args.StdinData); err != nil { + return err + } + var ipn *net.IPNet err := ns.WithNetNSPath(args.Netns, false, func(hostNS *os.File) error { var err error @@ -213,7 +217,7 @@ func cmdDel(args *skel.CmdArgs) error { } } - return ipam.ExecDel(conf.IPAM.Type, args.StdinData) + return nil } func main() {