mirror of
https://github.com/GNS3/gns3-server.git
synced 2025-04-24 04:55:47 +00:00
Compare commits
51 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
bd3657d8f3 | ||
|
4418d6bb2b | ||
|
dbcafdd314 | ||
|
4dd1803a70 | ||
|
99272fb7e0 | ||
|
a24d2e25ed | ||
|
a5a663bc99 | ||
|
2b7eb91694 | ||
|
684770a220 | ||
|
f6546bf1de | ||
|
355b97398b | ||
|
6242a0be80 | ||
|
18413c923c | ||
|
ffd628902c | ||
|
ca34053125 | ||
|
d06f93e772 | ||
|
0e89ff56a8 | ||
|
f00f21c4bd | ||
|
2e9127449c | ||
|
483719568f | ||
|
018598a300 | ||
|
e262a46cfd | ||
|
00bf1c028b | ||
|
21ebb934f4 | ||
|
2ecd2cfe3b | ||
|
ce4b3091dd | ||
|
f722816849 | ||
|
4cb38b23eb | ||
|
f3e46227d8 | ||
|
185cd01e19 | ||
|
369fcaa512 | ||
|
7b7d3d676f | ||
|
d1186b2acc | ||
|
bd58196817 | ||
|
ccc8974d92 | ||
|
0090ff3722 | ||
|
2c727c6bd2 | ||
|
13b0caef4f | ||
|
8ed1fa6ad5 | ||
|
a689a55937 | ||
|
1c0b0ae423 | ||
|
ad7813d04b | ||
|
685bf88005 | ||
|
a1090a3da8 | ||
|
c8e5b41f39 | ||
|
94b5d3e636 | ||
|
e94b55e3bf | ||
|
1a6a729736 | ||
|
77c356c82c | ||
|
b4819b5500 | ||
|
11a9451098 |
12
.github/workflows/testing.yml
vendored
12
.github/workflows/testing.yml
vendored
@ -4,11 +4,11 @@ on:
|
|||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
- 3.0
|
- 2.2
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
- 3.0
|
- 2.2
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
@ -18,7 +18,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: ["ubuntu-latest"]
|
os: ["ubuntu-latest"]
|
||||||
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
|
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
|
||||||
#include:
|
#include:
|
||||||
# only test with Python 3.10 on Windows
|
# only test with Python 3.10 on Windows
|
||||||
# - os: windows-latest
|
# - os: windows-latest
|
||||||
@ -30,12 +30,10 @@ jobs:
|
|||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: ${{ matrix.python-version }}
|
python-version: ${{ matrix.python-version }}
|
||||||
- name: Display Python version
|
|
||||||
run: python -c "import sys; print(sys.version)"
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
python -m pip install --upgrade pip
|
python -m pip install --upgrade pip
|
||||||
python -m pip install .[dev]
|
python -m pip install -r dev-requirements.txt
|
||||||
|
|
||||||
- name: Install Windows specific dependencies
|
- name: Install Windows specific dependencies
|
||||||
if: runner.os == 'Windows'
|
if: runner.os == 'Windows'
|
||||||
@ -52,4 +50,4 @@ jobs:
|
|||||||
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
||||||
- name: Test with pytest
|
- name: Test with pytest
|
||||||
run: |
|
run: |
|
||||||
python -m pytest -vv
|
pytest -vv
|
||||||
|
7
.gitignore
vendored
7
.gitignore
vendored
@ -5,12 +5,6 @@ __pycache__
|
|||||||
#py.test
|
#py.test
|
||||||
.cache
|
.cache
|
||||||
|
|
||||||
# environment file
|
|
||||||
.env
|
|
||||||
|
|
||||||
# hypothesis files
|
|
||||||
.hypothesis
|
|
||||||
|
|
||||||
# C extensions
|
# C extensions
|
||||||
*.so
|
*.so
|
||||||
|
|
||||||
@ -65,5 +59,4 @@ startup.vpcs
|
|||||||
# Virtualenv
|
# Virtualenv
|
||||||
env
|
env
|
||||||
venv
|
venv
|
||||||
*venv
|
|
||||||
.ropeproject
|
.ropeproject
|
||||||
|
345
CHANGELOG
345
CHANGELOG
@ -1,46 +1,38 @@
|
|||||||
# Change Log
|
# Change Log
|
||||||
|
|
||||||
## 3.0.1 27/12/2024
|
## 2.2.54 21/04/2025
|
||||||
|
|
||||||
* Bundle web-ui v3.0.1
|
* Bundle web-ui v2.2.54
|
||||||
* Allow for upgrading built-in disks
|
* Add new method to find the IP address of a VBox GNS3 VM + allow NAT Network
|
||||||
* Fix config parsing when configuring server protocol. Fixes https://github.com/GNS3/gns3-gui/issues/3681
|
* Add edk2-stable202502 UEFI firmwares and try to first use firmwares from the ovmf package if installed. Fixes #2494
|
||||||
* Update empty Qemu disks with correct MD5 checksums
|
* Try to detect swtpm and AppArmor issue. Ref https://github.com/GNS3/gns3-gui/issues/3725
|
||||||
* Increase timeout to run compute HTTP queries. Fixes #3453
|
* Fix Docker logs decoding. Ref #2522
|
||||||
|
* Add delay after starting a Docker container and adding connections in uBridge. Ref #2522
|
||||||
|
* Fix TypeError when reading Docker container logs. Ref #2522
|
||||||
|
* Replace "Docker hub" by "Docker repository" because it is possible to use different repositories
|
||||||
|
* Upgrade dependencies
|
||||||
|
* Improvements for remote-install.sh
|
||||||
|
|
||||||
## 3.0.0 20/12/2024
|
|
||||||
|
|
||||||
* Bundle web-ui v3.0.0
|
## 2.2.53 21/01/2025
|
||||||
* Use static favicon for API docs. Ref #3674
|
|
||||||
* Configure self-hosting JavaScript and CSS for docs
|
* Bundle web-ui v2.2.53
|
||||||
* Fix project auto open feature. Fixes #2455
|
* Add more information when patching .vbox file. Ref https://github.com/GNS3/gns3-gui/issues/3542
|
||||||
* Store IOU licence in the secrets directory and disable the check by default
|
* Increase timeout to run compute HTTP queries. Fixes #2461
|
||||||
* Require "Project.Audit" permission to duplicate a project and check if "Project.Allocate" permission for the destination.
|
* Use 'allow_methods="*"' in aiohttp_cors.ResourceOptions(). Fixes #2459
|
||||||
|
* Upgrade dependencies
|
||||||
|
* Update remote-install.sh to support a custom repository and the deb822 source format
|
||||||
|
* Fix: do not use the iourc file if IOU licence check is not enabled
|
||||||
|
|
||||||
|
|
||||||
## 2.2.52 02/12/2024
|
## 2.2.52 02/12/2024
|
||||||
|
|
||||||
* Bundle web-ui v2.2.52
|
* Bundle web-ui v2.2.52
|
||||||
* Sync appliances
|
|
||||||
* Remove restrictions based on file extension when listing images and fix ELF header checks
|
* Remove restrictions based on file extension when listing images and fix ELF header checks
|
||||||
* Fix use project name instead of ID for fast duplication when running local server. Fixes #2446
|
* Fix use project name instead of ID for fast duplication when running local server. Fixes #2446
|
||||||
* Overwrite user resources when the originals have changed.
|
* Overwrite user resources when the originals have changed.
|
||||||
* Relax setuptools requirement to allow for easier Debian packaging on Ubuntu Focal & Jammy
|
* Relax setuptools requirement to allow for easier Debian packaging on Ubuntu Focal & Jammy
|
||||||
|
|
||||||
## 3.0.0rc2 20/11/2024
|
|
||||||
|
|
||||||
* Bundle web-ui v3.0.0rc2
|
|
||||||
* Fix error 500 on PUT for cloud, nat, vmware and vpcs nodes. Fixes #2426
|
|
||||||
* Add a duplicated project in the same resource pools as the original project if it is in any
|
|
||||||
* Upgrade FastAPI to v0.115.5
|
|
||||||
* Overwrite user resources when the originals have changed.
|
|
||||||
* Relax setuptools requirement to allow for easier Debian packaging on Ubuntu Focal & Jammy
|
|
||||||
* Increase SQLite timeout. Ref #2422
|
|
||||||
* Fix test user with wrong creds
|
|
||||||
* Upgrade dependencies and fix Pydantic warnings
|
|
||||||
* Upgrade aiohttp to v3.10.10. Fixes #2411
|
|
||||||
* Replace aiohttp.web.HTTPConflict()
|
|
||||||
* Python 3.13 support
|
|
||||||
|
|
||||||
## 2.2.51 07/11/2024
|
## 2.2.51 07/11/2024
|
||||||
|
|
||||||
* Catch error when cannot resize Docker container TTY.
|
* Catch error when cannot resize Docker container TTY.
|
||||||
@ -65,12 +57,6 @@
|
|||||||
* Support for configuring MAC address in Docker containers
|
* Support for configuring MAC address in Docker containers
|
||||||
* Upgrade aiohttp to v3.10.3
|
* Upgrade aiohttp to v3.10.3
|
||||||
|
|
||||||
## 3.0.0rc1 11/08/2024
|
|
||||||
|
|
||||||
* Bundle web-ui v3.0.0rc1
|
|
||||||
* Convert topologies < 3.0 to have valid node hostnames
|
|
||||||
* Fix to access resources_path and install_builtin_appliances settings
|
|
||||||
|
|
||||||
## 2.2.49 06/08/2024
|
## 2.2.49 06/08/2024
|
||||||
|
|
||||||
* Bundle web-ui v2.2.49
|
* Bundle web-ui v2.2.49
|
||||||
@ -92,17 +78,6 @@
|
|||||||
* Upgrade sentry-sdk, psutil and aiofiles packages
|
* Upgrade sentry-sdk, psutil and aiofiles packages
|
||||||
* Fix check for IPv6 enabled on host
|
* Fix check for IPv6 enabled on host
|
||||||
|
|
||||||
## 3.0.0b3 19/05/2024
|
|
||||||
|
|
||||||
* Bundle web-ui v3.0.0b3
|
|
||||||
* Fix to allow duplicating IOS routers
|
|
||||||
* Fix to allow changing the auxiliary console for IOS router nodes.
|
|
||||||
* Replace deprecated method datetime.utcnow()
|
|
||||||
* Upgrade FastAPI to v0.111.0
|
|
||||||
* Fix reset console for non running IOU devices
|
|
||||||
* Do not allow to create a builtin template using the API.
|
|
||||||
* Use cryptography backend for python-jose. Ref #2372
|
|
||||||
|
|
||||||
## 2.2.47 15/05/2024
|
## 2.2.47 15/05/2024
|
||||||
|
|
||||||
* Fix update-bundled-web-ui.sh script
|
* Fix update-bundled-web-ui.sh script
|
||||||
@ -125,19 +100,6 @@
|
|||||||
* Fix cannot stop Docker VM while console connection is still active.
|
* Fix cannot stop Docker VM while console connection is still active.
|
||||||
* Upgrade sentry-sdk to version 1.40.6
|
* Upgrade sentry-sdk to version 1.40.6
|
||||||
|
|
||||||
## 3.0.0b2 07/04/2024
|
|
||||||
|
|
||||||
* Bundle web-ui v3.0.0b2
|
|
||||||
* Fix cannot stop Docker VM while console connection is still active.
|
|
||||||
* Support for custom Qemu path in templates and nodes
|
|
||||||
* Fix CPU fractional values for Docker VMs.
|
|
||||||
* Use bcrypt directly instead of passlib
|
|
||||||
* Update CORS policy
|
|
||||||
* Do not stop searching for Qemu binaries if one binary cannot be executed. Ref #2306
|
|
||||||
* Fix Ethernet switch and Ethernet hub port validations. Fixes #2334
|
|
||||||
* Update CORS policy
|
|
||||||
|
|
||||||
|
|
||||||
## 2.2.46 26/02/2024
|
## 2.2.46 26/02/2024
|
||||||
|
|
||||||
* Bundle web-ui v2.2.46
|
* Bundle web-ui v2.2.46
|
||||||
@ -162,29 +124,6 @@
|
|||||||
* Add custom executable paths on Windows
|
* Add custom executable paths on Windows
|
||||||
* Upgrade sentry-sdk and aiohttp
|
* Upgrade sentry-sdk and aiohttp
|
||||||
|
|
||||||
## 3.0.0b1 27/11/2023
|
|
||||||
|
|
||||||
* Bundle web-ui v3.0.0b1
|
|
||||||
* Upgrade sentry-sdk to v1.37.1
|
|
||||||
* Upgrade aiohttp to v3.9.1
|
|
||||||
* Fix bug when listing endpoints for opened project
|
|
||||||
* Make images executable after importing a project
|
|
||||||
* Disable IOS hostname check for Dynamips ghost instances
|
|
||||||
|
|
||||||
## 3.0.0a6 15/11/2023
|
|
||||||
|
|
||||||
* Bundle web-ui v3.0.0a6
|
|
||||||
* Upgrade to aiohttp v3.9.0rc0
|
|
||||||
* Install Docker resources in writable location
|
|
||||||
* Default compute username is "gns3"
|
|
||||||
* Non-blocking checksums computation when server starts. Fixes #2228
|
|
||||||
* Fix timeout issue when creating Qemu disk image. Fixes https://github.com/GNS3/gns3-server/issues/2313
|
|
||||||
* Fix broken link to Web UI in 3.0 branch. Fixes #2312
|
|
||||||
* Fix sample config: VMware section declared twice. Fixes #2311
|
|
||||||
* Fix ws console and packet capture over SSL
|
|
||||||
* Support for web socket console over HTTPS
|
|
||||||
* Allow disabling hardware virtualization check
|
|
||||||
|
|
||||||
## 2.2.44.1 07/11/2023
|
## 2.2.44.1 07/11/2023
|
||||||
|
|
||||||
* Catch exceptions when computing image checksums. Ref https://github.com/GNS3/gns3-server/issues/2228
|
* Catch exceptions when computing image checksums. Ref https://github.com/GNS3/gns3-server/issues/2228
|
||||||
@ -204,78 +143,6 @@
|
|||||||
* Add Python 3.12 support.
|
* Add Python 3.12 support.
|
||||||
* Fix issue with importlib.resources.files() and Python 3.9
|
* Fix issue with importlib.resources.files() and Python 3.9
|
||||||
|
|
||||||
## 3.0.0a5 27/10/2023
|
|
||||||
|
|
||||||
* Bundle web-ui v3.0.0a5
|
|
||||||
* Fix L2IOU "failed code signing checks" when IOU base file name is >= 63 characters
|
|
||||||
* Python 3.12 support
|
|
||||||
* Add igb Qemu adapter
|
|
||||||
* Change "ip cef" to "no ip cef" in IOU default configs. Fixes #2298
|
|
||||||
* Drop support for Python 3.7 and upgrade dependencies
|
|
||||||
* Fix compute authentication for websocket endpoints
|
|
||||||
* Add Qemu IGB network device
|
|
||||||
|
|
||||||
## 3.0.0a4 18/10/2023
|
|
||||||
|
|
||||||
* Bundle web-ui v3.0.0a4
|
|
||||||
* Do not enforce Compute.Audit and Template.Audit privileges due to current web-ui limitations
|
|
||||||
* Support to create empty disk images on the controller
|
|
||||||
* Fix issue with importlib.resources.files() and Python 3.9
|
|
||||||
* New RBAC system with resource pools support.
|
|
||||||
* Use controller vars file to store version and appliance etag
|
|
||||||
* Pydantic v2 migration
|
|
||||||
* Allow connection to ws console over IPv6
|
|
||||||
* Allow computes to be dynamically or manually allocated
|
|
||||||
* Add UEFI boot mode option for Qemu VMs
|
|
||||||
* Mark VMware and VirtualBox support as deprecated
|
|
||||||
* Make port name for custom adapters optional. Fixes https://github.com/GNS3/gns3-web-ui/issues/1430
|
|
||||||
* Support for database schema migrations using alembic
|
|
||||||
* Add config option to change the server name. Ref #2149
|
|
||||||
* Option to disable image discovery and do not scan parent directory
|
|
||||||
* Allow raw images by default. Fixes https://github.com/GNS3/gns3-server/issues/2097
|
|
||||||
* Fix bug when creating Dynamips router with chassis setting
|
|
||||||
* Stricter checks to create/update an Ethernet switch and add tests
|
|
||||||
* Fix schema for removing WICs from Cisco routers. Fixes #3392
|
|
||||||
* Fix some issues with HTTP notification streams
|
|
||||||
* API endpoint to get the locked status of a project
|
|
||||||
* Global project lock and unlock
|
|
||||||
* Require name for custom adapters. Fixes #2098
|
|
||||||
* Allow empty adapter slots for Dynamips templates. Ref https://github.com/GNS3/gns3-gui/issues/3373
|
|
||||||
* Custom adapters should not be in node (compute) properties returned to clients. Fixes https://github.com/GNS3/gns3-gui/issues/3366
|
|
||||||
* Optionally allow Qemu raw images
|
|
||||||
* Ignore image detection for IOU user libraries in image directory
|
|
||||||
* 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
|
|
||||||
* Remove explicit Response for VPCS endpoints returning HTTP 204 status code
|
|
||||||
* Remove explicit Response for endpoints returning HTTP 204 status code
|
|
||||||
* Make 'vendor_url' and 'maintainer_email' optional for template validation.
|
|
||||||
* Allow auth token to be passed as a URL param
|
|
||||||
* Add controller endpoints to get VirtualBox VMs, VMware VMs and Docker images
|
|
||||||
* 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
|
|
||||||
* Fix ComputeConflictError import
|
|
||||||
* 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
|
|
||||||
* 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
|
|
||||||
* Allow empty compute_id. Ref #1657
|
|
||||||
* Secure controller to compute communication using HTTP basic authentication
|
|
||||||
* Secure websocket endpoints
|
|
||||||
* Allocate compute when compute_id is unset
|
|
||||||
* Return the current controller hostname/IP from any compute
|
|
||||||
* Remove Qemu legacy networking support
|
|
||||||
* Appliance management refactoring: * Install an appliance based on selected version * Each template have unique name and version * Allow to download an appliance file
|
|
||||||
* Add isolate and unisolate endpoints. Ref https://github.com/GNS3/gns3-gui/issues/3190
|
|
||||||
* Allow images to be stored in subdirs and used by templates.
|
|
||||||
* Use uuid5 to create new compute_id. Fixes #1641 #1887
|
|
||||||
* Migrate PCAP streaming code to work with FastAPI.
|
|
||||||
* Refactor WebSocket console code to work with FastAPI. Fix endpoint routes.
|
|
||||||
|
|
||||||
|
|
||||||
## 2.2.43 19/09/2023
|
## 2.2.43 19/09/2023
|
||||||
|
|
||||||
* Force English output for VBoxManage. Fixes #2266
|
* Force English output for VBoxManage. Fixes #2266
|
||||||
@ -358,28 +225,6 @@
|
|||||||
* Only use importlib_resources for Python <= 3.9. Fixes #2147
|
* Only use importlib_resources for Python <= 3.9. Fixes #2147
|
||||||
* Support when the user field defined in Docker container is an ID. Fixes #2134
|
* Support when the user field defined in Docker container is an ID. Fixes #2134
|
||||||
|
|
||||||
## 3.0.0a3 27/12/2022
|
|
||||||
|
|
||||||
* Add web-ui v3.0.0a3
|
|
||||||
* Add config option to change the server name. Ref #2149
|
|
||||||
* Option to disable image discovery and do not scan parent directory
|
|
||||||
* Allow raw images by default. Fixes https://github.com/GNS3/gns3-server/issues/2097
|
|
||||||
* Fix bug when creating Dynamips router with chassis setting
|
|
||||||
* Stricter checks to create/update an Ethernet switch and add tests
|
|
||||||
* Fix schema for removing WICs from Cisco routers. Fixes #3392
|
|
||||||
* Fix issues with VMnet interface on macOS >= 11.0. Ref #3381
|
|
||||||
* Use importlib_resources instead of pkg_resources and install built-in appliances in config dir.
|
|
||||||
* Fix console vnc don't use configured ports in some case. Fixes #2111
|
|
||||||
* Add missing VMware settings in gns3_server.conf
|
|
||||||
* Make version PEP 440 compliant
|
|
||||||
* Support for Python 3.11
|
|
||||||
* Allow for more dependency versions at patch level
|
|
||||||
* Replace deprecated distro.linux_distribution() call
|
|
||||||
* Update gns3.service.systemd
|
|
||||||
* Fix some issues with HTTP notification streams
|
|
||||||
* gns3.service.openrc: make openrc script posix compliant
|
|
||||||
* fix: use exact match to find interface in windows to avoid get wrong interface
|
|
||||||
|
|
||||||
## 2.2.35.1 10/11/2022
|
## 2.2.35.1 10/11/2022
|
||||||
|
|
||||||
* Re-release Web-Ui v2.2.35
|
* Re-release Web-Ui v2.2.35
|
||||||
@ -399,154 +244,6 @@
|
|||||||
* gns3.service.openrc: make openrc script posix compliant
|
* gns3.service.openrc: make openrc script posix compliant
|
||||||
* fix: use exact match to find interface in windows to avoid get wrong interface
|
* fix: use exact match to find interface in windows to avoid get wrong interface
|
||||||
|
|
||||||
## 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
|
## 2.2.34 28/08/2022
|
||||||
|
|
||||||
* Use original $PATH in init.sh for Docker containers. Ref #2069
|
* Use original $PATH in init.sh for Docker containers. Ref #2069
|
||||||
|
55
Dockerfile
55
Dockerfile
@ -1,37 +1,38 @@
|
|||||||
FROM ubuntu:focal
|
# Dockerfile for GNS3 server development
|
||||||
|
|
||||||
WORKDIR /gns3server
|
FROM ubuntu:24.04
|
||||||
|
|
||||||
RUN apt update && DEBIAN_FRONTEND=noninteractive apt install -y \
|
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
|
||||||
|
|
||||||
|
# this environment is externally managed
|
||||||
|
ENV PIP_BREAK_SYSTEM_PACKAGES=1
|
||||||
|
|
||||||
|
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 \
|
||||||
locales \
|
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-pip \
|
||||||
python3-all \
|
|
||||||
python3-setuptools \
|
|
||||||
python3-dev \
|
python3-dev \
|
||||||
busybox-static \
|
qemu-system-x86 \
|
||||||
gcc \
|
|
||||||
qemu-kvm \
|
qemu-kvm \
|
||||||
libvirt-daemon-system
|
libvirt-daemon-system libvirt-clients \
|
||||||
|
x11vnc
|
||||||
|
|
||||||
RUN add-apt-repository ppa:gns3/ppa && apt update && DEBIAN_FRONTEND=noninteractive apt install -y \
|
RUN locale-gen en_US.UTF-8
|
||||||
vpcs \
|
|
||||||
ubridge \
|
|
||||||
dynamips
|
|
||||||
|
|
||||||
COPY . /gns3server
|
# Install uninstall to install dependencies
|
||||||
|
RUN apt-get install -y vpcs ubridge
|
||||||
|
|
||||||
RUN mkdir -p ~/.config/GNS3/3.0/
|
ADD . /server
|
||||||
RUN cp scripts/gns3_server.conf ~/.config/GNS3/3.0/
|
WORKDIR /server
|
||||||
|
|
||||||
RUN python3 -m pip install .
|
RUN pip3 install --no-cache-dir -r /server/requirements.txt
|
||||||
|
|
||||||
|
EXPOSE 3080
|
||||||
|
|
||||||
|
CMD [ "python3", "-m", "gns3server", "--port", "3080" ]
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
include README.md
|
include README.md
|
||||||
|
include AUTHORS
|
||||||
include LICENSE
|
include LICENSE
|
||||||
include CHANGELOG
|
include MANIFEST.in
|
||||||
recursive-include gns3server *
|
include requirements.txt
|
||||||
|
include conf/*.conf
|
||||||
|
recursive-include tests *
|
||||||
recursive-exclude docs *
|
recursive-exclude docs *
|
||||||
|
recursive-include gns3server *
|
||||||
recursive-exclude * __pycache__
|
recursive-exclude * __pycache__
|
||||||
recursive-exclude * *.py[co]
|
recursive-exclude * *.py[co]
|
||||||
|
331
README.md
331
README.md
@ -1,134 +1,263 @@
|
|||||||
# GNS3 server repository
|
GNS3-server
|
||||||
|
===========
|
||||||
|
|
||||||
[](https://github.com/psf/black)
|
[](https://github.com/GNS3/gns3-server/actions?query=workflow%3Atesting)
|
||||||
[](https://github.com/GNS3/gns3-server/actions?query=workflow%3Atesting+branch%3A3.0)
|
|
||||||
[](https://pypi.python.org/pypi/gns3-server)
|
|
||||||
[](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.
|
[](https://pypi.python.org/pypi/gns3-server)
|
||||||
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
|
[](https://snyk.io/test/github/GNS3/gns3-server)
|
||||||
|
|
||||||
These instructions are for using GNS3, please see below for development.
|
This is the GNS3 server repository.
|
||||||
|
|
||||||
### Windows & macOS
|
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 an HTTP REST API.
|
||||||
|
|
||||||
Please use our [Windows installer or DMG package](https://gns3.com/software/download) to install the stable build along with the GNS3 VM.
|
Software dependencies
|
||||||
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
|
In addition of Python dependencies listed in a section below, other
|
||||||
|
software may be required, recommended or optional.
|
||||||
|
|
||||||
#### Ubuntu based distributions
|
- [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.
|
||||||
|
|
||||||
We build and test packages for actively supported Ubuntu versions.
|
### Docker support
|
||||||
Other distros based on Ubuntu, like Mint, should also be supported.
|
|
||||||
|
|
||||||
Packages can be installed from our Personal Package Archives (PPA) repository:
|
Docker support 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).
|
||||||
|
|
||||||
```shell
|
Branches
|
||||||
sudo apt update
|
--------
|
||||||
sudo apt install software-properties-common
|
|
||||||
sudo add-apt-repository ppa:gns3/ppa
|
### master
|
||||||
sudo apt update
|
|
||||||
sudo apt install gns3-gui gns3-server
|
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=unstable&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.8, 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:
|
||||||
|
|
||||||
|
``` {.bash}
|
||||||
|
sudo apt-get install python3-setuptools python3-pip
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Other Linux distributions
|
Finally, these commands will install the server as well as the rest of
|
||||||
|
the dependencies:
|
||||||
|
|
||||||
GNS3 is often packaged for other distributions by third-parties:
|
``` {.bash}
|
||||||
|
cd gns3-server-master
|
||||||
* [Gentoo](https://packages.gentoo.org/package/net-misc/gns3-server)
|
python3 -m pip install -r requirements.txt
|
||||||
* [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 -m pip install .
|
python3 -m pip install .
|
||||||
python3 -m gns3server
|
gns3server
|
||||||
```
|
```
|
||||||
|
|
||||||
You will have to manually install other software dependencies (see above), for Dynamips, VPCS and uBridge the easiest is to install from our PPA.
|
To run tests use:
|
||||||
|
|
||||||
|
``` {.bash}
|
||||||
|
python3 -m pytest tests
|
||||||
|
```
|
||||||
|
|
||||||
### Docker container
|
### Docker container
|
||||||
|
|
||||||
Alternatively, you can run the GNS3 server in a container
|
For development, you can run the GNS3 server in a container
|
||||||
|
|
||||||
```shell
|
``` {.bash}
|
||||||
bash scripts/docker_dev_server.sh
|
bash scripts/docker_dev_server.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### use Docker Compose
|
||||||
|
|
||||||
|
``` {.bash}
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
### Run as daemon (Unix only)
|
||||||
|
|
||||||
|
You will find init sample scripts for various systems inside the init
|
||||||
|
directory.
|
||||||
|
|
||||||
|
Useful 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.
|
||||||
|
|
||||||
|
``` {.bash}
|
||||||
|
sudo adduser gns3
|
||||||
|
```
|
||||||
|
|
||||||
|
upstart
|
||||||
|
-------
|
||||||
|
|
||||||
|
For ubuntu < 15.04
|
||||||
|
|
||||||
|
You need to copy init/gns3.conf.upstart to /etc/init/gns3.conf
|
||||||
|
|
||||||
|
``` {.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
|
||||||
|
|
||||||
|
``` {.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
|
||||||
|
|
||||||
|
``` {.bash}
|
||||||
|
python setup.py install
|
||||||
|
```
|
||||||
|
|
||||||
|
to install the remaining dependencies.
|
||||||
|
|
||||||
|
To run the tests, you also need to call
|
||||||
|
|
||||||
|
``` {.bash}
|
||||||
|
pip install pytest pytest-capturelog
|
||||||
|
```
|
||||||
|
|
||||||
|
before actually running the tests with
|
||||||
|
|
||||||
|
``` {.bash}
|
||||||
|
python setup.py test
|
||||||
|
```
|
||||||
|
|
||||||
|
or with
|
||||||
|
|
||||||
|
``` {.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 virtualenvwrapper:
|
||||||
|
<http://virtualenvwrapper.readthedocs.org/> and homebrew:
|
||||||
|
<http://brew.sh/>.
|
||||||
|
|
||||||
|
``` {.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:
|
||||||
|
|
||||||
|
``` {.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:
|
||||||
|
|
||||||
|
``` {.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:
|
||||||
|
|
||||||
|
``` {.ini}
|
||||||
|
[Server]
|
||||||
|
certfile=/Users/noplay/.config/GNS3/ssl/server.cert
|
||||||
|
certkey=/Users/noplay/.config/GNS3/ssl/server.key
|
||||||
|
ssl=True
|
||||||
|
```
|
||||||
|
|
||||||
### Running tests
|
### Running tests
|
||||||
|
|
||||||
First, install the development dependencies:
|
Just run:
|
||||||
|
|
||||||
```shell
|
``` {.bash}
|
||||||
python3 -m pip install -r dev-requirements.txt
|
py.test -vv
|
||||||
```
|
```
|
||||||
|
|
||||||
Then run the tests using pytest:
|
If you want test coverage:
|
||||||
|
|
||||||
```shell
|
``` {.bash}
|
||||||
python3 -m pytest -vv tests/
|
py.test --cov-report term-missing --cov=gns3server
|
||||||
```
|
```
|
||||||
|
|
||||||
### API documentation
|
Security issues
|
||||||
|
---------------
|
||||||
|
|
||||||
The API documentation can be accessed when running the server locally:
|
Please contact us using contact form available here:
|
||||||
|
<http://docs.gns3.com/1ON9JBXSeR7Nt2-Qum2o3ZX0GU86BZwlmNSUgvmqNWGY/index.html>
|
||||||
* 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.
|
|
||||||
|
7
compose.yaml
Normal file
7
compose.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
services:
|
||||||
|
gen3-server:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
ports:
|
||||||
|
- "8001:3080"
|
@ -1,45 +1,17 @@
|
|||||||
[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]
|
[Server]
|
||||||
|
|
||||||
; Server name, default is what is returned by socket.gethostname()
|
|
||||||
name = GNS3_Server
|
|
||||||
|
|
||||||
; What protocol the server uses (http or https)
|
|
||||||
protocol = http
|
|
||||||
|
|
||||||
; IP where the server listen for connections
|
; IP where the server listen for connections
|
||||||
host = 0.0.0.0
|
host = 0.0.0.0
|
||||||
; HTTP port for controlling the servers
|
; HTTP port for controlling the servers
|
||||||
port = 3080
|
port = 3080
|
||||||
|
|
||||||
; Secrets directory
|
; Option to enable SSL encryption
|
||||||
secrets_dir = /home/gns3/.config/GNS3/secrets
|
ssl = False
|
||||||
|
|
||||||
; Options to enable SSL encryption
|
|
||||||
enable_ssl = False
|
|
||||||
certfile=/home/gns3/.config/GNS3/ssl/server.cert
|
certfile=/home/gns3/.config/GNS3/ssl/server.cert
|
||||||
certkey=/home/gns3/.config/GNS3/ssl/server.key
|
certkey=/home/gns3/.config/GNS3/ssl/server.key
|
||||||
|
|
||||||
; Path where binary images are stored
|
; Path where binary images are stored
|
||||||
images_path = /home/gns3/GNS3/images
|
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
|
; Path where user projects are stored
|
||||||
projects_path = /home/gns3/GNS3/projects
|
projects_path = /home/gns3/GNS3/projects
|
||||||
|
|
||||||
@ -49,25 +21,11 @@ appliances_path = /home/gns3/GNS3/appliances
|
|||||||
; Path where custom user symbols are stored
|
; Path where custom user symbols are stored
|
||||||
symbols_path = /home/gns3/GNS3/symbols
|
symbols_path = /home/gns3/GNS3/symbols
|
||||||
|
|
||||||
; Path where custom configs are stored
|
|
||||||
configs_path = /home/gns3/GNS3/configs
|
|
||||||
|
|
||||||
; Path where files like built-in appliances and Docker resources are stored
|
; Path where files like built-in appliances and Docker resources are stored
|
||||||
; The default path is the local user data directory
|
; The default path is the local user data directory
|
||||||
; (Linux: "~/.local/share/GNS3", macOS: "~/Library/Application Support/GNS3", Windows: "%APPDATA%\GNS3")
|
; (Linux: "~/.local/share/GNS3", macOS: "~/Library/Application Support/GNS3", Windows: "%APPDATA%\GNS3")
|
||||||
; resources_path = /home/gns3/GNS3/resources
|
; resources_path = /home/gns3/GNS3/resources
|
||||||
|
|
||||||
; 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 enable or disable raw images to be uploaded to the server
|
|
||||||
allow_raw_images = True
|
|
||||||
|
|
||||||
; Option to automatically discover images in the images directory
|
|
||||||
auto_discover_images = True
|
|
||||||
|
|
||||||
; Option to automatically send crash reports to the GNS3 team
|
; Option to automatically send crash reports to the GNS3 team
|
||||||
report_errors = True
|
report_errors = True
|
||||||
|
|
||||||
@ -91,10 +49,12 @@ udp_end_port_range = 30000
|
|||||||
; uBridge executable location, default: search in PATH
|
; uBridge executable location, default: search in PATH
|
||||||
;ubridge_path = ubridge
|
;ubridge_path = ubridge
|
||||||
|
|
||||||
; Username for compute HTTP authentication, "gns3" is the default if not specified
|
; Option to enable HTTP authentication.
|
||||||
compute_username = gns3
|
auth = False
|
||||||
; Password for compute HTTP authentication, a randomly generated password is used if not specified
|
; Username for HTTP authentication.
|
||||||
compute_password = gns3
|
user = gns3
|
||||||
|
; Password for HTTP authentication.
|
||||||
|
password = gns3
|
||||||
|
|
||||||
; Only allow these interfaces to be used by GNS3, for the Cloud node for example (Linux/OSX only)
|
; 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
|
; Do not forget to allow virbr0 in order for the NAT node to work
|
||||||
@ -132,29 +92,20 @@ 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.
|
; 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
|
license_check = True
|
||||||
|
|
||||||
[VirtualBox]
|
[Qemu]
|
||||||
; Path to the VBoxManage binary used to manage VirtualBox
|
; !! 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)
|
||||||
vboxmanage_path = vboxmanage
|
enable_kvm = True
|
||||||
|
; Require KVM to be installed in order to start VMs (Linux only, has priority over require_hardware_acceleration)
|
||||||
|
require_kvm = True
|
||||||
|
; Enable hardware acceleration (all platforms)
|
||||||
|
enable_hardware_acceleration = True
|
||||||
|
; Require hardware acceleration in order to start VMs (all platforms)
|
||||||
|
require_hardware_acceleration = False
|
||||||
|
; Allow unsafe additional command line options
|
||||||
|
allow_unsafe_options = False
|
||||||
|
|
||||||
[VMware]
|
[VMware]
|
||||||
; Path to vmrun binary used to manage VMware
|
|
||||||
vmrun_path = vmrun
|
|
||||||
; First vmnet interface of the range that can be managed by the GNS3 server
|
; First vmnet interface of the range that can be managed by the GNS3 server
|
||||||
vmnet_start_range = 2
|
vmnet_start_range = 2
|
||||||
; Last vmnet interface of the range that can be managed by the GNS3 server. It must be maximum 19 on Windows.
|
; Last vmnet interface of the range that can be managed by the GNS3 server. It must be maximum 19 on Windows.
|
||||||
vmnet_end_range = 255
|
vmnet_end_range = 255
|
||||||
; block network traffic originating from the host OS
|
|
||||||
block_host_traffic = False
|
|
||||||
|
|
||||||
[Qemu]
|
|
||||||
; 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
|
|
||||||
require_hardware_acceleration = False
|
|
||||||
; Allow unsafe additional command line options
|
|
||||||
allow_unsafe_options = False
|
|
@ -1,7 +1,6 @@
|
|||||||
|
-rrequirements.txt
|
||||||
|
|
||||||
pytest==8.3.3
|
pytest==8.3.3
|
||||||
flake8==7.1.1
|
flake8==7.1.0
|
||||||
pytest-timeout==2.3.1
|
pytest-timeout==2.3.1
|
||||||
pytest-asyncio==0.21.2
|
pytest-aiohttp==1.0.5
|
||||||
requests==2.32.3
|
|
||||||
httpx==0.27.2 # version 0.24.1 is required by httpx_ws
|
|
||||||
httpx_ws==0.6.2
|
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
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 +0,0 @@
|
|||||||
apiv3.gns3.net
|
|
177
docs/Makefile
Normal file
177
docs/Makefile
Normal file
@ -0,0 +1,177 @@
|
|||||||
|
# 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."
|
14
docs/api/examples/compute_delete_projectsprojectid.txt
Normal file
14
docs/api/examples/compute_delete_projectsprojectid.txt
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
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}
|
||||||
|
|
@ -0,0 +1,14 @@
|
|||||||
|
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}
|
||||||
|
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,14 @@
|
|||||||
|
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}
|
||||||
|
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,14 @@
|
|||||||
|
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}
|
||||||
|
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,14 @@
|
|||||||
|
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}
|
||||||
|
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,14 @@
|
|||||||
|
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}
|
||||||
|
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,14 @@
|
|||||||
|
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}
|
||||||
|
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
34
docs/api/examples/compute_get_capabilities.txt
Normal file
34
docs/api/examples/compute_get_capabilities.txt
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
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"
|
||||||
|
}
|
22
docs/api/examples/compute_get_iouimages.txt
Normal file
22
docs/api/examples/compute_get_iouimages.txt
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
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"
|
||||||
|
}
|
||||||
|
]
|
79
docs/api/examples/compute_get_networkinterfaces.txt
Normal file
79
docs/api/examples/compute_get_networkinterfaces.txt
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
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"
|
||||||
|
}
|
||||||
|
]
|
26
docs/api/examples/compute_get_projects.txt
Normal file
26
docs/api/examples/compute_get_projects.txt
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
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
|
||||||
|
}
|
||||||
|
]
|
19
docs/api/examples/compute_get_projectsprojectid.txt
Normal file
19
docs/api/examples/compute_get_projectsprojectid.txt
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
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
|
||||||
|
}
|
@ -0,0 +1,70 @@
|
|||||||
|
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"
|
||||||
|
}
|
@ -0,0 +1,34 @@
|
|||||||
|
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
|
||||||
|
}
|
@ -0,0 +1,28 @@
|
|||||||
|
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"
|
||||||
|
}
|
@ -0,0 +1,59 @@
|
|||||||
|
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": ""
|
||||||
|
}
|
@ -0,0 +1,26 @@
|
|||||||
|
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"
|
||||||
|
}
|
@ -0,0 +1,32 @@
|
|||||||
|
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"
|
||||||
|
}
|
@ -0,0 +1,31 @@
|
|||||||
|
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"
|
||||||
|
}
|
@ -0,0 +1,24 @@
|
|||||||
|
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"
|
||||||
|
}
|
32
docs/api/examples/compute_get_qemubinaries.txt
Normal file
32
docs/api/examples/compute_get_qemubinaries.txt
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
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"
|
||||||
|
}
|
||||||
|
]
|
19
docs/api/examples/compute_get_qemucapabilities.txt
Normal file
19
docs/api/examples/compute_get_qemucapabilities.txt
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
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
docs/api/examples/compute_get_version.txt
Normal file
18
docs/api/examples/compute_get_version.txt
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
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"
|
||||||
|
}
|
22
docs/api/examples/compute_post_projects.txt
Normal file
22
docs/api/examples/compute_post_projects.txt
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
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
|
||||||
|
}
|
14
docs/api/examples/compute_post_projectsprojectidclose.txt
Normal file
14
docs/api/examples/compute_post_projectsprojectidclose.txt
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,72 @@
|
|||||||
|
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"
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
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"
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
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"
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,25 @@
|
|||||||
|
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"
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
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"
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,17 @@
|
|||||||
|
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
|
39
docs/api/examples/compute_post_projectsprojectidiounodes.txt
Normal file
39
docs/api/examples/compute_post_projectsprojectidiounodes.txt
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
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
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
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"
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
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"
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,17 @@
|
|||||||
|
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
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,36 @@
|
|||||||
|
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
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
30
docs/api/examples/compute_post_projectsprojectidnatnodes.txt
Normal file
30
docs/api/examples/compute_post_projectsprojectidnatnodes.txt
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
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"
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
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"
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
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"
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
17
docs/api/examples/compute_post_projectsprojectidportsudp.txt
Normal file
17
docs/api/examples/compute_post_projectsprojectidportsudp.txt
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
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
|
||||||
|
}
|
@ -0,0 +1,63 @@
|
|||||||
|
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": ""
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
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"
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
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"
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,17 @@
|
|||||||
|
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
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,59 @@
|
|||||||
|
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": ""
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,28 @@
|
|||||||
|
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"
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
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"
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
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"
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,17 @@
|
|||||||
|
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
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,28 @@
|
|||||||
|
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"
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,36 @@
|
|||||||
|
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"
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
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"
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
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"
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,14 @@
|
|||||||
|
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
|
||||||
|
|
@ -0,0 +1,35 @@
|
|||||||
|
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"
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
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"
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
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"
|
||||||
|
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user