Allow custom resource classes in flavor extra specs

Registered by Jim Rollenhagen

Allows a flavor to request custom resource classes via extra specs, and also allows overriding of "standard" resource classes (VCPU, MEMORY_MB, DISK_GB) in extra specs such that they can be displayed in API fields (and CLI/dashboard/etc) without being scheduled to.

Blueprint information

Status:
Complete
Approver:
Sylvain Bauza
Priority:
High
Drafter:
Jim Rollenhagen
Direction:
Approved
Assignee:
Ed Leafe
Definition:
Approved
Series goal:
Accepted for pike
Implementation:
Implemented
Milestone target:
milestone icon pike-3
Started by
Matt Riedemann
Completed by
Matt Riedemann

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/custom-resource-classes-in-flavors,n,z

Addressed by: https://review.openstack.org/446570
    Add spec for custom resource classes in flavors

Jay is getting stretched thin on other work, so we probably need one or more people to step up and own this one which sounds like at least three major changes: placement API updates for filtering resource providers by custom resource class, a change in the FilterScheduler to pass those through via flavor extra specs, and a data migration for Ironic instances. cdent and edleafe expressed interest in owning this during the June 12 nova-scheduler meeting. dtantsur from Ironic said he could help with black box integration testing. -- mriedem 20170712

I don't think any changes need to be made to the placement API. It currently accepts a generic 'resources' query parameter, and can handle any number of {resource_class: amount} key-value pairs. -- edleafe 2017.06.13

Addressed by: https://review.openstack.org/473627
    Extract custom resource classes from flavors

Gerrit topic: https://review.openstack.org/#q,topic:bp/custom-resource-classes-pike,n,z

Addressed by: https://review.openstack.org/481748
    Amend spec for "Allow custom resource classes in flavor extra specs"

Addressed by: https://review.openstack.org/484935
    Consider instance flavor resource overrides in allocations

Addressed by: https://review.openstack.org/484949
    WIP - Migrate Ironic Flavors

Addressed by: https://review.openstack.org/494206
    Remove the Pike migration code for flavor migration

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

Addressed by: https://review.openstack.org/637217
    ironic: complete the flavor data migration started in pike

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.