-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
enhancementNew feature or requestNew feature or request
Description
It is hard to reason about TEManager because of the amount of state it keeps around, and because of the ways to add/update topologies to it. For example, we instantiate and use TEManager like so:
manager = TEManager(topology1, request)
manager.add_topology(topology2)
manager.add_topology(topology3)
...
manager.update_topology(updated_topology1)
...
graph = temanager.generate_graph_te()
traffic_matrix = temanager.generate_connection_te()
...It would be nicer to use TEManager like so:
manager = TEManager()
for topology in [topology1, topology2, topology3]
manager.add_topology(topology)
...
# Remove/hide update_topology(). Instead, add_topology() will do the update if a topology already exists.
manager.add_topology(updated_topology1)
...
graph = temanager.generate_graph_te()
traffic_matrix = temanager.generate_connection_te(request)
...This is related to this TODO item:
pce/src/sdx/pce/topology/temanager.py
Line 34 in d18c67e
| # TODO: a nicer thing to do would be to keep less state around. |
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Type
Projects
Status
Todo