diff --git a/virtcontainers/cni.go b/virtcontainers/cni.go index 3406e59cb3..41e0e71e34 100644 --- a/virtcontainers/cni.go +++ b/virtcontainers/cni.go @@ -165,7 +165,7 @@ func (n *cni) remove(sandbox *Sandbox, networkNS NetworkNamespace, netNsCreated } if netNsCreated { - return deleteNetNS(networkNS.NetNsPath, true) + return deleteNetNS(networkNS.NetNsPath) } return nil diff --git a/virtcontainers/cnm.go b/virtcontainers/cnm.go index c508b0938c..e565ce0e83 100644 --- a/virtcontainers/cnm.go +++ b/virtcontainers/cnm.go @@ -55,7 +55,7 @@ func (n *cnm) remove(sandbox *Sandbox, networkNS NetworkNamespace, netNsCreated } if netNsCreated { - return deleteNetNS(networkNS.NetNsPath, true) + return deleteNetNS(networkNS.NetNsPath) } return nil diff --git a/virtcontainers/network.go b/virtcontainers/network.go index 197f1324f9..53e188374b 100644 --- a/virtcontainers/network.go +++ b/virtcontainers/network.go @@ -1112,7 +1112,7 @@ func doNetNS(netNSPath string, cb func(ns.NetNS) error) error { return cb(targetNS) } -func deleteNetNS(netNSPath string, mounted bool) error { +func deleteNetNS(netNSPath string) error { n, err := ns.GetNS(netNSPath) if err != nil { return err @@ -1123,15 +1123,11 @@ func deleteNetNS(netNSPath string, mounted bool) error { return err } - // This unmount part is supposed to be done in the cni/ns package, but the "mounted" - // flag is not updated when retrieving NetNs handler from GetNS(). - if mounted { - if err = unix.Unmount(netNSPath, unix.MNT_DETACH); err != nil { - return fmt.Errorf("Failed to unmount namespace %s: %v", netNSPath, err) - } - if err := os.RemoveAll(netNSPath); err != nil { - return fmt.Errorf("Failed to clean up namespace %s: %v", netNSPath, err) - } + if err = unix.Unmount(netNSPath, unix.MNT_DETACH); err != nil { + return fmt.Errorf("Failed to unmount namespace %s: %v", netNSPath, err) + } + if err := os.RemoveAll(netNSPath); err != nil { + return fmt.Errorf("Failed to clean up namespace %s: %v", netNSPath, err) } return nil diff --git a/virtcontainers/network_test.go b/virtcontainers/network_test.go index addd5e759e..21e999587f 100644 --- a/virtcontainers/network_test.go +++ b/virtcontainers/network_test.go @@ -123,7 +123,7 @@ func TestCreateDeleteNetNS(t *testing.T) { t.Fatal(err) } - err = deleteNetNS(netNSPath, true) + err = deleteNetNS(netNSPath) if err != nil { t.Fatal(err) }