feat(mutator): live network.disconnect for apply_detach_decky
Symmetric to apply_attach_decky — after deleting the multi-home edge from the DB, calls the docker SDK to drop the base container's interface in the now-detached LAN. Service containers lose visibility automatically (they share the base's netns). Idempotency: 'not connected' / 'no such' APIError is logged at info and treated as success.
This commit is contained in:
@@ -758,6 +758,14 @@ async def apply_detach_decky(
|
||||
decky["uuid"], {"decky_config": new_cfg}
|
||||
)
|
||||
await repo.delete_topology_edge(edge["id"])
|
||||
# Live materialisation: SDK network.disconnect on the base
|
||||
# container. Service containers automatically lose visibility into
|
||||
# the LAN because they share the base's netns.
|
||||
await _materialise_decky_disconnect(
|
||||
repo, topology_id,
|
||||
decky_name=decky["decky_config"]["name"],
|
||||
lan_name=lan["name"],
|
||||
)
|
||||
await _assert_valid_after(repo, topology_id)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user