scheduler: Add resource object models

Registered by Jay Pipes on 2014-10-10

Specification for describing resource amounts and usage records using a generalized class interface.

Blueprint information

Status:
Complete
Approver:
John Garbutt
Priority:
High
Drafter:
Jay Pipes
Direction:
Needs approval
Assignee:
Jay Pipes
Definition:
Superseded
Series goal:
None
Implementation:
Deferred
Milestone target:
None
Completed by
John Garbutt on 2016-02-09

Related branches

Sprints

Whiteboard

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

Addressed by: https://review.openstack.org/127609
    Add resource object models

Gerrit topic: https://review.openstack.org/#q,topic:resource-objects,n,z

Addressed by: https://review.openstack.org/127614
    Add object models for comparing resource amounts

Addressed by: https://review.openstack.org/127615
    Adds resource type classes

Addressed by: https://review.openstack.org/128756
    Adds equality operator overloads for AmountSpec

Addressed by: https://review.openstack.org/128757
    Adds equality operator overloads for UsageSpecs

Addressed by: https://review.openstack.org/128758
    Adds resource getters to compute node and instance

Addressed by: https://review.openstack.org/128992
    Add object models for comparing resource amounts

Addressed by: https://review.openstack.org/128999
    Adds resource type classes

Addressed by: https://review.openstack.org/127577
    ironic: remove non-standard info in get_available_resource dict

Addressed by: https://review.openstack.org/127576
    hyperv: use standard architecture constants for CPU model

Addressed by: https://review.openstack.org/127575
    xenapi: fix structure of data reported for cpu_info

Addressed by: https://review.openstack.org/127574
    ironic: delete cpu_info data from get_available_resource

Addressed by: https://review.openstack.org/127573
    vmware: delete cpu_info data from get_available_resource

Addressed by: https://review.openstack.org/127572
    pci: move filtering of devices up into resource tracker

Addressed by: https://review.openstack.org/148137
    Add enum field

Addressed by: https://review.openstack.org/148138
    Add CPUInfo object

Addressed by: https://review.openstack.org/148139
    Apply CPUInfo object to compute node

Addressed by: https://review.openstack.org/148367
    Limit the keys support in dict field type

Addressed by: https://review.openstack.org/148368
    use cpuinfo obj in virt driver

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

Addressed by: https://review.openstack.org/153690
    Libvirt: vcpu_model support

Addressed by: https://review.openstack.org/153689
    Add vcpu_model to instance object

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

Addressed by: https://review.openstack.org/161004
    Add one cpu_mode type

Addressed by: https://review.openstack.org/160611
    Copy the default value for field

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

Bumping to liberty, we have now hit feature proposal freeze for kilo, and this is apparently on hold. --johnthetubaguy 10th March 2015

Addressed by: https://review.openstack.org/184534
    Adds spec for modeling resources using objects

Addressed by: https://review.openstack.org/188759
    Amend resource objects proposal

Removing milestone as blueprint is not yet complete. In fact the nova-spec is still being reviewed. --johnthetubaguy 22nd June 2015

Addressed by: https://review.openstack.org/206249
    Add non-negative integer and float fields

Final patches:
https://review.openstack.org/#/c/128992
https://review.openstack.org/#/c/128999

Seems the above also depend on these:
https://review.openstack.org/#/q/status:open+project:openstack/nova+branch:master+topic:pci-cleanup,n,z

Addressed by: https://review.openstack.org/239772
    Adds spec for modeling resources using objects

Addressed by: https://review.openstack.org/240159
    Remove vcpu resource from extensible resource tracker

Addressed by: https://review.openstack.org/242110
    Deprecate Extensible Resource Tracker

Addressed by: https://review.openstack.org/242215
    scheduler: refactory pci consume_resource

this has effort is replaced with new blueprint --johnthetubaguy 2016.02.09

I assume the new blueprint(s) that superseded this are resource-providers and resource-classes, but I'm not entirely sure. -- mriedem 20160211

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.