Merge pull request #1258 from Luap99/netns
pkg/netns: UnmountNS() accept netns path as string
This commit is contained in:
commit
df2212a903
|
|
@ -109,10 +109,10 @@ var _ = Describe("run CNI", func() {
|
||||||
logrus.SetLevel(logrus.InfoLevel)
|
logrus.SetLevel(logrus.InfoLevel)
|
||||||
_ = os.RemoveAll(cniConfDir)
|
_ = os.RemoveAll(cniConfDir)
|
||||||
|
|
||||||
_ = netns.UnmountNS(netNSTest)
|
_ = netns.UnmountNS(netNSTest.Path())
|
||||||
_ = netNSTest.Close()
|
_ = netNSTest.Close()
|
||||||
|
|
||||||
_ = netns.UnmountNS(netNSContainer)
|
_ = netns.UnmountNS(netNSContainer.Path())
|
||||||
_ = netNSContainer.Close()
|
_ = netNSContainer.Close()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -108,10 +108,10 @@ var _ = Describe("run netavark", func() {
|
||||||
logrus.SetLevel(logrus.InfoLevel)
|
logrus.SetLevel(logrus.InfoLevel)
|
||||||
_ = os.RemoveAll(confDir)
|
_ = os.RemoveAll(confDir)
|
||||||
|
|
||||||
_ = netns.UnmountNS(netNSTest)
|
_ = netns.UnmountNS(netNSTest.Path())
|
||||||
_ = netNSTest.Close()
|
_ = netNSTest.Close()
|
||||||
|
|
||||||
_ = netns.UnmountNS(netNSContainer)
|
_ = netns.UnmountNS(netNSContainer.Path())
|
||||||
_ = netNSContainer.Close()
|
_ = netNSContainer.Close()
|
||||||
|
|
||||||
_ = os.Unsetenv("NETAVARK_FW")
|
_ = os.Unsetenv("NETAVARK_FW")
|
||||||
|
|
@ -286,7 +286,7 @@ var _ = Describe("run netavark", func() {
|
||||||
|
|
||||||
netNSContainer2, err := netns.NewNS()
|
netNSContainer2, err := netns.NewNS()
|
||||||
Expect(err).ToNot(HaveOccurred())
|
Expect(err).ToNot(HaveOccurred())
|
||||||
defer netns.UnmountNS(netNSContainer2) //nolint:errcheck
|
defer netns.UnmountNS(netNSContainer2.Path()) //nolint:errcheck
|
||||||
defer netNSContainer2.Close() //nolint:errcheck
|
defer netNSContainer2.Close() //nolint:errcheck
|
||||||
|
|
||||||
res, err = libpodNet.Setup(netNSContainer2.Path(), setupOpts2)
|
res, err = libpodNet.Setup(netNSContainer2.Path(), setupOpts2)
|
||||||
|
|
|
||||||
|
|
@ -179,14 +179,13 @@ func NewNSWithName(name string) (ns.NetNS, error) {
|
||||||
return ns.GetNS(nsPath)
|
return ns.GetNS(nsPath)
|
||||||
}
|
}
|
||||||
|
|
||||||
// UnmountNS unmounts the NS held by the netns object
|
// UnmountNS unmounts the given netns path
|
||||||
func UnmountNS(netns ns.NetNS) error {
|
func UnmountNS(nsPath string) error {
|
||||||
nsRunDir, err := GetNSRunDir()
|
nsRunDir, err := GetNSRunDir()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
nsPath := netns.Path()
|
|
||||||
// Only unmount if it's been bind-mounted (don't touch namespaces in /proc...)
|
// Only unmount if it's been bind-mounted (don't touch namespaces in /proc...)
|
||||||
if strings.HasPrefix(nsPath, nsRunDir) {
|
if strings.HasPrefix(nsPath, nsRunDir) {
|
||||||
if err := unix.Unmount(nsPath, unix.MNT_DETACH); err != nil {
|
if err := unix.Unmount(nsPath, unix.MNT_DETACH); err != nil {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue