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

Dan Smith
Jay Pipes
Jay Pipes
Series goal:
Accepted for pike
Milestone target:
milestone icon pike-3
Started by
Matt Riedemann
Completed by
Matt Riedemann

Related branches



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:,topic:bp/placement-allocation-requests,n,z

Addressed by:
    Add uuid to scheduler's HostState object

Addressed by:
    placement: support GET /allocation_candidates

Addressed by:
    placement: scheduler uses allocation candidates

Addressed by:
    WIP - placement: claim resources in scheduler

Addressed by:
    placement: add traits support to get resource_providers with shared

Addressed by:
    placement: return traits in the ProviderSummary object

Addressed by:
    placement: add traits to the 'GET /allocation_candidates' endpoint

Gerrit topic:,topic:bp/placement-claims,n,z

Addressed by:
    scheduler: alternates for filter scheduler

Addressed by:
    placement: add claim_resources() to report client

Addressed by:
    placement: claim resources in filter scheduler

Addressed by:
    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: -- mriedem 20170725

Addressed by:
    placement: the common method to filter resource providers by traits

Addressed by:
    Return alternate allocation requests to scheduler

Addressed by:
    WIP - add alternate hosts

Addressed by:
    WIP - return alternates along with their allocations

Addressed by:
    WIP - Add allocations to the values returned from the scheduler

Addressed by:
    Monkey patch the blockdiag extension

Addressed by:
    docs: Document the scheduler workflow

Gerrit topic:,topic:bp/return-destination-objects,n,z

Gerrit topic:,topic:bp/return-selection-objects,n,z

Addressed by:
    Add Selection objects

Gerrit topic:,topic:bp/return-alternate-hosts,n,z

Addressed by:
    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.


No subscribers.