Visitar URL original
Block scheduling on the source host of in-use failover host reservations by PhilippMatthes · Pull Request #1514 · cobaltcore-dev/cortex · GitHub
Skip to content

Block scheduling on the source host of in-use failover host reservations - #1514

Open
PhilippMatthes wants to merge 1 commit into
feat/failover-host-completion-controllerfrom
feat/failover-host-source-block
Open

PhilippMatthes wants to merge 1 commit into
feat/failover-host-completion-controllerfrom
feat/failover-host-source-block

Conversation

@PhilippMatthes

Copy link
Copy Markdown
Member

Stacked on #1513 (targets feat/failover-host-completion-controller).

filter_failover_host previously removed only a reservation's reserved target host from the candidate set, so new VMs could still be scheduled onto a failed host while a gang evacuation was draining it. That works against the drain and keeps the source host from ever going empty, so the completion controller (#1513) could never see it empty and release the reservation.

For non-evacuation requests the filter now also removes the in-use reservation's status.failoverHostReservation.sourceHost. SourceHost is only set once a reservation is InUse, so this blocks exactly the hosts a gang evacuation is actively draining. An evacuation's own candidates are destinations (never the source), so the evacuation itself is unaffected.

Documented in the "How failover host reservations affect scheduling → The filter" section. Covered by a new test case asserting both the reserved target and the in-use source host are pruned.

filter_failover_host removed only the reserved target host, so new VMs
could still be scheduled onto a failed host while a gang evacuation was
draining it. That works against the drain and keeps the source from ever
going empty, so the completion controller could never release the
reservation. For non-evacuation requests the filter now also removes the
in-use reservation's status.failoverHostReservation.sourceHost. An
evacuation's candidates are destinations, never the source, so the
evacuation itself is unaffected. Documented in the scheduling-behavior
section.

Signed-off-by: Philipp Matthes <p.matthes@sap.com>
@PhilippMatthes
PhilippMatthes force-pushed the feat/failover-host-source-block branch from 3d157fc to 16d83e7 Compare November 11, 2026 14:13

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant