From b64686ffc3e5d40af359223679a0e8e4854341f1 Mon Sep 17 00:00:00 2001 From: Alfonso Acosta Date: Mon, 8 Aug 2016 14:15:29 +0000 Subject: [PATCH] Identify kubernetes pause containers more broadly --- probe/kubernetes/reporter.go | 11 ++++++++--- render/filters.go | 22 ++++++++++------------ 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/probe/kubernetes/reporter.go b/probe/kubernetes/reporter.go index 7142a923b..d99814a21 100644 --- a/probe/kubernetes/reporter.go +++ b/probe/kubernetes/reporter.go @@ -142,6 +142,13 @@ func (r *Reporter) podEvent(e Event, pod Pod) { } } +// IsPauseImageName indicates whether an image name corresponds to a +// kubernetes pause container image. +func IsPauseImageName(imageName string) bool { + return strings.Contains(imageName, "google_containers/pause") + +} + func isPauseContainer(n report.Node, rpt report.Report) bool { containerImageIDs, ok := n.Parents.Lookup(report.ContainerImage) if !ok { @@ -156,9 +163,7 @@ func isPauseContainer(n report.Node, rpt report.Report) bool { if !ok { continue } - if docker.ImageNameWithoutVersion(imageName) == "google_containers/pause" { - return true - } + return IsPauseImageName(imageName) } return false } diff --git a/render/filters.go b/render/filters.go index 4319db87d..82e2fc2a1 100644 --- a/render/filters.go +++ b/render/filters.go @@ -219,7 +219,7 @@ func IsApplication(n report.Node) bool { } imageName, _ := n.Latest.Lookup(docker.ImageName) imagePrefix := strings.SplitN(imageName, ":", 2)[0] // :( - if _, ok := systemImagePrefixes[imagePrefix]; ok { + if _, ok := systemImagePrefixes[imagePrefix]; ok || kubernetes.IsPauseImageName(imagePrefix) { return false } roleLabel, _ := n.Latest.Lookup(docker.LabelPrefix + "works.weave.role") @@ -268,15 +268,13 @@ var systemContainerNames = map[string]struct{}{ } var systemImagePrefixes = map[string]struct{}{ - "swarm": {}, - "weaveworks/scope": {}, - "weaveworks/weavedns": {}, - "weaveworks/weave": {}, - "weaveworks/weaveproxy": {}, - "weaveworks/weaveexec": {}, - "amazon/amazon-ecs-agent": {}, - "beta.gcr.io/google_containers/pause": {}, - "gcr.io/google_containers/pause": {}, - "openshift/origin-pod": {}, - "docker.io/openshift/origin-pod": {}, + "swarm": {}, + "weaveworks/scope": {}, + "weaveworks/weavedns": {}, + "weaveworks/weave": {}, + "weaveworks/weaveproxy": {}, + "weaveworks/weaveexec": {}, + "amazon/amazon-ecs-agent": {}, + "openshift/origin-pod": {}, + "docker.io/openshift/origin-pod": {}, }