Commit Graph

205 Commits

Author SHA1 Message Date
grossmj
38388f7ae5 Secure controller to compute communication using HTTP basic authentication 2021-11-18 18:37:10 +10:30
grossmj
eb0f8c6174 Save/restore appliances Etag. 2021-05-17 00:37:15 +09:30
grossmj
10164e262d Enable SQL foreign key support for SQLite 2021-05-06 17:21:45 +09:30
grossmj
cefab8d362 Rename __json__() to asdict() 2021-04-17 23:34:28 +09:30
grossmj
9c850e0f2b Move schemas between compute and controller subpackages 2021-04-15 18:12:08 +09:30
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
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
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
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