gantt/nova
Sandy Walsh d33d05f475 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
..
auth Stop returning correct password on api calls 2011-10-05 15:02:50 +01:00
notifier more logging info to help identify bad payloads 2011-08-29 10:27:25 -07:00
rpc Remove AoE, Clean up volume code 2011-10-11 14:25:04 -07:00
scheduler flatten distributed scheduler 2011-11-01 04:28:34 -07:00
tests flatten distributed scheduler 2011-11-01 04:28:34 -07:00
vsa removed create_volumes, added log & doc comment about experimental code 2011-08-26 13:55:43 -07:00
__init__.py Removing import of nova.test added to nova/__init.py__ as problem turned out to be somewhere else (not in nova source code tree) 2011-07-04 17:22:08 +01:00
block_device.py block_device: introduce helper function to check swap or ephemeral device 2011-07-23 16:55:25 +09:00
exception.py Adds more usage data to Nova's usage notifications. 2011-10-12 19:11:14 +00:00
fakememcache.py docstring cleanup, nova dir 2011-04-20 12:08:22 -07:00
fakerabbit.py cleanup the code for merging 2011-05-25 15:42:49 -07:00
flags.py Bug 884527: ajax_console_proxy_port needs to be an integer 2011-10-31 17:26:13 -07:00
log.py Ensure non-default FLAGS.logfile_mode is properly converted to an octet. 2011-09-29 21:06:06 -07:00
manager.py docstring cleanup, nova dir 2011-04-20 12:08:22 -07:00
quota.py VSA code redesign. Drive types completely replaced by Volume types 2011-08-25 18:38:35 -07:00
service.py Add INPUT chain rule for EC2 metadata requests (lp:856385) 2011-10-13 08:46:23 +01:00
test.py Remove unused flag_overrides from TestCase 2011-10-15 16:44:56 +01:00
utils.py Improve the liveness checking for services 2011-10-21 13:32:01 +01:00
wsgi.py Next round of prep for keystone integration. 2011-08-19 19:02:02 +00:00