remove hostID from container image node ids

This commit is contained in:
Paul Bellamy
2016-01-18 10:36:31 +00:00
committed by Simon Howe
parent 9e61ad37f4
commit 3cda328976
10 changed files with 14 additions and 20 deletions

View File

@@ -334,7 +334,7 @@ func (c *container) GetNode(hostID string, localAddrs []net.IP) report.Node {
).WithMetrics(
c.metrics(),
).WithParents(report.Sets{
"container_image": report.MakeStringSet(report.MakeContainerImageNodeID(hostID, c.container.Image)),
"container_image": report.MakeStringSet(report.MakeContainerImageNodeID(c.container.Image)),
})
if c.container.State.Paused {

View File

@@ -93,7 +93,7 @@ func TestContainer(t *testing.T) {
"cpu_total_usage": report.MakeMetric(),
"memory_usage": report.MakeMetric().Add(now, 12345),
}).WithParents(report.Sets{
"container_image": report.MakeStringSet(report.MakeContainerImageNodeID("scope", "baz")),
"container_image": report.MakeStringSet(report.MakeContainerImageNodeID("baz")),
})
test.Poll(t, 100*time.Millisecond, want, func() interface{} {
node := c.GetNode("scope", []net.IP{})

View File

@@ -117,8 +117,6 @@ func (r *Reporter) containerImageTopology() report.Topology {
r.registry.WalkImages(func(image *docker_client.APIImages) {
nmd := report.MakeNodeWith(map[string]string{
ImageID: image.ID,
}).WithParents(report.Sets{
"host": report.MakeStringSet(report.MakeHostNodeID(r.hostID)),
})
AddLabels(nmd, image.Labels)
@@ -126,7 +124,7 @@ func (r *Reporter) containerImageTopology() report.Topology {
nmd.Metadata[ImageName] = image.RepoTags[0]
}
nodeID := report.MakeContainerImageNodeID(r.hostID, image.ID)
nodeID := report.MakeContainerImageNodeID(image.ID)
result.AddNode(nodeID, nmd)
})

View File

@@ -101,11 +101,9 @@ func TestReporter(t *testing.T) {
}
want.ContainerImage = report.Topology{
Nodes: report.Nodes{
report.MakeContainerImageNodeID("host1", "baz"): report.MakeNodeWith(map[string]string{
report.MakeContainerImageNodeID("baz"): report.MakeNodeWith(map[string]string{
docker.ImageID: "baz",
docker.ImageName: "bang",
}).WithParents(report.Sets{
"host": report.MakeStringSet(report.MakeHostNodeID("host1")),
}),
},
Controls: report.Controls{},

View File

@@ -23,15 +23,13 @@ var (
// nodes that have a PID.
type Tagger struct {
registry Registry
hostID string
procWalker process.Walker
}
// NewTagger returns a usable Tagger.
func NewTagger(registry Registry, hostID string, procWalker process.Walker) *Tagger {
func NewTagger(registry Registry, procWalker process.Walker) *Tagger {
return &Tagger{
registry: registry,
hostID: hostID,
procWalker: procWalker,
}
}
@@ -88,7 +86,7 @@ func (t *Tagger) tag(tree process.Tree, topology *report.Topology) {
ContainerID: c.ID(),
}).WithParents(report.Sets{
"container": report.MakeStringSet(report.MakeContainerNodeID(c.ID())),
"container_image": report.MakeStringSet(report.MakeContainerImageNodeID(t.hostID, c.Image())),
"container_image": report.MakeStringSet(report.MakeContainerImageNodeID(c.Image())),
}))
}
}

View File

@@ -42,7 +42,7 @@ func TestTagger(t *testing.T) {
docker.ContainerID: "ping",
}).WithParents(report.Sets{
"container": report.MakeStringSet(report.MakeContainerNodeID("ping")),
"container_image": report.MakeStringSet(report.MakeContainerImageNodeID("somehost.com", "baz")),
"container_image": report.MakeStringSet(report.MakeContainerImageNodeID("baz")),
})
)
@@ -54,7 +54,7 @@ func TestTagger(t *testing.T) {
want.Process.AddNode(pid1NodeID, report.MakeNodeWith(map[string]string{process.PID: "2"}).Merge(wantNode))
want.Process.AddNode(pid2NodeID, report.MakeNodeWith(map[string]string{process.PID: "3"}).Merge(wantNode))
tagger := docker.NewTagger(mockRegistryInstance, "somehost.com", nil)
tagger := docker.NewTagger(mockRegistryInstance, nil)
have, err := tagger.Tag(input)
if err != nil {
t.Errorf("%v", err)

View File

@@ -131,7 +131,7 @@ func probeMain() {
}
if registry, err := docker.NewRegistry(*dockerInterval, clients); err == nil {
defer registry.Stop()
p.AddTagger(docker.NewTagger(registry, hostID, processCache))
p.AddTagger(docker.NewTagger(registry, processCache))
p.AddReporter(docker.NewReporter(registry, hostID, p))
} else {
log.Printf("Docker: failed to start registry: %v", err)

View File

@@ -524,7 +524,7 @@ func MapContainer2ContainerImage(n RenderableNode, _ report.Networks) Renderable
result.Children = result.Children.Add(n.Node)
result.Node.Topology = "container_image"
result.Node.ID = report.MakeContainerImageNodeID(report.ExtractHostID(n.Node), imageID)
result.Node.ID = report.MakeContainerImageNodeID(imageID)
return RenderableNodes{id: result}
}

View File

@@ -107,8 +107,8 @@ func MakeContainerNodeID(containerID string) string {
}
// MakeContainerImageNodeID produces a container image node ID from its composite parts.
func MakeContainerImageNodeID(hostID, containerImageID string) string {
return hostID + ScopeDelim + containerImageID
func MakeContainerImageNodeID(containerImageID string) string {
return containerImageID + ScopeDelim + "<container_image>"
}
// MakePodNodeID produces a pod node ID from its composite parts.

View File

@@ -79,8 +79,8 @@ var (
ClientContainerImageID = "imageid123"
ServerContainerImageID = "imageid456"
ClientContainerImageNodeID = report.MakeContainerImageNodeID(ClientHostID, ClientContainerImageID)
ServerContainerImageNodeID = report.MakeContainerImageNodeID(ServerHostID, ServerContainerImageID)
ClientContainerImageNodeID = report.MakeContainerImageNodeID(ClientContainerImageID)
ServerContainerImageNodeID = report.MakeContainerImageNodeID(ServerContainerImageID)
ClientContainerImageName = "image/client"
ServerContainerImageName = "image/server"