Add ecu support for nova based on Cgroup on kvm hypervisor

Registered by wangpan

Currently nova supports cpu qos with vcpu pin and qouta/period, it is not so intelligent, and the cloud user usually doesn't know how to set the 'quota/period' of all instances and could still keeps fair and performance of them.
We should add an intelligent(non or very few manually interactive), fair, consistency performance way to implement the ecu concept like amazon ec2, we also need to treat ecu as an extra_spec of flavor, the instances which has the same ecus should have consistency performance even if they are running on several heterogeneous servers.
We also need to treat ecu as a resource like vcpu, it need has qouta management, resource tracking, scheduler filter.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
wangpan
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
wangpan

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/nova-ecu-support,n,z

Addressed by: https://review.openstack.org/54872
    Add ecu support for nova

Addressed by: https://review.openstack.org/54896
    Add ecus quota support

Addressed by: https://review.openstack.org/58694
    Add ECU setting for libvirt

How would you implement this? How would you automatically figure out how many ECUs a machine has? All I see is https://review.openstack.org/#/c/58694/2/etc/nova/nova.conf.sample which is all manual. This blueprint needs more detail see https://wiki.openstack.org/wiki/Blueprints#Blueprint_Review_Criteria. -- jogo (Feb 4, 2014)

Yes, jogo is right. https://review.openstack.org/#/c/58694/2 required manual setting for cpu usage bandwidth for each compute node. The key is how to set the bandwidth, and the design is necessary on this blueprint. -- oomichi
discussion: http://lists.openstack.org/pipermail/openstack-dev/2014-February/026127.html

Gerrit topic: https://review.openstack.org/#q,topic:bp/nova-ecu-support,n,z

Addressed by: https://review.openstack.org/54872
    Add ecu support for nova

Addressed by: https://review.openstack.org/54896
    Add ecus quota support

Addressed by: https://review.openstack.org/58694
    Add ECU setting for libvirt

How would you implement this? How would you automatically figure out how many ECUs a machine has? All I see is https://review.openstack.org/#/c/58694/2/etc/nova/nova.conf.sample which is all manual. This blueprint needs more detail see https://wiki.openstack.org/wiki/Blueprints#Blueprint_Review_Criteria. -- jogo (Feb 4, 2014)

Yes, jogo is right. https://review.openstack.org/#/c/58694/2 required manual setting for cpu usage bandwidth for each compute node. The key is how to set the bandwidth, and the design is necessary on this blueprint. -- oomichi
discussion: http://lists.openstack.org/pipermail/openstack-dev/2014-February/026127.html

If you are still working on this, please re-submit via nova-specs. If not, please mark as obsolete, and add a quick comment to describe why. --johnthetubaguy (20th April 2014)

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.