nova/nova/virt
Sandy Walsh d8e1b8f210 flatten distributed scheduler
This branch removes AbstractScheduler, BaseScheduler and LeastCostScheduler
and replaces it with DistributedScheduler. Now the points of extension are
handled via the --default_host_filters and --least_cost_functions only.

Also, greatly simplified the zone handling logic in DistibutedScheduler, mostly
by removing the cryptic dicts with helper classes.

Fixed up the Least Cost functions to better deal with multiple functions.
(In a followup patch I will removed the normalization that occurs as this will
be a problem).

Tests were mostly rewritten to support this new world order.

Debated removing JSONFilter since it's not accessible from the outside world,
but decided to keep it as there are discussions afoot on making scheduler
changes without having to redeploy code or restart services.

HostFilters once again get the all the host service capabilities, but now
via a HostInfo class that mostly contains read-only dicts of capabilities.

Virtual resource consumption is done in the DistributedScheduler class now.
The filters/weighing functions don't need to worry about this. Also, weighing
functions only have to return a single host and not worry about the number of
instances requested.

Change-Id: I92600a4a9c58b1add775c328a18d8f48c305861e
2011-11-01 04:28:34 -07:00
..
libvirt Creating uuid -> id mapping for S3 Image Service 2011-10-31 13:56:03 -04:00
vmwareapi Removed callback concept on VM driver methods: 2011-10-25 17:17:40 -05:00
xenapi Adding support for retrying glance image downloads. 2011-10-26 14:48:46 -04:00
__init__.py In preparation for XenAPI support, refactor the interface between 2010-07-18 18:15:12 +01:00
connection.py Created new libvirt directory, moved libvirt_conn.py to libvirt/connection.py, moved libvirt templates, broke out firewall and network utilities. 2011-04-22 12:47:09 -04:00
cpuinfo.xml.template Moved back templates and fixed pep8 issue. Template move was due to breaking packaging with template moves. That will need to happen in a later merge. 2011-05-19 16:25:57 -04:00
disk.py This patch teaches virt/libvirt how to format filesystem on ephemeral device depending on os_type so that the behaviour matches with EC2's. 2011-09-13 21:04:13 +00:00
driver.py Merge "Removed callback concept on VM driver methods:" 2011-10-26 16:35:45 +00:00
fake.py flatten distributed scheduler 2011-11-01 04:28:34 -07:00
hyperv.py Adds the ability to automatically issue a hard reboot to instances that have been stuck in a 'rebooting' state for longer than a specified window. 2011-10-13 16:12:42 -05:00
images.py Address Soren's comments: 2011-09-20 05:40:18 -04:00
interfaces.template trunk merged 2011-03-23 21:24:19 +03:00
libvirt.xml.template Remove AoE, Clean up volume code 2011-10-11 14:25:04 -07:00
vif.py Renamed setup_vif_network to plug_vif 2011-07-20 06:42:49 +09:00
vmwareapi_conn.py Removed callback concept on VM driver methods: 2011-10-25 17:17:40 -05:00
xenapi_conn.py flatten distributed scheduler 2011-11-01 04:28:34 -07:00