From d92c4b12c3b92649d29bfe75f06bbbfebb5c94e5 Mon Sep 17 00:00:00 2001 From: Matthias Radestock Date: Thu, 21 Dec 2017 00:57:47 +0000 Subject: [PATCH] render sensible labels for containers with little/no metadata We fall back to the truncated container id when we cannot find a name. NB: this also happens when rendering a container as a parent. We cope with the absence of an image name and/or host name. --- render/detailed/summary.go | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/render/detailed/summary.go b/render/detailed/summary.go index 2f9e10fd0..3990af033 100644 --- a/render/detailed/summary.go +++ b/render/detailed/summary.go @@ -231,13 +231,20 @@ func processNodeSummary(base NodeSummary, n report.Node) (NodeSummary, bool) { } func containerNodeSummary(base NodeSummary, n report.Node) (NodeSummary, bool) { - base.Label = getRenderableContainerName(n) - base.LabelMinor = report.ExtractHostID(n) - - if imageName, ok := n.Latest.Lookup(docker.ImageName); ok { + var ( + containerName = getRenderableContainerName(n) + hostName = report.ExtractHostID(n) + imageName, _ = n.Latest.Lookup(docker.ImageName) + ) + base.Label = containerName + base.LabelMinor = hostName + if imageName != "" { base.Rank = docker.ImageNameWithoutVersion(imageName) + } else if hostName != "" { + base.Rank = hostName + } else { + base.Rank = base.Label } - return base, true } @@ -428,5 +435,9 @@ func getRenderableContainerName(nmd report.Node) string { return label } } - return "" + containerID, _ := report.ParseContainerNodeID(nmd.ID) + if len(containerID) > 12 { + containerID = containerID[:12] + } + return containerID }