ResourceProviderTraits - Manage Capabilities with ResourceProvider
The ResourceProvider has a collection of Inventory and Allocation objects to
manage the *quantitative* aspects of a boot request: When an instance uses
resources from a ResourceProvider, the corresponding resource amounts of
Inventories are subtracted by its Allocations. Despite the quantitative
aspects, the ResourceProvider also needs non-consumable *qualitative* aspects
to differenitiate their characteristics from each other. We need a way to
represent the missing piece of ResourceProviders, so we propose a new REST
resource `traits` in placement API to manage the qualitative parts of
ResourceProviders. Using Traits API, the placement service can manage the
characteristics of resource providers by Traits, and then help scheduler make
better placement decisions that match the boot requests.
Blueprint information
- Status:
- Complete
- Approver:
- Dan Smith
- Priority:
- Medium
- Drafter:
- Alex Xu
- Direction:
- Approved
- Assignee:
- Alex Xu
- Definition:
- Approved
- Series goal:
- Accepted for pike
- Implementation:
- Implemented
- Milestone target:
- pike-2
- Started by
- Matt Riedemann
- Completed by
- Matt Riedemann
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
ResourcePro
Addressed by: https:/
[POC]
Addressed by: https:/
[POC]
Addressed by: https:/
[POC]
Addressed by: https:/
[POC]
Addressed by: https:/
[POC]
Addressed by: https:/
[POC]
Addressed by: https:/
[POC]
Addressed by: https:/
[POC]
Addressed by: https:/
[POC]
Addressed by: https:/
[POC]
Gerrit topic: https:/
Addressed by: https:/
[POC]
Addressed by: https:/
[POC]
Addressed by: https:/
List resource provider with required and preferred traits
Gerrit topic: https:/
Addressed by: https:/
placement: Move the common code out of ResourceClassCache
Addressed by: https:/
placement: add cache for traits
Addressed by: https:/
[placement] Allow PUT and POST without bodies
Gerrit topic: https:/
Addressed by: https:/
Remove namespace check in creating traits
Addressed by: https:/
Rename the model object ResourceProvide
Addressed by: https:/
Add sync traits command for placement
Addressed by: https:/
add cache which keeps DB and os_traits in sync
Addressed by: https:/
integrate trait cache with TraitList and Trait