Jeremy Grossmann
aeac649c7f
Merge branch '3.1' into api-issue-10-0eztih
2026-10-08 19:21:07 +02:00
Jeremy Grossmann
3187828325
Merge branch '3.1' into api-issue-06-8s9swu
2026-10-08 15:02:51 +02:00
Mark Paronyan
db031416a1
feat: add response models for endpoints returning untyped objects
2026-10-07 16:49:31 +03:00
Mark Paronyan
ba0465f191
fix(api): declare binary and streaming bodies in OpenAPI
2026-10-07 14:09:02 +03:00
Mark Paronyan
852dc5be0f
feat(api): add exact-match name filter to list endpoints
2026-10-07 13:40:34 +03:00
Cristi
207db770c6
feat(image-manager): Add support for nested image folders and appliance compatibility checks
2026-10-05 18:49:21 +03:00
Mark Paronyan
4ebc941951
style: sort imports in controller API routes
2026-10-02 12:43:26 +03:00
grossmj
1456d36bf0
chore(tests): fix mypy errors
2026-10-01 15:22:17 +02:00
Jeremy Grossmann
a2cdc14a25
Merge branch '3.1' into image-manager-out-of-sync
2026-10-01 14:44:24 +02:00
Mark Paronyan
bbf4e6aa2c
fix(typing): resolve mypy errors in api.routes.controller.images
2026-09-29 22:02:20 +03:00
Cristi
42d30651da
Merge origin/3.1 into image-manager-out-of-sync
...
Preserve image reconciliation, locking, and regression coverage while integrating upstream release, dependency, typing, and formatting updates. Align feature code with the new Ruff checks.
2026-09-28 23:16:24 +03:00
Cristi
046dff4d08
fix(images): reconcile the image inventory with filesystem changes
2026-09-28 16:01:36 +03:00
Mark Paronyan
a0450b6bce
refactor: ruff autofixes
2026-09-27 15:55:10 +03:00
YueGuobin
13548deae8
feat: forbid deleting templates and images still used by projects
...
Deleting a template with prune_images, deleting an image, or pruning
orphan images only checked template references — a project node still
pointing at the image (e.g. via hda_disk_image_backing_file) was left
with a dangling reference and the project could no longer be opened.
- Add controller helpers scanning every known project (opened projects
via in-memory nodes, closed projects via their .gns3 file) for
template and image usage; unreadable topologies are skipped
- Guard DELETE /templates/{id}, DELETE /templates/{id}?prune_images,
DELETE /images/{path} and /images/prune with a 409 listing the
project names
- Run all template-delete checks before any mutation so a refused
deletion cannot leave the template gone while its images survive
2026-08-31 22:30:42 +08:00
YueGuobin
8a8314ab29
fix: dedupe and report automatic template creation from images
...
install_appliances_from_image relied on the name+version pair check in
TemplatesService, so the same appliance reached through a second image
(the CSR1000v case) created a second template sharing the name. The auto
path now skips when any template with the same name exists, whatever the
version, and returns a manifest of created and skipped candidates;
POST /images/install replies 200 with that manifest instead of an empty
204, and the image_install MCP tool surfaces it.
2026-08-26 00:04:57 +08:00
UmmmAGoodName
99e3529c93
Fixed an issue with the server causing errors when uploading large images + Preparation for a smarter check when uploading images
2026-03-11 18:50:43 +01:00
grossmj
600d3d38da
Fix creating Qemu disk image. Fixes #2542
2026-01-28 19:36:22 +08:00
grossmj
aa8ccf4f82
Allow an image to be uploaded to the controller again even if it is already in the database
2025-04-17 19:07:22 +07:00
grossmj
08693871ae
Support to create templates based on image checksums.
2025-01-03 21:35:14 +07: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
38df4bea2e
Do not return an error if an image has already been uploaded
2024-04-26 19:02:50 +07:00
grossmj
674381f1be
Fix tests
2023-09-25 21:08:23 +10:00
grossmj
1ae6d13022
Support to create empty disk images on the controller
2023-09-25 17:51:14 +10:00
grossmj
0077fd98aa
Add required privileges to all endpoints
2023-09-02 17:54:24 +07:00
grossmj
9a7b3bed25
Allow raw images by default. Fixes https://github.com/GNS3/gns3-server/issues/2097
2022-12-26 11:28:51 +08:00
grossmj
725942157e
Optionally allow Qemu raw images
2022-07-22 12:39:52 +02:00
grossmj
fc6aeb715a
Remove explicit Response for endpoints returning HTTP 204 status code
2022-07-16 00:12:18 +02:00
grossmj
30f7c0ce74
Fix issues when discovering images
2022-06-03 15:35:33 +07:00
grossmj
e50bed5bee
Support delete Qemu disk image from API
...
Return the real disk image name in the 'hdx_disk_image_backed' property for Qemu VMs
2022-04-14 17:01:54 +07:00
grossmj
900d4f79ee
"Local" command line parameter is only for stopping
...
a server that has been started by the desktop GUI
2022-03-30 18:38:34 +08:00
grossmj
9b39bfb845
Detect image type instead of requesting it from user
2022-03-20 16:20:17 +10:00
grossmj
05d2579907
Do not automatically install appliance after uploading image
2021-12-08 00:01:25 +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
b683659d21
Sqlite doesn't allow BigInteger to be used as an primary key with autoincrement
2021-09-23 11:05:03 +09:30
grossmj
d606553e20
Allow images to be stored in subdirs and used by templates.
2021-08-30 16:53:41 +09:30
grossmj
4d9e4e1059
Add prune images endpoint.
...
Use many-to-many relationship between images and templates.
2021-08-20 15:58:41 +09:30
grossmj
078c42f185
Save image size + start to automatic template creation based on image checksum.
2021-08-11 16:58:23 +09:30
grossmj
515bd50261
Start refactoring for images management
2021-06-06 16:52:47 +09:30