Adds V3 API samples for attach-interfaces

Adds api sample tests and api samples for attach interfaces

Partially implements blueprint v3-api-unittests
Partially implements blueprint v3-api-specification

Change-Id: I54088cca1b83a8b92620062840606f2340a528c9
Merge "Remove unnecessary "LOG.error()" statement"
Merge "Add a get_root_bdm utility function"
Merge "Move is_volume_backed_instance to new style BDM"
libvirt: add missing i18n support

There were some log messages that did not support the i18n
format.

Change-Id: Id75de9fb7be2924b431562b6bd527ede399c3d37
Closes-Bug: #1240022
Merge "cleanup after boto 2.14 fix"
Merge "Make aggregate methods use new-world objects"
Make XenAPI use Aggregate object

This makes the XenAPI driver use the Aggregate object for its work,
and avoids the need to call back through virtapi to conductor
directly. It also allows us to convert the two aggregate-related
compute manager methods fully to new-world objects.

Related to blueprint compute-manager-objects
Related to blueprint virt-objects

Closes-bug: #1232179
Change-Id: Ib38ab0e4d6feefebda37888f150752167474b693
Remove aggregate metadata methods from conductor and virtapi

The aggregate_metadata_add() and aggregate_metadata_remove()
methods are no longer needed in virtapi and conductor. This
patch removes them from the former and deprecates them in the
latter. Also, aggregate_get_by_host() is no longer needed in
virtapi, so remove it from there.

Related to blueprint compute-manager-objects

Change-Id: Ia057dcc43c555187a4a1466a9e748b978c46d4a4
Fix DB API mismatch with sqlalchemy API

We added a sqlalchemy columns_to_join argument to the
security_group_get_by_name() method, but didn't punch it through
the toplevel DB API. This patch adds that so that they match.

Change-Id: I6fe8d876834036e6fbd79d60f3d7d696d7cf4b83
Make SecurityGroup receive context

This fixes the SecurityGroup._from_db_object() method to take and set
a context, like most everything else.

Change-Id: Ie86df2cf264a1e75353599a8f9f693ef5fb15bc5
Merge "Fixes Hyper-V issue with VHD file format"
Fixes Hyper-V snapshot spawning issue

In Hyper-V, snapshoting an instance and then spawning a new
one using the resulted snapshot image with the same flavor,
will result an Hyper-V Exception.

Hyper-V will get the request to resize the base image to it's
actual size, leading to an error.

The reason is that the logic of the resize_vhd method has been
changed, as it is meant to resize images to the flavor size minus
the image metadata size, thus it's maximum internal size. For this
reason, the way to decide whether the root image should be resized
or not must also be changed.

So, instead of comparing the root image and base image sizes,
we should compare their maximum internal sizes.

Closes-Bug: #1234759

Change-Id: I83d2df76b726d705cedc52a8309a2be7037d6a79
Merge "Fix root disk not be detached after deleting lxc container"
Merge "libvirt: add missing i18n support"
Merge "Use `versionutils.is_compatible` for Nova Objects"
Fixes datastore selection bug

Currently the vmwareapi drivers will only select the first
available datastore it finds, even when there are other
datastores with capacity, it will fill one datastore completely
and then die.

Closes-bug: 1227825

Change-Id: I24f85114ea3f014950c27c0c91a6be352990d263
Merge "populate local-ipv4 address in config drive"
Remove xenapi rpm building code

Nova shouldn't be building any types of packages. And if we are we should
be testing this code in gate somewhere.

Change-Id: I70d82a6173b5eda183d4e49d330ae97dd14f9078
xenapi: speedup test_wait_for_instance_to_start

Speed up the above test by mocking out greenthread.sleep

Change-Id: Ie5637842bade28d7ed01cbfe39ed2a46edc6e919