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:
Matthias Radestock committed 2016-03-18 11:13:14 +00:00
commit 0474227d6e
3 files changed
+10 -1

No files matched your search

+4
View File
@@ -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()
+4
View File
@@ -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)
}
+2 -1
View File
@@ -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
}