Speed up volume and routing tests

Load only required extensions when testing volume api. Initialise only
required routes for extensions test.
Both result in minor time savings when testing.

Implements bp:api-tests-speed

Change-Id: I8078feda34635c91d4e57bae3bb88475fe848cb8
Send full migration to resize_instance.

prep_resize creates a migration in the db and then calls resize_instance
via rpc.  The first thing resize_instance did was look up the migration
from the db.  This patch makes it so all of the migration data is sent
in the message.

Part of blueprint no-db-compute.

Change-Id: I7d37532cbb84ff8a0580334b71e3c6244ef707d5
Send full migration to confirm_resize.

Update the confirm_resize method of the compute rpc api to receive all
of the migration data from the db instead of having to look it up as the
first step.

Part of blueprint no-db-compute.

Change-Id: I7eee64937a4b978287457f0213d4d4364f171f45
Send full migration data to finish_resize.

This patch updates the finish_resize method in the compute rpc api to
receive all of the migration data instead of just the migration id.
This avoids an unnecessary database read in finish_resize.

Part of blueprint no-db-compute.

Change-Id: I4791551a13a8b73e7a5c22ab9f49cdab7db8de1f
Extend IPv6 subnets to /64 if network_size is set smaller than /64

If cidr_v6 is set with network_size smaller than /64, this fix
extends the subnet to /64. Fixes bug #1011122.

Radvd (which is used by nova-network) also requires as /64 for
autoconf at the client(instance) side.

Change-Id: I0a6ac363e46dd9b8c9cfb750ce37720fdbc56a1f
Support for nova client list hosts with specific zone

Implements one workitem of blueprint apis-for-nova-manage

This add an optional QUEY_STRING(zone=xxx) in /v1.1/{tenant_id}/os-hosts.
So we can also send /v1.1/{tenant_id}/os-hosts?zone=xxx now.
It will only return the hosts that availability_zone=xxx.

Change-Id: I89f2c0bf50f8ea1ef9f06da664f5c4b24098e5df
Addtional 2 packages for dev environment on ubuntu

In file doc/source/devref/development.environment.rst added packages
build-dep and python-mysqldb which I have had to add on ubuntu 12.04
to enable the dev environment to be setup. Without these run_tests.sh
fails with error 'mysql_config not found' when setting up the virtual env.

Change-Id: I4af775386469deecf122a9e165457f241339b20b
Rehydrate NetworkInfo in reboot_instance()

In the process of implementing no-db-compute, the compute manager's
reboot_instance() was stripped of its database accesses for getting
an instance's block and network device info. That information is
now passed in from the API layer over RPC.

In the offending changeset (), the network_info was getting coerced
to a list and thus calls to NetworkInfo.legacy() were failing in the
manager's _legacy_nw_info() method. This patch rehydrates the
NetworkInfo using the existing method for doing so, which fixes
bug 1071017. A test is also added to prevent future regressions.

Change-Id: I8fd1c2dde573bb7da3bfe1ee3193f9ba1167aaa7
Imported Translations from Transifex

Change-Id: I73f858609492e47d4a29e8a1424b5598b867c53d
More robust checking for empty requested_networks

It's possible that requested_networks will be empty but not None.
Especially since novaclient defaults to an empty list.  This avoids
attempting an unnecessary validation.

Change-Id: I131dbb3f6cc6167e150d4a46386e6b0b51035579
Correct _extract_query_params in image.glance

Updates _params rather than params to ensure filters.

Fixes bug 1070138.

Change-Id: I4e71d19f120ea91d8dfca32785ccb0aa7b1c770b
Save exceptions earlier in finish_resize

Fixes bug 1071595

When catching exceptions, _quota_rollback is called before we save an
exception for re-raising later.  Also: we should ignore any possible
exceptions from _quota_rollback so we are sure to set instance to error.

Change-Id: I50cb4879f7dcc13f99fa23a45030b4140dfc326a
Fix hardcoded topic strings with constants.

Replace hardcoded topic strings like 'volume' or 'compute'
with config constants like FLAGS.volume_topic, etc. See
bug #1057831 and bug #1061628.

Change-Id: I817ecc3cbe3245b51a0c047be58d17edfec8a838
fetch_images() method no more needed

The Nova Glance wrapper returns all images metadata
if the parameter 'limit' is not define. It doesn't
split the image metadata list.

So the sub method fetch_image is no more needed.
We can delete it.

I added a check in Nova Glance wrapper to be sure
the parameter 'marker' or another one aren't set
to 'None' (like in bug #1065053).

Fixes LP bug #1070904

Change-Id: I24ecc4adf158401f60b508aa3a20bd4c91bfa92b
Let scheduler know services' capabilities at startup

Fixes bug 1071254.

Changes:
* Add new rpc-api(fanout) of compute "publish_service_capabilities"
    This rpc-api urges services to send its capabilites to the scheduler.
* Scheduler calls publish_service_capabilities right after the start

By them, the scheduler get to know the capabilities earlier.

Now we can expect that the scheduler always holds the capabilities. So it
is reasonable to change HostManager to ignore hosts whose capabilities are
"None" since it becomes a rare case; this will make scheduling more
reliable. This will achieved by Another patch.

Change-Id: If6582765011fd5e1b794bfdc068e17630ba381cb
Remove duplicated definition of is_loaded()

Change-Id: I34c247bc0bc349bf0f7be49a35bb03596c070134
Merge "Remove duplicated definition of is_loaded()"
Merge "Let scheduler know services' capabilities at startup"
Make nova-rootwrap optional

Make the use of nova-rootwrap optional if the current process's
effective user id is already root.

Change-Id: I2cf5c743c6f4d6f235a54ca70c11d8191deeed6a
Fix config-file overrides for nova-dhcpbridge

nova-dhcpbridge can read in an alternate config file location but wasn't
using it to parse config options.  This fixes a regression introduced in
00786bc554a2dfacb3c6f02fbb7e9c98f35d4262.

This change is motivated by the fact that nova-dhcpbridge is passed to
dnsmasq in restart_dhcp() in nova/network/linux_net.py, and there is
currently no support for overriding config options for nova-dhcpbridge
in that call.  There is support for overriding the FLAGFILE env variable
in that call, but nova-dhcpbridge was ignoring that.  If I start
nova-network with an alternate config this provides a way for me to pass
that config to nova-dhcpbridge as well.

Change-Id: I002ea768500555a089bd1d5b0fea2354b27fba14