diff --git a/common/utils.go b/common/utils.go index 63b7b5e2..9c348902 100644 --- a/common/utils.go +++ b/common/utils.go @@ -4,6 +4,7 @@ import ( "github.com/vishvananda/netlink" "github.com/vishvananda/netns" "net" + "os" "runtime" "strings" ) @@ -53,6 +54,9 @@ func FindNetDevs(processID int, match func(string) bool) ([]NetDev, error) { ns, err := netns.GetFromPid(processID) if err != nil { + if os.IsNotExist(err) { + return nil, nil + } return nil, err } defer ns.Close() diff --git a/prog/weaveutil/addrs.go b/prog/weaveutil/addrs.go index 4fc38575..06e9424b 100644 --- a/prog/weaveutil/addrs.go +++ b/prog/weaveutil/addrs.go @@ -49,5 +49,9 @@ func getNetDevs(bridgeName string, c *docker.Client, containerID string) ([]comm return nil, err } + if container.State.Pid == 0 { + return nil, nil + } + return common.GetWeaveNetDevs(container.State.Pid) }