Fix incorrect tunnel data

pull/13/head
Ken 2021-08-04 15:32:52 -04:00
parent f84a6dd04d
commit 7edd056548
2 changed files with 21 additions and 25 deletions

View File

@ -38,7 +38,7 @@ class OverlayVisualizer(ControllerModule):
# Visualizer webservice URL
self._vis_address = "http://" + self._cm_config["WebServiceAddress"]
self._req_url = "{}/EVIO/nodes/{}".format(self._vis_address, self.node_id)
self._vis_ds = None
self._vis_ds:dict
def initialize(self):
# We're using the pub-sub model here to gather data for the visualizer
@ -109,21 +109,17 @@ class OverlayVisualizer(ControllerModule):
def build_tunnel_data(self, ds):
for olid in ds["VizData"]:
if (
"LinkManager" not in ds["VizData"][olid]
or "Topology" not in ds["VizData"][olid]
):
continue
for tnlid in ds["VizData"][olid]["LinkManager"]:
ds["VizData"][olid]["Tunnels"][tnlid] = ds["VizData"][olid]["Topology"][
tnlid
]
ds["VizData"][olid]["Tunnels"][tnlid].update(
ds["VizData"][olid]["LinkManager"][tnlid]
)
ds["VizData"][olid].pop("LinkManager")
ds["VizData"][olid].pop("Topology")
if ("Topology" in ds["VizData"][olid]):
for tnlid in ds["VizData"][olid]["Topology"]:
ds["VizData"][olid]["Tunnels"][tnlid] = \
ds["VizData"][olid]["Topology"][tnlid]
if ("LinkManager" in ds["VizData"][olid]):
for tnlid in ds["VizData"][olid]["LinkManager"]:
ds["VizData"][olid]["Tunnels"][tnlid].update(
ds["VizData"][olid]["LinkManager"][tnlid]
)
ds["VizData"][olid].pop("LinkManager", None)
ds["VizData"][olid].pop("Topology", None)
return ds
def timer_method(self):

View File

@ -154,20 +154,22 @@ class Topology(ControllerModule, CFX):
disc.presence()
self._net_ovls[olid]["NewPeerCount"] += 1
if self._net_ovls[olid]["NewPeerCount"] >= self.config["PeerDiscoveryCoalesce"]:
self.register_cbt("Logger", "LOG_DEBUG", "Coalesced {0} new peer discovery, "
"initiating network refresh"
.format(self._net_ovls[olid]["NewPeerCount"]))
self.log("LOG_DEBUG",
"Overlay %s - Coalesced %s new peer discovery, "
"initiating network refresh",
olid, self._net_ovls[olid]["NewPeerCount"])
self._update_overlay(olid)
else:
self.register_cbt("Logger", "LOG_DEBUG", "{0} new peers discovered, delaying "
"refresh".format(self._net_ovls[olid]["NewPeerCount"]))
self.log("LOG_DEBUG",
"Overlay %s, %s new peers discovered, "
"delaying refresh",
olid, self._net_ovls[olid]["NewPeerCount"])
cbt.set_response(None, True)
self.complete_cbt(cbt)
def req_handler_vis_data(self, cbt):
topo_data = {}
try:
edges = {}
for olid in self._net_ovls:
topo_data[olid] = {}
nb = self._net_ovls[olid]["NetBuilder"]
@ -179,9 +181,7 @@ class Topology(ControllerModule, CFX):
"CreatedTime": ce.created_time,
"ConnectedTime": ce.connected_time,
"State": ce.edge_state, "Type": ce.edge_type}
edges[ce.edge_id] = ced
if edges:
topo_data[olid] = edges
topo_data[olid][ce.edge_id] = ced
cbt.set_response({"Topology": topo_data}, bool(topo_data))
self.complete_cbt(cbt)
except KeyError: