From 590fa55cf5c9e9a35f00cd3da4455283f10f4b41 Mon Sep 17 00:00:00 2001 From: Matthias Radestock Date: Fri, 22 Dec 2017 01:53:02 +0000 Subject: [PATCH] refactor: banish TheInternet TheInternet hasn't existed as a single node for a long time. We also move & export the IsInternetNode predicate so it can be used in more places. --- render/detailed/connections.go | 14 +++++--------- render/detailed/summary.go | 1 - render/filters.go | 2 +- render/id.go | 10 +++++++--- report/id.go | 3 --- 5 files changed, 13 insertions(+), 17 deletions(-) diff --git a/render/detailed/connections.go b/render/detailed/connections.go index cbccda71f7..1dd5eb8597 100644 --- a/render/detailed/connections.go +++ b/render/detailed/connections.go @@ -107,7 +107,7 @@ func (c *connectionCounters) add(outgoing bool, localNode, remoteNode, localEndp } func internetAddr(node report.Node, ep report.Node) (string, bool) { - if !isInternetNode(node) { + if !render.IsInternetNode(node) { return "", true } _, addr, _, ok := report.ParseEndpointNodeID(ep.ID) @@ -181,7 +181,7 @@ func incomingConnectionsSummary(topologyID string, r report.Report, n report.Nod } columnHeaders := NormalColumns - if isInternetNode(n) { + if render.IsInternetNode(n) { columnHeaders = InternetColumns } return ConnectionsSummary{ @@ -189,7 +189,7 @@ func incomingConnectionsSummary(topologyID string, r report.Report, n report.Nod TopologyID: topologyID, Label: "Inbound", Columns: columnHeaders, - Connections: counts.rows(r, ns, isInternetNode(n)), + Connections: counts.rows(r, ns, render.IsInternetNode(n)), } } @@ -213,7 +213,7 @@ func outgoingConnectionsSummary(topologyID string, r report.Report, n report.Nod } columnHeaders := NormalColumns - if isInternetNode(n) { + if render.IsInternetNode(n) { columnHeaders = InternetColumns } return ConnectionsSummary{ @@ -221,7 +221,7 @@ func outgoingConnectionsSummary(topologyID string, r report.Report, n report.Nod TopologyID: topologyID, Label: "Outbound", Columns: columnHeaders, - Connections: counts.rows(r, ns, isInternetNode(n)), + Connections: counts.rows(r, ns, render.IsInternetNode(n)), } } @@ -264,7 +264,3 @@ func canonicalEndpointID(copies map[string]string, id string) string { } return id } - -func isInternetNode(n report.Node) bool { - return n.ID == render.IncomingInternetID || n.ID == render.OutgoingInternetID -} diff --git a/render/detailed/summary.go b/render/detailed/summary.go index 507b586df2..5445349c96 100644 --- a/render/detailed/summary.go +++ b/render/detailed/summary.go @@ -79,7 +79,6 @@ var renderers = map[string]func(NodeSummary, report.Node) (NodeSummary, bool){ } var templates = map[string]struct{ Label, LabelMinor string }{ - render.TheInternetID: {render.InboundMajor, ""}, render.IncomingInternetID: {render.InboundMajor, render.InboundMinor}, render.OutgoingInternetID: {render.OutboundMajor, render.OutboundMinor}, } diff --git a/render/filters.go b/render/filters.go index 395a18ccf3..c8f64904de 100644 --- a/render/filters.go +++ b/render/filters.go @@ -268,7 +268,7 @@ func DoesNotHaveLabel(labelKey string, labelValue string) FilterFunc { // IsNotPseudo returns true if the node is not a pseudo node // or internet/service nodes. func IsNotPseudo(n report.Node) bool { - return n.Topology != Pseudo || strings.HasSuffix(n.ID, TheInternetID) || strings.HasPrefix(n.ID, ServiceNodeIDPrefix) + return n.Topology != Pseudo || IsInternetNode(n) || strings.HasPrefix(n.ID, ServiceNodeIDPrefix) } // IsNamespace checks if the node is a pod/service in the specified namespace diff --git a/render/id.go b/render/id.go index 2a40be5335..25ba459f96 100644 --- a/render/id.go +++ b/render/id.go @@ -9,11 +9,15 @@ import ( // Constants are used in the tests. const ( - TheInternetID = "theinternet" - IncomingInternetID = "in-" + TheInternetID - OutgoingInternetID = "out-" + TheInternetID + IncomingInternetID = "in-theinternet" + OutgoingInternetID = "out-theinternet" ) +// IsInternetNode determines whether the node represents the Internet. +func IsInternetNode(n report.Node) bool { + return n.ID == IncomingInternetID || n.ID == OutgoingInternetID +} + // MakePseudoNodeID joins the parts of an id into the id of a pseudonode func MakePseudoNodeID(parts ...string) string { return strings.Join(append([]string{"pseudo"}, parts...), ":") diff --git a/report/id.go b/report/id.go index 9727b1341c..6b2f0b6c50 100644 --- a/report/id.go +++ b/report/id.go @@ -5,9 +5,6 @@ import ( "strings" ) -// TheInternet is used as a node ID to indicate a remote IP. -const TheInternet = "theinternet" - // Delimiters are used to separate parts of node IDs, to guarantee uniqueness // in particular contexts. const (