Added diagrams to RST docs that show required vm_state / task_state
transitions for compute api operations.
(Set Sandy Walsh as author since he created the diagrams)
Change-Id: Ie6a9cd4b54321a98fea5429ee52eb781f57f31a4
Now that the rpc API includes more than RabbitMQ, update a filename and
directory name to be 'rpc' instead of 'rabbit'.
Change-Id: Ib7fcccdd77fae128b6de3ee490fee3d6325ca7c5
blueprint sphinx-doc-cleanup
bug 944385
- Fix formatting and markup issues that produce error messages
- Update TOC lists for missing/new files
- Fix a few links
- Update instructions with dependencies for building the documentation
- Updated base on review comments from oubiwann to fix trailing whitespace in modified files
Change-Id: I589152bfab9c543d2b11fa8bed2344259aa90675
Filters are supposed to be pluggable, but they are not, since you have
to modify __init__.py.
This adds a --scheduler_availabile_filters setting which replaces the
hardcoding in __init__.py. This setting is a MultiStr (a list, which
you can specify more than once) containing the full paths to filter
classes to make available to the scheduler. Using a value of
'nova.scheduler.filters.standard_filters' maps to all standard filters
included in nova under nova.scheduler.filters. This is the default
setting and matches what was in __init__.py before.
Also renamed --default_host_filters to --scheduler_default_filters to
make the flag a bit more clear.
Change-Id: I10eb54e9982b6d42316adfb2cc2600b44a9c3bdf
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
This required rewriting our Diffie-Hellman-Merkle implementation for
set_admin_password in xen. Fixes bug 917851.
Change-Id: Ic4cdcc06221f003aec2dcd5ba05a1a9ad19d39c9
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
This simplifies a number of Jenkins jobs which currently, other
than directory names, could be the same for all OpenStack
projects. By renaming the virtualenv directory, the redundant
Jenkins virtualenv build and copy jobs can be eliminated.
Change-Id: Ieaf1dac3207ecb34b911c7edcd2086809abdf49e
This commit begins to implement blueprint consolidate-testing-infrastructure by
adding a 'testing' subpackage and moving some modules into it.
Change-Id: I04bf860bc386bd2016e7dbc5a6f6ef7379a855bb
Documented how to run unit tests
Added docs about what's on Launchpad
Added docs on Gerrit with pointers to wiki.
Added docs on Jenkins: how to access, what it does
Clarified that running unit tests doesn't mean you can fully run OpenStack.
Change-Id: I33fa9d2f271631a1a9aceaa5d4fd465198bf51d4
General editing of the page on how to set up a development
environment, including:
- Documented which packages you need to install on Fedora-based
systems in order to run a development environment.
- Documented prereqs for setting up on Mac OS X
- Reorganized some sections
- Word wrapped text to 78 columns
- Removed steps to install pep8/pylint, this is now done automatically.
- MacOSX -> Mac OS X
Also, some minor edits:
Change-Id: I6f6181b3f3332fec93bc55897c7b9bdc50926908
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