diff --git a/controller/modules/OverlayVisualizer.py b/controller/modules/OverlayVisualizer.py index 4fe2fd7..7a7883c 100644 --- a/controller/modules/OverlayVisualizer.py +++ b/controller/modules/OverlayVisualizer.py @@ -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): diff --git a/controller/modules/Topology.py b/controller/modules/Topology.py index 7b18908..5a8e6b3 100644 --- a/controller/modules/Topology.py +++ b/controller/modules/Topology.py @@ -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: