nova-manage: remove redundant 'dest' args

Includes a hack to calculate 'dest' from the argument name. This hack is
removed in a later commit.

Change-Id: I60567ff232ab7699f3234b3bfc1618a17a648976
Prevent nova services' coverage data from combining into nova-api's

Now if combining a coverage report once, nova services' coverage
data are combined into nova-api's.
This renames nova-api coverage datafile to .nova-coverage.api and
creates a new coverage instance to combine when reporting.

Fixes bug: 1152475

Change-Id: I90b6535d490cf0123a127f8752986edd782ef37e
Fix more OS-DCF:diskConfig XML handling

Add handling in the deserialisation code to handle the
OS-DCF:diskConfig attribute in the rebuild and resize actions so
the diskConfig extension can handle it properly. Formerly only
the older auto_disk_config attribute was managed (and incorrectly so).

Fixes bug 1153133

Change-Id: I68479d258cf23083274dd21b1f9eabab2feeb093
Return error details to users in "dns-create-private-domain"

Fixes bug 1135539
When SysLogHandler is configured in UDP socket mode, the user
who doesn't have the admin privilege got the unexpecting internal
server error(HTTP 500) in "nova dns-create-private-domain" command.
This bug occurs as the call graph drew below:

|--ProxyCallback._process_data():amqp.py
                          |--LOG.exception()
                          |    :
                          |    |--BaseHub.switch():hub.py
                          |                 |-- clear_sys_exc_info()
                          |
                          |--ctxt.reply(None, sys.exc_info(),..)
                                       |
                                       :
                                       |
                         |--serialize_remote_exception():common.py
                                       |--failure_info#(None,None,None)

The sys.exc_info() is cleared by the clear_sys_exc_info(), but it is
called again by the ctxt.reply().
This patch prevents the internal error and returns the details of
the forbidden error(HTTP 403) which is expected.

Change-Id: I76d4a938e66bfaf44423f7586e00db2caf9f5dde
LibvirtGenericVIFDriver update for stp

Fixes bug 1129055

The patch will set the stp status as 'off' and the bridge
forwarding delay to 0.

Change-Id: Ie9c96caa797de623ef0b357c61f1b7233a7d869e
nova-manage: remove unused import

Unused since commit 9ff3121b

Change-Id: I76bb49669d1cdfc3bf5b1c20087b4bd77420cd91
libvirt: Tolerate existing vm(s) with cdrom(s)

When there is an existing vm with cdrom (not started by Nova), we
should tolerate missing file attribute (just skip those)

Fixes LP# 1144756

Change-Id: I43d45872e2d7348801b2e54cd43651609676f372
xenapi: Adding logging for migration plugin

With this change administrators will be able to examine hypervisor
logs for real-time progress of rsync operations (resizes, migrates).

Change-Id: I463b574be1021e141fe2c8380b9c07f6cd860c78
Fix XenAPI performance issue

This patch implements 'list_instance_uuids' in the xenapi virt driver so
that compute manager's '_get_instances_on_driver' can operate more
efficiently.

Fixes bug 1097980

The cleanup_running_deleted_instances periodic task uses the above call
while context has been modified to be read_deleted='yes'.  Without
list_instance_uuids being implemented in xenapi, there's a fallback to
querying all instances on the host.  Because of read_deleted='yes', this
queries all instances that have ever lived on the host.  In a very busy
environment where instances are repeatedly built and destroyed, one can
end up with thousands of deleted instances.  Now that we are storing
instance_type data in system_metadata and system_metadata is joined with
every instance_get, this results in 10x the number of rows being
returned with sqlalchemy... the fallback doesn't perform well enough.

Change-Id: I4bbfd69c9769807cec813af757665f03d9643460
Prevent volume-attach/detach from instances in rescue state

Rescue is supposed to just be a way to log into a wayward instance
if something goes wrong with the base image that may have had some data
(logfiles etc.) and make it possible to grab that  - block devices are
assumed to be accessible by re-attaching them, and are considered
persistant so no need for rescue there.

Since there is no need to attach a volume in rescue mode, and detaching a
volume that was previously attached doesn't work, just ban volume
attach/detach in rescue state.

Fixes bug 1126187

Change-Id: Ifdf164155942cdeb2bbdfcd1dce0dd2e125b507c
Fix RequestContext crashes w/ no service catalog

Code introduced in a prev review assumed service_catalog will be
at least an empty list and will never be None.  But missed one code
path where the service_catalog could potentially be set to None. So
this change switches back the default value of service_catalog in
the arguments to None and makes sure we tolerate anyone else
passing in a None or Empty list as service_catalog

Fix for LP# 1156730

Change-Id: I480b761d57c4699ea7ef72114160cdbeb281e454
Merge "Fix XenAPI performance issue"
Fixes PowerVM spawn failed as missing attr supported_instances

During test in a cross-hypervisor environment (KVM+PowerVM), user will run
into an issue during deploying an instance for Power host by PowerVM driver,
though the property "hypervisor_type" for the PowerVM image have been
configured. Since the _update_host_stats of PowerVM driver missing the
attribute "supported_instances".

Fixes bug: 1155498

Change-Id: I81259d153a7b5ae35747e57c53b14e0075d28d78
Pass project id in quantum driver secgroup list

The quantum driver is always returning security groups from every tenant
a user has access to, even when the "project" filter is supplied.

Make sure we pass along the project value when we call
quantum.list_security_groups() so it's properly filtered.

Fixes bug 1155381.

Change-Id: I682c66a1f3f9db18b5f9924a37b45c759ff259f7
Merge "LibvirtGenericVIFDriver update for stp"
Require netaddr>=0.7.6 to avoid UnboundLocalError

This issue is discussed at https://github.com/drkjam/netaddr/issues/2.
The bug in netaddr was fixed in release 0.7.6 on 13th Sep 2011.

Change-Id: Iea75a30963a09f9b0dd94138460bf041ab98fc66
Fixes: bug #1157058
Enable tox use of site-packages for libvirt.

Enable the use of site-packages in tox which will allow the use of the
system install of libvirt while testing.

Hardcode the libvirt host UUID for tests that check this UUID when
system libvirt is being used. Without this hardcoding eight tests
would fail when using the system libvirt install.

Partially fixes bug #1113181

Change-Id: I59c5fbd45639962c0963298203c39759b6ca2d11
Merge "libvirt: Tolerate existing vm(s) with cdrom(s)"
Merge "Fix more OS-DCF:diskConfig XML handling"
Ensure that headers are returned as strings, not integers.

The 'Retry-After' header was set as an integer, and it was causing that
mod_wsgi failed with a 500 error, instead of the actual error. This
ensures that the headers are converted to str.

Fixes bug 1155585
Change-Id: If1b1de2308ccdc6f0588c8df5dc896fe5f767dbe