Compare commits

...
410 Commits
Author SHA1 Message Date
grossmj 317e2b164c Release v3.0.0a2 2022-09-07 01:05:41 +02:00
grossmj 8976a751fa Add web-ui v3.0.0a2 2022-09-07 00:57:08 +02:00
grossmj bcac7874c1 Upgrade FastAPI to v0.82.0 2022-09-04 22:09:48 +02:00
Jeremy Grossmann 0f4c98c7e4 Merge pull request #2110 from GNS3/locked-project
API endpoint to get the locked status of a project
2022-09-03 23:13:06 +02:00
grossmj 2976e220dc Return a boolean directly from API endpoint for project locked status 2022-09-03 23:08:13 +02:00
grossmj 27debfff8d API endpoint to get the locked status of a project 2022-09-03 22:58:44 +02:00
Jeremy Grossmann 3014bd0216 Merge pull request #2108 from GNS3/project-lock-unlock
Global project lock and unlock
2022-08-30 22:54:47 +02:00
grossmj ca3bf592d6 Global project lock and unlock 2022-08-30 22:49:47 +02:00
grossmj 43e60c31c7 Remove empty files after merge 2022-08-30 12:21:05 +02:00
grossmj 426c16e296 Merge branch '2.2' into 3.0
# Conflicts:
#	.github/workflows/testing.yml
#	CHANGELOG
#	appveyor.yml
#	dev-requirements.txt
#	gns3server/controller/compute.py
#	gns3server/crash_report.py
#	gns3server/version.py
#	gns3server/web/route.py
#	pytest.ini
#	requirements.txt
#	tests/compute/dynamips/test_dynamips_router.py
#	tests/compute/test_base_node.py
#	tests/compute/vmware/test_vmware_manager.py
#	tests/compute/vmware/test_vmware_vm.py
#	tests/controller/gns3vm/test_virtualbox_gns3_vm.py
2022-08-30 11:53:12 +02:00
grossmj 829eb42c7f Revert "Downgrade Jinja2 to v3.0.3"
This reverts commit ad3d73a7f1.
2022-08-28 22:31:28 +02:00
grossmj ad3d73a7f1 Downgrade Jinja2 to v3.0.3 2022-08-28 22:30:47 +02:00
grossmj d996a87246 Require name for custom adapters. Fixes #2098 2022-08-28 17:33:33 +02:00
grossmj b58a54ae7c Allow empty adapter slots for Dynamips templates. Ref https://github.com/GNS3/gns3-gui/issues/3373 2022-08-28 17:05:28 +02:00
grossmj 94c617ef1c Upgrade dependencies 2022-08-26 21:41:49 +02:00
Jeremy Grossmann c4b10ac4da Merge pull request #2099 from GNS3/strict-pytest-asyncio
Support for pytest-asyncio strict mode
2022-08-24 21:11:55 +02:00
grossmj 86c44cd6e7 Upgrade dev dependencies and fix tests to support pytest-asyncio strict mode 2022-08-24 21:03:16 +02:00
grossmj 2e91eac1eb Upgrade dependencies 2022-08-23 22:12:01 +02:00
grossmj 6fa3f85b83 Custom adapters should not be in node (compute) properties returned to clients. Fixes https://github.com/GNS3/gns3-gui/issues/3366 2022-08-06 12:37:05 +02:00
grossmj 3948637a46 Fix typo in requirements.txt 2022-08-06 12:21:27 +02:00
grossmj 93b71f806e Development on v3.0.0dev4 2022-08-04 12:29:49 +02:00
grossmj 3ddbd0de64 Release v3.0.0a1 2022-08-04 11:38:17 +02:00
grossmj 541e9702bf Bundle gns3-web-ui v3.0.0a1 2022-08-04 11:12:42 +02:00
grossmj f4b44e072d Merge remote-tracking branch 'origin/3.0' into 3.0 2022-08-04 11:08:13 +02:00
grossmj 64c6000470 Update appliance files 2022-08-04 11:08:00 +02:00
grossmj 33087a6c21 Do not use build-optimizer when bundling web-ui. Ref https://github.com/GNS3/gns3-web-ui/issues/1366 2022-08-04 11:04:33 +02:00
grossmj 8670377e3b Do not use build-optimizer when bundling web-ui. Ref https://github.com/GNS3/gns3-web-ui/issues/1366 2022-07-31 12:39:42 +02:00
grossmj 31ae70894e Fix enum use in schemas 2022-07-26 23:17:39 +02:00
Jeremy Grossmann bd9af3fe90 Merge pull request #2091 from GNS3/use-themed-symbols
Let the controller allocate symbols
2022-07-25 20:45:04 +02:00
grossmj 6d0c375323 Use default symbol theme if none is provided when loading appliances 2022-07-25 20:39:03 +02:00
grossmj 72eb13d941 Allow default symbol theme to be configured 2022-07-25 20:22:12 +02:00
grossmj bfbac2e93a Use generic symbol names 2022-07-25 12:33:40 +02:00
grossmj b7f4a4cbda Fix VMware VM addition 2022-07-25 11:10:01 +02:00
grossmj e693edc7c1 Merge branch '2.2' into 3.0
# Conflicts:
#	gns3server/version.py
2022-07-23 12:55:03 +02:00
grossmj 5824f0797a Update web-ui bundled script to use master-3.0 2022-07-23 12:18:50 +02:00
grossmj 725942157e Optionally allow Qemu raw images 2022-07-22 12:39:52 +02:00
Jeremy Grossmann d08a052f94 Merge pull request #2086 from GNS3/iou-user-loader-libraries
Support user defined loader/libraries to run IOU
2022-07-20 17:03:18 +02:00
Jeremy Grossmann da626d334f Merge branch '3.0' into iou-user-loader-libraries 2022-07-20 16:44:48 +02:00
grossmj 7f5ad8e225 Ignore image detection for IOU user libraries in image directory 2022-07-20 16:39:24 +02:00
grossmj 037c659f9b Don't show optional token param in API docs 2022-07-20 00:29:42 +02:00
grossmj d022b211dc Fix check for 32-bit in ELF header 2022-07-17 23:55:34 +02:00
Jeremy Grossmann 5d4645b2c1 Merge pull request #2087 from GNS3/enhancement/2076
Checks for valid hostname on server side for Dynamips, IOU, Qemu and Docker nodes
2022-07-17 11:59:09 +02:00
grossmj 80f5ca0c3f Checks for valid hostname on server side for Dynamips, IOU, Qemu and Docker nodes 2022-07-17 11:51:29 +02:00
grossmj 86368a1177 Sync appliance files 2022-07-17 00:04:55 +02:00
grossmj e9f4fad0bd Merge remote-tracking branch 'origin/3.0' into 3.0 2022-07-16 12:11:41 +02:00
grossmj b2ba561c0d Only check files (not directories) when looking for new images on file system. 2022-07-16 12:11:26 +02:00
Jeremy Grossmann 83ea96c08d Merge pull request #2085 from GNS3/remove-explicit-204-responses
Remove explicit Response for endpoints returning HTTP 204 status code
2022-07-16 12:07:36 +02:00
grossmj f5e1956dfa Support user defined loader/libraries to run IOU 2022-07-16 11:38:51 +02:00
grossmj 9462bca124 Remove explicit Response for VPCS endpoints returning HTTP 204 status code 2022-07-16 00:14:31 +02:00
grossmj fc6aeb715a Remove explicit Response for endpoints returning HTTP 204 status code 2022-07-16 00:12:18 +02:00
grossmj 5b478fc331 Upgrade dependencies 2022-07-15 11:32:18 +02:00
grossmj 4a1da00601 Make 'vendor_url' and 'maintainer_email' optional for template validation. 2022-07-12 11:55:18 +02:00
Jeremy Grossmann 56734b171b Merge pull request #2084 from GNS3/token-as-a-param
Allow JWT token to be passed as a URL param
2022-07-11 14:27:37 +02:00
grossmj f4b67f2e59 Allow auth token to be passed as a URL param 2022-07-11 14:19:47 +02:00
Jeremy Grossmann dd6ca38035 Merge pull request #2082 from GNS3/import-project
Project importation
2022-07-05 23:08:15 +02:00
grossmj 149d086fd8 Reactivate project importation 2022-07-05 23:01:44 +02:00
grossmj c5f441e1d3 Remove wrong reset_console() method 2022-06-21 17:22:47 +02:00
grossmj 410f062721 Fix config option to disable built-in templates. 2022-06-21 17:17:44 +02:00
grossmj d8b928f1c1 Fix tests. 2022-06-21 16:52:25 +02:00
grossmj d303d13045 Merge branch '2.2' into 3.0
# Conflicts:
#	gns3server/compute/base_node.py
#	gns3server/compute/docker/docker_vm.py
#	gns3server/compute/iou/iou_vm.py
#	gns3server/controller/template_manager.py
#	gns3server/handlers/api/compute/docker_handler.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/compute/virtualbox_handler.py
#	gns3server/handlers/api/compute/vmware_handler.py
#	gns3server/handlers/api/compute/vpcs_handler.py
#	gns3server/handlers/api/controller/node_handler.py
#	gns3server/version.py
#	requirements.txt
#	tests/controller/test_controller.py
#	tests/controller/test_project.py
#	tests/handlers/api/controller/test_node.py
2022-06-21 16:45:25 +02:00
grossmj 7d49b80e6b Add controller endpoints to get VirtualBox VMs, VMware VMs and Docker images 2022-06-07 00:38:59 +08:00
Jeremy Grossmann 3b7dfe5929 Merge pull request #2055 from GNS3/remove-qemu-binaries-requirement
Remove Qemu binary requirement
2022-06-06 14:51:07 +08:00
grossmj 30f7c0ce74 Fix issues when discovering images 2022-06-03 15:35:33 +07:00
Jeremy Grossmann 466aaf5c13 Merge pull request #2070 from GNS3/project-export-zstd
zstandard compression support for project export
2022-06-03 11:31:25 +07:00
grossmj c98a10dcfd Do not tweak zstd compression params 2022-06-03 11:26:26 +07:00
grossmj 162af5bb7a Checks for compression levels + tests 2022-06-01 20:26:59 +07:00
grossmj 015e17338c HTTP middleware create issues when streaming project archive 2022-06-01 15:31:59 +07:00
grossmj 940d22f2aa Add missing zstandard dependency 2022-05-31 18:12:32 +07:00
grossmj 8a964390f8 Add zstandard compression support for project export 2022-05-31 18:08:34 +07:00
grossmj 37c7bc4956 Add missing response() method in ComputeConflictError 2022-05-27 16:03:54 +07:00
grossmj 85cdd7d9a5 Fix reading response embedded in ComputeConflictError 2022-05-27 15:58:14 +07:00
grossmj 944a72254c Revert "Sync dev version of web-ui v3"
This reverts commit a9d58e337f.
2022-05-27 14:00:18 +07:00
grossmj a9d58e337f Sync dev version of web-ui v3 2022-05-26 19:37:23 +07:00
grossmj 2d4e9fdd64 Upgrade dependencies 2022-05-26 19:21:37 +07:00
grossmj df50b46952 Merge branch '2.2' into 3.0
# Conflicts:
#	gns3server/compute/docker/docker_vm.py
#	gns3server/version.py
#	requirements.txt
2022-04-27 22:23:05 +07:00
grossmj 89c67790ae Make sure that the temporary image file is removed after uploading an image 2022-04-27 16:00:02 +07:00
grossmj cd096ac6e6 Backward compatibility for --log argument 2022-04-27 14:15:29 +07:00
grossmj f5c20b2549 Require Python >= 3.7 2022-04-26 19:11:37 +07:00
grossmj 2535e5508d Remove Qemu binary requirement 2022-04-19 18:21:39 +07:00
Jeremy Grossmann 2ee9232ac5 Merge pull request #2053 from GNS3/image-md5sum-management
New images detection and checksum handling
2022-04-18 17:22:08 +07:00
grossmj 8b5558ba94 Fix merge error 2022-04-18 17:18:30 +07:00
Jeremy Grossmann b94f01fe4e Merge branch '3.0' into image-md5sum-management 2022-04-18 17:15:21 +07:00
grossmj 3106c8a6a2 Do not cache to md5sum file in some situations 2022-04-18 17:13:52 +07:00
grossmj 34233e48d9 Upgrade FastAPI to version 0.75.2 2022-04-18 13:25:29 +07:00
grossmj 010d7aa49f Upgrade SQLAlchemy version and dispose of db engine 2022-04-17 17:32:44 +07:00
grossmj e6c8144210 Detect new images added to the default image directory.
* Images can be present before the server starts or while it is running
* Images are recorded in the database
2022-04-17 16:58:20 +07:00
Jeremy Grossmann 6af1f2afaa Merge pull request #2049 from GNS3/qemu-disk-images
New implementation to create/resize Qemu disk images
2022-04-14 17:15:55 +07:00
grossmj e50bed5bee Support delete Qemu disk image from API
Return the real disk image name in the 'hdx_disk_image_backed' property for Qemu VMs
2022-04-14 17:01:54 +07:00
grossmj a1c76ec4f2 Fix ComputeConflictError import 2022-04-07 16:34:48 +08:00
grossmj fda2a37b98 Handle creating Qemu disk images and resizing 2022-04-07 16:21:47 +08:00
grossmj 888c773dc0 Finish to clean up local setting usage. Ref #1460 2022-03-31 12:05:47 +08:00
Jeremy Grossmann 2cddb2c05a Merge pull request #2047 from GNS3/local-server-param-refactoring
"Local" command line parameter only for one purpose
2022-03-30 18:51:27 +08:00
grossmj 900d4f79ee "Local" command line parameter is only for stopping
a server that has been started by the desktop GUI
2022-03-30 18:38:34 +08:00
grossmj 8975f63e2f Fix AsyncSession handling after breaking changes in FastAPI 0.74.0
See https://github.com/tiangolo/fastapi/releases/tag/0.74.0 for details.
2022-03-20 16:25:48 +10:00
grossmj 9b39bfb845 Detect image type instead of requesting it from user 2022-03-20 16:20:17 +10:00
grossmj 2a5a4b5f77 Use README.md in setup.py 2022-03-16 11:22:28 +10:00
grossmj db739775d0 Drop Python 3.6 support and require Python >= 3.7 2022-03-14 15:13:26 +10:30
grossmj 3edfa53e9e Update README.md 2022-03-14 14:46:29 +10:30
grossmj e897ab6163 Uvicorn version 0.17.6 does not support Python 3.6 2022-03-13 15:46:38 +10:30
grossmj 0a10b41418 Convert README to markdown 2022-03-13 15:44:26 +10:30
grossmj f8a83e7ff9 Merge branch '2.2' into 3.0
# Conflicts:
#	dev-requirements.txt
#	gns3server/compute/qemu/qemu_vm.py
#	gns3server/version.py
#	requirements.txt
2022-03-13 14:50:02 +10:30
grossmj 1a535371b6 Upgrade dependencies 2022-03-12 16:23:17 +10:30
Jeremy Grossmann 5e4870b008 Merge pull request #2025 from GNS3/drop-windows-support
Drop Windows support
2022-01-19 22:03:06 +10:00
grossmj 74c675d5b0 Drop Windows support 2022-01-19 22:28:36 +10:30
grossmj 4fb0cd9321 Remove unused code 2022-01-18 19:55:36 +10:30
grossmj 63b2b205ab Upgrade FastAPI to version 0.72.0 2022-01-17 18:53:27 +10:30
grossmj 841d3028d6 Upgrade dependencies 2022-01-16 21:31:12 +10:30
grossmj f9312764ba Merge branch 'master' into 3.0
# Conflicts:
#	gns3server/version.py
2022-01-11 22:42:25 +10:30
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 36cf43475d Replace CORS origins by origin regex 2021-12-19 18:10:15 +10:30
grossmj d1d36ce254 Change default config settings 2021-12-17 12:26:02 +10:30
grossmj c5a6cd8d33 Update Docker image for tests 2021-12-17 12:20:46 +10:30
grossmj f5301e5f14 Merge branch '2.2' into 3.0
# Conflicts:
#	gns3server/version.py
2021-12-16 12:35:11 +10:30
grossmj ff64f86289 Fix calls to static methods in server.py 2021-12-15 13:08:18 +10:30
grossmj ab4d964d69 Do not require the local server param to open a .gns3 file. Fixes https://github.com/GNS3/gns3-gui/issues/2421 Ref #1460 2021-12-10 15:52:57 +10:30
grossmj 16fcf6141e Fix tests 2021-12-08 00:43:54 +10:30
grossmj 05d2579907 Do not automatically install appliance after uploading image 2021-12-08 00:01:25 +10:30
grossmj 01a9e83f08 Ignore OSError when closing websocket 2021-12-08 00:00:54 +10:30
grossmj af9860f965 Fix compute Docker test 2021-12-02 22:15:23 +10:30
grossmj 296446189f Merge branch '2.2' into 3.0
# Conflicts:
#	gns3server/appliances/Simulator.gns3a
#	gns3server/compute/docker/__init__.py
#	gns3server/compute/docker/docker_vm.py
#	gns3server/version.py
2021-12-02 19:57:04 +10:30
grossmj 5797de8f2d Fix tests 2021-12-02 19:14:55 +10:30
grossmj 8bae921587 Fix packet capture 2021-12-02 18:07:09 +10:30
grossmj 928966ea5f Upgrade dependencies 2021-11-24 17:48:58 +10:30
grossmj 25466a9958 Allow empty compute_id. Ref #1657 2021-11-24 17:25:55 +10:30
Jeremy Grossmann 8995ed37a4 Merge pull request #1990 from GNS3/scalability
Scalability and option to use templates across all computes
2021-11-24 16:38:41 +10:30
Jeremy Grossmann 488146e802 Merge pull request #1999 from GNS3/compute-authentication
Secure controller to compute communication
2021-11-18 18:48:04 +10:30
grossmj 38388f7ae5 Secure controller to compute communication using HTTP basic authentication 2021-11-18 18:37:10 +10:30
Jeremy Grossmann 55e50dae4b Merge pull request #1992 from GNS3/secure-websocket-endpoints
Secure websocket endpoints
2021-11-01 17:10:41 +10:30
grossmj 717a400a11 Fix tests 2021-11-01 17:05:27 +10:30
grossmj 741fc4a557 Secure websocket endpoints 2021-11-01 16:45:14 +10:30
grossmj 7ce5e19a6e Fix issue when updating a template 2021-10-23 16:23:19 +10:30
grossmj 6165778576 Allocate compute when compute_id is unset 2021-10-22 22:03:51 +10:30
grossmj 45738f262b Downgrade to fastapi 0.68.2 because of BrokenResourceError exception
Ref https://github.com/tiangolo/fastapi/issues/4041
2021-10-22 16:16:34 +10:30
Jeremy Grossmann f2d940497b Merge pull request #1989 from GNS3/controller-ip-from-compute
Return the current controller hostname/IP from any compute
2021-10-21 21:54:52 +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
grossmj dddfe7c531 Upgrade dependencies 2021-10-20 16:03:28 +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
Jeremy Grossmann 52d4804e03 Merge pull request #1985 from GNS3/appliances-refactoring
Appliance management refactoring
2021-10-20 15:43:09 +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 be473aaaf7 Remove from __future__ import annotations 2021-10-18 22:16:57 +10:30
grossmj 88d98cf02e Fix tests and workaround issue with flake8 2021-10-18 22:12:10 +10:30
grossmj 01da25a7c7 Fix appliance validation with Pydantic 2021-10-18 21:53:29 +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
grossmj 8a643cf4a4 Sync appliance files 2021-10-18 16:17:27 +10:30
grossmj 48745b5996 Update README.rst for Docker support. Ref #1908 2021-10-18 14:04:31 +10:30
grossmj 7563e4ef29 Update appliance files 2021-10-17 15:09:49 +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
Jeremy Grossmann 7d626c3be8 Merge pull request #1911 from GNS3/image-management-refactoring
Images management refactoring
2021-10-10 17:40:10 +10:30
grossmj bc36d95060 Finalize image management refactoring and auto install appliance if possible 2021-10-10 17:35:11 +10:30
grossmj 0b200def88 Merge branch 'master' into 3.0
# Conflicts:
#	.github/workflows/testing.yml
#	Dockerfile
#	gns3server/version.py
2021-10-09 12:16:50 +10:30
grossmj d485a857a2 Fix running tests with Python 3.10
https://github.com/actions/setup-python/issues/249#issuecomment-934299359
2021-10-07 15:07:36 +10:30
grossmj b59b6816c3 Upgrade dependencies and test using Python 3.10 2021-10-07 14:59:53 +10:30
grossmj b683659d21 Sqlite doesn't allow BigInteger to be used as an primary key with autoincrement 2021-09-23 11:05:03 +09:30
grossmj faddc5a6b1 Upgrade dependencies 2021-09-23 10:39:27 +09:30
Jeremy Grossmann 395852f203 Merge pull request #1970 from hb9cwp/patch-1
Fix wrong comment for default admin password in config file
2021-09-20 17:17:53 +09:30
Jeremy Grossmann 488a3d0d39 Update gns3_server.conf 2021-09-20 17:09:46 +09: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 5807dd068e Revert "No need to add permissions when the super admin creates templates or projects"
This reverts commit 3d1c3303f9.
2021-09-20 10:36:56 +09:30
grossmj 3d1c3303f9 No need to add permissions when the super admin creates templates or projects 2021-09-18 12:49:54 +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 898af32cd1 Package websockets 10.0 requires Python >= 3.7 2021-09-15 17:11:24 +09:30
grossmj 0b4dbf27e0 Upgrade dependencies 2021-09-15 17:04:39 +09:30
grossmj 541a906f49 Merge branch '2.2' into 3.0
# Conflicts:
#	gns3server/controller/node.py
#	gns3server/handlers/api/compute/server_handler.py
#	gns3server/version.py
2021-09-15 16:59:56 +09:30
grossmj cdc4cf796b Bump version to 3.0.0dev3 2021-09-11 22:18:01 +09:30
Jeremy Grossmann 4916567ff6 Merge pull request #1971 from hb9cwp/patch-2
REST API example needs additional parameter
2021-09-09 23:03:15 -07:00
Rolf Sommerhalder 6e88d4816f REST API example needs additional parameter
While try this example with GNS3 branch 3.0 on Ubuntu 20.04 LTS, the API call 
```$ curl http://172.17.46.114:3080/v3/users/authenticate -d '{"username": "admin", "password": "admin"}' ```  fails with ```{"detail":[{"loc":["body"],"msg":"value is not a valid dict","type":"type_error.dict"}]}```.

The additional parameter appended to curl fixes this ```{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTYzMTI4NTc4NX0.kT1dAN4v1vHMTBJO2UaI2I7yAFhnSpBU9iqmdDuwtAQ","token_type":"bearer"} ```
Found after googling for the error above in 
FastAPI 0.65.2 POST request fails with "value is not a valid dict" when using the Requests library; 0.65.1 works (with a caveat) #3373
https://github.com/tiangolo/fastapi/issues/3373#issuecomment-886745123
2021-09-09 17:08:26 +02:00
grossmj 986010446a Remove empty files after merge 2021-09-09 16:55:00 +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
Rolf Sommerhalder 6805a61729 Remove duplicate configuration lines 2021-09-09 08:17:58 +02:00
grossmj f1ecb02160 Small db tables adjustments 2021-09-04 15:23:25 +09:30
grossmj fdc3774fff Add index for "name" field in role table 2021-09-03 15:21:41 +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 afdda427d2 Merge branch 'master' into 3.0
# Conflicts:
#	.github/workflows/testing.yml
#	gns3server/compute/builtin/nodes/nat.py
#	gns3server/compute/qemu/__init__.py
#	gns3server/controller/link.py
#	gns3server/utils/asyncio/embed_shell.py
#	gns3server/utils/asyncio/raw_command_server.py
#	gns3server/utils/asyncio/telnet_server.py
#	gns3server/version.py
#	gns3server/web/web_server.py
2021-08-29 19:23:51 +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 8f30b466e0 Merge remote-tracking branch 'origin/3.0' into 3.0 2021-08-19 14:48:29 +09:30
grossmj 07d4892faf Check if user has the right to add a permission 2021-08-19 14:47:48 +09:30
Jeremy Grossmann 1a5fb1abcc Only use the necessary HTTP methods for default permissions 2021-08-17 23:47:32 +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 183033dad8 Upgrade unicorn dependency to version 0.15.0 2021-08-15 14:54:35 +09:30
grossmj 75c934f30a Bump version to 3.0.0dev3 2021-08-12 16:05:19 +09:30
grossmj cfaafedb09 Merge branch '3.0' into busybox-docker 2021-08-11 18:36:30 +09:30
grossmj d0a9425392 Remove busybox and copy system busybox in setup.py 2021-08-11 17:27:47 +09:30
grossmj 078c42f185 Save image size + start to automatic template creation based on image checksum. 2021-08-11 16:58:23 +09:30
grossmj a970d4c4d8 Upgrade dependencies 2021-08-10 23:08:14 +09:30
Jeremy Grossmann f13b4e89b7 Merge branch '3.0' into image-management-refactoring 2021-08-10 05:46:22 -07:00
grossmj ce55ec73a4 Fix exception with endpoints returning HTTP status code 204. Fixes #1891 2021-08-10 21:53:21 +09:30
grossmj 36b9f8bdfd Fix tests 2021-08-10 15:58:13 +09:30
grossmj 3ae7783360 Fix "-machine accel=tcg" check 2021-08-10 15:41:05 +09:30
grossmj c5c95979c2 Merge branch '2.2' into 3.0
# Conflicts:
#	gns3server/compute/base_node.py
#	gns3server/compute/qemu/qemu_vm.py
#	gns3server/compute/qemu/utils/qcow2.py
#	gns3server/handlers/api/compute/qemu_handler.py
#	gns3server/handlers/api/controller/server_handler.py
#	gns3server/version.py
2021-08-10 15:38:49 +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 1f0ceb6f74 Symbols endpoints (except upload) don't require authentication. 2021-06-16 20:22:49 +09:30
grossmj c13f5c6627 Update to the udhcpc wrapper script. Ref #1890 2021-06-14 19:28:40 +09:30
grossmj 91a6384a59 Upgrade dependencies. Fixes #1917 2021-06-12 15:30:26 +09:30
grossmj 229a04e2fa Fix link style merge 2021-06-12 15:26:35 +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 515bd50261 Start refactoring for images management 2021-06-06 16:52:47 +09:30
grossmj f64b5cd9b6 Allow controller to be reloaded using the API. Fixes #1743 2021-06-04 17:01:07 +09:30
grossmj 6a726d0344 Fix formatting issue. 2021-06-03 19:32:00 +09:30
grossmj dc914eb0f9 Fix tests. 2021-06-03 19:11:11 +09:30
grossmj 9b0e3a77ed Use a stock BusyBox for the Docker Integration 2021-06-03 18:38:08 +09:30
grossmj 8be015cd86 Move "/{project_id}/templates/{template_id}" endpoint. 2021-06-03 18:18:34 +09:30
grossmj 6fb6a27859 Add last login info for users. 2021-06-03 16:57:16 +09:30
grossmj 4e33d29af8 Change RBAC field names from builtin to is_builtin 2021-06-03 16:24:38 +09:30
Jeremy Grossmann 4dd3bc6a98 Merge pull request #1906 from GNS3/rbac
RBAC support
2021-06-02 23:16:07 -07:00
grossmj d65b49acaa Add user permissions + RBAC tests. 2021-06-03 15:40:12 +09:30
grossmj 36a27c0c19 Force refresh of updated_at value for RBAC db models. 2021-06-01 16:12:06 +09:30
grossmj a6d2f48df1 Merge remote-tracking branch 'origin/3.0' into rbac 2021-06-01 16:11:22 +09:30
grossmj 0113ca6673 Force refresh of updated_at value in db models. 2021-06-01 16:09:29 +09:30
grossmj 74d820fd0a Use synchronize_session="fetch" when updating values. 2021-06-01 15:55:50 +09:30
grossmj e9b9884ee3 Merge remote-tracking branch 'origin/3.0' into rbac 2021-06-01 15:50:14 +09:30
grossmj a6c2a3e47f Use synchronize_session="fetch" when updating values. 2021-06-01 13:02:03 +09:30
grossmj 91b0534182 Upgrade dependencies 2021-06-01 12:56:51 +09:30
grossmj 2e2e31337a Add description for user permission. 2021-06-01 12:55:16 +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 eb0f8c6174 Save/restore appliances Etag. 2021-05-17 00:37:15 +09:30
grossmj f416d64042 Allow to set the initial super admin username / password in server config file. Ref #1857 2021-05-16 20:01:05 +09:30
grossmj fffbb08a8e Catch SQLAlchemyError exception. 2021-05-16 18:37:17 +09:30
grossmj d759564e20 Require authentication for get_user_memberships endpoint. 2021-05-16 17:06:23 +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 e86d8f96ca Merge branch '2.2' into 3.0
# Conflicts:
#	gns3server/version.py
2021-05-15 20:12:21 +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 4727708c85 Upgrade dependencies 2021-05-08 14:32:26 +09:30
grossmj 0a77f0035b Add delete cascade on foreign keys for appliance table 2021-05-06 17:25:32 +09:30
grossmj 10164e262d Enable SQL foreign key support for SQLite 2021-05-06 17:21:45 +09:30
grossmj a1f3f6472a Upgrade dependencies 2021-05-06 16:56:07 +09:30
grossmj 912fb2ed29 Fix add node from template. Fixes https://github.com/GNS3/gns3-web-ui/issues/1122 2021-05-06 16:22:16 +09:30
grossmj 60701b63ac Update README to use python virtual env 2021-05-06 15:56:26 +09:30
grossmj a795e0d7c1 Add missing CORS origins. 2021-04-28 21:20:05 +09:30
grossmj d8968cbee8 Merge remote-tracking branch 'origin/3.0' into 3.0 2021-04-28 15:57:39 +09:30
grossmj ad7d8e2e7d Fix tests. 2021-04-28 15:56:11 +09:30
grossmj 41ba215e32 Show topology path when check topology schema fails. 2021-04-27 22:48:55 -07:00
grossmj b1b3338e3c Fix bug when binding on address already in use. 2021-04-28 15:13:31 +09:30
grossmj edb20482c7 Fix bug when no server config file is present. 2021-04-28 14:44:34 +09:30
grossmj 7b3351bba6 Upgrade dependencies. 2021-04-28 14:43:52 +09:30
grossmj d3ace8ff17 Fix user delete endpoint. 2021-04-26 16:21:16 +09:30
grossmj 49be4146d6 Protect controlle notification endpoints. Ref #1888
(WebSocket endpoint is not secured, it takes an optional token).
2021-04-26 16:18:18 +09:30
grossmj a02aede1b0 Use uuid5 to create new compute_id. Fixes #1641 #1887 2021-04-21 13:47:32 +09:30
grossmj dff1ec9bc6 Fix /users/me endpoint. 2021-04-20 19:54:55 +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 9404c00411 Complete type annotations for API endpoints. 2021-04-18 15:40:38 +09:30
grossmj cefab8d362 Rename __json__() to asdict() 2021-04-17 23:34:28 +09:30
grossmj 44074ff7c9 Some cleaning. 2021-04-17 18:36:32 +09:30
grossmj bad3ef7003 Detect the app is exiting and avoid reconnecting to computes. 2021-04-17 18:33:20 +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
Jeremy Grossmann fbd5e12e7b Update GitHub Actions badge 2021-04-13 18:53:39 +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 a9eb035b7d Move error responses to API routers. 2021-04-13 16:19:56 +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 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 fa4c9a91ca Add symbol dimensions endpoint and SSL support for packet capture with remote HTTPS server. 2021-04-10 13:01:23 +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 31a1fdba68 Update setup.py for Python 3.9 2021-04-06 15:56:46 +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 e607793e74 Generate a new list in template schema defaults. 2021-04-02 17:45:16 +10:30
grossmj 3b30d51972 Sync appliance files. 2021-04-02 17:43:38 +10:30
grossmj c1784b7684 Workaround to run tests with Python 3.6 2021-04-01 08:49:32 +10:30
grossmj b8e81ad9bc Upgrade dependencies 2021-03-31 16:01:11 +10:30
grossmj 91920e5a5b Fix issue with tests + some cleaning. 2021-03-31 09:58:52 +10:30
grossmj fd844c309e Revert "Install contextvars for python_version < "3.7""
This reverts commit f9127e19
2021-03-28 21:33:16 +10:30
grossmj f9127e199e Install contextvars for python_version < "3.7" 2021-03-28 21:25:13 +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 b417bc4dec Revert "Upgrade to sqlalchemy version 1.4.2"
This reverts commit 9defc3c4

Ref https://github.com/talkpython/web-applications-with-fastapi-course/issues/4
2021-03-24 14:55:00 +10:30
grossmj 9defc3c4e8 Upgrade to sqlalchemy version 1.4.2 2021-03-24 14:42:30 +10:30
grossmj 62b1fa8dc4 Upgrae to uvicorn 0.13.3. Fixes #1840 2021-02-18 18:32:53 +10:30
grossmj c17a86e814 Add missing async 2021-02-18 18:14:35 +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 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 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 62d9ecf2aa Do not build on Windows and add missing packages for Python 3.6 2020-12-07 17:03:34 +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 ae55c0ec9c Fix tests. 2020-11-19 15:27:33 +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 95ea1fa636 Providing the path to create a project is now deprecated. 2020-11-13 15:17:54 +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 bf19da1dc2 Upgrade packages to latest versions 2020-11-08 21:35:54 +10:30
grossmj e13c84bada Fix tests 2020-11-05 18:47:59 +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 7314b41d8f Fix tests. 2020-11-02 22:45:01 +10:30
grossmj e2d444928d Add back script to create a self-signed SSL certificate. 2020-11-02 18:09:14 +10:30
grossmj 5a7b5e4e08 Make sure all HTTP exceptions return JSON with a "message" field instead of "detail" 2020-11-02 18:08:25 +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 eeaf10b418 Put all schemas in the same module. 2020-10-31 16:02:21 +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 d6a65883ee Merge branch 'master' into 3.0 2020-10-24 17:08:19 +10:30
grossmj b2fb2442c8 Change tag for index routes. 2020-10-24 17:00:43 +10:30
grossmj f3a7eba796 Merge branch 'master' into 3.0 2020-10-24 16:49:28 +10:30
grossmj b2d81609be Publish API documentation 2020-10-24 16:32:09 +10:30
grossmj ee6c70e243 Publish API documentation 2020-10-24 16:16:29 +10:30
grossmj 34f05e92d5 Merge branch 'master' into 3.0 2020-10-24 15:53:44 +10:30
grossmj d316ee33df Capitalize openapi tags. 2020-10-24 15:35:53 +10:30
grossmj ec61faa035 Merge branch 'master' into 3.0
# Conflicts:
#	.github/workflows/publish_api_documentation.yml
2020-10-24 15:25:55 +10:30
grossmj e6bf17185e Manual trigger API documentation publishing using workflow_dispatch 2020-10-24 12:52:32 +10:30
grossmj 5bb6ba73f2 Fix syntax error in publish_api_documentation.yml 2020-10-23 23:01:03 +10:30
grossmj e568de0aa9 actions/checkout@v2 to checkout 3.0 branch. 2020-10-23 22:57:09 +10:30
grossmj 3f57f5285d Publish API documentation on gh-pages branch 2020-10-23 22:48:50 +10:30
grossmj b23422e782 Fix publish_api_documentation.yml 2020-10-23 22:29:59 +10:30
grossmj b7ade95c24 Merge remote-tracking branch 'origin/3.0' into 3.0 2020-10-23 21:03:35 +10:30
grossmj e39493f8bd Only publish documentation once a day or on tags. 2020-10-23 21:03:28 +10:30
github-actions 7d72b5e8b9 Publish API documentation 2020-10-23 09:13:49 +00:00
grossmj 98467181de Merge remote-tracking branch 'origin/3.0' into 3.0 2020-10-23 19:42:44 +10:30
grossmj 80d14a98fb Some cleaning in compute.py 2020-10-23 19:42:21 +10:30
github-actions 3a55337d3f Publish API documentation 2020-10-23 08:52:41 +00:00
grossmj b04f9cb6ea Add git add to publish_api_documentation.yml 2020-10-23 19:21:50 +10:30
grossmj da2d4de89f Fix call to publish_api_documentation.py 2020-10-23 19:17:31 +10:30
grossmj 80ca9100b9 Use Python 3.6 to generate the API documentation 2020-10-23 19:14:14 +10:30
grossmj 4cf054061d Remove tests_require from setup.py 2020-10-23 19:10:33 +10:30
grossmj 791d8ac366 Install the GNS3 server in publish_api_documentation.yml 2020-10-23 19:07:30 +10:30
grossmj 10542aef91 Merge remote-tracking branch 'origin/3.0' into 3.0 2020-10-23 19:03:47 +10:30
grossmj 2793f6f9d8 Automate API documentation publishing. 2020-10-23 19:03:19 +10:30
Jeremy Grossmann 407f6efa78 Create CNAME 2020-10-23 18:49:37 +10:30
grossmj 3185ebaa3d Publish API documentation generated by FastAPI. 2020-10-23 18:01:58 +10:30
grossmj 087bbd1a0b Fix tests. 2020-10-22 20:37:34 +10:30
grossmj a08ddce033 Revert compute.py 2020-10-22 20:05:37 +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 a92c47b310 Add HTTP client to reuse the aiohttp session where needed.
Remove unnecessary aiohttp exceptions.
2020-10-22 16:19:44 +10:30
grossmj 36c8920cd1 Warn not to use the private compute API. Fixes #1593. 2020-10-20 16:27:00 +10:30
grossmj f895b66fca Run tests on Ubuntu only for now. 2020-10-20 11:57:32 +10:30
grossmj f4210108ce Do not run tests on macOS for now. 2020-10-20 11:10:42 +10:30
grossmj c0cab1c3ca Install Windows dependencies to run tests 2020-10-20 11:05:12 +10:30
grossmj 8b415b0b3c Fix testing on Windows. 2020-10-20 10:55:32 +10:30
grossmj a9a5d4e665 Fix syntax error in testing.yml 2020-10-20 10:52:26 +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 5653a8afb6 Need another job to run tests on macOS and Windows. 2020-10-19 19:27:57 +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 b8e8e5cba7 Fix status code 204 must not have a response body. 2020-10-19 18:42:27 +10:30
grossmj 993e6a80e4 Add missing requests package to run tests. 2020-10-19 18:40:01 +10:30
grossmj 5d71ee25ee Fix syntax error. 2020-10-19 18:34:27 +10:30
grossmj af30361f72 Enable GitHub Actions for 3.0 branch 2020-10-19 18:31:38 +10:30
grossmj f20e16074f Fix Docker dev server script. 2020-10-19 18:28:01 +10:30
grossmj be6d4771d0 Migrate PCAP streaming code to work with FastAPI. 2020-10-19 15:55:29 +10:30
grossmj bd8565b2b9 Refactor WebSocket console code to work with FastAPI.
Fix endpoint routes.
2020-10-19 15:00:41 +10:30
grossmj 5341ccdbd6 Use dependencies and group common HTTP responses in endpoints. 2020-10-14 10:49:29 +10:30
grossmj 58c5965905 Fix tests. 2020-10-13 11:46:18 +10:30
grossmj 46f4e7ef6e Fix update property call for Qemu VMs. 2020-10-12 18:07:00 +10:30
grossmj 0746949207 Merge branch '2.2' into 3.0
# Conflicts:
#	gns3server/compute/qemu/qemu_vm.py
#	gns3server/handlers/api/compute/qemu_handler.py
#	gns3server/handlers/api/controller/symbol_handler.py
#	gns3server/version.py
#	tests/compute/qemu/test_qemu_vm.py
#	tests/endpoints/compute/test_qemu_nodes.py
#	tests/endpoints/controller/test_nodes.py
2020-10-12 18:04:49 +10:30
grossmj eb3cb8a41f Migration to FastAPI 2020-10-02 16:07:50 +09:30
grossmj c12b675691 Prioritize the config disk over HD-D for Qemu VMs.
Fixes https://github.com/GNS3/gns3-gui/issues/3036
2020-08-18 10:54:11 +09:30
Jeremy Grossmann a2e884e315 Create config disk property false by default for Qemu templates
Ref https://github.com/GNS3/gns3-gui/issues/3035
2020-08-17 12:45:57 +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 620d93634e Fix tests. 2020-08-15 16:35:31 +09:30
grossmj 464fd804ce Set default disk interface type to "none".
Fail-safe: use "ide" if an image is set but no interface type is configured.
Use the HDA disk interface type if none has been configured for HDD.
2020-08-15 16:14:16 +09:30
grossmj 56aba96a5f Add explicit option to automatically create or not the config disk. Off by default. 2020-08-14 17:57:24 +09:30
grossmj 546982d1ea Fix more tests 2020-08-13 17:18:45 +09:30
grossmj 2ba6eac113 Fix tests 2020-08-13 17:10:31 +09:30
grossmj cad7431069 Bump version to 2.3.0dev2 2020-08-13 01:49:25 +09:30
grossmj 9890126453 Merge branch '2.2' into 2.3
# Conflicts:
#	gns3server/notification_queue.py
#	gns3server/version.py
2020-08-13 01:48:26 +09:30
Jeremy Grossmann 94b27590a7 Merge pull request #1804 from GNS3/aux-console-refactoring
Auxiliary console support
2020-08-12 15:58:32 +08:00
grossmj 3c1a1eb4ef Fix tests. 2020-07-29 16:32:45 +09:30
grossmj 7043d48f1a Auxiliary console support for Qemu. Ref #2873
Improvements for auxiliary console support for Docker and Dynamips.
2020-07-29 16:23:51 +09:30
Jeremy Grossmann d022259561 Downgrade psutil to version 5.6.7 2020-07-28 21:03:41 +09:30
grossmj 65c8bb6754 Fix AUX console not allocated for Dynamips IOS routers. 2020-07-27 18:42:36 +09:30
grossmj 12732aaf83 Disallow to rename a running node. Fixes https://github.com/GNS3/gns3-gui/issues/2499 2020-07-27 15:06:17 +09:30
grossmj 831ee5f468 Support to reset all console connections. Ref https://github.com/GNS3/gns3-server/issues/1619 2020-07-26 18:27:18 +09:30
grossmj f97d346c34 Support to reset links. Fixes https://github.com/GNS3/gns3-server/issues/1620 2020-07-24 21:48:49 +09:30
grossmj cbcdaabcce Fix tests. Ref #1674 2020-07-24 15:22:11 +09:30
grossmj 01b2c72767 Add maxcpus property for Qemu VMs. Ref #1674 2020-07-24 15:15:41 +09:30
grossmj 47bb2edbfa Upgrade to psutil version 5.7.2 2020-07-21 15:49:06 +09:30
Bernhard Ehlers 068c31038f QEMU config disk - improve error handling 2020-07-19 17:56:49 +09:30
Bernhard Ehlers 2bbee15b18 QEMU config disk - notification of import/export errors 2020-07-19 17:56:49 +09:30
Bernhard Ehlers 50c49cfedb QEMU config disk - notification of import/export errors 2020-07-19 17:56:49 +09:30
Bernhard Ehlers b672900406 QEMU config disk - use disk interface of HD-D, fallback is HD-A 2020-07-19 17:56:49 +09:30
Bernhard Ehlers 2e0fba925b QEMU config disk - add missing config disk to image directory 2020-07-19 17:56:49 +09:30
Bernhard Ehlers 450c6cddc7 QEMU config disk - get rid of mtoolsrc 2020-07-19 17:56:48 +09:30
Bernhard Ehlers 5c44268476 QEMU config disk - preserve file timestamp on zip unpack 2020-07-19 17:56:48 +09:30
Bernhard Ehlers b69965791d QEMU config disk - initial implementation. Ref #2958 2020-07-19 17:56:48 +09:30
grossmj a9e9ff071d Read folder structure correctly for custom symbols. Fixes https://github.com/GNS3/gns3-gui/issues/2856 2020-07-19 17:46:49 +09:30
grossmj 3dc4ea46d6 Add total RAM, CPUs and disk size to servers summary as well as disk usage in percent. Fixes https://github.com/GNS3/gns3-server/issues/1532 2020-07-19 14:16:07 +09:30
Jeremy Grossmann 00a6765405 Merge pull request #1800 from GNS3/docker-resource-constraints
Resource constraints for Docker VMs.
2020-07-18 19:39:01 +08:00
grossmj d1c29c8bb7 Resource constraints for Docker VMs. 2020-07-18 21:03:55 +09:30
grossmj 0afce89c0b Fix exception when exporting debug data. Fixes #1684 2020-07-18 17:30:18 +09:30
grossmj e4978004d0 Update IOUtools. Ref #1627 2020-07-17 21:37:25 +09:30
grossmj 05ed9836e4 Fix tests. 2020-07-17 15:33:30 +09:30
grossmj 0390fef74d Use parent directory as working directory for project duplication and snapshots. Fixes https://github.com/GNS3/gns3-gui/issues/2909 2020-07-17 15:09:43 +09:30
grossmj dff035d957 Support for "usage" for "Cloud" nodes. Fixes https://github.com/GNS3/gns3-gui/issues/2887
Allow "usage" for all builtin nodes (not exposed in Ui).
2020-07-15 19:15:51 +09:30
grossmj d11897c1ec Bump version to 2.3.0dev1 2020-07-11 11:41:51 +09:30
1094 changed files with 68035 additions and 100750 deletions

No files matched your search

+11 -5
View File
@@ -4,19 +4,20 @@ on:
push:
branches:
- master
- 2.2
- 3.0
pull_request:
branches:
- master
- 2.2
- 3.0
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.6", "3.7", "3.8", "3.9", "3.10"]
python-version: ["3.7", "3.8", "3.9", "3.10"]
steps:
- uses: actions/checkout@v2
@@ -24,10 +25,15 @@ jobs:
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Display Python version
run: python -c "import sys; print(sys.version)"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
if [ -f dev-requirements.txt ]; then pip install -r dev-requirements.txt; fi
python -m pip install -r dev-requirements.txt
- name: Install Windows dependencies
if: matrix.os == 'windows-latest'
run: python -m pip install -r win-requirements.txt
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
@@ -36,4 +42,4 @@ jobs:
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pytest -vv
python -m pytest -vv
+7
View File
@@ -5,6 +5,12 @@ __pycache__
#py.test
.cache
# environment file
.env
# hypothesis files
.hypothesis
# C extensions
*.so
@@ -59,4 +65,5 @@ startup.vpcs
# Virtualenv
env
venv
*venv
.ropeproject
+148
View File
@@ -1,5 +1,153 @@
# Change Log
## 3.0.0a2 06/09/2022
* Add web-ui v3.0.0a2
* Upgrade FastAPI to v0.82.0
* API endpoint to get the locked status of a project
* Global project lock and unlock
* Update appliance files
* Require name for custom adapters. Fixes #2098
* Allow empty adapter slots for Dynamips templates. Ref https://github.com/GNS3/gns3-gui/issues/3373
* Use original $PATH in init.sh for Docker containers. Ref #2069
## 3.0.0a1 04/08/2022
* Bundle gns3-web-ui v3.0.0a1
* Use default symbol theme if none is provided when loading appliances
* Allow default symbol theme to be configured in config file
* Optionally allow Qemu raw images
* Ignore image detection for IOU user libraries in image directory
* Don't show optional token param in API docs
* Fix check for 32-bit in ELF header
* Checks for valid hostname on server side for Dynamips, IOU, Qemu and Docker nodes
* Only check files (not directories) when looking for new images on file system.
* Support user defined loader/libraries to run IOU
* Make 'vendor_url' and 'maintainer_email' optional for template validation.
* Allow auth token to be passed as a URL param
* HTTP middleware create issues when streaming project archive
* Add zstandard compression support for project export
* Make sure that the temporary image file is removed after uploading an image
* Do not cache to md5sum file in some situations
* Detect new images added to the default image directory. * Images can be present before the server starts or while it is running * Images are recorded in the database
* Support delete Qemu disk image from API Return the real disk image name in the 'hdx_disk_image_backed' property for Qemu VMs
* Handle creating Qemu disk images and resizing
* Finish to clean up local setting usage. Ref #1460
* "Local" command line parameter is only for stopping a server that has been started by the desktop GUI
* Fix AsyncSession handling after breaking changes in FastAPI 0.74.0 See https://github.com/tiangolo/fastapi/releases/tag/0.74.0 for details.
* Detect image type instead of requesting it from user
* Drop Python 3.6 support and require Python >= 3.7
* Drop Windows support
* Add connect endpoint for computes Param to connect to compute after creation Report compute unauthorized HTTP errors to client
* Replace CORS origins by origin regex
* Change default config settings
* Update Docker image for tests
* Fix calls to static methods in server.py
* Do not require the local server param to open a .gns3 file. Fixes https://github.com/GNS3/gns3-gui/issues/2421 Ref #1460
* Do not automatically install appliance after uploading image
* Ignore OSError when closing websocket
* Allow empty compute_id. Ref #1657
* Secure controller to compute communication using HTTP basic authentication
* Secure websocket endpoints
* Fix issue when updating a template
* Allocate compute when compute_id is unset
* Return the current controller hostname/IP from any compute
* Remove Qemu legacy networking support
* Add a custom version to an appliance
* Appliance management refactoring: * Install an appliance based on selected version * Each template have unique name and version * Allow to download an appliance file
* Finalize image management refactoring and auto install appliance if possible
* Sqlite doesn't allow BigInteger to be used as an primary key with autoincrement
* Add isolate and unisolate endpoints. Ref https://github.com/GNS3/gns3-gui/issues/3190
* Small db tables adjustments
* Add index for "name" field in role table
* Allow images to be stored in subdirs and used by templates.
* Option to prune images when deleting template.
* Associate images when creating or updating a template.
* Add prune images endpoint. Use many-to-many relationship between images and templates.
* Check if user has the right to add a permission
* Only use the necessary HTTP methods for default permissions
* Add /permissions/prune to delete orphaned permissions
* Check a permission matches an existing route before it is allowed to be created.
* Remove busybox and copy system busybox in setup.py
* Save image size + start to automatic template creation based on image checksum.
* Upgrade dependencies
* Fix "-machine accel=tcg" check
* Allow logged in user to change some of its data. Administrators can lock users using the `is_active` field.
* Symbols endpoints (except upload) don't require authentication.
* Update to the udhcpc wrapper script. Ref #1890
* Fix link style merge
* Start refactoring for images management
* Allow controller to be reloaded using the API. Fixes #1743
* Use a stock BusyBox for the Docker Integration
* Move "/{project_id}/templates/{template_id}" endpoint.
* Add last login info for users.
* Change RBAC field names from builtin to is_builtin
* Add user permissions + RBAC tests.
* Add description for user permission.
* Save/restore appliances Etag.
* Allow to set the initial super admin username / password in server config file. Ref #1857
* Require authentication for get_user_memberships endpoint.
* Change method to prevent forbidden directory traversal. Ref #1894
* Add user groups support.
* Add delete cascade on foreign keys for appliance table
* Enable SQL foreign key support for SQLite
* Add missing CORS origins.
* Show topology path when check topology schema fails.
* Protect controller notification endpoints. Ref #1888 (WebSocket endpoint is not secured, it takes an optional token).
* Use uuid5 to create new compute_id. Fixes #1641 #1887
* Protect the API and add alternative authentication endpoint.
* Secure users API and handle manual password recovery.
* Add default super admin account in controller db.
* Complete type annotations for API endpoints.
* Detect the app is exiting and avoid reconnecting to computes.
* Move schemas between compute and controller subpackages
* Remove traceng code.
* Move error responses to API routers.
* Wait for local compute to be started. Don't reconnect to local compute when server is being stopped.
* 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.
* Generate new config for each test. Fixes tests.
* Use Pydantic to validate the server config file.
* Add symbol dimensions endpoint and SSL support for packet capture with remote HTTPS server.
* Save computes to database
* Generate a new list in template schema defaults.
* Generate JWT secret key if none is configured in the config file. Change location of the database.
* User authentication with tests.
* Refactor tests and start work on database integration.
* Move endpoints to routes & preparations to use a database.
* Providing the path to create a project is now deprecated.
* Add back script to create a self-signed SSL certificate.
* Make sure all HTTP exceptions return JSON with a "message" field instead of "detail"
* Make Swagger Ui the default for API documentation
* Move to version 3 of the REST API. Rename packet capture endpoints.
* Use pydantic for data validation (instead of jsonschema) Fix/improve various pydantic schema models.
* Automate API documentation publishing.
* Publish API documentation generated by FastAPI.
* Overwrite uvicorn loggers.
* Do not automatically connect to local compute.
* Add HTTP client to reuse the aiohttp session where needed. Remove unnecessary aiohttp exceptions.
* Warn not to use the private compute API. Fixes #1593.
* Migrate PCAP streaming code to work with FastAPI.
* Refactor WebSocket console code to work with FastAPI. Fix endpoint routes.
* Use dependencies and group common HTTP responses in endpoints.
* Migration to FastAPI
* Prioritize the config disk over HD-D for Qemu VMs. Fixes https://github.com/GNS3/gns3-gui/issues/3036
* Create config disk property false by default for Qemu templates
* Set default disk interface type to "none". Fail-safe: use "ide" if an image is set but no interface type is configured. Use the HDA disk interface type if none has been configured for HDD.
* Add explicit option to automatically create or not the config disk. Off by default.
* Auxiliary console support for Qemu. Ref #2873 Improvements for auxiliary console support for Docker and Dynamips.
* Fix AUX console not allocated for Dynamips IOS routers.
* Disallow to rename a running node. Fixes https://github.com/GNS3/gns3-gui/issues/2499
* Support to reset all console connections. Ref https://github.com/GNS3/gns3-server/issues/1619
* Support to reset links. Fixes https://github.com/GNS3/gns3-server/issues/1620
* Add maxcpus property for Qemu VMs. Ref #1674
* QEMU config disk support
* Read folder structure correctly for custom symbols. Fixes https://github.com/GNS3/gns3-gui/issues/2856
* Add total RAM, CPUs and disk size to servers summary as well as disk usage in percent. Fixes https://github.com/GNS3/gns3-server/issues/1532
* Resource constraints for Docker VMs.
* Update IOUtools. Ref #1627
* Use parent directory as working directory for project duplication and snapshots. Fixes https://github.com/GNS3/gns3-gui/issues/2909
* Support for "usage" for "Cloud" nodes. Fixes https://github.com/GNS3/gns3-gui/issues/2887 Allow "usage" for all builtin nodes (not exposed in Ui).
## 2.2.34 28/08/2022
* Use original $PATH in init.sh for Docker containers. Ref #2069
+28 -26
View File
@@ -1,35 +1,37 @@
# Dockerfile for GNS3 server development
FROM ubuntu:focal
FROM ubuntu:18.04
WORKDIR /gns3server
ENV DEBIAN_FRONTEND noninteractive
# Set the locale
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
RUN apt-get update && apt-get install -y software-properties-common
RUN add-apt-repository ppa:gns3/ppa
RUN apt-get update && apt-get install -y \
RUN apt update && DEBIAN_FRONTEND=noninteractive apt install -y \
locales \
locales-all
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
COPY ./requirements.txt /gns3server/requirements.txt
RUN DEBIAN_FRONTEND=noninteractive apt install -y \
locales \
software-properties-common \
python3-pip \
python3-dev \
qemu-system-x86 \
python3-all \
python3-setuptools \
python3-dev \
busybox-static \
gcc \
qemu-kvm \
libvirt-bin \
x11vnc
libvirt-daemon-system
RUN locale-gen en_US.UTF-8
RUN add-apt-repository ppa:gns3/ppa && apt update && DEBIAN_FRONTEND=noninteractive apt install -y \
vpcs \
ubridge \
dynamips
# Install uninstall to install dependencies
RUN apt-get install -y vpcs ubridge
COPY . /gns3server
ADD . /server
WORKDIR /server
RUN mkdir -p ~/.config/GNS3/3.0/
RUN cp scripts/gns3_server.conf ~/.config/GNS3/3.0/
RUN pip3 install --no-cache-dir -r /server/requirements.txt
EXPOSE 3080
CMD python3 -m gns3server
RUN python3 setup.py install
+134
View File
@@ -0,0 +1,134 @@
# GNS3 server repository
[![Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![GitHub Actions tests](https://github.com/GNS3/gns3-server/workflows/testing/badge.svg?branch=3.0)](https://github.com/GNS3/gns3-server/actions?query=workflow%3Atesting+branch%3A3.0)
[![Latest PyPi version](https://img.shields.io/pypi/v/gns3-server.svg)](https://pypi.python.org/pypi/gns3-server)
[![Snyk scanning](https://snyk.io/test/github/GNS3/gns3-server/badge.svg)](https://snyk.io/test/github/GNS3/gns3-server)
The GNS3 server manages emulators and other virtualization software such as Dynamips, Qemu/KVM, Docker, VPCS, VirtualBox and VMware Workstation.
Clients like the [GNS3 GUI](https://github.com/GNS3/gns3-gui/) and the [GNS3 Web UI](https://github.com/GNS3/gns3-web-ui>) control the server using a HTTP REST API.
## Installation
These instructions are for using GNS3, please see below for development.
### Windows & macOS
Please use our [Windows installer or DMG package](https://gns3.com/software/download) to install the stable build along with the GNS3 VM.
Note that as of GNS3 version above 3.0, you must run the server using the GNS3 VM or on a Linux system (remote, cloud or virtual machine).
### Linux
#### Ubuntu based distributions
We build and test packages for actively supported Ubuntu versions.
Other distros based on Ubuntu, like Mint, should also be supported.
Packages can be installed from our Personal Package Archives (PPA) repository:
```shell
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:gns3/ppa
sudo apt update
sudo apt install gns3-gui gns3-server
```
#### Other Linux distributions
GNS3 is often packaged for other distributions by third-parties:
* [Gentoo](https://packages.gentoo.org/package/net-misc/gns3-server)
* [Alpine](https://pkgs.alpinelinux.org/package/v3.10/community/x86_64/gns3-server)
* [NixOS](https://search.nixos.org/packages?channel=21.11&from=0&size=50&sort=relevance&type=packages&query=gns3-server)
#### PyPi
You may use PyPi in case no package is provided, or you would like to do a manual installation:
* https://pypi.org/project/gns3-server/
* https://pypi.org/project/gns3-gui/
```shell
python3 -m pip install gns3-gui
python3 -m pip install gns3-server
```
The downside of this method is you will have to manually install all dependencies (see below).
Please see our [documentation](https://docs.gns3.com/docs/getting-started/installation/linux) for more details.
### Software dependencies
In addition to Python dependencies, other software may be required, recommended or optional.
* [uBridge](https://github.com/GNS3/ubridge/) is required, it interconnects the nodes.
* [Dynamips](https://github.com/GNS3/dynamips/) is required for running IOS routers (using real IOS images) as well as the internal switches and hubs.
* [VPCS](https://github.com/GNS3/vpcs/) is recommended, it is a builtin node simulating a very simple computer to perform connectivity tests using ping, traceroute etc.
* Qemu is strongly recommended as most node types are based on Qemu, for example Cisco IOSv and Arista vEOS.
* libvirt is recommended as it's needed for the NAT cloud.
* Docker is optional, some nodes are based on Docker.
* mtools is recommended to support data transfer to/from QEMU VMs using virtual disks.
* i386-libraries of libc and libcrypto are optional, they are only needed to run IOU based nodes.
Note that Docker needs the script program (`bsdutils` or `util-linux` package), when running a Docker VM and a static busybox during installation (python3 setup.py install / pip3 install / package creation).
## Development
### Setting up
These commands will install the server as well as all Python dependencies:
```shell
git clone https://github.com/GNS3/gns3-server
cd gns3-server
git checkout 3.0
python3 -m venv venv-gns3server
source venv-gns3server/bin/activate
python3 setup.py install
python3 -m gns3server --local
```
You will have to manually install other software dependencies (see above), for Dynamips, VPCS and uBridge the easiest is to install from our PPA.
### Docker container
Alternatively, you can run the GNS3 server in a container
```shell
bash scripts/docker_dev_server.sh
```
### Running tests
First, install the development dependencies:
```shell
python3 -m pip install -r dev-requirements.txt
```
Then run the tests using pytest:
```shell
python3 -m pytest -vv tests/
```
### API documentation
The API documentation can be accessed when running the server locally:
* On `http://IP:PORT/docs` to see with Swagger UI (i.e. `http://localhost:3080/docs`)
* On `http://IP:PORT/redoc` to see with ReDoc (i.e. `http://localhost:3080/redoc`)
The documentation can also be viewed [online](http://apiv3.gns3.net) however it may not be the most up-to-date version since it needs manually synchronization with the current code. Also, you cannot use this to interact with a GNS3 server.
### Branches
#### master
master is the next stable release, you can test it in your day-to -day activities.
Bug fixes or small improvements pull requests go here.
3.x development brand for the next major release.
**Never** use this branch for production. Pull requests for major new features go here.
-236
View File
@@ -1,236 +0,0 @@
GNS3-server
===========
.. image:: https://github.com/GNS3/gns3-server/workflows/testing/badge.svg
:target: https://github.com/GNS3/gns3-server/actions?query=workflow%3Atesting
.. image:: https://img.shields.io/pypi/v/gns3-server.svg
:target: https://pypi.python.org/pypi/gns3-server
.. image:: https://snyk.io/test/github/GNS3/gns3-server/badge.svg
:target: https://snyk.io/test/github/GNS3/gns3-server
This is the GNS3 server repository.
The GNS3 server manages emulators such as Dynamips, VirtualBox or Qemu/KVM.
Clients like the `GNS3 GUI <https://github.com/GNS3/gns3-gui/>`_ and the `GNS3 Web UI <https://github.com/GNS3/gns3-web-ui>`_ control the server using a HTTP REST API.
Software dependencies
---------------------
In addition of Python dependencies listed in a section below, other software may be required, recommended or optional.
* `uBridge <https://github.com/GNS3/ubridge/>`_ is required, it interconnects the nodes.
* `Dynamips <https://github.com/GNS3/dynamips/>`_ is required for running IOS routers (using real IOS images) as well as the internal switches and hubs.
* `VPCS <https://github.com/GNS3/vpcs/>`_ is recommended, it is a builtin node simulating a very simple computer to perform connectitivy tests using ping, traceroute etc.
* Qemu is strongly recommended on Linux, as most node types are based on Qemu, for example Cisco IOSv and Arista vEOS.
* libvirt is recommended (Linux only), as it's needed for the NAT cloud.
* Docker is optional (Linux only), some nodes are based on Docker.
* mtools is recommended to support data transfer to/from QEMU VMs using virtual disks.
* i386-libraries of libc and libcrypto are optional (Linux only), they are only needed to run IOU based nodes.
Branches
--------
master
******
master is the next stable release, you can test it in your day to day activities.
Bug fixes or small improvements pull requests go here.
2.x (2.3 for example)
*********************
Next major release
*Never* use this branch for production. Pull requests for major new features go here.
Linux
-----
GNS3 is perhaps packaged for your distribution:
* Gentoo: https://packages.gentoo.org/package/net-misc/gns3-server
* Alpine: https://pkgs.alpinelinux.org/package/v3.10/community/x86_64/gns3-server
* NixOS: https://search.nixos.org/packages?channel=21.11&from=0&size=50&sort=relevance&type=packages&query=gns3-server
Linux (Debian based)
--------------------
The following instructions have been tested with Ubuntu and Mint.
You must be connected to the Internet in order to install the dependencies.
Dependencies:
- Python 3.6, setuptools and the ones listed `here <https://github.com/GNS3/gns3-server/blob/master/requirements.txt>`_
The following commands will install some of these dependencies:
.. code:: bash
sudo apt-get install python3-setuptools
Finally these commands will install the server as well as the rest of the dependencies:
.. code:: bash
cd gns3-server-master
sudo python3 setup.py install
gns3server
To run tests use:
.. code:: bash
py.test -v
Docker container
****************
For development you can run the GNS3 server in a container
.. code:: bash
bash scripts/docker_dev_server.sh
Run as daemon (Unix only)
**************************
You will find init sample scripts for various systems
inside the init directory.
Usefull options:
* --daemon: start process as a daemon
* --log logfile: store output in a logfile
* --pid pidfile: store the pid of the running process in a file and prevent double execution
All init scripts require the creation of a GNS3 user. You can change it to another user.
.. code:: bash
sudo adduser gns3
upstart
-------
For ubuntu < 15.04
You need to copy init/gns3.conf.upstart to /etc/init/gns3.conf
.. code:: bash
sudo chown root /etc/init/gns3.conf
sudo service gns3 start
systemd
-------
You need to copy init/gns3.service.systemd to /lib/systemd/system/gns3.service
.. code:: bash
sudo chown root /lib/systemd/system/gns3.service
sudo systemctl start gns3
Windows
-------
Please use our `all-in-one installer <https://community.gns3.com/software/download>`_ to install the stable build.
If you install via source you need to first install:
- Python (3.3 or above) - https://www.python.org/downloads/windows/
- Pywin32 - https://sourceforge.net/projects/pywin32/
Then you can call
.. code:: bash
python setup.py install
to install the remaining dependencies.
To run the tests, you also need to call
.. code:: bash
pip install pytest pytest-capturelog
before actually running the tests with
.. code:: bash
python setup.py test
or with
.. code:: bash
py.test -v
Mac OS X
--------
Please use our DMG package for a simple installation.
If you want to test the current git version or contribute to the project,
you can follow these instructions with virtualenwrapper: http://virtualenvwrapper.readthedocs.org/
and homebrew: http://brew.sh/.
.. code:: bash
brew install python3
mkvirtualenv gns3-server --python=/usr/local/bin/python3.5
python3 setup.py install
gns3server
SSL
---
If you want enable SSL support on GNS3 you can generate a self signed certificate:
.. code:: bash
bash gns3server/cert_utils/create_cert.sh
This command will put the files in ~/.config/GNS3/ssl
After you can start the server in SSL mode with:
.. code:: bash
python gns3server/main.py --certfile ~/.config/GNS3/ssl/server.cert --certkey ~/.config/GNS3/ssl/server.key --ssl
Or in your gns3_server.conf by adding in the Server section:
.. code:: ini
[Server]
certfile=/Users/noplay/.config/GNS3/ssl/server.cert
certkey=/Users/noplay/.config/GNS3/ssl/server.key
ssl=True
Running tests
*************
Just run:
.. code:: bash
py.test -vv
If you want test coverage:
.. code:: bash
py.test --cov-report term-missing --cov=gns3server
Security issues
----------------
Please contact us using contact form available here:
http://docs.gns3.com/1ON9JBXSeR7Nt2-Qum2o3ZX0GU86BZwlmNSUgvmqNWGY/index.html
-21
View File
@@ -1,21 +0,0 @@
version: '{build}-{branch}'
image: Visual Studio 2015
platform: x64
environment:
PYTHON: "C:\\Python37-x64"
DISTUTILS_USE_SDK: "1"
API_TOKEN:
secure: VEKn4bYH3QO0ixtQW5ni4Enmn8cS1NlZV246ludBDgQ=
install:
- cinst nmap
- "%PYTHON%\\python.exe -m pip install -r dev-requirements.txt"
- "%PYTHON%\\python.exe -m pip install -r win-requirements.txt"
build: off
test_script:
- "%PYTHON%\\python.exe -m pytest -v"
+58 -15
View File
@@ -1,17 +1,42 @@
[Controller]
; Options for JWT tokens (user authentication)
jwt_secret_key = efd08eccec3bd0a1be2e086670e5efa90969c68d07e072d7354a76cea5e33d4e
jwt_algorithm = HS256
jwt_access_token_expire_minutes = 1440
; Initial default super admin username
; It cannot be changed once the controller has started once
default_admin_username = admin
; Initial default super admin password
; It cannot be changed once the controller has started once
default_admin_password = admin
[Server]
; What protocol the server uses (http or https)
protocol = http
; IP where the server listen for connections
host = 0.0.0.0
; HTTP port for controlling the servers
port = 3080
; Option to enable SSL encryption
ssl = False
certfile=/home/gns3/.config/GNS3/ssl/server.cert
certkey=/home/gns3/.config/GNS3/ssl/server.key
; Secrets directory
secrets_dir = /home/gns3/.config/GNS3/secrets
; Options to enable SSL encryption
enable_ssl = False
certfile = /home/gns3/.config/GNS3/ssl/server.cert
certkey = /home/gns3/.config/GNS3/ssl/server.key
; Path where devices images are stored
images_path = /home/gns3/GNS3/images
; Additional paths to look for images
additional_images_paths = /opt/images;/mnt/disk1/images
; Path where user projects are stored
projects_path = /home/gns3/GNS3/projects
@@ -21,6 +46,14 @@ appliances_path = /home/gns3/GNS3/appliances
; Path where custom device symbols are stored
symbols_path = /home/gns3/GNS3/symbols
; Path where custom configs are stored
configs_path = /home/gns3/GNS3/configs
; Default symbol theme
; Currently available themes are "Classic", Affinity-square-blue", "Affinity-square-red"
; "Affinity-square-gray", "Affinity-circle-blue", "Affinity-circle-red" and "Affinity-circle-gray"
default_symbol_theme = Affinity-square-blue
; Option to automatically send crash reports to the GNS3 team
report_errors = True
@@ -44,12 +77,10 @@ udp_end_port_range = 30000
; uBridge executable location, default: search in PATH
;ubridge_path = ubridge
; Option to enable HTTP authentication.
auth = False
; Username for HTTP authentication.
user = gns3
; Password for HTTP authentication.
password = gns3
; Username for compute HTTP authentication.
compute_username = gns3
; Password for compute HTTP authentication.
compute_password = gns3
; Only allow these interfaces to be used by GNS3, for the Cloud node for example (Linux/OSX only)
; Do not forget to allow virbr0 in order for the NAT node to work
@@ -81,12 +112,24 @@ iourc_path = /home/gns3/.iourc
; Validate if the iourc license file is correct. If you turn this off and your licence is invalid IOU will not start and no errors will be shown.
license_check = True
[VirtualBox]
; Path to the VBoxManage binary used to manage VirtualBox
vboxmanage_path = vboxmanage
[VMware]
; Path to the vmrun binary used to manage VMware
vmrun_path = vmrun
vmnet_start_range = 2
vmnet_end_range = 255
block_host_traffic = False
[Qemu]
; !! Remember to add the gns3 user to the KVM group, otherwise you will not have read / write permissions to /dev/kvm !! (Linux only, has priority over enable_hardware_acceleration)
enable_kvm = True
; Require KVM to be installed in order to start VMs (Linux only, has priority over require_hardware_acceleration)
require_kvm = True
; Use Qemu monitor feature to communicate with Qemu VMs
enable_monitor = True
; IP used to listen for the monitor
monitor_host = 127.0.0.1
; !! Remember to add the gns3 user to the KVM group, otherwise you will not have read / write permissions to /dev/kvm !!
; Enable hardware acceleration (all platforms)
enable_hardware_acceleration = True
; Require hardware acceleration in order to start VMs (all platforms)
; Require hardware acceleration in order to start VMs
require_hardware_acceleration = False
+5 -5
View File
@@ -1,8 +1,8 @@
-rrequirements.txt
-r requirements.txt
pytest==7.0.1; python_version < '3.7' # last version to support Python 3.6
pytest==7.1.2; python_version >= '3.7'
pytest==7.1.2
flake8==5.0.4
pytest-timeout==2.1.0
pytest-aiohttp==0.3.0; python_version < '3.7' # last version to support Python 3.6
pytest-aiohttp==1.0.4; python_version >= '3.7'
pytest-asyncio==0.19.0
requests==2.28.1
httpx==0.23.0
+15
View File
@@ -0,0 +1,15 @@
version: '3.7'
services:
gns3server:
privileged: true
build:
context: .
dockerfile: Dockerfile
volumes:
- ./gns3server:/server/
- /var/run/docker.sock:/var/run/docker.sock
command: python3 -m gns3server --local --port 3080
ports:
- 3080:3080
- 5000-5100:5000-5100
+1
View File
@@ -0,0 +1 @@
apiv3.gns3.net
-177
View File
@@ -1,177 +0,0 @@
# Makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = _build
# User-friendly check for sphinx-build
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
endif
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " singlehtml to make a single large HTML file"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " devhelp to make HTML files and a Devhelp project"
@echo " epub to make an epub"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " latexpdf to make LaTeX files and run them through pdflatex"
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
@echo " text to make text files"
@echo " man to make manual pages"
@echo " texinfo to make Texinfo files"
@echo " info to make Texinfo files and run them through makeinfo"
@echo " gettext to make PO message catalogs"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " xml to make Docutils-native XML files"
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
clean:
rm -rf $(BUILDDIR)/*
html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
dirhtml:
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
singlehtml:
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
@echo
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
pickle:
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
@echo
@echo "Build finished; now you can process the pickle files."
json:
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
@echo
@echo "Build finished; now you can process the JSON files."
htmlhelp:
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in $(BUILDDIR)/htmlhelp."
qthelp:
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/GNS3.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/GNS3.qhc"
devhelp:
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
@echo
@echo "Build finished."
@echo "To view the help file:"
@echo "# mkdir -p $$HOME/.local/share/devhelp/GNS3"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/GNS3"
@echo "# devhelp"
epub:
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
@echo
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
latex:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
@echo "Run \`make' in that directory to run these through (pdf)latex" \
"(use \`make latexpdf' here to do that automatically)."
latexpdf:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through pdflatex..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
latexpdfja:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through platex and dvipdfmx..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
text:
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
@echo
@echo "Build finished. The text files are in $(BUILDDIR)/text."
man:
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
@echo
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
texinfo:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
@echo "Run \`make' in that directory to run these through makeinfo" \
"(use \`make info' here to do that automatically)."
info:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo "Running Texinfo files through makeinfo..."
make -C $(BUILDDIR)/texinfo info
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
gettext:
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
@echo
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
changes:
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
@echo
@echo "The overview file is in $(BUILDDIR)/changes."
linkcheck:
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in $(BUILDDIR)/linkcheck/output.txt."
doctest:
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in $(BUILDDIR)/doctest/output.txt."
xml:
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
@echo
@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
pseudoxml:
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
@echo
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
@@ -1,14 +0,0 @@
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80'
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80 HTTP/1.1
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:26:17 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}
@@ -1,14 +0,0 @@
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/a022e62a-a40b-42a5-8efd-3d8141806276'
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/a022e62a-a40b-42a5-8efd-3d8141806276 HTTP/1.1
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:25:49 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id}
@@ -1,14 +0,0 @@
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/8a5e5e38-6a8a-408a-9d8c-31315e11d6f2/adapters/0/ports/0/nio'
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/8a5e5e38-6a8a-408a-9d8c-31315e11d6f2/adapters/0/ports/0/nio HTTP/1.1
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:25:43 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
@@ -1,14 +0,0 @@
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/c5e6e56f-2698-4bae-9365-0a9f9efd3418/adapters/0/ports/0/nio'
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/c5e6e56f-2698-4bae-9365-0a9f9efd3418/adapters/0/ports/0/nio HTTP/1.1
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:25:50 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/docker/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
@@ -1,14 +0,0 @@
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/81f7488a-6a28-46f0-8b26-331906bdcf2e'
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/81f7488a-6a28-46f0-8b26-331906bdcf2e HTTP/1.1
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:25:57 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}
@@ -1,14 +0,0 @@
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/04e77370-e8a1-4c6c-9c2a-d7d9076a6f63/adapters/1/ports/0/nio'
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/04e77370-e8a1-4c6c-9c2a-d7d9076a6f63/adapters/1/ports/0/nio HTTP/1.1
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:25:59 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
@@ -1,14 +0,0 @@
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/b77c05e8-dd60-4772-aedf-066339baee14'
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/b77c05e8-dd60-4772-aedf-066339baee14 HTTP/1.1
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:26:16 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/nat/nodes/{node_id}
@@ -1,14 +0,0 @@
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/bd5f949e-b288-4e5f-97c7-f6a053898140/adapters/0/ports/0/nio'
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/bd5f949e-b288-4e5f-97c7-f6a053898140/adapters/0/ports/0/nio HTTP/1.1
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:26:10 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/nat/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
@@ -1,14 +0,0 @@
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/55307537-62a4-48ab-ac1c-ebd998794120'
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/55307537-62a4-48ab-ac1c-ebd998794120 HTTP/1.1
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:26:40 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}
@@ -1,14 +0,0 @@
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/ab332598-68ef-4ef6-bb29-d2f31a961273/adapters/1/ports/0/nio'
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/ab332598-68ef-4ef6-bb29-d2f31a961273/adapters/1/ports/0/nio HTTP/1.1
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:26:50 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
@@ -1,14 +0,0 @@
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/36979ca4-4892-4b3e-9202-2143e261d128'
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/36979ca4-4892-4b3e-9202-2143e261d128 HTTP/1.1
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:27:26 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}
@@ -1,14 +0,0 @@
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/09736166-0e3a-4fe5-b914-72151a6362e2/adapters/0/ports/0/nio'
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/09736166-0e3a-4fe5-b914-72151a6362e2/adapters/0/ports/0/nio HTTP/1.1
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:27:26 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
@@ -1,14 +0,0 @@
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/a0d3abeb-9538-4660-a6e5-677822f8f943/adapters/0/ports/0/nio'
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/a0d3abeb-9538-4660-a6e5-677822f8f943/adapters/0/ports/0/nio HTTP/1.1
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:27:28 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
@@ -1,14 +0,0 @@
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/90f57222-bdca-4d92-867c-de3f945f83f5/adapters/0/ports/0/nio'
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/90f57222-bdca-4d92-867c-de3f945f83f5/adapters/0/ports/0/nio HTTP/1.1
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:27:42 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
@@ -1,14 +0,0 @@
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/f84fd457-cc5c-4eb9-88b8-3ac691d1fe52'
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/f84fd457-cc5c-4eb9-88b8-3ac691d1fe52 HTTP/1.1
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:27:48 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}
@@ -1,14 +0,0 @@
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/358e43b9-c971-4a31-a42a-b62d18342bc6/adapters/0/ports/0/nio'
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/358e43b9-c971-4a31-a42a-b62d18342bc6/adapters/0/ports/0/nio HTTP/1.1
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:27:48 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
@@ -1,34 +0,0 @@
curl -i -X GET 'http://localhost:3080/v2/compute/capabilities'
GET /v2/compute/capabilities HTTP/1.1
HTTP/1.1 200
Connection: close
Content-Length: 366
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:25:43 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/capabilities
{
"node_types": [
"cloud",
"ethernet_hub",
"ethernet_switch",
"nat",
"vpcs",
"virtualbox",
"dynamips",
"frame_relay_switch",
"atm_switch",
"qemu",
"vmware",
"traceng",
"docker",
"iou"
],
"platform": "linuxdebian",
"version": "2.2.4dev1"
}
@@ -1,22 +0,0 @@
curl -i -X GET 'http://localhost:3080/v2/compute/iou/images'
GET /v2/compute/iou/images HTTP/1.1
HTTP/1.1 200
Connection: close
Content-Length: 149
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:25:59 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/iou/images
[
{
"filename": "iou.bin",
"filesize": 7,
"md5sum": "e573e8f5c93c6c00783f20c7a170aa6c",
"path": "iou.bin"
}
]
@@ -1,79 +0,0 @@
curl -i -X GET 'http://localhost:3080/v2/compute/network/interfaces'
GET /v2/compute/network/interfaces HTTP/1.1
HTTP/1.1 200
Connection: close
Content-Length: 1601
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:26:16 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/network/interfaces
[
{
"id": "docker0",
"ip_address": "172.17.0.1",
"mac_address": "02:42:0f:c7:42:69",
"name": "docker0",
"netmask": "255.255.0.0",
"special": true,
"type": "ethernet"
},
{
"id": "lo",
"ip_address": "127.0.0.1",
"mac_address": "00:00:00:00:00:00",
"name": "lo",
"netmask": "255.0.0.0",
"special": true,
"type": "ethernet"
},
{
"id": "virbr0",
"ip_address": "192.168.122.1",
"mac_address": "52:54:00:d4:71:01",
"name": "virbr0",
"netmask": "255.255.255.0",
"special": true,
"type": "ethernet"
},
{
"id": "virbr0-nic",
"ip_address": "",
"mac_address": "52:54:00:d4:71:01",
"name": "virbr0-nic",
"netmask": "",
"special": true,
"type": "ethernet"
},
{
"id": "vmnet1",
"ip_address": "172.16.9.1",
"mac_address": "00:50:56:c0:00:01",
"name": "vmnet1",
"netmask": "255.255.255.0",
"special": true,
"type": "ethernet"
},
{
"id": "vmnet8",
"ip_address": "192.168.193.1",
"mac_address": "00:50:56:c0:00:08",
"name": "vmnet8",
"netmask": "255.255.255.0",
"special": true,
"type": "ethernet"
},
{
"id": "wlp2s0",
"ip_address": "192.168.1.175",
"mac_address": "9c:b6:d0:99:3c:07",
"name": "wlp2s0",
"netmask": "255.255.255.0",
"special": false,
"type": "ethernet"
}
]
@@ -1,26 +0,0 @@
curl -i -X GET 'http://localhost:3080/v2/compute/projects'
GET /v2/compute/projects HTTP/1.1
HTTP/1.1 200
Connection: close
Content-Length: 252
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:26:17 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects
[
{
"name": "test",
"project_id": "51010203-0405-0607-0809-0a0b0c0d0e0f",
"variables": null
},
{
"name": "test",
"project_id": "52010203-0405-0607-0809-0a0b0c0d0e0b",
"variables": null
}
]
@@ -1,19 +0,0 @@
curl -i -X GET 'http://localhost:3080/v2/compute/projects/40010203-0405-0607-0809-0a0b0c0d0e02'
GET /v2/compute/projects/40010203-0405-0607-0809-0a0b0c0d0e02 HTTP/1.1
HTTP/1.1 200
Connection: close
Content-Length: 103
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:26:17 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}
{
"name": "test",
"project_id": "40010203-0405-0607-0809-0a0b0c0d0e02",
"variables": null
}
@@ -1,70 +0,0 @@
curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/75228bef-1806-41fc-8b73-1c5752870ac6'
GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/75228bef-1806-41fc-8b73-1c5752870ac6 HTTP/1.1
HTTP/1.1 200
Connection: close
Content-Length: 1406
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:25:43 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id}
{
"interfaces": [
{
"name": "docker0",
"special": true,
"type": "ethernet"
},
{
"name": "lo",
"special": true,
"type": "ethernet"
},
{
"name": "virbr0",
"special": true,
"type": "ethernet"
},
{
"name": "virbr0-nic",
"special": true,
"type": "ethernet"
},
{
"name": "vmnet1",
"special": true,
"type": "ethernet"
},
{
"name": "vmnet8",
"special": true,
"type": "ethernet"
},
{
"name": "wlp2s0",
"special": false,
"type": "ethernet"
}
],
"name": "Cloud 1",
"node_directory": "/tmp/pytest-of-grossmj/pytest-41/test_json4/project-files/builtin/75228bef-1806-41fc-8b73-1c5752870ac6",
"node_id": "75228bef-1806-41fc-8b73-1c5752870ac6",
"ports_mapping": [
{
"interface": "wlp2s0",
"name": "wlp2s0",
"port_number": 0,
"type": "ethernet"
}
],
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"remote_console_host": "",
"remote_console_http_path": "/",
"remote_console_port": 23,
"remote_console_type": "none",
"status": "started"
}
@@ -1,34 +0,0 @@
curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/a4155e63-9b40-4c8e-bbbc-d93aad187b07'
GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/a4155e63-9b40-4c8e-bbbc-d93aad187b07 HTTP/1.1
HTTP/1.1 200
Connection: close
Content-Length: 631
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:25:57 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}
{
"application_id": 1,
"command_line": "",
"console": 5004,
"console_type": "telnet",
"ethernet_adapters": 2,
"l1_keepalives": false,
"md5sum": "e573e8f5c93c6c00783f20c7a170aa6c",
"name": "PC TEST 1",
"node_directory": "/tmp/pytest-of-grossmj/pytest-41/test_json4/project-files/iou/a4155e63-9b40-4c8e-bbbc-d93aad187b07",
"node_id": "a4155e63-9b40-4c8e-bbbc-d93aad187b07",
"nvram": 128,
"path": "iou.bin",
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"ram": 256,
"serial_adapters": 2,
"status": "stopped",
"usage": "",
"use_default_iou_values": true
}
@@ -1,28 +0,0 @@
curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/f76e8c5c-0a0c-451d-a4ba-f01286d06a16'
GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/f76e8c5c-0a0c-451d-a4ba-f01286d06a16 HTTP/1.1
HTTP/1.1 200
Connection: close
Content-Length: 335
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:26:09 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/nat/nodes/{node_id}
{
"name": "Nat 1",
"node_id": "f76e8c5c-0a0c-451d-a4ba-f01286d06a16",
"ports_mapping": [
{
"interface": "virbr0",
"name": "nat0",
"port_number": 0,
"type": "ethernet"
}
],
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"status": "started"
}
@@ -1,59 +0,0 @@
curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/c54889dc-8163-4fa4-8e7c-14eca8dd6474'
GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/c54889dc-8163-4fa4-8e7c-14eca8dd6474 HTTP/1.1
HTTP/1.1 200
Connection: close
Content-Length: 1381
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:26:29 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}
{
"adapter_type": "e1000",
"adapters": 1,
"bios_image": "",
"bios_image_md5sum": null,
"boot_priority": "c",
"cdrom_image": "",
"cdrom_image_md5sum": null,
"command_line": "",
"console": 5004,
"console_type": "telnet",
"cpu_throttling": 0,
"cpus": 1,
"hda_disk_image": "",
"hda_disk_image_md5sum": null,
"hda_disk_interface": "ide",
"hdb_disk_image": "",
"hdb_disk_image_md5sum": null,
"hdb_disk_interface": "ide",
"hdc_disk_image": "",
"hdc_disk_image_md5sum": null,
"hdc_disk_interface": "ide",
"hdd_disk_image": "",
"hdd_disk_image_md5sum": null,
"hdd_disk_interface": "ide",
"initrd": "",
"initrd_md5sum": null,
"kernel_command_line": "",
"kernel_image": "",
"kernel_image_md5sum": null,
"legacy_networking": false,
"mac_address": "0c:dd:80:64:74:00",
"name": "PC TEST 1",
"node_directory": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/qemu/c54889dc-8163-4fa4-8e7c-14eca8dd6474",
"node_id": "c54889dc-8163-4fa4-8e7c-14eca8dd6474",
"on_close": "power_off",
"options": "",
"platform": "x86_64",
"process_priority": "low",
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"qemu_path": "/tmp/tmphb4tqqk2/qemu-system-x86_64",
"ram": 256,
"status": "stopped",
"usage": ""
}
@@ -1,26 +0,0 @@
curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/c03cc894-a5e9-4359-b85a-1fd917184de4'
GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/c03cc894-a5e9-4359-b85a-1fd917184de4 HTTP/1.1
HTTP/1.1 200
Connection: close
Content-Length: 443
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:27:26 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}
{
"command_line": "",
"console": null,
"console_type": "none",
"default_destination": "",
"ip_address": "",
"name": "TraceNG TEST 1",
"node_directory": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/traceng/c03cc894-a5e9-4359-b85a-1fd917184de4",
"node_id": "c03cc894-a5e9-4359-b85a-1fd917184de4",
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"status": "stopped"
}
@@ -1,32 +0,0 @@
curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/bcd3206f-3edd-4b44-b5c8-e40f4a5c8909'
GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/bcd3206f-3edd-4b44-b5c8-e40f4a5c8909 HTTP/1.1
HTTP/1.1 200
Connection: close
Content-Length: 483
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:27:27 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}
{
"adapter_type": "Intel PRO/1000 MT Desktop (82540EM)",
"adapters": 0,
"console": 5004,
"console_type": "telnet",
"headless": false,
"linked_clone": false,
"name": "VMTEST",
"node_directory": null,
"node_id": "bcd3206f-3edd-4b44-b5c8-e40f4a5c8909",
"on_close": "power_off",
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"ram": 0,
"status": "stopped",
"usage": "",
"use_any_adapter": false,
"vmname": "VMTEST"
}
@@ -1,31 +0,0 @@
curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/716f8727-4421-4ba9-9e24-031505533c36'
GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/716f8727-4421-4ba9-9e24-031505533c36 HTTP/1.1
HTTP/1.1 200
Connection: close
Content-Length: 611
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:27:29 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}
{
"adapter_type": "e1000",
"adapters": 0,
"console": 5004,
"console_type": "telnet",
"headless": false,
"linked_clone": false,
"name": "VMTEST",
"node_directory": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/vmware/716f8727-4421-4ba9-9e24-031505533c36",
"node_id": "716f8727-4421-4ba9-9e24-031505533c36",
"on_close": "power_off",
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"status": "stopped",
"usage": "",
"use_any_adapter": false,
"vmx_path": "/tmp/pytest-of-grossmj/pytest-41/test_vmware_get0/test.vmx"
}
@@ -1,24 +0,0 @@
curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/aa44ff6f-52fa-4bf9-9b93-2e73c9eb8071'
GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/aa44ff6f-52fa-4bf9-9b93-2e73c9eb8071 HTTP/1.1
HTTP/1.1 200
Connection: close
Content-Length: 384
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:27:47 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}
{
"command_line": "",
"console": 5004,
"console_type": "telnet",
"name": "PC TEST 1",
"node_directory": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/vpcs/aa44ff6f-52fa-4bf9-9b93-2e73c9eb8071",
"node_id": "aa44ff6f-52fa-4bf9-9b93-2e73c9eb8071",
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"status": "stopped"
}
@@ -1,32 +0,0 @@
curl -i -X GET 'http://localhost:3080/v2/compute/qemu/binaries' -d '{"archs": ["i386"]}'
GET /v2/compute/qemu/binaries HTTP/1.1
{
"archs": [
"i386"
]
}
HTTP/1.1 200
Connection: close
Content-Length: 212
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:26:55 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/qemu/binaries
[
{
"path": "/tmp/x86_64",
"version": "2.2.0"
},
{
"path": "/tmp/alpha",
"version": "2.1.0"
},
{
"path": "/tmp/i386",
"version": "2.1.0"
}
]
@@ -1,19 +0,0 @@
curl -i -X GET 'http://localhost:3080/v2/compute/qemu/capabilities'
GET /v2/compute/qemu/capabilities HTTP/1.1
HTTP/1.1 200
Connection: close
Content-Length: 39
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:27:19 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/qemu/capabilities
{
"kvm": [
"x86_64"
]
}
-18
View File
@@ -1,18 +0,0 @@
curl -i -X GET 'http://localhost:3080/v2/compute/version'
GET /v2/compute/version HTTP/1.1
HTTP/1.1 200
Connection: close
Content-Length: 49
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:27:25 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/version
{
"local": true,
"version": "2.2.4dev1"
}
@@ -1,22 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects' -d '{"name": "test", "project_id": "10010203-0405-0607-0809-0a0b0c0d0e0f"}'
POST /v2/compute/projects HTTP/1.1
{
"name": "test",
"project_id": "10010203-0405-0607-0809-0a0b0c0d0e0f"
}
HTTP/1.1 201
Connection: close
Content-Length: 103
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:26:17 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects
{
"name": "test",
"project_id": "10010203-0405-0607-0809-0a0b0c0d0e0f",
"variables": null
}
@@ -1,14 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/close' -d '{}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/close HTTP/1.1
{}
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:26:17 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/close
@@ -1,72 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes' -d '{"name": "Cloud 1"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes HTTP/1.1
{
"name": "Cloud 1"
}
HTTP/1.1 201
Connection: close
Content-Length: 1406
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:25:43 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/cloud/nodes
{
"interfaces": [
{
"name": "docker0",
"special": true,
"type": "ethernet"
},
{
"name": "lo",
"special": true,
"type": "ethernet"
},
{
"name": "virbr0",
"special": true,
"type": "ethernet"
},
{
"name": "virbr0-nic",
"special": true,
"type": "ethernet"
},
{
"name": "vmnet1",
"special": true,
"type": "ethernet"
},
{
"name": "vmnet8",
"special": true,
"type": "ethernet"
},
{
"name": "wlp2s0",
"special": false,
"type": "ethernet"
}
],
"name": "Cloud 1",
"node_directory": "/tmp/pytest-of-grossmj/pytest-41/test_json4/project-files/builtin/3cba86a4-73d7-4989-9c83-f0bb480ff950",
"node_id": "3cba86a4-73d7-4989-9c83-f0bb480ff950",
"ports_mapping": [
{
"interface": "wlp2s0",
"name": "wlp2s0",
"port_number": 0,
"type": "ethernet"
}
],
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"remote_console_host": "",
"remote_console_http_path": "/",
"remote_console_port": 23,
"remote_console_type": "none",
"status": "started"
}
@@ -1,25 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/5a669280-f313-421f-8d05-5cd30731964f/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/5a669280-f313-421f-8d05-5cd30731964f/adapters/0/ports/0/nio HTTP/1.1
{
"lport": 4242,
"rhost": "127.0.0.1",
"rport": 4343,
"type": "nio_udp"
}
HTTP/1.1 201
Connection: close
Content-Length: 89
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:25:43 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
{
"lport": 4242,
"rhost": "127.0.0.1",
"rport": 4343,
"type": "nio_udp"
}
@@ -1,20 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/3c524997-ecb4-43c8-b0eb-4978446be73d/adapters/0/ports/0/start_capture' -d '{"capture_file_name": "test.pcap", "data_link_type": "DLT_EN10MB"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/3c524997-ecb4-43c8-b0eb-4978446be73d/adapters/0/ports/0/start_capture HTTP/1.1
{
"capture_file_name": "test.pcap",
"data_link_type": "DLT_EN10MB"
}
HTTP/1.1 200
Connection: close
Content-Length: 104
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:25:49 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture
{
"pcap_file_path": "/tmp/pytest-of-grossmj/pytest-41/test_json4/project-files/captures/test.pcap"
}
@@ -1,14 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/5def67e9-a974-4da2-9cd3-17866ede1898/adapters/0/ports/0/stop_capture' -d '{}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/5def67e9-a974-4da2-9cd3-17866ede1898/adapters/0/ports/0/stop_capture HTTP/1.1
{}
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:25:49 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture
@@ -1,25 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/bfba66b2-35db-441e-8015-3041cf886105/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/bfba66b2-35db-441e-8015-3041cf886105/adapters/0/ports/0/nio HTTP/1.1
{
"lport": 4242,
"rhost": "127.0.0.1",
"rport": 4343,
"type": "nio_udp"
}
HTTP/1.1 201
Connection: close
Content-Length: 89
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:25:50 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/docker/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
{
"lport": 4242,
"rhost": "127.0.0.1",
"rport": 4343,
"type": "nio_udp"
}
@@ -1,20 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/937a4da0-7334-4fee-a351-5433acaaa298/adapters/0/ports/0/start_capture' -d '{"capture_file_name": "test.pcap", "data_link_type": "DLT_EN10MB"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/937a4da0-7334-4fee-a351-5433acaaa298/adapters/0/ports/0/start_capture HTTP/1.1
{
"capture_file_name": "test.pcap",
"data_link_type": "DLT_EN10MB"
}
HTTP/1.1 200
Connection: close
Content-Length: 104
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:25:51 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/docker/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture
{
"pcap_file_path": "/tmp/pytest-of-grossmj/pytest-41/test_json4/project-files/captures/test.pcap"
}
@@ -1,14 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/e44e037c-3b3e-4172-aff7-b9bb510646c6/adapters/0/ports/0/stop_capture' -d '{}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/e44e037c-3b3e-4172-aff7-b9bb510646c6/adapters/0/ports/0/stop_capture HTTP/1.1
{}
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:25:51 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/docker/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture
@@ -1,17 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/c5f0877d-6201-4fe8-8c0b-aaeb84222bee/duplicate' -d '{"destination_node_id": "72462999-933a-4be7-9ef5-0528f04c3870"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/c5f0877d-6201-4fe8-8c0b-aaeb84222bee/duplicate HTTP/1.1
{
"destination_node_id": "72462999-933a-4be7-9ef5-0528f04c3870"
}
HTTP/1.1 201
Connection: close
Content-Length: 4
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:25:51 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/docker/nodes/{node_id}/duplicate
true
@@ -1,39 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes' -d '{"name": "PC TEST 1", "node_id": "0de29446-fa90-4e91-89f3-5ea84860f212", "path": "iou.bin", "startup_config_content": "hostname test"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes HTTP/1.1
{
"name": "PC TEST 1",
"node_id": "0de29446-fa90-4e91-89f3-5ea84860f212",
"path": "iou.bin",
"startup_config_content": "hostname test"
}
HTTP/1.1 201
Connection: close
Content-Length: 631
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:25:56 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/iou/nodes
{
"application_id": 1,
"command_line": "",
"console": 5004,
"console_type": "telnet",
"ethernet_adapters": 2,
"l1_keepalives": false,
"md5sum": "e573e8f5c93c6c00783f20c7a170aa6c",
"name": "PC TEST 1",
"node_directory": "/tmp/pytest-of-grossmj/pytest-41/test_json4/project-files/iou/0de29446-fa90-4e91-89f3-5ea84860f212",
"node_id": "0de29446-fa90-4e91-89f3-5ea84860f212",
"nvram": 128,
"path": "iou.bin",
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"ram": 256,
"serial_adapters": 2,
"status": "stopped",
"usage": "",
"use_default_iou_values": true
}
@@ -1,21 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/fadca255-3eb8-44fa-9a14-31c52604d094/adapters/1/ports/0/nio' -d '{"ethernet_device": "docker0", "type": "nio_ethernet"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/fadca255-3eb8-44fa-9a14-31c52604d094/adapters/1/ports/0/nio HTTP/1.1
{
"ethernet_device": "docker0",
"type": "nio_ethernet"
}
HTTP/1.1 201
Connection: close
Content-Length: 64
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:25:58 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
{
"ethernet_device": "docker0",
"type": "nio_ethernet"
}
@@ -1,20 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/b63d611d-066b-4673-ad6c-c0e8a93cedbb/adapters/0/ports/0/start_capture' -d '{"capture_file_name": "test.pcap", "data_link_type": "DLT_EN10MB"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/b63d611d-066b-4673-ad6c-c0e8a93cedbb/adapters/0/ports/0/start_capture HTTP/1.1
{
"capture_file_name": "test.pcap",
"data_link_type": "DLT_EN10MB"
}
HTTP/1.1 200
Connection: close
Content-Length: 104
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:25:59 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture
{
"pcap_file_path": "/tmp/pytest-of-grossmj/pytest-41/test_json4/project-files/captures/test.pcap"
}
@@ -1,14 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/73ab14a4-9338-4428-89a7-bce3d8daf1eb/adapters/0/ports/0/stop_capture' -d '{}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/73ab14a4-9338-4428-89a7-bce3d8daf1eb/adapters/0/ports/0/stop_capture HTTP/1.1
{}
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:25:59 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture
@@ -1,17 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/12cd096f-f0c1-45f9-ac57-360f1d379c48/duplicate' -d '{"destination_node_id": "3949cfaa-2574-4064-a088-5f48ae784e9b"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/12cd096f-f0c1-45f9-ac57-360f1d379c48/duplicate HTTP/1.1
{
"destination_node_id": "3949cfaa-2574-4064-a088-5f48ae784e9b"
}
HTTP/1.1 201
Connection: close
Content-Length: 4
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:26:09 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/duplicate
true
@@ -1,14 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/c9e6143c-cf69-416d-8935-8af81fb8ff1d/reload' -d '{}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/c9e6143c-cf69-416d-8935-8af81fb8ff1d/reload HTTP/1.1
{}
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:25:57 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/reload
@@ -1,36 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/03423f2a-311d-4436-8c9a-8b34945f6cd2/start' -d '{"iourc_content": "test"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/03423f2a-311d-4436-8c9a-8b34945f6cd2/start HTTP/1.1
{
"iourc_content": "test"
}
HTTP/1.1 200
Connection: close
Content-Length: 631
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:25:57 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/start
{
"application_id": 1,
"command_line": "",
"console": 5004,
"console_type": "telnet",
"ethernet_adapters": 2,
"l1_keepalives": false,
"md5sum": "e573e8f5c93c6c00783f20c7a170aa6c",
"name": "PC TEST 1",
"node_directory": "/tmp/pytest-of-grossmj/pytest-41/test_json4/project-files/iou/03423f2a-311d-4436-8c9a-8b34945f6cd2",
"node_id": "03423f2a-311d-4436-8c9a-8b34945f6cd2",
"nvram": 128,
"path": "iou.bin",
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"ram": 256,
"serial_adapters": 2,
"status": "stopped",
"usage": "",
"use_default_iou_values": true
}
@@ -1,14 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/5fcb7418-3e0c-4a47-8cff-c5e0b3e68000/stop' -d '{}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/5fcb7418-3e0c-4a47-8cff-c5e0b3e68000/stop HTTP/1.1
{}
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:25:57 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/stop
@@ -1,30 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes' -d '{"name": "Nat 1"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes HTTP/1.1
{
"name": "Nat 1"
}
HTTP/1.1 201
Connection: close
Content-Length: 335
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:26:09 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/nat/nodes
{
"name": "Nat 1",
"node_id": "4b2c0443-0726-4507-a30b-7ac535b1bbaf",
"ports_mapping": [
{
"interface": "virbr0",
"name": "nat0",
"port_number": 0,
"type": "ethernet"
}
],
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"status": "started"
}
@@ -1,25 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/d8f89cb0-b60f-404a-8431-af581957e29c/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/d8f89cb0-b60f-404a-8431-af581957e29c/adapters/0/ports/0/nio HTTP/1.1
{
"lport": 4242,
"rhost": "127.0.0.1",
"rport": 4343,
"type": "nio_udp"
}
HTTP/1.1 201
Connection: close
Content-Length: 89
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:26:09 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/nat/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
{
"lport": 4242,
"rhost": "127.0.0.1",
"rport": 4343,
"type": "nio_udp"
}
@@ -1,20 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/bc78e678-408d-4d03-9670-c29da452f6c7/adapters/0/ports/0/start_capture' -d '{"capture_file_name": "test.pcap", "data_link_type": "DLT_EN10MB"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/bc78e678-408d-4d03-9670-c29da452f6c7/adapters/0/ports/0/start_capture HTTP/1.1
{
"capture_file_name": "test.pcap",
"data_link_type": "DLT_EN10MB"
}
HTTP/1.1 200
Connection: close
Content-Length: 104
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:26:16 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/nat/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture
{
"pcap_file_path": "/tmp/pytest-of-grossmj/pytest-41/test_json4/project-files/captures/test.pcap"
}
@@ -1,14 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/da53ab8a-106c-48a9-ba35-48167fb1b6d1/adapters/0/ports/0/stop_capture' -d '{}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/da53ab8a-106c-48a9-ba35-48167fb1b6d1/adapters/0/ports/0/stop_capture HTTP/1.1
{}
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:26:16 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/nat/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture
@@ -1,17 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/ports/udp' -d '{}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/ports/udp HTTP/1.1
{}
HTTP/1.1 201
Connection: close
Content-Length: 25
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:26:16 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/ports/udp
{
"udp_port": 20000
}
@@ -1,63 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes' -d '{"hda_disk_image": "hello.img", "name": "PC TEST 1", "qemu_path": "/tmp/tmphb4tqqk2/qemu-system-x86_64"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes HTTP/1.1
{
"hda_disk_image": "hello.img",
"name": "PC TEST 1",
"qemu_path": "/tmp/tmphb4tqqk2/qemu-system-x86_64"
}
HTTP/1.1 201
Connection: close
Content-Length: 1420
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:26:28 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes
{
"adapter_type": "e1000",
"adapters": 1,
"bios_image": "",
"bios_image_md5sum": null,
"boot_priority": "c",
"cdrom_image": "",
"cdrom_image_md5sum": null,
"command_line": "",
"console": 5004,
"console_type": "telnet",
"cpu_throttling": 0,
"cpus": 1,
"hda_disk_image": "hello.img",
"hda_disk_image_md5sum": "7d793037a0760186574b0282f2f435e7",
"hda_disk_interface": "ide",
"hdb_disk_image": "",
"hdb_disk_image_md5sum": null,
"hdb_disk_interface": "ide",
"hdc_disk_image": "",
"hdc_disk_image_md5sum": null,
"hdc_disk_interface": "ide",
"hdd_disk_image": "",
"hdd_disk_image_md5sum": null,
"hdd_disk_interface": "ide",
"initrd": "",
"initrd_md5sum": null,
"kernel_command_line": "",
"kernel_image": "",
"kernel_image_md5sum": null,
"legacy_networking": false,
"mac_address": "0c:dd:80:dd:e2:00",
"name": "PC TEST 1",
"node_directory": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/qemu/2320a0b9-ed9b-45d9-9bef-c6d13bd9dde2",
"node_id": "2320a0b9-ed9b-45d9-9bef-c6d13bd9dde2",
"on_close": "power_off",
"options": "",
"platform": "x86_64",
"process_priority": "low",
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"qemu_path": "/tmp/tmphb4tqqk2/qemu-system-x86_64",
"ram": 256,
"status": "stopped",
"usage": ""
}
@@ -1,25 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/5048489f-46b4-4720-bee9-f4cf1ec7af49/adapters/1/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/5048489f-46b4-4720-bee9-f4cf1ec7af49/adapters/1/ports/0/nio HTTP/1.1
{
"lport": 4242,
"rhost": "127.0.0.1",
"rport": 4343,
"type": "nio_udp"
}
HTTP/1.1 201
Connection: close
Content-Length: 89
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:26:44 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
{
"lport": 4242,
"rhost": "127.0.0.1",
"rport": 4343,
"type": "nio_udp"
}
@@ -1,20 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/40fc7ce3-f4fe-469e-a94a-fb95906d9e22/adapters/0/ports/0/start_capture' -d '{"capture_file_name": "test.pcap", "data_link_type": "DLT_EN10MB"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/40fc7ce3-f4fe-469e-a94a-fb95906d9e22/adapters/0/ports/0/start_capture HTTP/1.1
{
"capture_file_name": "test.pcap",
"data_link_type": "DLT_EN10MB"
}
HTTP/1.1 200
Connection: close
Content-Length: 123
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:27:24 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture
{
"pcap_file_path": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/captures/test.pcap"
}
@@ -1,14 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/4258adbd-3115-4b8f-b751-cb117dcff450/adapters/0/ports/0/stop_capture' -d '{}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/4258adbd-3115-4b8f-b751-cb117dcff450/adapters/0/ports/0/stop_capture HTTP/1.1
{}
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:27:24 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture
@@ -1,17 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/839fb609-bd90-4a20-b496-6e225594c697/duplicate' -d '{"destination_node_id": "eb9e761d-0029-4644-b586-dc903e7abd71"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/839fb609-bd90-4a20-b496-6e225594c697/duplicate HTTP/1.1
{
"destination_node_id": "eb9e761d-0029-4644-b586-dc903e7abd71"
}
HTTP/1.1 201
Connection: close
Content-Length: 4
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:27:21 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/duplicate
true
@@ -1,14 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/314c42be-e138-42f3-a59e-a7c3c2e6514f/reload' -d '{}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/314c42be-e138-42f3-a59e-a7c3c2e6514f/reload HTTP/1.1
{}
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:26:33 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/reload
@@ -1,14 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/ad58dbd9-6558-4750-bec5-1de4cf77ed70/resume' -d '{}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/ad58dbd9-6558-4750-bec5-1de4cf77ed70/resume HTTP/1.1
{}
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:26:35 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/resume
@@ -1,59 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/9a4b2f04-74a6-4528-a6a7-b02365417fe9/start' -d '{}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/9a4b2f04-74a6-4528-a6a7-b02365417fe9/start HTTP/1.1
{}
HTTP/1.1 200
Connection: close
Content-Length: 1381
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:26:30 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/start
{
"adapter_type": "e1000",
"adapters": 1,
"bios_image": "",
"bios_image_md5sum": null,
"boot_priority": "c",
"cdrom_image": "",
"cdrom_image_md5sum": null,
"command_line": "",
"console": 5004,
"console_type": "telnet",
"cpu_throttling": 0,
"cpus": 1,
"hda_disk_image": "",
"hda_disk_image_md5sum": null,
"hda_disk_interface": "ide",
"hdb_disk_image": "",
"hdb_disk_image_md5sum": null,
"hdb_disk_interface": "ide",
"hdc_disk_image": "",
"hdc_disk_image_md5sum": null,
"hdc_disk_interface": "ide",
"hdd_disk_image": "",
"hdd_disk_image_md5sum": null,
"hdd_disk_interface": "ide",
"initrd": "",
"initrd_md5sum": null,
"kernel_command_line": "",
"kernel_image": "",
"kernel_image_md5sum": null,
"legacy_networking": false,
"mac_address": "0c:dd:80:7f:e9:00",
"name": "PC TEST 1",
"node_directory": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/qemu/9a4b2f04-74a6-4528-a6a7-b02365417fe9",
"node_id": "9a4b2f04-74a6-4528-a6a7-b02365417fe9",
"on_close": "power_off",
"options": "",
"platform": "x86_64",
"process_priority": "low",
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"qemu_path": "/tmp/tmphb4tqqk2/qemu-system-x86_64",
"ram": 256,
"status": "stopped",
"usage": ""
}
@@ -1,14 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/6aacea07-76ca-4fb9-94d2-24da00e33037/stop' -d '{}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/6aacea07-76ca-4fb9-94d2-24da00e33037/stop HTTP/1.1
{}
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:26:31 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/stop
@@ -1,14 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/073074f6-83d4-40b4-8042-771b3df49f60/suspend' -d '{}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/073074f6-83d4-40b4-8042-771b3df49f60/suspend HTTP/1.1
{}
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:26:33 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/suspend
@@ -1,28 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes' -d '{"name": "TraceNG TEST 1"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes HTTP/1.1
{
"name": "TraceNG TEST 1"
}
HTTP/1.1 201
Connection: close
Content-Length: 443
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:27:26 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/traceng/nodes
{
"command_line": "",
"console": null,
"console_type": "none",
"default_destination": "",
"ip_address": "",
"name": "TraceNG TEST 1",
"node_directory": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/traceng/f27f5247-e419-4404-9150-b1bb9306d783",
"node_id": "f27f5247-e419-4404-9150-b1bb9306d783",
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"status": "stopped"
}
@@ -1,25 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/243bc8d3-6531-4e9e-99c6-23ad9a4898c8/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/243bc8d3-6531-4e9e-99c6-23ad9a4898c8/adapters/0/ports/0/nio HTTP/1.1
{
"lport": 4242,
"rhost": "127.0.0.1",
"rport": 4343,
"type": "nio_udp"
}
HTTP/1.1 201
Connection: close
Content-Length: 89
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:27:26 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
{
"lport": 4242,
"rhost": "127.0.0.1",
"rport": 4343,
"type": "nio_udp"
}
@@ -1,20 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/770d23d8-e568-4fc4-8497-216c2e129d53/adapters/0/ports/0/start_capture' -d '{"capture_file_name": "test.pcap", "data_link_type": "DLT_EN10MB"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/770d23d8-e568-4fc4-8497-216c2e129d53/adapters/0/ports/0/start_capture HTTP/1.1
{
"capture_file_name": "test.pcap",
"data_link_type": "DLT_EN10MB"
}
HTTP/1.1 200
Connection: close
Content-Length: 123
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:27:27 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture
{
"pcap_file_path": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/captures/test.pcap"
}
@@ -1,14 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/2a0e5c7d-6773-45a3-886c-d19e329eaeba/adapters/0/ports/0/stop_capture' -d '{}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/2a0e5c7d-6773-45a3-886c-d19e329eaeba/adapters/0/ports/0/stop_capture HTTP/1.1
{}
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:27:27 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture
@@ -1,17 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/fe70324f-78a3-4ada-a675-bd693250d403/duplicate' -d '{"destination_node_id": "64e0db26-82e6-416a-ac11-97add4614131"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/fe70324f-78a3-4ada-a675-bd693250d403/duplicate HTTP/1.1
{
"destination_node_id": "64e0db26-82e6-416a-ac11-97add4614131"
}
HTTP/1.1 201
Connection: close
Content-Length: 4
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:27:27 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/duplicate
true
@@ -1,14 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/d12252b3-0698-441d-b7a8-cf0f5c8de536/reload' -d '{}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/d12252b3-0698-441d-b7a8-cf0f5c8de536/reload HTTP/1.1
{}
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:27:26 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/reload
@@ -1,28 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/9ba1f859-a8f5-46b7-beda-ce49116bdce7/start' -d '{"destination": "192.168.1.2"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/9ba1f859-a8f5-46b7-beda-ce49116bdce7/start HTTP/1.1
{
"destination": "192.168.1.2"
}
HTTP/1.1 200
Connection: close
Content-Length: 443
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:27:26 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/start
{
"command_line": "",
"console": null,
"console_type": "none",
"default_destination": "",
"ip_address": "",
"name": "TraceNG TEST 1",
"node_directory": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/traceng/9ba1f859-a8f5-46b7-beda-ce49116bdce7",
"node_id": "9ba1f859-a8f5-46b7-beda-ce49116bdce7",
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"status": "stopped"
}
@@ -1,14 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/797b0b03-d612-437a-91cc-f6b6a2e1341f/stop' -d '{}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/797b0b03-d612-437a-91cc-f6b6a2e1341f/stop HTTP/1.1
{}
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:27:26 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/stop
@@ -1,36 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes' -d '{"linked_clone": false, "name": "VM1", "vmname": "VM1"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes HTTP/1.1
{
"linked_clone": false,
"name": "VM1",
"vmname": "VM1"
}
HTTP/1.1 201
Connection: close
Content-Length: 477
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:27:27 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes
{
"adapter_type": "Intel PRO/1000 MT Desktop (82540EM)",
"adapters": 0,
"console": 5004,
"console_type": "telnet",
"headless": false,
"linked_clone": false,
"name": "VM1",
"node_directory": null,
"node_id": "e7a8f831-0fb0-4946-a188-d3ac4112e097",
"on_close": "power_off",
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"ram": 0,
"status": "stopped",
"usage": "",
"use_any_adapter": false,
"vmname": "VM1"
}
@@ -1,25 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/85a79b7b-1c7a-49a9-bdda-b97c036420b5/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/85a79b7b-1c7a-49a9-bdda-b97c036420b5/adapters/0/ports/0/nio HTTP/1.1
{
"lport": 4242,
"rhost": "127.0.0.1",
"rport": 4343,
"type": "nio_udp"
}
HTTP/1.1 201
Connection: close
Content-Length: 89
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:27:27 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
{
"lport": 4242,
"rhost": "127.0.0.1",
"rport": 4343,
"type": "nio_udp"
}
@@ -1,20 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/e99d891a-06ed-4923-9110-4dfae366af6d/adapters/0/ports/0/start_capture' -d '{"capture_file_name": "test.pcap", "data_link_type": "DLT_EN10MB"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/e99d891a-06ed-4923-9110-4dfae366af6d/adapters/0/ports/0/start_capture HTTP/1.1
{
"capture_file_name": "test.pcap",
"data_link_type": "DLT_EN10MB"
}
HTTP/1.1 200
Connection: close
Content-Length: 123
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:27:28 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture
{
"pcap_file_path": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/captures/test.pcap"
}
@@ -1,14 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/27bdd057-dedc-424e-9593-3ea522aa7d1f/adapters/0/ports/0/stop_capture' -d '{}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/27bdd057-dedc-424e-9593-3ea522aa7d1f/adapters/0/ports/0/stop_capture HTTP/1.1
{}
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:27:28 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture
@@ -1,14 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/2e55edb4-1f15-4b41-8107-bf931e81f779/reload' -d '{}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/2e55edb4-1f15-4b41-8107-bf931e81f779/reload HTTP/1.1
{}
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:27:27 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/reload
@@ -1,14 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/7e8bf660-9d03-4005-80b6-f63666aa1a1d/resume' -d '{}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/7e8bf660-9d03-4005-80b6-f63666aa1a1d/resume HTTP/1.1
{}
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:27:27 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/resume
@@ -1,14 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/311dba8a-1030-46da-94d8-76cf6430cc5e/start' -d '{}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/311dba8a-1030-46da-94d8-76cf6430cc5e/start HTTP/1.1
{}
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:27:27 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/start
@@ -1,14 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/40d1d4a5-7e95-41fc-8c51-1883dc9eb71b/stop' -d '{}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/40d1d4a5-7e95-41fc-8c51-1883dc9eb71b/stop HTTP/1.1
{}
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:27:27 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/stop
@@ -1,14 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/079cef97-d46e-4033-b1b5-96e032817a0e/suspend' -d '{}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/079cef97-d46e-4033-b1b5-96e032817a0e/suspend HTTP/1.1
{}
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:27:27 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/suspend
@@ -1,35 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes' -d '{"linked_clone": false, "name": "VM1", "vmx_path": "/tmp/pytest-of-grossmj/pytest-41/test_vmware_create0/test.vmx"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes HTTP/1.1
{
"linked_clone": false,
"name": "VM1",
"vmx_path": "/tmp/pytest-of-grossmj/pytest-41/test_vmware_create0/test.vmx"
}
HTTP/1.1 201
Connection: close
Content-Length: 611
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:27:28 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/vmware/nodes
{
"adapter_type": "e1000",
"adapters": 0,
"console": 5004,
"console_type": "telnet",
"headless": false,
"linked_clone": false,
"name": "VM1",
"node_directory": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/vmware/1008243f-21b0-4861-8f06-0622df304234",
"node_id": "1008243f-21b0-4861-8f06-0622df304234",
"on_close": "power_off",
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
"status": "stopped",
"usage": "",
"use_any_adapter": false,
"vmx_path": "/tmp/pytest-of-grossmj/pytest-41/test_vmware_create0/test.vmx"
}
@@ -1,25 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/6eee4673-dd85-41f9-b721-9a6f84902465/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/6eee4673-dd85-41f9-b721-9a6f84902465/adapters/0/ports/0/nio HTTP/1.1
{
"lport": 4242,
"rhost": "127.0.0.1",
"rport": 4343,
"type": "nio_udp"
}
HTTP/1.1 201
Connection: close
Content-Length: 89
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:27:40 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
{
"lport": 4242,
"rhost": "127.0.0.1",
"rport": 4343,
"type": "nio_udp"
}
@@ -1,20 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/718eb5f5-e914-424d-b720-d95f5061c0c7/adapters/0/ports/0/start_capture' -d '{"capture_file_name": "test.pcap", "data_link_type": "DLT_EN10MB"}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/718eb5f5-e914-424d-b720-d95f5061c0c7/adapters/0/ports/0/start_capture HTTP/1.1
{
"capture_file_name": "test.pcap",
"data_link_type": "DLT_EN10MB"
}
HTTP/1.1 200
Connection: close
Content-Length: 123
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:27:44 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture
{
"pcap_file_path": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/captures/test.pcap"
}
@@ -1,14 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/71dadac9-4a0d-4168-af91-0fc095332a34/adapters/0/ports/0/stop_capture' -d '{}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/71dadac9-4a0d-4168-af91-0fc095332a34/adapters/0/ports/0/stop_capture HTTP/1.1
{}
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:27:45 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture
@@ -1,14 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/39cf5ac2-d3d8-4361-bf81-d40d30efb8e6/reload' -d '{}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/39cf5ac2-d3d8-4361-bf81-d40d30efb8e6/reload HTTP/1.1
{}
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:27:39 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/reload
@@ -1,14 +0,0 @@
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/6c15cc59-17d8-46d3-90ea-28e0ef5d6de9/resume' -d '{}'
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/6c15cc59-17d8-46d3-90ea-28e0ef5d6de9/resume HTTP/1.1
{}
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:27:38 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/resume
Loaded 100 of 1094 files, more files were not shown because too many files have changed in this diff. Show more