Skip to content

Commit

Permalink
Fix crash when converting topology with broken link
Browse files Browse the repository at this point in the history
Fix #845
  • Loading branch information
julien-duponchelle committed Dec 21, 2016
1 parent e53db1e commit ef54367
Showing 1 changed file with 16 additions and 13 deletions.
29 changes: 16 additions & 13 deletions gns3server/controller/topology.py
Original file line number Diff line number Diff line change
Expand Up @@ -310,20 +310,23 @@ def _convert_1_3_later(topo, topo_path):

# Create links
for old_link in topo.get("links", []):
nodes = []
source_node = {
"adapter_number": ports[old_link["source_port_id"]].get("adapter_number", 0),
"port_number": ports[old_link["source_port_id"]].get("port_number", 0),
"node_id": node_id_to_node_uuid[old_link["source_node_id"]]
}
nodes.append(source_node)
try:
nodes = []
source_node = {
"adapter_number": ports[old_link["source_port_id"]].get("adapter_number", 0),
"port_number": ports[old_link["source_port_id"]].get("port_number", 0),
"node_id": node_id_to_node_uuid[old_link["source_node_id"]]
}
nodes.append(source_node)

destination_node = {
"adapter_number": ports[old_link["destination_port_id"]].get("adapter_number", 0),
"port_number": ports[old_link["destination_port_id"]].get("port_number", 0),
"node_id": node_id_to_node_uuid[old_link["destination_node_id"]]
}
nodes.append(destination_node)
destination_node = {
"adapter_number": ports[old_link["destination_port_id"]].get("adapter_number", 0),
"port_number": ports[old_link["destination_port_id"]].get("port_number", 0),
"node_id": node_id_to_node_uuid[old_link["destination_node_id"]]
}
nodes.append(destination_node)
except KeyError:
continue

link = {
"link_id": str(uuid.uuid4()),
Expand Down

0 comments on commit ef54367

Please sign in to comment.