added getter methods for quantumv2 api

Change-Id: Ie2b7ba698c232f55e112b978d7a548b48462fca3
adjust rootwrap filters for recent file injection changes

Removed filters for guestmount, fusermount and cp.
Adjusted comment paths as per the recent refactoring.

Change-Id: I643554b89862225d16456e47daf6c11828f602d2
Fix HostDeserializer to enable multiple line xml

Fixes bug: 1082132

The current HostDeserializer wasn't able to deal with multiple line xml inputs.
Since the HostDeserializer is used only on the update operation this patch
renames it to HostUpdateDeserializer, and parses only the valid options (status
and maintenance_mode).

Change-Id: I9ec3b296a07e0fc903da1c005cf7bd5dcb08fd1b
Complete API samples for Hosts extension

The API samples for Hosts extension missed power operations (shutdown, reboot
and startup) and maintenance/status operations.

Complete fix to bug 1070167

Change-Id: I07fd34e071eae9afc82f9320634df24f48623e0b
Allow multi_host compute nodes to share dhcp ip

This adds a new flag: share_dhcp_address which if enabled in
multihost mode will allow all compute nodes to share an ip on
guest network. The code will isolate the address using iptables
and ebtables so it is only visible to the vms.

This patch has two benefits:

a) we don't have to use an ip address from every network for each
compute node. This is especially valuable in vlan mode where the
networks are generally small

b) we can improve security by blocking all access to the ip on the
guest network from outside the compute node. While we could do similar
blocking using a different ip for each node, it makes dhcp setup
much more complicated if a vm is migrated to another node.

Implements blueprint shared-dhcp-ip

Change-Id: Iaf84c0ad2848921122866956105eb44c074450dc
RetryFilter checks 'node' as well as 'host'

FilterScheduler and RetryFilter use "(host, node)" instead of "host" to
filter candidates. It makes rescheduling on different nodes in the same
host possible.

Fix bug 1081370

Change-Id: Id51b262de7b47b5f9215463eca5ae07a29109c3f
Verify doc/api_samples files along with the templates

This also includes a bunch of updates to the actual samples that have
become stale as things have changed in the tree and naughty developers
haven't updated the docs. This new bit of logic in the samples test
should help prevent that in the future.

In order to verify the static doc/api_samples files, this adds a new
method to the base test, which allows the subclasses to refine their
subs into pattern matches after the server response is verified, and
before the doc/api_samples file is verified.

Change-Id: Ie46b24a65145c407d46974b63a97a84911223547
Include 'hosts' and 'metadetails' in aggregate.

When converting an Aggregate sqlalchemy model to primitive types using
jsonutils.to_primitive(), the hosts and metadata were being left out.
This is because they are implemented as properties on the model and must
be explicitly listed as extra keys to be read.

We also want to make sure that the _hosts and _metadata are eager
loaded.  This patch ensures this gets done by adding it to the
_get_aggregate_query() helper, and making sure it is used everywhere
that is appropriate.  Also, on creation of the aggregate, just manually
set _hosts and _metadata to empty lists, since we know they're empty at
this point.

These changes caused a side effect to the os-aggreages API extension.
The result from creating an aggregate started including 'hosts' and
'metadata'.  There's a hack in there to maintain the same API result.
These don't add any value to this API call anyway, since we know they're
blank at this point.

Part of blueprint no-db-compute.

Change-Id: I4048ea6f477f7a695701eb3ba57f97afca0c0e41
Convert datetimes for conductor instance_update.

This patch ensures that jsonutils.to_primitive() is used on the updates
being sent to conductor's instance_update method.  This is primarily so
that we convert datetimes to a string using a very specific format
defined in the timeutils module.  Then, in the conductor manager,
convert these fields back into datetime objects using timeutils.

The conversion to a string was already happening implicitly if you were
using the kombu rpc driver.  The reason is that kombu uses anyjson,
which we hook in to and will automatically use our own to_primitive()
to fix serialization problems for kombu.  Doing it explicitly is better,
and is required for the other rpc drivers to work.

This is to address a problem with sqlite where it would raise an
exception when we try to do an update to a datetime field with a string.

Fix bug 1084240.

Change-Id: I2d703a92df1e85f0f3a7a793b301fe16cbd81ff5
Merge "Allow multi_host compute nodes to share dhcp ip"
Fixes HyperV compute "resume" tests

Fixes Bug #1083018

Adds support for the extra parameter added in the compute driver's
resume method. The added network_info parameter is currently not used
and can safely be set to None.

Change-Id: I887d48f39601323433384833f8b8d33132858b59
Merge "Verify doc/api_samples files along with the templates"
Merge "Include 'hosts' and 'metadetails' in aggregate."
Merge "Fixes HyperV compute "resume" tests"
Make compute manager use conductor for instance_gets

This patch adds support to nova-conductor for the following operations:

instance_get_by_uuid()
instance_get_all_by_host()

It also makes the compute/manager use nova-conductor for those operations.

Change-Id: Ia872a2ec6061b4aac9f89366125060fc0844dc22
Call plug_vifs() for all instances in init_host

Remove the assumption that we are using the "flat" networking model
and there is a single bridge interface for all instances on a given
compute node.  Instead simply call plug_vifs() for each instance in
init_host.

Fixes bug 1083784

Change-Id: I4b367deb6851c06c80a4bdf0bd806cf5e867bb0a
Imported Translations from Transifex

Change-Id: If111dacc960ea1882d0eda238c0c9dffaa9edf94
Merge "Convert datetimes for conductor instance_update."
Merge "Make compute manager use conductor for instance_gets"
Merge "adjust rootwrap filters for recent file injection changes"