Commit Graph

37 Commits

Author SHA1 Message Date
Peter Bourgon
49ec565a04 Improve error messages during report validation 2015-06-16 10:42:40 +02:00
Peter Bourgon
c65aecd9e1 Fix node scoping rules
We only want to scope (i.e. prefix with hostID) those addresses that are
deemed loopback, to disambiguate them. Otherwise, we want to leave
addresses in unscoped form, so they can be matched, and links between
communicating nodes properly made.

So, we make the isLoopback check in MakeAddressID, and omit hostID if
the address isn't loopback. So far so good.

But this breaks topology rendering, as we were relying on extracting
hostID from adjacency node IDs, to populate origin hosts in the rendered
node output. So we need another way to get origin host from an arbitrary
node.

A survey revealed no reliable way to get that information from IDs in
their new form. However, we have access to node metadata, so this
changeset introduces the OriginHostTagger, which tags each node with its
origin host, via the foreign-key semantics we'll use going forward.
2015-06-15 14:36:48 +02:00
Peter Bourgon
032e78d99d Dedupe tables in detail pane 2015-06-15 11:20:30 +02:00
Tom Wilkie
53456179e4 All merging of RenderableNodes, such that we can merge multiple topologies. 2015-06-11 17:11:10 +00:00
Tom Wilkie
ae84861e00 Now we have merged topologies, we don't need to put so much data on the endpoint topology, or render so much info. 2015-06-11 16:57:24 +00:00
Tom Wilkie
c5d10867c6 Add Validate method to Report & Topology. 2015-06-11 13:27:49 +00:00
Tom Wilkie
ff11022862 Add Containers topology populated by the Docker tagger. 2015-06-10 16:01:15 +00:00
Peter Bourgon
d435e36834 Add and populate Process topology
Also, add comm value (name) to process node metadata.
2015-06-10 17:27:07 +02:00
Peter Bourgon
342d887667 Merge pull request #202 from weaveworks/report-tests
Add TestOriginTable
2015-06-10 11:38:59 +02:00
Peter Bourgon
c8b995ee34 Add TestOriginTable
Leaves some process topology bits commented out, for the future.
2015-06-10 11:32:03 +02:00
Tom Wilkie
616759200f Merge pull request #197 from tomwilkie/196-foo
Don't make adjacency edges into 'the internet' if they refer to valid nodes
2015-06-10 10:31:22 +01:00
Tom Wilkie
719f933c21 Refactor MakeAdjacencyID & ParseAdjacencyID; add ParseNodeID (which separates scope and the rest of node id) 2015-06-10 09:21:45 +00:00
Tom Wilkie
96327a48c1 Don't make adjacency edges into 'the internet' if they refer to valid nodes. 2015-06-10 08:42:53 +00:00
Tom Wilkie
cce2e3c0b5 Restore container details to their rightful position. 2015-06-10 07:53:57 +00:00
Peter Bourgon
667d8b8dd0 OriginHosts and OriginNodes become Origins
Another baby step towards #123, this change follows from #192 and merges
the two concepts of Origin in a renderable node. We also cut out a layer
of abstraction, and add an OriginTable method to Report, which directly
generates a table of info for the detail pane given any origin node ID.

Other changes from feedback:

- Assume origin IDs are unique and don't reflect.Dedupe
- Improve origin ID lookup
- Move OriginTable to detailed_node.go, as a free function
- rm app/detail_pane.go (empty)
2015-06-09 18:48:09 +02:00
Peter Bourgon
da90f4489a Remove dead code 2015-06-09 16:39:29 +02:00
Peter Bourgon
aa0a754363 Improve test coverage; SquashRemote -> Squash
Also, remove some dead code.
2015-06-09 15:54:06 +02:00
Peter Bourgon
d438261742 HostMetadata becomes Host Topology
- All HostMetadata information becomes NodeMetadata
- Significant change to mechanics, but same net effect
- LocalNets becomes "local_networks", space-separated list of CIDRs
- Load becomes simple single string
- Use MakeHostNodeID for indexing into Host topology
- (That changes the app /origin/{id} handler; will be removed later)
2015-06-09 15:38:08 +02:00
Peter Bourgon
1e0b83eb6d Merge branch report-fields (#190) 2015-06-09 14:25:54 +02:00
Peter Bourgon
8a6fded701 mapping_functions -> mapping 2015-06-09 10:59:15 +02:00
Peter Bourgon
7c56939e22 Update IDList
- MakeIDList rather than NewIDList
- Iterate on test coverage
- Drop Copy method, for now
2015-06-08 19:52:26 +02:00
Peter Bourgon
4832ee76f3 Add the various ID constructors
- Use constructors instead of ScopeDelim everywhere
- Use constructors instead of IDDelim everywhere
- IDDelim is renamed EdgeDelim, for clarity
- Partial import of the new test fixtures, to be completed later
2015-06-08 17:53:01 +02:00
Peter Bourgon
d486d1074a Refactor process mappers to taggers
- Reduce tagger interface to operate on reports
- Remove cgroup tagger
2015-06-08 15:04:40 +02:00
Peter Bourgon
754eac3152 Rename NewReport -> MakeReport. 2015-06-05 13:55:40 +00:00
Tom Wilkie
dd97a33e0e Restore the internet node to the container topologies. 2015-05-27 17:12:33 +00:00
Tom Wilkie
0ade65d32a Refactor grouped topologies, topology 'views' and their http handlers 2015-05-27 14:17:47 +00:00
Tom Wilkie
0b786ae5a7 Don't produce pseudo nodes for the container topologies 2015-05-27 10:05:24 +00:00
Tom Wilkie
0fd5c2eeae Factor out pseudo node creation to a per-topology function - no semantic change right now. 2015-05-27 10:05:18 +00:00
Tom Wilkie
ea6d1282dc Group pseudo nodes by the node the referred to and their address in grouped topologies. 2015-05-27 09:52:04 +00:00
Peter Bourgon
d7da27a692 Function has slowly become dead code; remove it 2015-05-27 11:22:12 +02:00
Tom Wilkie
0a749de27c Merge pull request #108 from tomwilkie/pseudo-nodes
Group all pseudo nodes from a given host, talking to the same node, together
2015-05-26 17:01:34 +01:00
Tom Wilkie
2545ab4670 Group all pseudo nodes from a given host, talking to the same node, together. 2015-05-26 15:58:19 +00:00
Peter Bourgon
bf49e12094 Add Containers topology 2015-05-26 16:37:44 +02:00
Peter Bourgon
2d5f58e8ed Expand details pane 2015-05-22 13:20:00 +02:00
Peter Bourgon
3e9ef67485 ProcessPID: major=<name>, minor=<host> (<pid>) 2015-05-20 10:04:44 +02:00
Tom Wilkie
cb86331fde Remove old makefiles 2015-05-19 10:05:07 +00:00
Tom Wilkie
d50e827fd5 Intial commit 2015-05-19 10:02:02 +00:00