Reachability chain (host -> Internet)
A server is only useful if traffic can reach it: host -> switch -> edd -> uplink -> Internet. Every link in that chain has to be up. Break any one of them and the host is "stranded" — even though it is powered on, healthy, and running its workloads, nobody on the outside can talk to it.
This is the trap. The host did not fail, so you will not see a failed-server alert. The cable upstream of it did, or the switch it hangs off went dark, or the edd lost its link. The fix is to repair the broken link in the chain, not the host — and until you do, the customers on that host are down.
Detailed explanation
The engine maintains a memoized reachability set keyed on topology_version, bumped on every cable / switch / edd / uplink mutation. A host is reachable iff there is an unbroken path host -> switch -> edd -> uplink. Recomputed lazily; the version key means topology-stable ticks never re-walk the graph.
Stranded hosts trigger eviction sweeps and customer-side north-south-down incidents. A single-tier VM on a stranded host goes dark and does not relocate on its own — recovery is a manual MigrateVm onto a reachable host. Replicated / MultiAz workloads with a copy on a still-reachable host ride through.