Commit Graph

204 Commits

Author SHA1 Message Date
eb0f8c6174 Save/restore appliances Etag. 2021-05-17 00:37:15 +09:30
10164e262d Enable SQL foreign key support for SQLite 2021-05-06 17:21:45 +09:30
cefab8d362 Rename __json__() to asdict() 2021-04-17 23:34:28 +09:30
9c850e0f2b Move schemas between compute and controller subpackages 2021-04-15 18:12:08 +09:30
c021e21309 Use black with -l 120 param. 2021-04-13 18:46:50 +09:30
f928738bd5 Use pyupgrade with --py36-plus param. 2021-04-13 18:37:58 +09:30
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
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
30ebae207f Use Pydantic to validate the server config file. 2021-04-12 17:02:23 +09:30
fa4c9a91ca Add symbol dimensions endpoint and SSL support for packet capture with remote HTTPS server. 2021-04-10 13:01:23 +09:30
5217dbf3a3 Fix tests 2021-04-05 14:39:50 +09:30
566e326b57 Save computes to database 2021-04-05 14:21:41 +09:30
d730c591b3 Refactor template management to use database. 2021-03-28 11:15:08 +10:30
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
56c25727b6 SIGHUP: remove projects with an empty project directory. 2021-02-16 17:00:59 +10:30
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
6c3a070733 Close and remove projects deleted from disks after SIGHUP signal is received. 2020-12-04 16:17:28 +10:30
841b013223 SSL support. 2020-11-05 18:24:50 +10:30
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
e182f53d69 Fix wrong defaults for images_path, configs_path, appliances_path. Fixes #1829 2020-11-04 12:30:23 +10:30
b6a021dabd Fix SSL support for controller and local compute. Fixes #1826 2020-10-27 23:25:19 +10:30
97a91f1899 Overwrite uvicorn loggers. 2020-10-22 19:56:53 +10:30
13da8aa8f5 Do not automatically connect to local compute. 2020-10-22 16:47:11 +10:30
eb3cb8a41f Migration to FastAPI 2020-10-02 16:07:50 +09:30
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
10645a412b Default port set to 80 for server running in the GNS3 VM. Fixes #1737 2020-05-05 12:40:50 +09:30
02c0fa26e1 Support controller reloading for templates, appliances and projects. Ref #1743 2020-04-30 15:30:50 +09:30
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
98f5454ccb Disallow to modify a template if changes cannot be written on disk. Fixes #1695 2020-01-08 05:35:46 +08:00
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
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
6dbb992513 Fix templates missing after server restart. Fixes https://github.com/GNS3/gns3-gui/issues/2769 2019-04-14 20:39:55 +07:00
c075baa05b Store config files in version specific location 2019-04-01 15:53:39 +07:00
8360ae98b1 Move appliance and template management code in their own classes. 2019-01-14 16:09:06 +07:00
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
d7c2e16c21 Use "template" to name what we use to create new nodes. 2018-11-28 16:12:58 +07:00
a17fa821bd Make sure nothing is named "compute server". 2018-11-27 18:14:51 +07:00
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
bd657c0167 Support to duplicate an appliance. 2018-11-18 17:05:16 +07:00
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
98f04365b7 Remove generic controller settings API endpoint. 2018-11-14 16:24:30 +08:00
089fdff4f1 Working dedicated appliance management API. Ref https://github.com/GNS3/gns3-server/issues/1427 2018-11-13 14:59:18 +08:00
f0fe9d39fa Base for dedicated appliance management API. Ref https://github.com/GNS3/gns3-server/issues/1427 2018-11-11 20:13:58 +08:00
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
76af98404a Drop Python 3.4 and switch to async / await syntax for asyncio. Fixes #1425 2018-10-15 17:05:49 +07:00
22f7ca0243 Return compute port information via API. Ref #1420. 2018-10-05 12:48:20 +02:00
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
17d657c919 Fix small errors like unhandled exceptions etc. 2018-09-11 15:06:01 +02:00
4021a13651 Catch exceptions in various locations to fix small issues reported by Sentry. 2018-09-06 09:49:12 +02:00
3c332b895d Fix tests after merging. 2018-08-29 16:08:08 +07:00