Migrate instances when draining and verify hosts before enabling

This commit is contained in:
2026-10-05 14:21:48 -04:00
parent a142f06c77
commit 16a5bc3534
20 changed files with 525 additions and 78 deletions
+17 -5
View File
@@ -373,11 +373,23 @@ restart and create complete only after post-operation health evidence; creation
and rebuild also verify the selected map and running Plutonium revision. The
base-game library and runtime revision are independent records.
**Drain** blocks new deployments and queues safe retirement of existing lobbies.
Active beta ownership and other operations continue to gate retirement. Players
may still join until an eligible empty moment; draining does not kick them.
**Disable** holds agent dispatch. Neither mode, controller downtime nor agent
communication loss stops unrelated running containers.
**Drain host** asks for confirmation, blocks new deployments, and migrates
instances to other ready hosts with capacity. Each migration waits for an empty
lobby, reserves destination CPU, memory and ports, removes the source instance,
then rebuilds the same server identity and map on the destination using its saved
key and current promoted configuration/scripts/plugins. The address or port may
change. Active beta ownership and other operations still gate migration, and the
agent checks occupancy again before removal. Unavailable capacity leaves the
source running; unknown removal results retain their reservation until the
original operation reconciles. Migrations survive controller restarts.
Once all migrations pass health verification and the source is empty, it becomes
**Disabled** automatically. There is no manual Disable action. **Enable** starts
automatic setup while the host remains outside the capacity pool: the configured
runtime is pulled again and both latest published BO1 (T5) and BO2 (T6) libraries
are downloaded as needed and fully verified, including cached copies. Both games
must be published. Failed setup or stale inventory keeps the host disabled; only
successful preparation and fresh inventory return it to Active.
Administrators can choose **Delete host** on a host card or at the top of its
detail page. The confirmation lists anything that must be resolved first: