fix bug where nova ignores glance host in imageref

This is related to bug 883328.

Change-Id: Iadd1aec8d1bda3bd75bd0ab7f6797b643626db90
Stop libvirt test from deleting instances dir

 * fixes bug 974293

Change-Id: Id41ab20193a70246ad2e3e1cc18edf47059d312d
Merge "fix bug where nova ignores glance host in imageref" into stable/essex
Allow unprivileged RADOS users to access rbd volumes.

This makes it possible to access rbd volumes with RADOS users with
restricted privileges. Previously, the admin user was always used.

This requires libvirt 0.9.8 or higher.

This is a backport of commit 01f24caba86c987b0109f743979a4e99e8afed11
from master.

Fixes bug 975335.

Change-Id: I3fbb2c03e5f63940c3a42f2d4f8d03ee16b30f7e
Fixed bug 962840, added a test case.

eventlet.tpool.Proxy doesn't work with old-style class in __str__()
or __repr__() calls. See bug #962840 for details.
We perform a monkey patch to replace those two instance methods.

Change-Id: Ia51bbd3e71cad7df45da5b3b27eef70f9d9e9002
Fix errors in os-networks extension

 * Makes sure the uuid is returned as id if it exists
 * Simplifies db get for manager.get_networks
 * Removes direct db access from manager which was breaking test
 * Updates tests to verify the new logic
 * Makes sure Remote NotFounds are turned into 404s
   (The RemoteError blocks can be removed once
    https://review.openstack.org/5749 lands)
 * Fixes bug 977712
 * Fixes bug 977723

Change-Id: I6aa815960782c7ae5165aeebd83bdaaa62c19b04
Create compute.api.BaseAPI for compute APIs to use

Fixes bug 960226 where compute.api.HostAPI called non-existent methods

Regression was introduced here:
https://review.openstack.org/#change,5252

Added tests for HostAPI

Change-Id: Id17927bc608ff638ea9b0b5509f0f0bb14503f85
Populate image properties with project_id again

This allows ec2 image publishing to function on Essex for users
who are still using deprecated auth.  This isn't targetted toward
master and is proposed to stable/essex for the sake of aiding
users transition to Keystone during upgrades from diablo +
deprecated_auth.

Fixes bug 977765

Change-Id: I809b669e88fe25234569d0c744d14aff6bbd4713
Use project_id in ec2.cloud._format_image()

The previous change (2f8250ce2b) reverted an earlier change verbatim
that broke image publication using deprecated auth.  As it turns out,
image metadata formatting in EC2 should use project_id with
deprecated_auth, not owner_id as it once was in the past.

Change-Id: I0e3bad0149577e71a97916398f665566b529a696
Merge "Fix errors in os-networks extension" into stable/essex
Merge "Create compute.api.BaseAPI for compute APIs to use" into stable/essex
ensure atomic manipulation of libvirt disk images

This pattern could probably be used elsewhere,
but only libvirt disk images are considered for now.
This change ensures there are no stale files left
anywhere in the path from glance, through the libvirt image cache.
These could cause subsequent operational errors either
directly or indirectly through disk wastage.

* nova/utils.py: Add a new remove_path_on_error() context manager
that is used to remove the passed PATH on a raised exception.
* nova/virt/images.py: Ensure temporary downloaded and
converted images are protected.
* nova/virt/libvirt/connection.py: Ensure all the images in
the image cache and instance dirs are protected.

Change-Id: I81a5407665a6998128c0dee41387ef00ebddeb4d
Ensure we don't access the net when building docs

(Note, this has not been sent upstream)

Change-Id: I9d02fb4053a8106672aded1614a2850e21603eb2
fix useexisting deprecation warnings

Fixes deprecation warnings when using sqlalchemy >= 0.7.0
Fixes bug 941951

Change-Id: Iaa57153f99c60c67a14c1dca849188937bdc5dee
support a configurable libvirt injection partition

This is useful if all guest images have the same structure,
and the root partition is not the first partition.

This is also handy to enable inspection in libguestfs,
which can handle disparate and complicated image layouts.

In future we may change to a StrOpt to support
searching by partition label.

Change-Id: Ie94d61bec8fe4b41d6d2d6d3efa9a4364cf027fe

Conflicts:

	nova/virt/libvirt/connection.py
enforce quota on security group rules

There is no limit on the number of security group rules a user can create.
By creating a very large set of rules, an unreasonable number of
iptables rules will be created on compute nodes, resulting in a denial
of service.