Pre-filter disabled computes

Registered by Matt Riedemann

This blueprint proposes to add a request filter to nova to modify the RequestSpec such that disabled computes will be filtered out of the GET /allocation_candidates response, similar to how the ComputeFilter is used today but filters earlier in placement.

To enable this, nova will need to start reporting disabled status information to placement for a disabled compute service (and all the nodes it manages) in the form of a trait. Plumbing will need to happen in the nova API, compute and scheduler service to link this all together.

Upgrades will need to be taken into account for (1) older computes that don't report the trait and (2) computes that are already disabled. The spec will go into the details.

See https://review.opendev.org/#/c/654596/ for a proof of concept.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Low
Drafter:
Matt Riedemann
Direction:
Approved
Assignee:
Matt Riedemann
Definition:
Approved
Series goal:
Accepted for train
Implementation:
Implemented
Milestone target:
milestone icon train-2
Started by
Matt Riedemann
Completed by
Matt Riedemann

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.opendev.org/#/q/topic:bp/pre-filter-disabled-computes

Addressed by: https://review.opendev.org/657884
    Spec to pre-filter disabled computes with placement

Addressed by: https://review.opendev.org/654596
    WIP: Add placement request filter for disabled computes

Addressed by: https://review.opendev.org/668565
    Set COMPUTE_STATUS_DISABLED trait from update_provider_tree flow

Addressed by: https://review.opendev.org/667419
    Clean up test_virtapi

Addressed by: https://review.opendev.org/668706
    Add VirtAPI.update_compute_provider_status

Addressed by: https://review.opendev.org/668707
    libvirt: manage COMPUTE_STATUS_DISABLED for hypervisor connection

Addressed by: https://review.opendev.org/668743
    Update COMPUTE_STATUS_DISABLED from set_host_enabled compute call

Addressed by: https://review.opendev.org/668752
    Add placement request pre-filter compute_status_filter

Addressed by: https://review.opendev.org/668756
    Refactor HostAPI.service_update

Addressed by: https://review.opendev.org/668986
    Follow up for pre-filter-disabled-computes series

Addressed by: https://review.opendev.org/704865
    Repro gen conflict in COMPUTE_STATUS_DISABLED handling

Addressed by: https://review.opendev.org/704866
    Reduce gen conflict in COMPUTE_STATUS_DISABLED handling

Gerrit topic: https://review.opendev.org/#/q/topic:bug/1886418

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.