Commit Graph

13 Commits

Author SHA1 Message Date
Sandy Walsh 26227b79e9 Removed zones from api and distributed scheduler
There is a new Zones implementation coming that will use AMQP-to-AMQP
channels vs. the public API. This is being done for three reasons:
1. remove complications in the OpenStack API (and possibly allow EC2 Zones)
2. remove dependencies on keystone and novaclient
3. faster scheduling (fewer chances for race conditions)

Learn more here:
http://wiki.openstack.org/EssexSchedulerImprovements

Change-Id: I6fe538923dd5ae19276afac2ac3311a285fd5c99
2012-02-16 17:53:00 +00:00
Brian Waldon 9cb5f547dc Remove admin_only ext attr in favor of authz
Working on blueprint separate-nova-adminapi. This removes the
admin_only extension attribute and the allow_admin_api flag. The
approach we're going for now is to load all extensions, but
to set an admin-only rule in our policy file for those extensions
that should be limited to just admin users. Now that all of our
admin api code has been moved to extensions, in order to
prevent admin api code from being loaded, simply remove it from
the extension list.

Change-Id: Ic574e06af44922ba764013b769077fc5099fd1a2
2012-01-24 10:30:32 -08:00
Chris Behrens 0fab78825e compute_api create*() and schedulers refactoring
Fixes bug 844160

Makes the servers create API call work with all schedulers, removes
'zone boot', and folds create_instance_helper back into servers
controller.

Notable changes:
1) compute API's create_at_all_once has been removed. It was only used
by zone boot.
2) compute API's create() no longer creates Instance DB entries. The
schedulers now do this. This makes sense, as only the schedulers will
know where the instances will be placed. They could be placed locally or
in a child zone. However, this comes at a cost. compute_api.create() now
does a 'call' to the scheduler instead of a 'cast' in most cases (* see
below). This is so it can receive the instance ID(s) that were created
back from the scheduler. Ultimately, we probably need to figure out a
way to generate UUIDs before scheduling and return only the information
we know about an instance before it is actually scheduled and created.
We could then revert this back to a cast. (Or maybe we always return a
reservation ID instead of an instance.)
3) scheduler* calls do not return a host now.  They return a value
that'll be returned if the caller does an rpc.call().  The casts to
hosts are now done by the scheduler drivers themselves.
4) There's been an undocumented feature in the OS API to allow multiple
instances to be built. I've kept it.
5) If compute_api.create() is creating multiple instances, only a single
call is made to the scheduler, vs the old way of sending many casts. All
schedulers now check how many instances have been requested.
6) I've added an undocumented option 'return_reservation_id' when
building. If set to True, only a reservation ID is returned to the API
caller, not the instance. This essentially gives you the old 'nova
zone-boot' functionality.
7) It was requested I create a stub for a zones extension, so you'll see
the empty extension in here. We'll move some code to it later.
8) Fixes an unrelated bug that merged into trunk recently where zones DB
calls were not being done with admin context always, anymore.
9) Scheduler calls were always done with admin context when they should
elevate only when needed.
10) Moved stub_network flag so individual tests can run again.

* Case #6 above doesn't wait for the scheduler response with instance
IDs. It does a 'cast' instead.

Change-Id: Ic040780a2e86d7330e225f14056dadbaa9fb3c7e
2011-09-27 05:32:24 +00:00
Ed Leafe c6c004c445 Updated the distributed scheduler docs with the latest changes to the classes. 2011-08-18 14:39:25 -05:00
Sandy Walsh c2ed9160e9 source illustrations added & spelling/grammar based on comstud's feedback 2011-06-10 09:48:17 -03:00
Sandy Walsh 22c71e27ce Added illustrations for Distributed Scheduler and fixed up formatting 2011-06-07 15:36:43 -03:00
Sandy Walsh 29eec21f67 little tweaks 2011-06-03 05:23:43 -07:00
Sandy Walsh 1adb965506 edits based on ed's feedback 2011-05-31 08:26:11 -07:00
Sandy Walsh 0cf5316131 first cut complete 2011-05-30 05:03:45 -07:00
Sandy Walsh 5101aa300b reservation_id's done 2011-05-30 00:45:15 -03:00
Sandy Walsh c3c2c1a63c basic flow done 2011-05-30 00:00:28 -03:00
Sandy Walsh 5aa5454548 lots more 2011-05-29 23:42:46 -03:00
Sandy Walsh c9926b12f4 starting 2011-05-29 18:01:46 -07:00