mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-10-03 01:00:11 +03:00
Merge pull request #2724 from yueguobin/fix/import-project-skip-offline-computes
fix: Skip offline compute nodes during project import
This commit is contained in:
commit
32959f1e04
@ -134,9 +134,16 @@ async def import_project(
|
|||||||
node["compute_id"] = "vm"
|
node["compute_id"] = "vm"
|
||||||
else:
|
else:
|
||||||
# Round-robin through available compute resources.
|
# Round-robin through available compute resources.
|
||||||
compute_nodes = itertools.cycle(controller.computes)
|
# Only use computes that are connected to avoid import failures
|
||||||
for node in topology["topology"]["nodes"]:
|
available_computes = {compute_id: compute for compute_id, compute in controller.computes.items() if compute.connected}
|
||||||
node["compute_id"] = next(compute_nodes)
|
if available_computes:
|
||||||
|
compute_nodes = itertools.cycle(available_computes)
|
||||||
|
for node in topology["topology"]["nodes"]:
|
||||||
|
node["compute_id"] = next(compute_nodes)
|
||||||
|
else:
|
||||||
|
# No remote computes are connected, use local only
|
||||||
|
for node in topology["topology"]["nodes"]:
|
||||||
|
node["compute_id"] = "local"
|
||||||
|
|
||||||
compute_created = set()
|
compute_created = set()
|
||||||
for node in topology["topology"]["nodes"]:
|
for node in topology["topology"]["nodes"]:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user