Add "CPU&Memory Load Balance" Policy for OpenStack Cluster

Registered by Guangya Liu (Jay Lau) on 2013-05-19

Currently in OpenStack, it already used weight to implement stack and spread policy based on free memory, but did not implement “CPU Load Balance” and “Memory Load Balance” Policy and many customers want to use this policy to balance the load in their OpenStack cluster.

Solution Description (CPU Load Balance)
Create a new Weigher for CPU Load Balamce.
Take host_state.vcpus_used/vcpus_total as CPU usage for the hypervisor node and sort host according to this when deploy VM.
Very similar to nova/scheduler/weights/ram.py

Solution Description (Memory Load Balance)
Create a new Weigher for Memory Load Balamce.
Take used_ram_mb/total_usable_ram_mb as Memory usage for the hypervisor node and sort host according to this when deploy VM.
Very similar to nova/scheduler/weights/ram.py

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
Drafting
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Seems to be superseded by https://blueprints.launchpad.net/nova/+spec/utilization-based-scheduling -- Qiu Yu Seems to be superseded by https://blueprints.launchpad.net/nova/+spec/utilization-based-scheduling -- Qiu Yu

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.