52 Commits

Author SHA1 Message Date
grossmj
97bf94e06e
Merge branch '2.2' into 3.0
# Conflicts:
#	CHANGELOG
#	gns3server/compute/iou/iou_vm.py
#	gns3server/crash_report.py
#	gns3server/utils/asyncio/telnet_server.py
#	gns3server/version.py
#	requirements.txt
#	setup.py
2026-05-09 18:23:00 +08:00
YueGuobin
5c7018283f
fix: Skip offline compute nodes during project import
When importing a project, the round-robin logic would attempt to distribute
nodes across all configured compute resources, including offline ones. This
caused import failures when any remote compute was unreachable.

This fix filters the compute list to only include connected computes before
round-robin distribution. If no remote computes are connected, all nodes
are assigned to the local compute.

This matches the approach used in project._get_disconnected_computes() and
prevents the issue where importing a project fails with:
"Cannot connect to compute 'X' with request POST /projects"

Fixes issue introduced in commit 90e3a8d6 (2017) which added round-robin
load balancing without considering offline compute nodes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-09 13:46:58 +08:00
grossmj
b1c8ce8b58
Remove unneeded code 2026-05-08 18:56:56 +08:00
grossmj
b304511b5e
Fix snapshot restore does not work after export/import of project 2026-05-08 18:47:47 +08:00
grossmj
0d3fad8c8f
Merge branch '2.2' into 3.0
# Conflicts:
#	gns3server/controller/__init__.py
#	gns3server/controller/export_project.py
#	gns3server/controller/project.py
#	gns3server/controller/snapshot.py
#	gns3server/crash_report.py
#	gns3server/schemas/snapshot.py
#	gns3server/static/web-ui/26.34a83d9cee7db39cd0de.js
#	gns3server/static/web-ui/index.html
#	gns3server/static/web-ui/main.d74d38241f0602d1b3e0.js
#	gns3server/version.py
#	gns3server/web/route.py
#	tests/handlers/api/controller/test_project.py
#	tests/handlers/api/controller/test_snapshot.py
2026-04-11 19:22:05 +08:00
grossmj
161e016594
Remove log message 2026-04-10 19:58:55 +08:00
grossmj
2670c68467
Last adjustments for import/export 2026-04-10 18:58:21 +08:00
grossmj
6f7730c455
Update snapshots when duplicating a project 2026-04-09 23:18:55 +08:00
grossmj
fbea9b655d
Fix issue when restoring a snapshot of a duplicated project 2026-04-08 22:16:47 +08:00
grossmj
28e7c014c8
Enable parallel compression with zstandard. Fixes #2324 2026-02-16 18:28:11 +08:00
grossmj
ec300d19d4
Replace aiohttp.web.HTTPConflict() 2024-10-31 13:11:01 +10:00
grossmj
c4fcb43e78
Merge branch '2.2' into 3.0
# Conflicts:
#	.github/workflows/testing.yml
#	CHANGELOG
#	README.md
#	dev-requirements.txt
#	gns3server/compute/docker/docker_vm.py
#	gns3server/controller/export_project.py
#	gns3server/controller/import_project.py
#	gns3server/controller/project.py
#	gns3server/crash_report.py
#	gns3server/static/web-ui/index.html
#	gns3server/static/web-ui/main.df8c319a3da6fb0e3629.js
#	gns3server/version.py
#	requirements.txt
#	setup.py
#	tests/compute/docker/test_docker_vm.py
#	tests/controller/test_import_project.py
2024-10-31 12:54:35 +10:00
grossmj
24bfc205db
Symbolic links support for project export/import 2024-10-19 15:49:23 +10:00
grossmj
6ed18c561f
Merge branch '2.2' into 3.0
# Conflicts:
#	gns3server/compute/qemu/qemu_vm.py
#	gns3server/config_samples/gns3_server.conf
#	gns3server/controller/export_project.py
#	gns3server/controller/project.py
#	gns3server/controller/snapshot.py
#	gns3server/handlers/api/controller/project_handler.py
#	tests/controller/test_export_project.py
#	tests/controller/test_import_project.py
#	tests/controller/test_snapshot.py
2024-07-07 19:04:50 +02:00
grossmj
d54c9db8c3
Option to keep the compute IDs unchanged when exporting a project 2024-07-06 17:08:16 +02:00
grossmj
9509d3a713 Make images executable after importing a project 2023-11-23 11:30:46 +10:00
grossmj
c98a10dcfd Do not tweak zstd compression params 2022-06-03 11:26:26 +07:00
grossmj
6ec028ea4e Merge branch '2.2' into 3.0
# Conflicts:
#	gns3server/compute/builtin/nodes/cloud.py
#	gns3server/compute/vmware/vmware_vm.py
#	gns3server/controller/link.py
#	gns3server/controller/snapshot.py
#	gns3server/handlers/api/compute/dynamips_vm_handler.py
#	gns3server/handlers/api/compute/iou_handler.py
#	gns3server/handlers/api/compute/qemu_handler.py
#	gns3server/handlers/api/controller/link_handler.py
#	gns3server/schemas/link.py
#	gns3server/utils/path.py
#	gns3server/version.py
#	requirements.txt
2021-06-12 14:36:32 +09:30
Brian Candler
c051367d4b Preserve auto_start/auto_open/auto_close when restoring snapshot
Fixes #1904
2021-05-24 17:31:04 +01:00
grossmj
c021e21309 Use black with -l 120 param. 2021-04-13 18:46:50 +09:30
grossmj
f928738bd5 Use pyupgrade with --py36-plus param. 2021-04-13 18:37:58 +09:30
grossmj
eb3cb8a41f Migration to FastAPI 2020-10-02 16:07:50 +09:30
grossmj
5cbfafbeb2 Support snapshots for portable projects. Fixes https://github.com/GNS3/gns3-gui/issues/2792 2019-05-27 15:35:47 +07:00
grossmj
e8b8554c1a Fix Qemu VM state support after closing a project and check for JSON data returned by qemu-img. Fixes #1591 2019-05-19 17:59:00 +07:00
grossmj
af80b0bb6e Use aiofiles where relevant. 2019-03-06 23:00:01 +07:00
grossmj
5754747a90 Merging 2.1 into 2.2 2019-02-22 18:04:49 +07:00
grossmj
ae3515434c Do not export/import symlinks for projects. Fixes #2699 2019-02-19 12:43:44 +07:00
grossmj
76af98404a Drop Python 3.4 and switch to async / await syntax for asyncio. Fixes #1425 2018-10-15 17:05:49 +07:00
grossmj
21a1800edc Merge branch '2.1' into 2.2
# Conflicts:
#	gns3server/controller/__init__.py
#	gns3server/controller/export_project.py
#	gns3server/controller/import_project.py
#	gns3server/controller/project.py
#	gns3server/version.py
2018-04-28 19:41:12 +07:00
grossmj
3b94484914 Fix bug with export project. Ref #1187 #1307. 2018-04-28 16:38:52 +07:00
grossmj
50a922f83e Offload slow file operations to threads for snapshots and project "save as". Ref #1187 #1307. 2018-04-28 16:01:43 +07:00
grossmj
90ce6093d8 Some spring cleaning. 2018-03-15 14:17:39 +07:00
grossmj
90e3a8d612 Round-robin nodes across all available compute resources. Fixes #1165. 2017-09-03 22:51:51 +07:00
Julien Duponchelle
39879ca92b
Duplicate project on remote server use UUID
Ref https://github.com/GNS3/gns3-server/issues/1040
2017-05-23 17:20:51 +02:00
Julien Duponchelle
851d6e1db8
When importing portable project NAT node is loaded on GNS3 VM
Fix #1030
2017-05-15 10:21:37 +02:00
Julien Duponchelle
d60597ca0d
Catch unicode error when you try to duplicate a project with invalid characters
Fix #934
2017-03-13 17:11:37 +01:00
Julien Duponchelle
846041a59c
Fix configuration lost during save as on remote server
Fix https://github.com/GNS3/gns3-gui/issues/1704, https://github.com/GNS3/gns3-gui/issues/1705
2016-12-08 16:55:16 +01:00
Julien Duponchelle
420168015c
Fix BadZipFile: File is not a zip file 2016-10-03 10:33:56 +02:00
Julien Duponchelle
f0af7d3c7a
Change node_id when I save as
Fix https://github.com/GNS3/gns3-gui/issues/1519
2016-09-19 16:36:19 +02:00
Julien Duponchelle
5b1ec3bec2
Raise an error if the destination of import contain a .gns3 in path
Ref https://github.com/GNS3/gns3-gui/issues/1503
2016-09-14 18:53:26 +02:00
Julien Duponchelle
a4023c0298
By default project auto close when you exit client 2016-08-16 19:16:05 +02:00
Julien Duponchelle
9e81994adc
Reset project auto start, auto close, auto open at project import 2016-08-16 16:09:59 +02:00
Julien Duponchelle
68eca6c111
Replace snapshots by import / export
Fix #1042
2016-07-26 19:52:58 +02:00
Julien Duponchelle
e50acf811c
If we don't have a GNS3 VM on linux don't move file to it 2016-07-25 18:03:22 +02:00
Julien Duponchelle
f357879186
API for duplicate a project
Ref https://github.com/GNS3/gns3-gui/issues/995
2016-07-25 16:26:33 +02:00
Julien Duponchelle
fb3b6b62f5
Support a name and path during the import
Not exposed to the client for the moment.
2016-07-25 09:41:41 +02:00
Julien Duponchelle
9bdc0b78eb
Now import project on VM work 2016-07-22 18:02:11 +02:00
Julien Duponchelle
fec3694710
Import project on the GNS3VM should work 2016-07-22 16:05:22 +02:00
Julien Duponchelle
ce557ecd23
Change the compute id to the GNS3 VM if it's not a Linux host 2016-07-22 13:50:15 +02:00
Julien Duponchelle
94a262cd46
When importing a project fix the GNS3 version 2016-07-22 11:52:59 +02:00