Migrate a logging change from common:

commit 58404a1a9461900367dbb7a8b3f2f98441e12959
Author: Mate Lakat <mate.lakat@citrix.com>
Date:   Tue Jul 31 17:53:57 2012 +0100

    Install a qualified except hook.

    Fixes bug 1031351.

    As an Exception is raised, it was not visible in the log, because
    it wasn't qualified. The fix sets up the exception hook to be
    qualified as the product_name.

Change-Id: I38c48d0dd2ac885fcb226310b6039be667af9e0d
Improve external lock implementation

Remove a number of limitations from the external locks.
- They can be nested now
- They do not need external cleanup in case of failures
- They do not rely on lockfile or greenlet internal implementation

New implementation is based on fcntl locks and any crashing process
will drop the lock. It does not have to rely on any cleanup code or
handling exceptions. Because no cleanup is needed, a number of tests
have been removed.
This implementation is not portable outside of POSIX/BSD/SVR4 systems.

Fcntl locks should work correctly with NFS mounts.

Locks are cleaned up after the tests finish running via run_tests.sh,
even though it's not strictly needed.

This change requires eventlet >= 0.9.17.

bp improve-external-locking

Change-Id: Idf5424c04645f25097733848a007b150145b0b27
Remove old exception type

Error doesn't exist anymore. Use a generic NovaException instead.

Change-Id: I3b36fdf999f5e62a7b4137dfa874173de5fed9b8
Make extension aliases consistent

related to blueprint disable-server-extensions

The alias for extensions should start with os- where possible.
Unfortunately the alias is used for xml namespacing in some cases
so it cannot be made consistent for some legacy extensions

There will continue to be a small number of output extensions that
have no special namespace because they were added before we started
namespacing extensions and they need to remain the same for legacy
compatibility.

In the future all extensions should include a namespace prefix
when adding extra data to the api.

Change-Id: I3a31fa21e16dc7c289d7f5b2e4736ab48bf42557
Allow loaded extensions to be checked from servers

related to blueprint disable-server-extensions

Adds an is_loaded method to the extension manager and passes
the extension manager to the servers controller so that it
can be used to enable optional post parameters.

The extension manager is also saved in ExtensionDescriptors
because they may need access to it if they are subclassing
the servers Controller.

Tests are included to verify that extension loading can be
properly determined.

Change-Id: Ie4effbb885370dc80d86ee13d27c9263f7f63cad
ensure_tree calls mkdir -p

Let's use os.makedirs() instead...

Change-Id: Ie78b3c1107ac02263703cb5f4406c4ba4f83c7ad
tests: avoid traceback warning in test_live_migration

Change-Id: I959e780e88a31ad8105dc0d8bbb544c8c50f49e5
Fix test_resize_xcp testcase - it never ran

Change-Id: I7a55c53769574251e046c9621363a00e716fc06d
Move root_helper deprecation warning into execute.

By moving this warning into the execute function and out of the top
level utils module we eliminate warnings that could occur when
Nova code includes utils.py but doesn't setup a config file properly.

Fixes LP Bug #1032657.

Change-Id: Iae41ead251a64717de3bf7cba3fa206cda278a20
Remove list_instances_detail from compute drivers.

Removes the list_instances_detail function from various compute drivers
which implement it. We no longer make use of this compute driver
call when syncing power states.

Change-Id: I4980bd8d4ec14c61e16d5be105659f0d5b6748ba
Adds per-user-quotas support for more detailed quotas management

Implements blueprint per-user-quotas.

Based on the original quotas structure.

NOTE:
quota_instances, quota_cores, quota_ram, quota_volumes,
quota_gigabytes, quota_key_pairs and quota_security_groups
are supported per user.

Allow 'projectadmin' role to access the user quota setting
methods.

Add commands 'nova-manage quota project/user' for quotas
management.

Change-Id: I07a39499432571fedd819c53ae414240cefc3354
Remove unused InstanceInfo class.

We no longer use InstanceInfo.

Also removes some unused _map_to_instance_info functions in
various virt drivers.

Change-Id: I02ead10e43426b9ad051970e9e78e970de5b1ac1
Merge "Improve external lock implementation"
Merge "Adds per-user-quotas support for more detailed quotas management"
Merge "Migrate a logging change from common:"
Merge "Remove list_instances_detail from compute drivers."
Merge "Remove unused InstanceInfo class."
Merge "Remove old exception type"
Remove instance_id fallback from cast_to_compute_host().

This removes some code that supported using either an instance id or
uuid when doing an instance update.  The db API no longer accepts an ID.
A UUID must be used or it will raise an exception.  I also updated the
unit tests to reflect this.

Change-Id: I5a9442f3b571f37950676e96e2f129ea45c55d78
Reduce db access in prep_resize in the compute manager.

This patch changes the arguments passed to prep_resize in the compute
manager.  Previously it took instance and instance_type IDs.  It now
receives a full dict for both of these.  This cuts down on database
access needed on the compute node.

This method was not previously in the compute rpcapi module, so it has
been added there.  The scheduler had a bit of work done ot get it to use
the rpcapi module for prep_resize, as well.

Part of blueprint no-db-messaging.

Change-Id: Idadbf4fc624d5d1b128f758a46c61b3c840b9898