mirror of
https://github.com/weaveworks/scope.git
synced 2026-07-19 13:29:35 +00:00
remove hostID from container image node ids
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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{})
|
||||
|
||||
@@ -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)
|
||||
})
|
||||
|
||||
|
||||
@@ -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{},
|
||||
|
||||
@@ -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())),
|
||||
}))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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}
|
||||
}
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user