Don't show container labels on container images

Images have their own labels. We can still use the container labels for
filtering, as the filters are "System Containers", not "System Images".
This commit is contained in:
Paul Bellamy
2016-04-25 10:32:33 +01:00
parent 1539e668e7
commit a374ad334a
4 changed files with 21 additions and 7 deletions
+8 -1
View File
@@ -224,7 +224,14 @@ var (
apiContainer1 = client.APIContainers{ID: "ping"}
apiContainer2 = client.APIContainers{ID: "wiff"}
renamedAPIContainer = client.APIContainers{ID: "renamed"}
apiImage1 = client.APIImages{ID: "baz", RepoTags: []string{"bang", "not-chosen"}}
apiImage1 = client.APIImages{
ID: "baz",
RepoTags: []string{"bang", "not-chosen"},
Labels: map[string]string{
"imgfoo1": "bar1",
"imgfoo2": "bar2",
},
}
)
func newMockClient() *mockDockerClient {
+5 -4
View File
@@ -12,8 +12,9 @@ import (
// Keys for use in Node
const (
ImageID = "docker_image_id"
ImageName = "docker_image_name"
ImageID = "docker_image_id"
ImageName = "docker_image_name"
ImageLabelPrefix = "docker_image_label_"
)
// Exposed for testing
@@ -46,7 +47,7 @@ var (
}
ContainerImageTableTemplates = report.TableTemplates{
LabelPrefix: {ID: LabelPrefix, Label: "Docker Labels", Prefix: LabelPrefix},
ImageLabelPrefix: {ID: ImageLabelPrefix, Label: "Docker Labels", Prefix: ImageLabelPrefix},
}
)
@@ -169,7 +170,7 @@ func (r *Reporter) containerImageTopology() report.Topology {
node := report.MakeNodeWith(nodeID, map[string]string{
ImageID: imageID,
})
node = node.AddTable(LabelPrefix, image.Labels)
node = node.AddTable(ImageLabelPrefix, image.Labels)
if len(image.RepoTags) > 0 {
node = node.WithLatests(map[string]string{ImageName: image.RepoTags[0]})
+4 -2
View File
@@ -96,8 +96,10 @@ func TestReporter(t *testing.T) {
}
for k, want := range map[string]string{
docker.ImageID: "baz",
docker.ImageName: "bang",
docker.ImageID: "baz",
docker.ImageName: "bang",
docker.ImageLabelPrefix + "imgfoo1": "bar1",
docker.ImageLabelPrefix + "imgfoo2": "bar2",
} {
if have, ok := node.Latest.Lookup(k); !ok || have != want {
t.Errorf("Expected container image %s latest %q: %q, got %q", containerImageNodeID, k, want, have)
+4
View File
@@ -228,6 +228,10 @@ func IsSystem(n report.Node) bool {
if roleLabel == "system" {
return false
}
roleLabel, _ = n.Latest.Lookup(docker.ImageLabelPrefix + "works.weave.role")
if roleLabel == "system" {
return false
}
namespace, _ := n.Latest.Lookup(kubernetes.Namespace)
if namespace == "kube-system" {
return false