Merge pull request #2062 from weaveworks/issues/2059-weave-ps-ignore-stopped
Protect container-addrs util_op against stopped containers Fixes #2059.
This commit is contained in:
commit
0474227d6e
3 files changed
+10
-1
No files matched your search
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
@@ -1069,7 +1069,8 @@ with_container_addresses() {
|
||||
COMMAND=$1
|
||||
shift 1
|
||||
|
||||
util_op container-addrs $BRIDGE "$@" | while read CONTAINER_ID CONTAINER_MAC CONTAINER_IPS; do
|
||||
CONTAINER_ADDRS=$(util_op container-addrs $BRIDGE "$@") || return 1
|
||||
echo "$CONTAINER_ADDRS" | while read CONTAINER_ID CONTAINER_MAC CONTAINER_IPS; do
|
||||
$COMMAND "$CONTAINER_ID" "$CONTAINER_MAC" "$CONTAINER_IPS"
|
||||
done
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user