Placement allocation requests
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:
-
pike-3
- Started by
- Matt Riedemann
- Completed by
- Matt Riedemann
Related branches
Related bugs
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:/
Addressed by: https:/
Add uuid to scheduler's HostState object
Addressed by: https:/
placement: support GET /allocation_
Addressed by: https:/
placement: scheduler uses allocation candidates
Addressed by: https:/
WIP - placement: claim resources in scheduler
Addressed by: https:/
placement: add traits support to get resource_providers with shared
Addressed by: https:/
placement: return traits in the ProviderSummary object
Addressed by: https:/
placement: add traits to the 'GET /allocation_
Gerrit topic: https:/
Addressed by: https:/
scheduler: alternates for filter scheduler
Addressed by: https:/
placement: add claim_resources() to report client
Addressed by: https:/
placement: claim resources in filter scheduler
Addressed by: https:/
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:/
Addressed by: https:/
placement: the common method to filter resource providers by traits
Addressed by: https:/
Return alternate allocation requests to scheduler
Addressed by: https:/
WIP - add alternate hosts
Addressed by: https:/
WIP - return alternates along with their allocations
Addressed by: https:/
WIP - Add allocations to the values returned from the scheduler
Addressed by: https:/
Monkey patch the blockdiag extension
Addressed by: https:/
docs: Document the scheduler workflow
Gerrit topic: https:/
Gerrit topic: https:/
Addressed by: https:/
Add Selection objects
Gerrit topic: https:/
Addressed by: https:/
Fix endpoint URI /allocation_
Work Items
Dependency tree

* Blueprints in grey have been implemented.