1
0
mirror of https://github.com/GNS3/gns3-server synced 2024-12-01 12:48:14 +00:00
Commit Graph

250 Commits

Author SHA1 Message Date
grossmj
6b0d0de1bc Wait for local compute to be started.
Don't reconnect to local compute when server is being stopped.
2021-04-13 15:41:59 +09:30
grossmj
71725aade6 Rename ssl and auth configuration file settings.
Add enable SSL config validator.
Strict configuration file validation: any error will prevent the server to start.
Core server logic moved to a Server class.
2021-04-12 23:26:42 +09:30
grossmj
30ebae207f Use Pydantic to validate the server config file. 2021-04-12 17:02:23 +09:30
grossmj
fa4c9a91ca Add symbol dimensions endpoint and SSL support for packet capture with remote HTTPS server. 2021-04-10 13:01:23 +09:30
grossmj
082206a7db Fix packet capture with HTTPS remote server. Fixes #1882 2021-04-07 12:40:15 +09:30
grossmj
5217dbf3a3 Fix tests 2021-04-05 14:39:50 +09:30
grossmj
566e326b57 Save computes to database 2021-04-05 14:21:41 +09:30
grossmj
d730c591b3 Refactor template management to use database. 2021-03-28 11:15:08 +10:30
grossmj
91570f475f Launch projects marked for auto open after SIGHUP is received 2021-03-05 14:47:20 +10:30
grossmj
1add223891 Merge branch '2.2' into 3.0
# Conflicts:
#	gns3server/compute/qemu/qemu_vm.py
#	gns3server/handlers/api/controller/server_handler.py
#	gns3server/schemas/project.py
#	gns3server/schemas/qemu.py
#	gns3server/schemas/qemu_template.py
#	gns3server/version.py
#	tests/handlers/api/compute/test_qemu.py
2021-02-16 21:11:40 +10:30
grossmj
56c25727b6 SIGHUP: remove projects with an empty project directory. 2021-02-16 17:00:59 +10:30
grossmj
6aefb5d32b Merge branch '2.2' into 3.0
# Conflicts:
#	gns3server/compute/base_node.py
#	gns3server/version.py
#	gns3server/web/web_server.py
2020-12-07 18:00:33 +10:30
grossmj
6c3a070733 Close and remove projects deleted from disks after SIGHUP signal is received. 2020-12-04 16:17:28 +10:30
grossmj
841b013223 SSL support. 2020-11-05 18:24:50 +10:30
grossmj
a5d89b428a Merge branch '2.2' into 3.0
# Conflicts:
#	gns3server/controller/__init__.py
#	gns3server/controller/compute.py
#	gns3server/schemas/gns3vm.py
#	gns3server/utils/application_id.py
#	gns3server/version.py
#	gns3server/web/web_server.py
2020-11-05 17:15:25 +10:30
grossmj
e182f53d69 Fix wrong defaults for images_path, configs_path, appliances_path. Fixes #1829 2020-11-04 12:30:23 +10:30
grossmj
b6a021dabd Fix SSL support for controller and local compute. Fixes #1826 2020-10-27 23:25:19 +10:30
grossmj
97a91f1899 Overwrite uvicorn loggers. 2020-10-22 19:56:53 +10:30
grossmj
13da8aa8f5 Do not automatically connect to local compute. 2020-10-22 16:47:11 +10:30
grossmj
eb3cb8a41f Migration to FastAPI 2020-10-02 16:07:50 +09:30
grossmj
62130c116a Fix crash when project sets 'auto_open' option and a remote GNS3 VM is used. Fixes https://github.com/GNS3/gns3-gui/issues/3014 2020-07-09 20:13:21 +09:30
grossmj
10645a412b Default port set to 80 for server running in the GNS3 VM. Fixes #1737 2020-05-05 12:40:50 +09:30
grossmj
02c0fa26e1 Support controller reloading for templates, appliances and projects. Ref #1743 2020-04-30 15:30:50 +09:30
grossmj
c5412bf970 Allocate application IDs for IOU nodes on the controller.
An application ID is used by IOU to generate its interface Mac addresses. They must be unique across all opened projects sharing the same computes to avoid Mac address collisions.
2020-02-10 15:20:49 +08:00
grossmj
98f5454ccb Disallow to modify a template if changes cannot be written on disk. Fixes #1695 2020-01-08 05:35:46 +08:00
grossmj
06ce0868ec Fix template migration issues from GUI to controller. Fixes https://github.com/GNS3/gns3-gui/issues/2803 2019-06-15 12:52:50 +02:00
grossmj
fb470dd4b5 Back to the major.minor version for config files. Ref https://github.com/GNS3/gns3-gui/issues/2756 2019-04-14 21:31:40 +07:00
grossmj
6dbb992513 Fix templates missing after server restart. Fixes https://github.com/GNS3/gns3-gui/issues/2769 2019-04-14 20:39:55 +07:00
grossmj
c075baa05b Store config files in version specific location 2019-04-01 15:53:39 +07:00
grossmj
8360ae98b1 Move appliance and template management code in their own classes. 2019-01-14 16:09:06 +07:00
grossmj
0fd54536d2 Fix issue when there is no gns3_controller.conf. Fixes https://github.com/GNS3/gns3-gui/issues/2644 2018-11-30 19:09:10 +08:00
grossmj
d7c2e16c21 Use "template" to name what we use to create new nodes. 2018-11-28 16:12:58 +07:00
grossmj
a17fa821bd Make sure nothing is named "compute server". 2018-11-27 18:14:51 +07:00
Jeremy Grossmann
1067f71952
Allow appliances to be loaded from file without the appliance id.
Fixes https://github.com/GNS3/gns3-gui/issues/2639.
2018-11-27 14:03:12 +07:00
grossmj
bd657c0167 Support to duplicate an appliance. 2018-11-18 17:05:16 +07:00
grossmj
499ab9844a Reorganize how appliance creation is validated against JSON schemas.
This allows for clearer error messages when validation fails.
2018-11-17 18:12:46 +07:00
grossmj
98f04365b7 Remove generic controller settings API endpoint. 2018-11-14 16:24:30 +08:00
grossmj
089fdff4f1 Working dedicated appliance management API. Ref https://github.com/GNS3/gns3-server/issues/1427 2018-11-13 14:59:18 +08:00
grossmj
f0fe9d39fa Base for dedicated appliance management API. Ref https://github.com/GNS3/gns3-server/issues/1427 2018-11-11 20:13:58 +08:00
grossmj
86f87aec74 Fix installation with Python 3.7. Fixes #1414.
Fix deprecated use of aiohttp.Timeout. Fixes #1296.
Use "async with" with aiohttp.ClientSession().
Make sure websocket connections are properly closed, see https://docs.aiohttp.org/en/stable/web_advanced.html#graceful-shutdown
Finish to drop Python 3.4.
2018-10-16 15:56:06 +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
22f7ca0243 Return compute port information via API. Ref #1420. 2018-10-05 12:48:20 +02:00
grossmj
9de13c570c Merge branch '2.1' into 2.2
# Conflicts:
#	gns3server/compute/builtin/nodes/cloud.py
#	gns3server/compute/docker/docker_vm.py
#	gns3server/compute/dynamips/nodes/ethernet_switch.py
#	gns3server/compute/iou/iou_vm.py
#	gns3server/compute/qemu/qemu_vm.py
#	gns3server/compute/virtualbox/virtualbox_vm.py
#	gns3server/compute/vmware/vmware_vm.py
#	gns3server/controller/__init__.py
#	gns3server/version.py
#	gns3server/web/web_server.py
2018-10-04 15:44:13 +02:00
grossmj
17d657c919 Fix small errors like unhandled exceptions etc. 2018-09-11 15:06:01 +02:00
grossmj
4021a13651 Catch exceptions in various locations to fix small issues reported by Sentry. 2018-09-06 09:49:12 +02:00
grossmj
3c332b895d Fix tests after merging. 2018-08-29 16:08:08 +07:00
grossmj
9ef23ce6a8 Include HTTP error code when reporting an error while download appliance templates
from GitHub repository.
2018-08-21 17:30:34 +07:00
grossmj
b7f9b865c8 Optimize appliance templates update from GitHub repository by only downloading when the repository
has been updated. Ref https://github.com/GNS3/gns3-gui/issues/2490
2018-08-21 16:26:07 +07:00
grossmj
5958a23557 Update appliance templates from online registry. Ref #2490. 2018-08-19 16:02:47 +07:00
grossmj
7f72b90b0e The server has now 2 notification streams
* A new one for controller related events (compute, appliance templates etc.)
* The existing one for project related events (links, nodes etc.)
2018-08-16 21:31:57 +07:00
grossmj
a54359d243 Clean GNS3 close if one remote server is down. Fixes #1357. 2018-08-09 16:59:10 +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
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
cfd0216554 Disable TraceNG for version 2.1.5 2018-04-18 17:19:44 +08:00
grossmj
509b171b06 Allow to have projects with the same name in different locations. 2018-03-30 23:01:37 +07:00
grossmj
ea0009db6c Save state feature for VirtualBox and VMware. New "On close" setting to
select the action to execute when closing/stopping a Qemu/VirtualBox/VMware VM.
2018-03-30 21:18:44 +07:00
grossmj
64949f5d04 Fix bug with 'none' console type for Ethernet switch.
Fix some tests related to traceng.
2018-03-30 13:00:52 +07:00
grossmj
669d2ec038 Merge branch '2.1' into 2.2
# Conflicts:
#	gns3server/schemas/node.py
2018-03-30 12:14:09 +07:00
grossmj
b7780ba7cc Check for valid IP address and prevent to run on non-Windows platforms. 2018-03-29 13:26:43 +07:00
grossmj
90ce6093d8 Some spring cleaning. 2018-03-15 14:17:39 +07:00
grossmj
a4626a2b79 Custom icons and small fixes for TraceNG integration. 2018-03-14 16:56:37 +07:00
grossmj
397c1322b4 Base support for TraceNG. 2018-03-12 17:57:13 +07:00
grossmj
658aa4bae9 Merge 2.1 into 2.2 branch 2018-03-12 13:38:50 +07:00
ziajka
53a229f8e9 Fix never reached condition 2018-03-05 11:16:03 +01:00
ziajka
05b6be2e42 Compatybility with controller, default_symbol and hover_symbol, Fixes: #2444 2018-03-02 13:48:27 +01:00
grossmj
fff593b358 Fix error when appliance template is broken (missing fields). Fixes #1287. 2018-02-06 16:07:23 +08:00
grossmj
ffc7024b64 Fix error while getting appliance list. Fixes #1258. 2018-01-14 20:29:17 +07:00
grossmj
f9c7c15f95 Fixing race condition when starting the GNS3 VM. 2018-01-10 16:22:55 +07:00
grossmj
5f14f8eb46 Default VPCS name format is now PC-{0}. 2018-01-09 23:40:35 +07:00
grossmj
e54d574e47 Fix auto idle-pc from preferences. 2017-11-23 23:00:31 +07:00
grossmj
035a078b5e Show qemu-img stdout in case of an error. 2017-11-17 18:13:34 +07:00
grossmj
4f13c63a52 Do not use builtin name. 2017-10-13 17:51:19 +08:00
grossmj
02ad98664f Fix creation of an VMware VM failed with invalid JSON. Fixes #2282. 2017-10-13 17:50:23 +08:00
Julien Duponchelle
6996b7094f
Handle invalid appliances files
Fix #1150
2017-07-28 15:21:35 +02:00
Julien Duponchelle
c96694105c
Handle broken appliance files
Fix #1135
2017-07-20 16:10:56 +02:00
Julien Duponchelle
7d123f334f
Add an appliance templates directory
Fix https://github.com/GNS3/gns3-gui/issues/2133
2017-07-19 11:44:05 +02:00
Julien Duponchelle
3eadbb9adb
Implement an api call for computing the IDLE PC
Fix https://github.com/GNS3/gns3-gui/pull/2153
2017-07-07 17:50:40 +02:00
Julien Duponchelle
617868402f
Fix the initial startup for VPCS is not used
The default VPCS template didn't provide the base
startup config setting. This prevent the replacement
of the hostname in the configuration file.

Fix https://github.com/GNS3/gns3-gui/issues/2123
2017-06-27 18:44:31 +02:00
Julien Duponchelle
bb8097a052
Merge remote-tracking branch 'origin/master' into 2.1 2017-06-19 10:44:52 +02:00
Julien Duponchelle
c8c991af78 Fix the error about appliance ID not found (#1075)
* Fix the error about appliance ID not found

* Copy appliance data before editing it
2017-06-19 08:47:50 +02:00
ziajka
e0b519eced Fix when config file doesn't have computes section (#1062) 2017-06-07 10:50:40 +02:00
Julien Duponchelle
cd17ef6b12
Merge branch '2.0' into 2.1 2017-05-15 15:46:50 +02:00
Julien Duponchelle
ae3e25b03b
Handle broken compute at server startup
Fix #1001
2017-05-03 17:40:58 +02:00
Julien Duponchelle
a6d085bf61
Fix server startup on windows 2017-04-28 11:06:39 +02:00
Julien Duponchelle
273a711459
Merge branch '2.0' into 2.1 2017-04-26 17:22:14 +02:00
Julien Duponchelle
9dc6f0f486 Embed the appliances in the server. (#927)
This add a /appliances call
2017-04-12 14:35:49 +02:00
Julien Duponchelle
ab2af5ceab
Catch error and log them when we can't write the config
Fix #974
2017-04-10 17:44:09 +02:00
Julien Duponchelle
ec6fdb7324
Catch GNS3 VM loading error at startup 2017-04-04 14:25:30 +02:00
Julien Duponchelle
4f1b738ef5
Merge branch '2.0' into 2.1 2017-03-30 10:16:16 +02:00
Julien Duponchelle
9fd5e4cbc9
Handle password configuration change on remote servers
Fix https://github.com/GNS3/gns3-gui/issues/1942
2017-03-22 18:29:08 +01:00
Julien Duponchelle
8712866489
Fix Can't connect to compute local on some computers
Chicken and egg problem we try to connect to compute
before http was available. I rewrote the code to prevent
erase of settings and rollback the beta4 code for init.

Fix #946
2017-03-21 18:06:45 +01:00
Julien Duponchelle
cc6f4c0510
Add a modification uuid to settings returned by the server
Ref #1949
2017-03-21 13:35:02 +01:00
Julien Duponchelle
6a015fffeb
Catch error when the server as trouble to access to itself
Fix #940
2017-03-16 10:50:08 +01:00
Julien Duponchelle
84a6ed7684
If your settings from 1.X are broken with skip them at import
Fix #932
2017-03-13 18:17:17 +01:00
Julien Duponchelle
99ee40df3d
Do not return broken appliances like ASA 8 2017-03-09 15:44:48 +01:00
Julien Duponchelle
5036079deb
Merge branch '2.0' into 2.1 2017-03-07 16:48:31 +01:00
Julien Duponchelle
7b642552dd
Fix GNS3VM settings are lost at startup
Fix #926
2017-03-07 15:36:35 +01:00
Julien Duponchelle
6017ebbd97
Merge branch '2.0' into 2.1 2017-03-07 11:16:05 +01:00
Julien Duponchelle
d89ea83746
When we receive settings from the client save them on disk 2017-03-07 11:12:51 +01:00
Julien Duponchelle
5a399b90fe
Merge branch '2.1' into embed_appliances 2017-02-28 14:55:33 +01:00