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

1356 Commits

Author SHA1 Message Date
grossmj
10fdd8fcf4 Add connect endpoint for computes
Param to connect to compute after creation
Report compute unauthorized HTTP errors to client
2021-12-24 13:05:39 +10:30
grossmj
87c1df1639 Fix compute Docker test. Fixes #2003 2021-12-15 13:30:38 +10:30
grossmj
16fcf6141e Fix tests 2021-12-08 00:43:54 +10:30
grossmj
af9860f965 Fix compute Docker test 2021-12-02 22:15:23 +10:30
grossmj
5797de8f2d Fix tests 2021-12-02 19:14:55 +10:30
grossmj
38388f7ae5 Secure controller to compute communication using HTTP basic authentication 2021-11-18 18:37:10 +10:30
grossmj
717a400a11 Fix tests 2021-11-01 17:05:27 +10:30
grossmj
442a23836e Fix version output test 2021-10-21 21:48:53 +10:30
grossmj
bb15b13a9d Return the current controller hostname/IP from any compute 2021-10-21 21:38:36 +10:30
Jeremy Grossmann
16ac9358df
Merge pull request #1986 from GNS3/remove-qemu-legacy-networking
Remove Qemu legacy networking support
2021-10-20 15:44:31 +10:30
grossmj
eab4c8c770 Remove Qemu legacy networking support 2021-10-19 15:32:27 +10:30
grossmj
a31e5615a4 Add a custom version to an appliance 2021-10-19 15:15:10 +10:30
grossmj
88d98cf02e Fix tests and workaround issue with flake8 2021-10-18 22:12:10 +10:30
grossmj
13ff7df9fa Validate appliance files with Pydantic 2021-10-18 21:46:50 +10:30
grossmj
04934691df Appliance management refactoring:
* Install an appliance based on selected version
* Each template have unique name and version
* Allow to download an appliance file
2021-10-18 18:04:30 +10:30
Jeremy Grossmann
9ac6bd1e59
Merge pull request #1908 from GNS3/busybox-docker
Use a stock BusyBox for the Docker Integration
2021-10-16 19:47:24 +10:30
grossmj
d8bceaad5d Merge branch '3.0' into image-management-refactoring
# Conflicts:
#	gns3server/api/routes/controller/permissions.py
2021-09-20 17:06:46 +09:30
grossmj
c8ed96d91b Add isolate and unisolate endpoints. Ref https://github.com/GNS3/gns3-gui/issues/3190 2021-09-15 18:04:43 +09:30
grossmj
43ca53a089 Fix tests 2021-09-09 16:54:16 +09:30
grossmj
a324459152 Merge branch '2.2' into 3.0
# Conflicts:
#	gns3server/compute/qemu/qemu_vm.py
#	gns3server/handlers/api/compute/server_handler.py
#	gns3server/utils/path.py
#	gns3server/version.py
#	requirements.txt
#	tests/compute/qemu/test_qemu_vm.py
#	tests/compute/test_manager.py
2021-09-09 16:36:17 +09:30
grossmj
611570a863 Fix qemu-img rebase code to support Qemu 6.1. Ref https://github.com/GNS3/gns3-server/pull/1962 2021-09-05 22:18:46 +09:30
grossmj
ed336da304 Qemu 6.1 support
Handle the deprecated use of backing file without explicit backing format issue.
2021-09-05 18:34:37 +09:30
grossmj
4eb8491cfa Fix tests. Fixes #1950 2021-09-01 19:31:37 +09:30
grossmj
d606553e20 Allow images to be stored in subdirs and used by templates. 2021-08-30 16:53:41 +09:30
grossmj
75bb06563a Fix tests 2021-08-30 13:04:24 +09:30
grossmj
332fa47b50 Option to prune images when deleting template. 2021-08-23 10:27:10 +09:30
grossmj
bf9a3aee20 Associate images when creating or updating a template. 2021-08-22 15:16:02 +09:30
grossmj
4d9e4e1059 Add prune images endpoint.
Use many-to-many relationship between images and templates.
2021-08-20 15:58:41 +09:30
grossmj
07d4892faf Check if user has the right to add a permission 2021-08-19 14:47:48 +09:30
grossmj
4c6135fe88 Add /permissions/prune to delete orphaned permissions 2021-08-17 21:55:59 +09:30
grossmj
9df586d5d5 Check a permission matches an existing route before it is allowed to be created. 2021-08-17 16:14:15 +09:30
grossmj
cfaafedb09 Merge branch '3.0' into busybox-docker 2021-08-11 18:36:30 +09:30
Jeremy Grossmann
f13b4e89b7
Merge branch '3.0' into image-management-refactoring 2021-08-10 05:46:22 -07:00
grossmj
36b9f8bdfd Fix tests 2021-08-10 15:58:13 +09:30
grossmj
6dd0f4d4d3 Allow logged in user to change some of its data. Administrators can lock users using the is_active field. 2021-08-09 16:36:18 +09:30
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
grossmj
d556c08def Revert "Skip test"
This reverts commit 8acb2fe3
2021-06-08 12:27:20 +09:30
grossmj
8acb2fe37e Skip test 2021-06-08 12:18:27 +09:30
grossmj
095a022033 Fix tests. Ref https://github.com/GNS3/gns3-gui/issues/2461 2021-06-07 14:23:52 +09:30
grossmj
515bd50261 Start refactoring for images management 2021-06-06 16:52:47 +09:30
grossmj
dc914eb0f9 Fix tests. 2021-06-03 19:11:11 +09:30
grossmj
4e33d29af8 Change RBAC field names from builtin to is_builtin 2021-06-03 16:24:38 +09:30
grossmj
d65b49acaa Add user permissions + RBAC tests. 2021-06-03 15:40:12 +09:30
grossmj
fbc47598d9 Basic functional RBAC support. 2021-05-27 17:28:44 +09:30
grossmj
6d4da98b8e Base API and tables for RBAC support. 2021-05-25 18:34:59 +09:30
grossmj
2bf16f1e5f Change method to prevent forbidden directory traversal. Ref #1894 2021-05-16 14:29:56 +09:30
grossmj
f3d81fa450 Clean files and catch file path escape. Ref #1894 2021-05-15 22:35:44 +09:30
grossmj
09ac7fd7fb Merge branch '2.2' into 3.0
# Conflicts:
#	gns3server/compute/base_manager.py
#	gns3server/handlers/api/compute/dynamips_vm_handler.py
#	gns3server/handlers/api/compute/iou_handler.py
#	gns3server/handlers/api/compute/project_handler.py
#	gns3server/handlers/api/compute/qemu_handler.py
#	gns3server/handlers/api/controller/node_handler.py
#	gns3server/handlers/api/controller/project_handler.py
#	gns3server/handlers/index_handler.py
#	tests/handlers/api/compute/test_project.py
#	tests/handlers/api/compute/test_qemu.py
#	tests/handlers/api/controller/test_node.py
#	tests/handlers/api/controller/test_project.py
2021-05-15 20:46:34 +09:30
grossmj
9a6978902d Fix tests. 2021-05-15 19:43:36 +09:30
grossmj
8810249d36 Add user groups support. 2021-05-15 15:10:02 +09:30
grossmj
956b9056c1 Fix issues with latest version of sqlalchemy 2021-05-08 15:37:51 +09:30
grossmj
10164e262d Enable SQL foreign key support for SQLite 2021-05-06 17:21:45 +09:30
grossmj
ad7d8e2e7d Fix tests. 2021-04-28 15:56:11 +09:30
grossmj
a02aede1b0 Use uuid5 to create new compute_id. Fixes #1641 #1887 2021-04-21 13:47:32 +09:30
grossmj
0465cb87f6 Protect the API and add alternative authentication endpoint. 2021-04-20 11:59:02 +09:30
grossmj
e28452f09a Secure users API and handle manual password recovery. 2021-04-19 09:40:04 +09:30
grossmj
c03226e368 Add default super admin account in controller db. 2021-04-18 17:39:47 +09:30
grossmj
cefab8d362 Rename __json__() to asdict() 2021-04-17 23:34:28 +09:30
grossmj
6b8ce8219c Fix tests. 2021-04-15 18:30:22 +09:30
grossmj
9c850e0f2b Move schemas between compute and controller subpackages 2021-04-15 18:12:08 +09:30
grossmj
c59fc375f2 Remove traceng code. 2021-04-13 19:03:23 +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
1b5a5de4bc Generate new config for each test. Fixes tests. 2021-04-12 19:37:59 +09:30
grossmj
30ebae207f Use Pydantic to validate the server config file. 2021-04-12 17:02:23 +09:30
grossmj
478119b40d Comment out problematic test 2021-04-10 13:13:28 +09:30
grossmj
802959f9ab Merge branch 'master' into 3.0
# Conflicts:
#	dev-requirements.txt
#	gns3server/controller/__init__.py
#	gns3server/controller/appliance_manager.py
#	gns3server/controller/compute.py
#	gns3server/controller/topology.py
#	gns3server/handlers/api/compute/ethernet_switch_handler.py
#	gns3server/handlers/api/controller/link_handler.py
#	gns3server/handlers/api/controller/symbol_handler.py
#	gns3server/version.py
#	requirements.txt
#	tests/controller/test_export_project.py
#	tests/handlers/api/compute/test_qemu.py
#	tests/web/test_response.py
#	win-requirements.txt
2021-04-10 12:46:40 +09:30
grossmj
87a26d5da0 Fix tests and comment problematic ones that rely on AsyncioMagicMock 2021-04-09 11:57:29 +09:30
grossmj
170e83e589 Fix tests and update requirements 2021-04-05 17:43:35 +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
91920e5a5b Fix issue with tests + some cleaning. 2021-03-31 09:58:52 +10:30
grossmj
0fea3f969e Use aiosqlite and add service for templates 2021-03-28 21:17:29 +10:30
grossmj
d730c591b3 Refactor template management to use database. 2021-03-28 11:15:08 +10:30
grossmj
7542b28793 Revert "Fix tests"
This reverts commit 4d0cb32b
2021-03-24 13:05:50 +10:30
grossmj
4d0cb32bd0 Fix tests 2021-03-24 12:39:22 +10:30
grossmj
58c1b01439 Add default JWT secret key and fix tests. 2020-12-18 16:51:54 +10:30
grossmj
bde706d19a Generate JWT secret key if none is configured in the config file.
Change location of the database.
2020-12-16 18:24:21 +10:30
grossmj
509e762cda Fix slow tests. 2020-12-07 18:53:40 +10:30
grossmj
d47dcb0d6f User authentication with tests. 2020-12-07 16:52:36 +10:30
grossmj
bf7cf862af Refactor tests and start work on database integration. 2020-12-02 18:39:08 +10:30
grossmj
c043830e3f Move endpoints to routes & preparations to use a database. 2020-11-19 15:21:03 +10:30
grossmj
d58407c735 Fix tests. 2020-11-13 15:32:25 +10:30
grossmj
7837081eba Fix running tests with Python 3.9 2020-11-11 17:38:06 +10:30
grossmj
acc5c7ebfa Update package versions.
Do not use Path in schemas (causes issues with empty paths).
Change how notifications are handled.
Run tests with Python 3.9
2020-11-11 17:18:41 +10:30
grossmj
7314b41d8f Fix tests. 2020-11-02 22:45:01 +10:30
grossmj
30d6f1fa2a Make Swagger Ui the default for API documentation 2020-11-02 12:47:59 +10:30
grossmj
359f9a7384 Move to version 3 of the REST API.
Rename packet capture endpoints.
2020-11-02 12:05:32 +10:30
grossmj
81439c750a Use pydantic for data validation (instead of jsonschema)
Fix/improve various pydantic shema models.
2020-10-31 15:07:12 +10:30
grossmj
13da8aa8f5 Do not automatically connect to local compute. 2020-10-22 16:47:11 +10:30
grossmj
a92c47b310 Add HTTP client to reuse the aiohttp session where needed.
Remove unnecessary aiohttp exceptions.
2020-10-22 16:19:44 +10:30
grossmj
554404e6e7 Try to run tests for Windows and macOS. 2020-10-20 10:50:46 +10:30
grossmj
0500b28aea Fix changing to ProactorEventLoop in tests. 2020-10-20 00:57:06 +10:30
grossmj
bd4bf53084 Use ProactorEventLoop with pytest-asyncio 2020-10-20 00:46:46 +10:30
grossmj
25494ca098 Fix project import to work with FastAPI. 2020-10-19 22:39:30 +10:30
grossmj
596ee9b66d Test compute notifications and run tests on macOS and Windows. 2020-10-19 19:25:32 +10:30
grossmj
6af8c8933e Fix tests. 2020-10-19 18:47:25 +10:30
grossmj
58c5965905 Fix tests. 2020-10-13 11:46:18 +10:30
grossmj
eb3cb8a41f Migration to FastAPI 2020-10-02 16:07:50 +09:30
Jeremy Grossmann
fa26555d00
Merge pull request #1801 from GNS3/qemu-config-disk
QEMU config disk - enable QEMU config import/export
2020-08-15 16:35:20 +08:00
grossmj
f2ddef855f Fix tests.
(cherry picked from commit 620d93634e)
2020-08-15 16:35:31 +09:30