Placement allocation requests

Registered by Matt Riedemann

We propose to have the placement API return to the scheduler a set of
alternative allocation choices that the scheduler may then use to both make a
filtered/weighed decision as well as attempt a claim of resources on multiple complex
resource providers.

Blueprint information

Status:
Complete
Approver:
Dan Smith
Priority:
Essential
Drafter:
Jay Pipes
Direction:
Approved
Assignee:
Jay Pipes
Definition:
Approved
Series goal:
Accepted for pike
Implementation:
Implemented
Milestone target:
milestone icon pike-3
Started by
Matt Riedemann
Completed by
Matt Riedemann

Related branches

Sprints

Whiteboard

This is a dependency for moving claims to the scheduler, which is a high priority item for Nova in the Pike release, therefore I am approving this blueprint before the spec is approved. The spec is really docs at this point, and the bp approval and code moving forward w/o the spec approval is an exceptional case since we're short on time for the release. -- mriedem 20170629

Gerrit topic: https://review.openstack.org/#q,topic:bp/placement-allocation-requests,n,z

Addressed by: https://review.openstack.org/476630
    Add uuid to scheduler's HostState object

Addressed by: https://review.openstack.org/475448
    placement: support GET /allocation_candidates

Addressed by: https://review.openstack.org/476631
    placement: scheduler uses allocation candidates

Addressed by: https://review.openstack.org/476632
    WIP - placement: claim resources in scheduler

Addressed by: https://review.openstack.org/478464
    placement: add traits support to get resource_providers with shared

Addressed by: https://review.openstack.org/479766
    placement: return traits in the ProviderSummary object

Addressed by: https://review.openstack.org/479776
    placement: add traits to the 'GET /allocation_candidates' endpoint

Gerrit topic: https://review.openstack.org/#q,topic:bp/placement-claims,n,z

Addressed by: https://review.openstack.org/482381
    scheduler: alternates for filter scheduler

Addressed by: https://review.openstack.org/482382
    placement: add claim_resources() to report client

Addressed by: https://review.openstack.org/482383
    placement: claim resources in filter scheduler

Addressed by: https://review.openstack.org/486170
    placement: add retry tight loop claim_resources()

This is complete for Pike. We'll have more work to do in Queens to add support for filtering allocation candidates by traits, but that's a different blueprint. We should get the spec cleaned up now for the initial design so it can serve as docs of the API and how it's used: https://review.openstack.org/#/c/471927/ -- mriedem 20170725

Addressed by: https://review.openstack.org/489206
    placement: the common method to filter resource providers by traits

Addressed by: https://review.openstack.org/471927
    Return alternate allocation requests to scheduler

Addressed by: https://review.openstack.org/486215
    WIP - add alternate hosts

Addressed by: https://review.openstack.org/486253
    WIP - return alternates along with their allocations

Addressed by: https://review.openstack.org/495854
    WIP - Add allocations to the values returned from the scheduler

Addressed by: https://review.openstack.org/476159
    Monkey patch the blockdiag extension

Addressed by: https://review.openstack.org/475810
    docs: Document the scheduler workflow

Gerrit topic: https://review.openstack.org/#q,topic:bp/return-destination-objects,n,z

Gerrit topic: https://review.openstack.org/#q,topic:bp/return-selection-objects,n,z

Addressed by: https://review.openstack.org/499239
    Add Selection objects

Gerrit topic: https://review.openstack.org/#q,topic:bp/return-alternate-hosts,n,z

Addressed by: https://review.openstack.org/557580
    Fix endpoint URI /allocation_requests

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.