Bug 1041246

Summary: [RFE][nova]: Add "CPU&Memory Load Balance" Policy for OpenStack Cluster
Product: Red Hat OpenStack Reporter: RHOS Integration <rhos-integ>
Component: RFEsAssignee: RHOS Maint <rhos-maint>
Status: CLOSED UPSTREAM QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: markmc, yeylon
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://blueprints.launchpad.net/nova/+spec/cpu-memory-load-balance
Whiteboard: upstream_milestone_none upstream_status_unknown upstream_definition_drafting
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-19 17:02:08 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description RHOS Integration 2013-12-12 14:04:36 UTC
Cloned from launchpad blueprint https://blueprints.launchpad.net/nova/+spec/cpu-memory-load-balance.

Description:

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


Specification URL (additional information):

None