YueGuobin
6734d2d666
feat: add auto_connect flag and disconnect endpoint for computes
...
Computes can now be flagged auto_connect in the database. The controller
connects to flagged computes in the background at startup (reusing the
one-second delayed fire-and-forget mechanism), and enabling the flag via
PUT /computes/{id} triggers a background connection without the request
ever waiting for it. Disabling the flag does not drop an existing
connection.
Add POST /computes/{id}/disconnect to tear a compute down manually: the
notification stream and HTTP session are closed and every reconnection
path (retry backoff, notification stream reconnect, lazy connection in
http_query) is blocked until connect() is called again or the controller
restarts with auto_connect enabled. Disconnecting a compute used by an
opened project is rejected with 409 unless force=true; forcing only
drops the controller-side control channel, nodes keep running unmanaged.
The local compute cannot be disconnected.
Also make test_compute_list create its own compute (it relied on rows
from earlier tests and failed under reordering), and stop scheduling the
delayed add_compute connection during tests: the timer leaked real
connection attempts into other tests' event loops.
2026-10-15 22:50:22 +08:00
grossmj
6004e06499
Merge branch '3.1' into fork/markparonyan/api-issue-10-0eztih
...
# Conflicts:
# gns3server/schemas/__init__.py
2026-10-10 06:39:15 +02:00
Jeremy Grossmann
fbe93c4c4e
Merge pull request #2954 from markparonyan/api-issue-05-2xftmd
...
feat(api): add strict_names and batch node and link creation
2026-10-09 14:39:10 +02:00
grossmj
4195f3b7c1
fix: remove incorrectly merged code
2026-10-09 14:29:04 +02:00
Jeremy Grossmann
aab707a48e
Merge branch '3.1' into api-issue-10-0eztih
2026-10-08 19:31:48 +02:00
Mark Paronyan
719d9cc667
refactor: ruff fixes
2026-10-08 20:25:20 +03:00
Jeremy Grossmann
aeac649c7f
Merge branch '3.1' into api-issue-10-0eztih
2026-10-08 19:21:07 +02:00
Jeremy Grossmann
2dd1652e8a
Merge branch '3.1' into api-issue-07-x7z6we
2026-10-08 19:10:42 +02:00
Jeremy Grossmann
57e4d1632d
Merge branch '3.1' into api-issue-05-2xftmd
2026-10-08 19:04:36 +02:00
Jeremy Grossmann
7a3a34d3fc
Merge branch '3.1' into api-issue-06-8s9swu
2026-10-08 19:01:57 +02:00
Jeremy Grossmann
8dd438190d
Merge pull request #2960 from markparonyan/api-issue-12-cu0jkp
...
feat(api): add discriminators to link iface, appliance version and template settings schemas
2026-10-08 17:17:02 +02:00
grossmj
f50653107b
style: fix import and lint errors after merging
2026-10-08 16:57:41 +02:00
Jeremy Grossmann
cea858acc4
Merge branch '3.1' into api-issue-12-cu0jkp
2026-10-08 16:46:37 +02:00
Jeremy Grossmann
029983260c
Merge branch '3.1' into api-issue-15-r12z73
2026-10-08 16:42:57 +02:00
grossmj
57286c4f09
style: fix lint errors
2026-10-08 16:01:51 +02:00
Jeremy Grossmann
ddcf661e11
Merge branch '3.1' into api-issue-07-x7z6we
2026-10-08 15:51:11 +02:00
Jeremy Grossmann
3187828325
Merge branch '3.1' into api-issue-06-8s9swu
2026-10-08 15:02:51 +02:00
Jeremy Grossmann
71da996362
Merge branch '3.1' into api-issue-05-2xftmd
2026-10-08 14:40:53 +02:00
Jeremy Grossmann
a32f466183
Merge branch '3.1' into api-issue-04-burx2g
2026-10-08 13:59:00 +02:00
Jeremy Grossmann
48b6257410
Merge pull request #2952 from markparonyan/api-issue-02-rp8mx3
...
feat(api): return node and add wait option on node lifecycle calls
2026-10-08 11:05:28 +02:00
Jeremy Grossmann
ed8b0c3e20
Merge pull request #2958 from markparonyan/api-issue-09-aef9as
...
feat(api): return token lifetimes and document API keys as bearer tokens
2026-10-08 04:35:19 +02:00
Jeremy Grossmann
d797069921
Merge pull request #2964 from markparonyan/api-issue-17-asr039
...
feat: add optional ETag/If-Match concurrency for projects, nodes and links
2026-10-08 04:14:04 +02:00
Jeremy Grossmann
0a78a2bf12
Merge pull request #2961 from markparonyan/api-issue-13-bfbm9z
...
feat(api): add Notification schema and document notification streams
2026-10-08 04:11:14 +02:00
Jeremy Grossmann
bcf38d74f8
Merge pull request #2951 from markparonyan/api-issue-11-gqdty1
...
feat(api): type link filters and available_filters response
2026-10-07 18:25:30 +02:00
Mark Paronyan
241c2b65e7
feat: add optional ETag/If-Match concurrency for projects, nodes and links
2026-10-07 16:53:11 +03:00
Mark Paronyan
db031416a1
feat: add response models for endpoints returning untyped objects
2026-10-07 16:49:31 +03:00
Mark Paronyan
6ed9e44f00
feat(api): generate unique readable OpenAPI operationIds
2026-10-07 15:53:00 +03:00
Mark Paronyan
11a310dd9b
feat(api): type link filters and available_filters response
2026-10-07 15:48:52 +03:00
Mark Paronyan
a9e87df644
fix(links): reserve ports on add, accept port name and auto, add port_in_use code
2026-10-07 15:41:04 +03:00
Mark Paronyan
e1a27dadcf
feat(api): add strict_names and batch node and link creation
2026-10-07 15:35:45 +03:00
Mark Paronyan
6a416d1a2a
feat(api): return node and add wait option on node lifecycle calls
2026-10-07 15:35:11 +03:00
Mark Paronyan
8cb92e7685
fix(api): derive OpenAPI version from package, add servers, hide AI stub routes
2026-10-07 15:21:30 +03:00
Mark Paronyan
86a279330d
feat(api): add Notification schema and document notification streams
2026-10-07 15:14:50 +03:00
Jeremy Grossmann
0836e01525
Merge pull request #2950 from markparonyan/api-issue-14-yywwso
...
fix(api): return 200 instead of 201 for ACL endpoints, IOU license up…
2026-10-07 13:50:53 +02:00
Mark Paronyan
a4f20e0966
feat(api): add discriminators to link iface, appliance version and template settings schemas
2026-10-07 14:22:18 +03:00
Mark Paronyan
fcfa968cc5
feat(api): return token lifetimes and document API keys as bearer tokens
2026-10-07 14:18:18 +03:00
Mark Paronyan
ba0465f191
fix(api): declare binary and streaming bodies in OpenAPI
2026-10-07 14:09:02 +03:00
Mark Paronyan
97d5480241
fix(api): return 200 instead of 201 for ACL endpoints, IOU license update
2026-10-07 13:56:08 +03:00
Mark Paronyan
852dc5be0f
feat(api): add exact-match name filter to list endpoints
2026-10-07 13:40:34 +03:00
Jeremy Grossmann
f184883aa7
Merge branch '3.1' into images-nested-folders-support
2026-10-06 16:50:40 +02:00
Mark Paronyan
d9678ce98c
refactor: derive update schemas with PartialUpdateModel
2026-10-06 16:46:22 +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
306d8fbde4
refactor: remove unused imports
2026-10-03 19:43:58 +03:00
Mark Paronyan
4ebc941951
style: sort imports in controller API routes
2026-10-02 12:43:26 +03:00
Mark Paronyan
a77e06b907
Merge branch '3.1' into ruff/trivia-fixups
2026-10-01 19:58:02 +03:00
Mark Paronyan
d356a68987
refactor: replace aliased OSError subclasses
2026-10-01 19:57:44 +03:00
Mark Paronyan
7d0be62da8
style: drop redundant utf-8 encode arguments
2026-10-01 19:57:44 +03:00
Mark Paronyan
9e5ab02147
style: remove unused noqa directives
2026-10-01 19:57:40 +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