Drain Host
Draining a host migrates all of its stacks to other hosts in a safe order, then marks the host as unschedulable. Use it before kernel updates, hardware maintenance, or retiring a host permanently.
Starting a drain
Section titled “Starting a drain”- Hosts → select host → Drain
- Pick one or more destination hosts (dockmesh will distribute by available resources)
- Choose an ordering strategy:
- Smallest first — good for quick wins, most stacks move fast
- Largest first — frees the most resources up front
- Dependency-aware — stacks that reference each other’s volumes or networks move together
dockmesh runs the standard Migration pre-flight for each stack before starting.
During the drain
Section titled “During the drain”The UI shows a live progress view:
- Current stack being migrated
- Queued stacks with their predicted destination
- Stacks that failed pre-flight (with reason)
- Total bytes transferred and time remaining
Failed stacks are skipped — the drain continues with the rest. At the end you get a summary showing what succeeded, what was skipped, and why.
Mark-unschedulable-only mode
Section titled “Mark-unschedulable-only mode”If you just want to stop new stacks from being created on a host without migrating existing ones (e.g. you’re about to reboot and want things to resettle afterwards), use Cordon instead of Drain. Cordon flips the host’s scheduling flag without touching workloads.
Uncordoning
Section titled “Uncordoning”After maintenance, Hosts → Uncordon makes the host schedulable again. Stacks you drained off earlier are not automatically migrated back — if you want them back, use Migration per stack, or keep them where they are.
Audit log
Section titled “Audit log”Every drain event — started, per-stack migration, completed, failed — is written to the audit log with user, timestamp, source, destination, and outcome.
See also
Section titled “See also”- Stack Migration — single-stack version of the same primitive
- Multi-Host — managing the fleet