YueGuobin
1c68a52856
fix: address appliance v8 install review findings
...
- install: resolve the image directory from the version's settings type and
skip image handling for docker appliances; guard appliance.images
- appliance schema: validate template_properties against template_type,
align cpu_throttling with the qemu template, add kvm and version idlepc
- conversion: map IOU image to path, kvm disable to accel=tcg, inherit only
same-type default settings, symbol fallback from the effective category,
template_properties cannot override structural fields
- allow clearing netmiko_device_type with an empty string
- download the template symbol regardless of the level it is defined at and
give qemu guests a default symbol
2026-08-21 21:41:42 +08:00
YueGuobin
254721dbda
appliance: close the v8 gaps for Docker vendor appliances
...
DockerPropertiesV8 now accepts custom_adapters (already available to
v1-6 top-level appliances and to Qemu v8 properties), so port-named
Docker appliances (XRd, SR Linux) can move to the v8 format without
losing their interface naming.
Appliance.type resolves the node type from the v8 settings template_type
(default set first) instead of misclassifying every v8 appliance as
qemu, and _get_default_symbol applies the docker guest symbol to v8
Docker guest appliances.
2026-08-21 21:41:35 +08:00
grossmj
630c2d811d
Add support for appliance format version 8
2026-04-04 20:04:42 +08:00
grossmj
4606613673
Fix image handling
2026-03-05 12:38:28 +08:00
grossmj
4758431c76
Improvements for built-in disks
...
* Checksum is updated in the database for updated disks.
* It is not possible to prune them.
2025-01-02 23:10:51 +07:00
grossmj
bd813b0a53
Merge branch '2.2' into 3.0
...
# Conflicts:
# requirements.txt
# setup.py
2024-11-18 11:46:42 +10:00
grossmj
a60e0d424d
Overwrite user resources when the originals have changed.
...
Excepting configs and disks which can be customized.
2024-11-09 12:17:06 +10:00
grossmj
3f7f5a3cda
Fix to access resources_path and install_builtin_appliances settings
2024-07-09 12:28:39 +02:00
grossmj
59ad5c55ec
Merge branch '2.2' into 3.0
...
# Conflicts:
# CHANGELOG
# gns3server/config_samples/gns3_server.conf
# gns3server/controller/__init__.py
# gns3server/crash_report.py
# gns3server/static/web-ui/index.html
# gns3server/static/web-ui/main.b65e52314df938ebe652.js
# gns3server/version.py
2024-07-09 12:14:44 +02:00
grossmj
ca1d99b112
Add 'install_builtin_appliances' and 'resources_path' settings in the server config
2024-07-08 18:06:33 +02:00
grossmj
1ec056c1a6
Merge branch '2.2' into 3.0
...
# Conflicts:
# gns3server/compute/docker/docker_vm.py
# gns3server/controller/__init__.py
# gns3server/controller/appliance_manager.py
# gns3server/web/route.py
# requirements.txt
# tests/compute/docker/test_docker_vm.py
2023-09-06 23:30:00 +07:00
grossmj
60ce1172e0
Use an ACL table to check for privileges
2023-08-27 18:20:42 +10:00
grossmj
a69feb3682
Use an older version of platformdirs
2023-08-12 19:15:29 +10:00
grossmj
090d1c8c84
Only use platformdirs with Python >= '3.7'
2023-08-12 19:04:14 +10:00
grossmj
df2f96828e
Use the user data dir to store built-in appliances
2023-08-12 18:48:43 +10:00
grossmj
1cb433c5bc
New packaging relying only pyproject.toml
2023-08-10 22:44:37 +10:00
grossmj
21d9d968c4
Revert "Use truststore in appliance_manager.py instead"
...
This reverts commit a2628042e881a2c00827f20bf190a358d52b6615.
2023-08-07 20:44:37 +10:00
grossmj
945a2c98cd
Revert "Use finer-grained control for truststore"
...
This reverts commit 5e1792ff4da38f5ddc5b7db3e7eeb8b6c6446b68.
2023-08-07 20:44:33 +10:00
grossmj
5e1792ff4d
Use finer-grained control for truststore
2023-08-07 19:15:14 +10:00
grossmj
a2628042e8
Use truststore in appliance_manager.py instead
2023-08-07 19:04:55 +10:00
grossmj
e616b09028
Use truststore
2023-08-07 18:40:03 +10:00
grossmj
7f595b089b
Use certifi to get SSL root certificates
2023-08-06 20:37:10 +10:00
grossmj
533c4544ea
Use certifi on Windows and macOS
2023-08-06 18:09:56 +10:00
grossmj
5da742394e
Use bundled cacert file on Windows and macOS
2023-08-05 22:21:08 +10:00
grossmj
9c456532d0
Pydantic v2 migration
2023-08-04 18:20:06 +10:00
grossmj
b3dfb87622
Merge branch '2.2' into 3.0
...
# Conflicts:
# gns3server/controller/__init__.py
# gns3server/crash_report.py
# gns3server/static/web-ui/index.html
# gns3server/static/web-ui/main.96be36058f5df0ca7e7f.js
# gns3server/utils/images.py
# gns3server/version.py
# requirements.txt
# tests/compute/docker/test_docker_vm.py
# tests/controller/test_controller.py
2023-05-22 15:11:17 +08:00
grossmj
f3f7921525
Add generic function to install resource files
2023-05-07 21:57:44 +08:00
grossmj
27d9063e56
Merge 2.2
2023-01-05 12:38:00 +08:00
grossmj
d2ad9dc5e2
Delete the built-in appliance directory before installing updated files
2023-01-01 17:49:00 +08:00
grossmj
5bccf4841d
Overwrite built-in appliance files when starting a more recent version of the server
2023-01-01 15:57:41 +08:00
grossmj
5bcc247881
Make gns3server.appliances a package
2022-12-30 11:37:34 +08:00
grossmj
b8d595928b
Try to fix tests
2022-12-30 10:35:29 +08:00
grossmj
3804249d89
Fix tests
2022-12-30 10:01:43 +08:00
grossmj
c56a8ef8f7
Only use importlib_resources for Python < 3.9. Fixes #2147
2022-12-30 09:15:40 +08:00
grossmj
7643185fa2
Add missing importlib_resources
2022-11-09 23:14:38 +08:00
grossmj
263febecbc
Merge branch '2.2' into 3.0
...
# Conflicts:
# .github/workflows/testing.yml
# CHANGELOG
# appveyor.yml
# dev-requirements.txt
# gns3server/compute/base_node.py
# gns3server/controller/__init__.py
# gns3server/controller/appliance_manager.py
# gns3server/crash_report.py
# gns3server/static/web-ui/index.html
# gns3server/utils/get_resource.py
# gns3server/version.py
# gns3server/web/route.py
# requirements.txt
# tests/handlers/api/compute/test_qemu.py
# win-requirements.txt
2022-11-09 20:30:28 +08:00
grossmj
c80a55b18c
Install appliances and configs without importlib_resources for Windows only
2022-11-08 23:07:45 +08:00
grossmj
284a4b62fb
Fix copying appliances and configs when app is frozen
2022-11-08 22:50:59 +08:00
grossmj
a4b24eaceb
Use importlib_resources instead of pkg_resources and install built-in appliances in config dir.
2022-11-07 20:12:03 +08:00
grossmj
6d0c375323
Use default symbol theme if none is provided when loading appliances
2022-07-25 20:39:03 +02:00
grossmj
725942157e
Optionally allow Qemu raw images
2022-07-22 12:39:52 +02:00
grossmj
3106c8a6a2
Do not cache to md5sum file in some situations
2022-04-18 17:13:52 +07:00
grossmj
9b39bfb845
Detect image type instead of requesting it from user
2022-03-20 16:20:17 +10:00
grossmj
88d98cf02e
Fix tests and workaround issue with flake8
2021-10-18 22:12:10 +10:30
grossmj
13ff7df9fa
Validate appliance files with Pydantic
2021-10-18 21:46:50 +10:30
grossmj
04934691df
Appliance management refactoring:
...
* Install an appliance based on selected version
* Each template have unique name and version
* Allow to download an appliance file
2021-10-18 18:04:30 +10:30
grossmj
bc36d95060
Finalize image management refactoring and auto install appliance if possible
2021-10-10 17:35:11 +10:30
grossmj
078c42f185
Save image size + start to automatic template creation based on image checksum.
2021-08-11 16:58:23 +09:30
grossmj
cefab8d362
Rename __json__() to asdict()
2021-04-17 23:34:28 +09:30
grossmj
c021e21309
Use black with -l 120 param.
2021-04-13 18:46:50 +09:30