Request traits in Nova

Registered by Lei Zhang on 2017-05-29

This blueprint aims at leveraging traits to standardize the way
of requesting qualitative resources in Nova.
The main improvements are:
1. Allow to specify traits in flavors and image metadata.
2. Allow nova to validate traits when create a flavor.
3. Fail fast in nova-api when a requested traits doesn't exist or isn't valid in the cloud.
4. Standardize and encapsulate the implementation about how to request traits to scheduler through request spec.

Blueprint information

Status:
Complete
Approver:
Jay Pipes
Priority:
Low
Drafter:
Lei Zhang
Direction:
Approved
Assignee:
Lei Zhang
Definition:
Approved
Series goal:
Accepted for queens
Implementation:
Implemented
Milestone target:
milestone icon queens-rc1
Started by
Matt Riedemann on 2017-10-02
Completed by
Matt Riedemann on 2018-02-01

Related branches

Sprints

Whiteboard

Addressed by: https://review.openstack.org/468797
    Request traits in Nova

Gerrit topic: https://review.openstack.org/#/q/topic:bp/request-traits-in-nova

Addressed by: https://review.openstack.org/492026
    placement: extract traits from flavor extra spec

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

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: add traits support in the AllocationCandidates 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:request-traits-in-nova,n,z

Addressed by: https://review.openstack.org/511184
    [DNM] Add _get_provider_ids_with_any_trait

Addressed by: https://review.openstack.org/511185
    [DNM] placement: add traits support in the AllocationCandidates object

Gerrit topic: https://review.openstack.org/#q,topic:bp/request-traits-in-nova,n,z

Addressed by: https://review.openstack.org/535642
    placement: support traits in allocation candidates API

Addressed by: https://review.openstack.org/536083
    placement: using the dict format for the allocations

Addressed by: https://review.openstack.org/536085
    placement: enable required traits from the flavor extra specs

Gerrit topic: https://review.openstack.org/#q,topic:537351,n,z

Addressed by: https://review.openstack.org/539310
    Add functional tests for traits-based scheduling

Addressed by: https://review.openstack.org/537351
    Fix nits in support traits changes

Addressed by: https://review.openstack.org/539300
    Mention required traits in the flavors user docs

Addressed by: https://review.openstack.org/539658
    doc: placement upgrade notes for queens

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.