mirror of
https://github.com/weaveworks/scope.git
synced 2026-07-28 09:41:57 +00:00
Add local_networks to weave Overlay nodes, so we can track weave without an exposed weave ip (#1313)
This commit is contained in:
@@ -17,17 +17,19 @@ func LocalNetworks(r report.Report) report.Networks {
|
||||
networks = map[string]struct{}{}
|
||||
)
|
||||
|
||||
for _, md := range r.Host.Nodes {
|
||||
nets, _ := md.Sets.Lookup(host.LocalNetworks)
|
||||
for _, s := range nets {
|
||||
_, ipNet, err := net.ParseCIDR(s)
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
_, ok := networks[ipNet.String()]
|
||||
if !ok {
|
||||
result = append(result, ipNet)
|
||||
networks[ipNet.String()] = struct{}{}
|
||||
for _, topology := range []report.Topology{r.Host, r.Overlay} {
|
||||
for _, md := range topology.Nodes {
|
||||
nets, _ := md.Sets.Lookup(host.LocalNetworks)
|
||||
for _, s := range nets {
|
||||
_, ipNet, err := net.ParseCIDR(s)
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
_, ok := networks[ipNet.String()]
|
||||
if !ok {
|
||||
result = append(result, ipNet)
|
||||
networks[ipNet.String()] = struct{}{}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,10 +22,18 @@ func TestReportLocalNetworks(t *testing.T) {
|
||||
),
|
||||
},
|
||||
},
|
||||
Overlay: report.Topology{
|
||||
Nodes: report.Nodes{
|
||||
"router": report.MakeNode().WithSets(report.EmptySets.
|
||||
Add(host.LocalNetworks, report.MakeStringSet("10.32.0.1/12")),
|
||||
),
|
||||
},
|
||||
},
|
||||
})
|
||||
want := report.Networks([]*net.IPNet{
|
||||
mustParseCIDR("10.0.0.1/8"),
|
||||
mustParseCIDR("192.168.1.1/24"),
|
||||
mustParseCIDR("10.32.0.1/12"),
|
||||
})
|
||||
have := render.LocalNetworks(r)
|
||||
if !reflect.DeepEqual(want, have) {
|
||||
|
||||
Reference in New Issue
Block a user