Merge pull request #513 from weaveworks/416-audit-add-node-usage

Audit uses to Topology.Nodes, use AddNode where appropriate.
This commit is contained in:
Tom Wilkie
2015-09-23 16:02:10 +08:00
12 changed files with 27 additions and 29 deletions

View File

@@ -39,7 +39,7 @@ func (r *Reporter) containerTopology() report.Topology {
r.registry.WalkContainers(func(c Container) {
nodeID := report.MakeContainerNodeID(r.scope, c.ID())
result.Nodes[nodeID] = c.GetNode()
result.AddNode(nodeID, c.GetNode())
})
return result
@@ -59,7 +59,7 @@ func (r *Reporter) containerImageTopology() report.Topology {
}
nodeID := report.MakeContainerNodeID(r.scope, image.ID)
result.Nodes[nodeID] = nmd
result.AddNode(nodeID, nmd)
})
return result

View File

@@ -45,8 +45,8 @@ func (t *Tagger) Tag(r report.Report) (report.Report, error) {
}
func (t *Tagger) tag(tree process.Tree, topology *report.Topology) {
for nodeID, nodeMetadata := range topology.Nodes {
pidStr, ok := nodeMetadata.Metadata[process.PID]
for nodeID, node := range topology.Nodes {
pidStr, ok := node.Metadata[process.PID]
if !ok {
continue
}
@@ -79,10 +79,8 @@ func (t *Tagger) tag(tree process.Tree, topology *report.Topology) {
continue
}
md := report.MakeNodeWith(map[string]string{
topology.AddNode(nodeID, report.MakeNodeWith(map[string]string{
ContainerID: c.ID(),
})
topology.Nodes[nodeID] = nodeMetadata.Merge(md)
}))
}
}

View File

@@ -38,12 +38,12 @@ func TestTagger(t *testing.T) {
)
input := report.MakeReport()
input.Process.Nodes[pid1NodeID] = report.MakeNodeWith(map[string]string{"pid": "1"})
input.Process.Nodes[pid2NodeID] = report.MakeNodeWith(map[string]string{"pid": "2"})
input.Process.AddNode(pid1NodeID, report.MakeNodeWith(map[string]string{"pid": "1"}))
input.Process.AddNode(pid2NodeID, report.MakeNodeWith(map[string]string{"pid": "2"}))
want := report.MakeReport()
want.Process.Nodes[pid1NodeID] = report.MakeNodeWith(map[string]string{"pid": "1"}).Merge(wantNode)
want.Process.Nodes[pid2NodeID] = report.MakeNodeWith(map[string]string{"pid": "2"}).Merge(wantNode)
want.Process.AddNode(pid1NodeID, report.MakeNodeWith(map[string]string{"pid": "1"}).Merge(wantNode))
want.Process.AddNode(pid2NodeID, report.MakeNodeWith(map[string]string{"pid": "2"}).Merge(wantNode))
tagger := docker.NewTagger(mockRegistryInstance, nil)
have, err := tagger.Tag(input)

View File

@@ -68,7 +68,7 @@ func (r *Reporter) Report() (report.Report, error) {
return rep, err
}
rep.Host.Nodes[report.MakeHostNodeID(r.hostID)] = report.MakeNodeWith(map[string]string{
rep.Host.AddNode(report.MakeHostNodeID(r.hostID), report.MakeNodeWith(map[string]string{
Timestamp: Now(),
HostName: r.hostName,
LocalNetworks: strings.Join(localCIDRs, " "),
@@ -76,7 +76,7 @@ func (r *Reporter) Report() (report.Report, error) {
Load: GetLoad(),
KernelVersion: kernel,
Uptime: uptime.String(),
})
}))
return rep, nil
}

View File

@@ -45,7 +45,7 @@ func TestReporter(t *testing.T) {
host.Now = func() string { return now }
want := report.MakeReport()
want.Host.Nodes[report.MakeHostNodeID(hostID)] = report.MakeNodeWith(map[string]string{
want.Host.AddNode(report.MakeHostNodeID(hostID), report.MakeNodeWith(map[string]string{
host.Timestamp: now,
host.HostName: hostname,
host.LocalNetworks: network,
@@ -53,7 +53,7 @@ func TestReporter(t *testing.T) {
host.Load: load,
host.Uptime: uptime,
host.KernelVersion: kernel,
})
}))
have, _ := host.NewReporter(hostID, hostname, localNets).Report()
if !reflect.DeepEqual(want, have) {
t.Errorf("%s", test.Diff(want, have))

View File

@@ -22,8 +22,8 @@ func (t Tagger) Tag(r report.Report) (report.Report, error) {
// Explicity don't tag Endpoints and Addresses - These topologies include pseudo nodes,
// and as such do their own host tagging
for _, topology := range []report.Topology{r.Process, r.Container, r.ContainerImage, r.Host, r.Overlay} {
for id, md := range topology.Nodes {
topology.Nodes[id] = md.Merge(other)
for id := range topology.Nodes {
topology.AddNode(id, other)
}
}
return r, nil

View File

@@ -17,7 +17,7 @@ func TestTagger(t *testing.T) {
)
r := report.MakeReport()
r.Process.Nodes[endpointNodeID] = nodeMetadata
r.Process.AddNode(endpointNodeID, nodeMetadata)
want := nodeMetadata.Merge(report.MakeNodeWith(map[string]string{
report.HostNodeID: report.MakeHostNodeID(hostID),
}))

View File

@@ -195,10 +195,10 @@ func (w *Weave) Report() (report.Report, error) {
r := report.MakeReport()
for _, peer := range w.status.Router.Peers {
r.Overlay.Nodes[report.MakeOverlayNodeID(peer.Name)] = report.MakeNodeWith(map[string]string{
r.Overlay.AddNode(report.MakeOverlayNodeID(peer.Name), report.MakeNodeWith(map[string]string{
WeavePeerName: peer.Name,
WeavePeerNickName: peer.NickName,
})
}))
}
return r, nil
}

View File

@@ -20,12 +20,12 @@ func TestInterpolateCounts(t *testing.T) {
r := report.MakeReport()
r.Sampling.Count = samplingCount
r.Sampling.Total = samplingTotal
r.Endpoint.Nodes[srcNodeID] = report.MakeNode().WithEdge(dstNodeID, report.EdgeMetadata{
r.Endpoint.AddNode(srcNodeID, report.MakeNode().WithEdge(dstNodeID, report.EdgeMetadata{
EgressPacketCount: newu64(packetCount),
IngressPacketCount: newu64(packetCount),
EgressByteCount: newu64(byteCount),
IngressByteCount: newu64(byteCount),
})
}))
interpolateCounts(r)

View File

@@ -58,8 +58,8 @@ func (topologyTagger) Tag(r report.Report) (report.Report, error) {
"overlay": &(r.Overlay),
} {
other := report.MakeNodeWith(map[string]string{Topology: val})
for id, md := range topology.Nodes {
topology.Nodes[id] = md.Merge(other)
for id := range topology.Nodes {
topology.AddNode(id, other)
}
}
return r, nil

View File

@@ -16,8 +16,8 @@ func TestApply(t *testing.T) {
)
r := report.MakeReport()
r.Endpoint.Nodes[endpointNodeID] = endpointNode
r.Address.Nodes[addressNodeID] = addressNode
r.Endpoint.AddNode(endpointNodeID, endpointNode)
r.Address.AddNode(addressNodeID, addressNode)
r = Apply(r, []Tagger{newTopologyTagger()})
for _, tuple := range []struct {

View File

@@ -17,10 +17,10 @@ func TestCollector(t *testing.T) {
c := xfer.NewCollector(window)
r1 := report.MakeReport()
r1.Endpoint.Nodes["foo"] = report.MakeNode()
r1.Endpoint.AddNode("foo", report.MakeNode())
r2 := report.MakeReport()
r2.Endpoint.Nodes["bar"] = report.MakeNode()
r2.Endpoint.AddNode("bar", report.MakeNode())
if want, have := report.MakeReport(), c.Report(); !reflect.DeepEqual(want, have) {
t.Error(test.Diff(want, have))