From 792e274745916bcfe303e0cab5788e5d89d40e61 Mon Sep 17 00:00:00 2001 From: Tom Wilkie Date: Wed, 23 Sep 2015 07:36:51 +0000 Subject: [PATCH] Audit uses to Topology.Nodes, use AddNode where appropriate. --- probe/docker/reporter.go | 4 ++-- probe/docker/tagger.go | 10 ++++------ probe/docker/tagger_test.go | 8 ++++---- probe/host/reporter.go | 4 ++-- probe/host/reporter_test.go | 4 ++-- probe/host/tagger.go | 4 ++-- probe/host/tagger_test.go | 2 +- probe/overlay/weave.go | 4 ++-- probe/sniff/sniffer_internal_test.go | 4 ++-- probe/tag_report.go | 4 ++-- probe/tag_report_test.go | 4 ++-- xfer/collector_test.go | 4 ++-- 12 files changed, 27 insertions(+), 29 deletions(-) diff --git a/probe/docker/reporter.go b/probe/docker/reporter.go index f3ca28878..60b3999e1 100644 --- a/probe/docker/reporter.go +++ b/probe/docker/reporter.go @@ -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 diff --git a/probe/docker/tagger.go b/probe/docker/tagger.go index 1ccecadb8..0b1a731ea 100644 --- a/probe/docker/tagger.go +++ b/probe/docker/tagger.go @@ -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) + })) } } diff --git a/probe/docker/tagger_test.go b/probe/docker/tagger_test.go index 261fd4215..ef6b7eeea 100644 --- a/probe/docker/tagger_test.go +++ b/probe/docker/tagger_test.go @@ -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) diff --git a/probe/host/reporter.go b/probe/host/reporter.go index 68efcf4f8..c0226f011 100644 --- a/probe/host/reporter.go +++ b/probe/host/reporter.go @@ -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 } diff --git a/probe/host/reporter_test.go b/probe/host/reporter_test.go index c73686112..d41d47e47 100644 --- a/probe/host/reporter_test.go +++ b/probe/host/reporter_test.go @@ -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)) diff --git a/probe/host/tagger.go b/probe/host/tagger.go index 9153ad946..a7992bad1 100644 --- a/probe/host/tagger.go +++ b/probe/host/tagger.go @@ -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 diff --git a/probe/host/tagger_test.go b/probe/host/tagger_test.go index fa5039a17..99f4b7877 100644 --- a/probe/host/tagger_test.go +++ b/probe/host/tagger_test.go @@ -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), })) diff --git a/probe/overlay/weave.go b/probe/overlay/weave.go index f1d60d157..c509eea2c 100644 --- a/probe/overlay/weave.go +++ b/probe/overlay/weave.go @@ -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 } diff --git a/probe/sniff/sniffer_internal_test.go b/probe/sniff/sniffer_internal_test.go index 054923d2f..89e9841e9 100644 --- a/probe/sniff/sniffer_internal_test.go +++ b/probe/sniff/sniffer_internal_test.go @@ -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) diff --git a/probe/tag_report.go b/probe/tag_report.go index 5a3bfb4e5..c4b438a2d 100644 --- a/probe/tag_report.go +++ b/probe/tag_report.go @@ -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 diff --git a/probe/tag_report_test.go b/probe/tag_report_test.go index 159a761f6..0f65661fc 100644 --- a/probe/tag_report_test.go +++ b/probe/tag_report_test.go @@ -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 { diff --git a/xfer/collector_test.go b/xfer/collector_test.go index d69575dfc..1072fdb4c 100644 --- a/xfer/collector_test.go +++ b/xfer/collector_test.go @@ -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))