From 1e3014c417344a2bee3fff3d632320cd7f0aaf9e Mon Sep 17 00:00:00 2001 From: Alfonso Acosta Date: Wed, 17 Feb 2016 18:53:43 +0000 Subject: [PATCH 1/3] Fix weave tagger crash --- probe/overlay/weave.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/probe/overlay/weave.go b/probe/overlay/weave.go index f908bd535..1a384daaa 100644 --- a/probe/overlay/weave.go +++ b/probe/overlay/weave.go @@ -134,9 +134,15 @@ func (w *Weave) Tag(r report.Report) (report.Report, error) { } // Put information from weave ps on the container nodes + const maxPrefixSize = 12 for id, node := range r.Container.Nodes { - prefix, _ := node.Latest.Lookup(docker.ContainerID) - prefix = prefix[:12] + prefix, ok := node.Latest.Lookup(docker.ContainerID) + if !ok { + continue + } + if len(prefix) > maxPrefixSize { + prefix = prefix[:maxPrefixSize] + } entry, ok := w.psCache[prefix] if !ok { continue From bf3ecd7f0387303358f60f28a6fb8af99a45da27 Mon Sep 17 00:00:00 2001 From: Alfonso Acosta Date: Thu, 18 Feb 2016 14:52:10 +0000 Subject: [PATCH 2/3] k8s: Add container Ids to container report --- probe/kubernetes/reporter.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/probe/kubernetes/reporter.go b/probe/kubernetes/reporter.go index 5faf33b3d..ab5b91f98 100644 --- a/probe/kubernetes/reporter.go +++ b/probe/kubernetes/reporter.go @@ -1,7 +1,9 @@ package kubernetes import ( + "github.com/weaveworks/scope/probe/docker" "github.com/weaveworks/scope/report" + "k8s.io/kubernetes/pkg/labels" ) @@ -66,11 +68,12 @@ func (r *Reporter) podTopology(services []Service) (report.Topology, report.Topo nodeID := report.MakePodNodeID(p.Namespace(), p.Name()) pods = pods.AddNode(nodeID, p.GetNode()) - container := report.MakeNodeWith(map[string]string{ - PodID: p.ID(), - Namespace: p.Namespace(), - }).WithParents(report.EmptySets.Add(report.Pod, report.MakeStringSet(nodeID))) for _, containerID := range p.ContainerIDs() { + container := report.MakeNodeWith(map[string]string{ + PodID: p.ID(), + Namespace: p.Namespace(), + docker.ContainerID: containerID, + }).WithParents(report.EmptySets.Add(report.Pod, report.MakeStringSet(nodeID))) containers.AddNode(report.MakeContainerNodeID(containerID), container) } return nil From 7f384032fd0daa04b1b97dbe92e9b20e9d65a496 Mon Sep 17 00:00:00 2001 From: Alfonso Acosta Date: Thu, 18 Feb 2016 15:59:38 +0000 Subject: [PATCH 3/3] Review feedback --- probe/kubernetes/reporter.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/probe/kubernetes/reporter.go b/probe/kubernetes/reporter.go index ab5b91f98..66eebaa18 100644 --- a/probe/kubernetes/reporter.go +++ b/probe/kubernetes/reporter.go @@ -1,10 +1,10 @@ package kubernetes import ( + "k8s.io/kubernetes/pkg/labels" + "github.com/weaveworks/scope/probe/docker" "github.com/weaveworks/scope/report" - - "k8s.io/kubernetes/pkg/labels" ) // Reporter generate Reports containing Container and ContainerImage topologies