mirror of
https://github.com/weaveworks/scope.git
synced 2026-09-06 10:17:19 +00:00
Use Node.Sets for Host Local Networks.
This commit is contained in:
+1
-1
@@ -30,7 +30,7 @@ func getOriginHost(t report.Topology, nodeID string) (OriginHost, bool) {
|
||||
return OriginHost{
|
||||
Hostname: h.Metadata[host.HostName],
|
||||
OS: h.Metadata[host.OS],
|
||||
Networks: strings.Split(h.Metadata[host.LocalNetworks], " "),
|
||||
Networks: h.Sets[host.LocalNetworks],
|
||||
Load: h.Metadata[host.Load],
|
||||
}, true
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ package host
|
||||
|
||||
import (
|
||||
"runtime"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/weaveworks/scope/report"
|
||||
@@ -71,11 +70,12 @@ func (r *Reporter) Report() (report.Report, error) {
|
||||
rep.Host.AddNode(report.MakeHostNodeID(r.hostID), report.MakeNodeWith(map[string]string{
|
||||
Timestamp: Now(),
|
||||
HostName: r.hostName,
|
||||
LocalNetworks: strings.Join(localCIDRs, " "),
|
||||
OS: runtime.GOOS,
|
||||
Load: GetLoad(),
|
||||
KernelVersion: kernel,
|
||||
Uptime: uptime.String(),
|
||||
}).WithSets(report.Sets{
|
||||
LocalNetworks: report.MakeStringSet(localCIDRs...),
|
||||
}))
|
||||
|
||||
return rep, nil
|
||||
|
||||
@@ -48,11 +48,12 @@ func TestReporter(t *testing.T) {
|
||||
want.Host.AddNode(report.MakeHostNodeID(hostID), report.MakeNodeWith(map[string]string{
|
||||
host.Timestamp: now,
|
||||
host.HostName: hostname,
|
||||
host.LocalNetworks: network,
|
||||
host.OS: runtime.GOOS,
|
||||
host.Load: load,
|
||||
host.Uptime: uptime,
|
||||
host.KernelVersion: kernel,
|
||||
}).WithSets(report.Sets{
|
||||
host.LocalNetworks: report.MakeStringSet(network),
|
||||
}))
|
||||
have, _ := host.NewReporter(hostID, hostname, localNets).Report()
|
||||
if !reflect.DeepEqual(want, have) {
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
|
||||
"github.com/weaveworks/scope/probe/docker"
|
||||
"github.com/weaveworks/scope/probe/endpoint"
|
||||
"github.com/weaveworks/scope/probe/host"
|
||||
"github.com/weaveworks/scope/render"
|
||||
"github.com/weaveworks/scope/report"
|
||||
"github.com/weaveworks/scope/test"
|
||||
@@ -48,9 +49,9 @@ var (
|
||||
Container: report.Topology{
|
||||
Nodes: report.Nodes{
|
||||
containerNodeID: report.MakeNode().WithMetadata(map[string]string{
|
||||
docker.ContainerID: containerID,
|
||||
docker.ContainerName: containerName,
|
||||
report.HostNodeID: serverHostNodeID,
|
||||
docker.ContainerID: containerID,
|
||||
docker.ContainerName: containerName,
|
||||
report.HostNodeID: serverHostNodeID,
|
||||
}).WithSets(report.Sets{
|
||||
docker.ContainerIPs: report.MakeStringSet(containerIP),
|
||||
docker.ContainerPorts: report.MakeStringSet(fmt.Sprintf("%s:%s->%s/tcp", serverIP, serverPort, serverPort)),
|
||||
@@ -60,8 +61,9 @@ var (
|
||||
Host: report.Topology{
|
||||
Nodes: report.Nodes{
|
||||
serverHostNodeID: report.MakeNodeWith(map[string]string{
|
||||
"local_networks": "192.168.0.0/16",
|
||||
report.HostNodeID: serverHostNodeID,
|
||||
}).WithSets(report.Sets{
|
||||
host.LocalNetworks: report.MakeStringSet("192.168.0.0/16"),
|
||||
}),
|
||||
},
|
||||
},
|
||||
|
||||
@@ -2,7 +2,6 @@ package render
|
||||
|
||||
import (
|
||||
"net"
|
||||
"strings"
|
||||
|
||||
"github.com/weaveworks/scope/probe/host"
|
||||
"github.com/weaveworks/scope/report"
|
||||
@@ -19,11 +18,7 @@ func LocalNetworks(r report.Report) report.Networks {
|
||||
)
|
||||
|
||||
for _, md := range r.Host.Nodes {
|
||||
val, ok := md.Metadata[host.LocalNetworks]
|
||||
if !ok {
|
||||
continue
|
||||
}
|
||||
for _, s := range strings.Fields(val) {
|
||||
for _, s := range md.Sets[host.LocalNetworks] {
|
||||
_, ipNet, err := net.ParseCIDR(s)
|
||||
if err != nil {
|
||||
continue
|
||||
|
||||
@@ -16,8 +16,9 @@ func TestReportLocalNetworks(t *testing.T) {
|
||||
Host: report.Topology{
|
||||
Nodes: report.Nodes{
|
||||
"nonets": report.MakeNode(),
|
||||
"foo": report.MakeNodeWith(map[string]string{
|
||||
host.LocalNetworks: "10.0.0.1/8 192.168.1.1/24 10.0.0.1/8 badnet/33",
|
||||
"foo": report.MakeNode().WithSets(report.Sets{
|
||||
host.LocalNetworks: report.MakeStringSet(
|
||||
"10.0.0.1/8", "192.168.1.1/24", "10.0.0.1/8", "badnet/33"),
|
||||
}),
|
||||
},
|
||||
},
|
||||
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
|
||||
"github.com/weaveworks/scope/probe/docker"
|
||||
"github.com/weaveworks/scope/probe/endpoint"
|
||||
"github.com/weaveworks/scope/probe/host"
|
||||
"github.com/weaveworks/scope/probe/kubernetes"
|
||||
"github.com/weaveworks/scope/probe/process"
|
||||
"github.com/weaveworks/scope/render"
|
||||
@@ -282,17 +283,19 @@ var (
|
||||
Nodes: report.Nodes{
|
||||
ClientHostNodeID: report.MakeNodeWith(map[string]string{
|
||||
"host_name": ClientHostName,
|
||||
"local_networks": "10.10.10.0/24",
|
||||
"os": "Linux",
|
||||
"load": "0.01 0.01 0.01",
|
||||
report.HostNodeID: ClientHostNodeID,
|
||||
}).WithSets(report.Sets{
|
||||
host.LocalNetworks: report.MakeStringSet("10.10.10.0/24"),
|
||||
}),
|
||||
ServerHostNodeID: report.MakeNodeWith(map[string]string{
|
||||
"host_name": ServerHostName,
|
||||
"local_networks": "10.10.10.0/24",
|
||||
"os": "Linux",
|
||||
"load": "0.01 0.01 0.01",
|
||||
report.HostNodeID: ServerHostNodeID,
|
||||
}).WithSets(report.Sets{
|
||||
host.LocalNetworks: report.MakeStringSet("10.10.10.0/24"),
|
||||
}),
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user