Support the ability to schedule VMs when openstack is running

Registered by Qichen Hao

As a open-source cloud computing platform,it's essential for openstack to have the ability to schedule VMs with different algorithms or strategies when openstack is running.According statistics from different sources, the datacenters in America consumed approximate 2% electric power, whereas the average utilization of serves was only 10% to 19%,so it's important to have the ability to consolidate the VMs in the datacenters for the purpose of improving the physical machine utilization or saving the power of datacenters.
Inorder to schedule the vms,We'd better to obtain the utilization of VMs and PMs,and schedule the vms with different algorithm.I'll obtain the VMs's and PM's resource utilization by Ceilometer.Then use the algorithm(design by users) to automatic schedule the vms.
Finally,I'll provide the function like Filter Scheduler(http://docs.openstack.org/developer/nova/filter_scheduler.html),but the difference is Filter Scheduler make decisions when instance be created,my function make decisions when the resource provision violate SLA or resource utilization is low(according to the designed algorithm).

Blueprint information

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

Related branches

Sprints

Whiteboard

(?)

Work Items

Work items:
Gather the information about the vms and PMs with Ceilometer: TODO
Test the vm migration using simple algorithm: TODO
Edit dashboard to present the schedule situation: TODO

This blueprint contains Public information 
Everyone can see this information.