Jeremy Grossmann
76411f1eb0
Merge pull request #2924 from markparonyan/mypy-api-plus
...
fix(typing): resolve mypy errors in api + compute.dynamips + compute.iou + compute.vpcs + controller
2026-09-29 13:29:08 +02:00
Jeremy Grossmann
e8f49877fc
Merge branch '3.1' into mypy-api-routes-controller-1
2026-09-29 13:28:33 +02:00
Jeremy Grossmann
7f4f9eb2d0
Merge branch '3.1' into mypy-api-routes
2026-09-29 13:25:35 +02:00
Jeremy Grossmann
49f1af0962
Merge branch '3.1' into mypy-api-routes-compute-4
2026-09-29 13:23:50 +02:00
Jeremy Grossmann
1f7048d49d
Merge branch '3.1' into mypy-api-routes-compute-3
2026-09-29 13:23:05 +02:00
Jeremy Grossmann
cbd29ece37
Merge branch '3.1' into mypy-api-routes-compute-2
2026-09-29 13:21:10 +02:00
Jeremy Grossmann
726da8383a
Merge branch '3.1' into mypy-agent-gns3_copilot-plus
2026-09-29 13:20:27 +02:00
Jeremy Grossmann
4efc22b7ab
Merge branch '3.1' into mypy-api-routes-compute-1
2026-09-29 13:15:30 +02:00
Jeremy Grossmann
563b6080f0
Merge pull request #2923 from markparonyan/mypy-api-routes-controller-2
...
fix(typing): resolve mypy errors in gns3server.api.routes.controller
2026-09-29 13:13:58 +02:00
Jeremy Grossmann
9e9a778f8b
Merge pull request #2912 from markparonyan/mypy-api-controller-routes
...
fix(typing): resolve mypy errors in api.routes.controller
2026-09-29 12:50:06 +02:00
Jeremy Grossmann
ce3911be71
Merge pull request #2911 from markparonyan/mypy-api-compute-routes
...
fix(typing): resolve mypy errors in api.routes.compute
2026-09-29 12:48:36 +02:00
Mark Paronyan
68368220f2
fix(typing): resolve mypy errors in api.server
2026-09-29 09:38:17 +03:00
Mark Paronyan
ebe6dee916
fix(typing): resolve mypy errors in api.routes.controller.snapshots
2026-09-29 09:23:08 +03:00
Mark Paronyan
68d96193ec
fix(typing): resolve mypy errors in api.routes.controller.groups
2026-09-29 09:23:07 +03:00
Mark Paronyan
c340b18ba2
fix(typing): resolve mypy errors in api.routes.controller.roles
2026-09-29 09:23:07 +03:00
Mark Paronyan
2cf90dfce6
fix(typing): resolve mypy errors in api.routes.controller.privileges
2026-09-29 09:23:07 +03:00
Mark Paronyan
93419fc33a
fix(typing): resolve mypy errors in api.routes.controller.nodes
2026-09-29 09:23:07 +03:00
Mark Paronyan
0872576b46
fix(typing): resolve mypy errors in api.routes.controller.acl
2026-09-29 09:23:06 +03:00
Mark Paronyan
a648bf3780
fix(typing): resolve mypy errors in api.routes.controller.dependencies.database
2026-09-29 09:23:06 +03:00
Mark Paronyan
58609bae7b
fix(typing): resolve mypy errors in api.routes.controller.controller
2026-09-29 09:23:06 +03:00
Mark Paronyan
d826285748
fix(typing): resolve mypy errors in api.routes.controller.computes
2026-09-29 09:23:06 +03:00
Mark Paronyan
83b80b8c52
fix(typing): resolve mypy errors in api.routes.compute.virtualbox_nodes
2026-09-29 09:23:05 +03:00
Mark Paronyan
a86cae541e
fix(typing): resolve mypy errors in api.routes.compute.vpcs_nodes
2026-09-29 09:23:05 +03:00
Mark Paronyan
e0c4cb8122
fix(typing): resolve mypy errors in api.routes.compute.vmware_nodes
2026-09-29 09:23:05 +03:00
Mark Paronyan
0ff63bfd90
fix(typing): resolve mypy errors in api.routes.compute.nat_nodes
2026-09-29 09:23:04 +03:00
Mark Paronyan
04ca7ffd9b
fix(typing): resolve mypy errors in api.routes.compute.frame_relay_switch_nodes
2026-09-29 09:23:04 +03:00
Mark Paronyan
fed8aab86c
fix(typing): resolve mypy errors in api.routes.compute.projects
2026-09-29 09:23:04 +03:00
Mark Paronyan
9218f3fc72
fix(typing): resolve mypy errors in api.routes.compute.iou_nodes
2026-09-29 09:23:04 +03:00
Mark Paronyan
cacbc18ad1
fix(typing): resolve mypy errors in api.routes.compute.ethernet_hub_nodes
2026-09-29 09:23:03 +03:00
Mark Paronyan
5ed85340af
fix(typing): resolve mypy errors in api.routes.compute.ethernet_switch_nodes
2026-09-29 09:23:03 +03:00
Mark Paronyan
904672559e
fix(typing): resolve mypy errors in api.routes.compute.dynamips_nodes
2026-09-29 09:23:03 +03:00
Mark Paronyan
50a749af36
fix(typing): resolve mypy errors in api.routes.compute.cloud_nodes
2026-09-29 09:23:02 +03:00
Mark Paronyan
bb0f29b8e6
fix(typing): resolve mypy errors in api.routes.compute.docker_nodes
2026-09-29 09:23:02 +03:00
Mark Paronyan
8aa07a8c25
fix(typing): resolve mypy errors in api.routes.compute.atm_switch_nodes
2026-09-29 09:23:02 +03:00
Mark Paronyan
10edb109df
fix(typing): resolve mypy errors in api.routes.compute.dependencies.authentication
2026-09-29 09:23:02 +03:00
Mark Paronyan
bbdd9bf861
fix(typing): resolve mypy errors in api.routes.controller.drawings
2026-09-29 08:48:04 +03:00
Mark Paronyan
5fb2c277a9
fix(typing): resolve mypy errors in api.routes.compute.notifications
2026-09-29 08:48:04 +03:00
Mark Paronyan
6526beeb3d
fix(typing): resolve mypy errors in api.routes.controller.chat
2026-09-29 08:48:04 +03:00
Mark Paronyan
777258ff68
fix(typing): resolve mypy errors in api.routes.controller.api_keys
2026-09-29 08:48:04 +03:00
Mark Paronyan
f94a0cae0d
fix(typing): resolve mypy errors in api.routes.compute.compute
2026-09-29 08:48:03 +03:00
Mark Paronyan
5bb7896242
fix(typing): resolve mypy errors in api.routes.compute.capabilities
2026-09-29 08:48:03 +03:00
Jeremy Grossmann
7864a4e567
Merge pull request #2897 from markparonyan/mypy-api-controller-links
...
fix(typing): resolve mypy errors in api.routes.controller.links
2026-09-28 23:26:48 +02:00
Jeremy Grossmann
f6ee1ee01a
Merge pull request #2896 from markparonyan/mypy-api-compute-qemu-nodes
...
fix(typing): resolve mypy errors in api.routes.compute.qemu_nodes
2026-09-28 23:25:55 +02:00
Mark Paronyan
ecff4beb65
fix(typing): resolve mypy errors in api.routes.controller.links
2026-09-28 21:47:46 +03:00
Mark Paronyan
b8a51fdefc
fix(typing): resolve mypy errors in api.routes.compute.qemu_nodes
2026-09-28 21:47:36 +03:00
Mark Paronyan
f858ae23a6
fix(typing): resolve mypy errors in api.routes.index
2026-09-28 04:55:30 +00:00
Mark Paronyan
a0450b6bce
refactor: ruff autofixes
2026-09-27 15:55:10 +03:00
Cristi
da16dc9874
fix(qemu): Fixed missing image replacement for linked-clone nodes
2026-09-18 23:58:49 +03:00
YueGuobin
be62e8c022
feat: keep Docker images on computes consistent with the controller host
...
Only relying on the image name lets a moved tag (e.g. a newer :latest)
silently serve stale content from a compute that already has an image
under the same name. When creating a Docker node, the controller now
pins the image id (Id from the Docker daemon on the controller host)
into the create payload. A compute holding a different image under the
same tag reports the image as missing, which routes it through the
image sync added by the previous commit and re-aligns the tag.
No new template fields or database changes: the controller host daemon
remains the source of truth and the pin is resolved per creation. When
the image is not available on the controller host the pin is omitted
and behavior is unchanged (the compute pulls from the repository).
2026-09-14 00:55:18 +08:00
YueGuobin
c477812332
feat: sync Docker images from the controller to remote computes
...
When a Docker node is created on a remote compute whose Docker daemon
does not have the image, the compute now raises ImageMissingError
instead of blindly pulling from the Docker repository. The controller
exports the image from the Docker daemon on its host (docker save
stream) and streams it to the compute which loads it, so locally built
or docker-loaded images work across computes. When the image is not
available on the controller host either, the compute is asked to pull
it from the Docker repository as a fallback.
- add a POST /docker/images/load compute endpoint that streams a
docker save tar into the Docker daemon
- let Docker.http_query pass raw (non-dict) request bodies through so
the tar can be streamed to the daemon
- drop the inline pull from DockerVM.create() and the now unused
DockerVM.pull_image wrapper
2026-09-14 00:36:54 +08:00