Port consoles extension API into v3 part1

This changeset only copies the v2 files into the appropriate v3
directories unchanged. The copy as-is will not be loaded by either
the v2 or v3 extension loaders. The second changeset will then
make the changes required for it to work as a v3 extension.

This is being tried in order to make reviewing of extension
porting easier as gerrit will display only what is actually
changed for v3 rather than entirely new files.

Partially implements: bp v3-api-extension-versioning

Change-Id: I60fd601e28ed69c2597cfc8742b2e17e706e2a1f
Port consoles extension API into v3 part2

This patch contains the changes required to adapt the consoles
extension and the corresponding unittest to the v3 framework.

Partially implements bp v3-api-extension-versioning

Change-Id: I1f5aa7e1a7f9e6d959bb16ea6c4c3d2cd17958b9
Ports image_size extension to v3 API

This merges the functionality from the v2 image_size functionality into
the images extension (which is no longer core in v3)

Partially implements blueprint nova-v3-api

Change-Id: I577907e671d18712893afcb5477fbd2aa6031956
Port quota classes extension to v3 API Part 2

Ports the quota classes extensions and the corresponding
unittests to the v3 framework.

Adds quota class id to data returned by update which makes
it consistent with the behaviour of show.

Partially implements blueprint nova-v3-api

Change-Id: I7ca95e332933872ff20d719bf07dd10364510cbe
test_xmlutil.py covers more code in xmlutil.py

95% is covered now.

Change-Id: Icdcc4d423a0fc5ebd2433a3f072108f8d7ecb033
Fixes: bug #828617
Select disk driver for libvirt+Xen according to the Xen version

There are two versions of the blktap [1] driver available under Xen.
blktap1 has been replaced by blktap2 that does not support "tap"
devices but "tap2", therefore we should use "tap2" devices by default.

Fixes bug 1188517
Fixes bug 1084618
DocImpact

Change-Id: I8b46885b0909de7cb51fd2d0f6ba2e9bcbf33cc6
Add notifiers to both attach and detach volumes

Implements: notifiers for attach and detach volumes
Fixes: bug #1191072
Change-Id: I84bc4d5eea6bfc9fe73ca09a5bec0e1e4d14ae02
Adding action based authorization for keypairs.

Added support for action-based policy to keypairs extensions.
Added the same for v3.
Fixes LP 1194739
Change-Id: Ie2a6f7b98845e0789f25c6fd0b97e119d5302046
Port images metadata functionality to v3 API Part 1

This changeset only copies the v2 implementation file into the
appropriate v3 directory unchanged. The copy as-is will not be
loaded by either the v2 or v3 extension loaders. The second
changeset will then make the changes required for it to work as a
v3 extension.

This is being done in order to make reviewing of extension porting
easier as gerrit will display only what is actually changed for v3
rather than entirely new files

Note that this functionality will be moved from core to an
extension.  Consensus appears to be that we continue to need this
functionality for v3 because some deployers disable the public
image endpoint due security concerns and whether this will be
fixed in glance for Havana. Deployers can disable this extension
if they do not want it.

Partially implements blueprint nova-v3-api

Change-Id: I900ff0f93bb790f4f7bbac66bb2437906cb905f5
Fix v3 hypervisor extension search action follow REST principles

The original search action as below:
'/os-hypervisors/[filters]/search'

It doesn't follow REST principles.

So change it as:
'/os-hypervisors/search?query=[filters]'

This follow the suggestion from
http://www.slideshare.net/apigee/restful-api-design-second-edition#btnNext at 77 pages.

Partially implements: bp v3-api-extension-versioning

DocImpact

Change-Id: I114868112e0dd719c046853de29df5cfa8dae6b5
PowerVM resize and migrate test cases

Resize and migrate functionality for the PowerVM driver
was landed without tests.

Fixes bug 1133058

Co-authored-by: Matt Riedemann <mriedem@us.ibm.com>
Change-Id: I9b46f092ebaab630fe80e0306ea32bda5a4c1d2f
hyperv: Fix vmops.get_info raises InstanceNotFound KeyError

Fixes a problem with the nova.virt.hyperv.vmops.get_info method raising
an InstanceNotFound with the wrong key for the exception message.  Also
adds a test case to make sure it works.

Fixes bug 1197506

Change-Id: I393951ff7bf6e28ce5d7a060cdd0011fe8ecc9ad
Sync install_venv_common from oslo

Change-Id: Ib85067b1eb22638fddb8c70c468bfc458c4524d9
Port user_data API to v3 Part 1

This changeset only copies the v2 files (implementation and test)
into the appropriate v3 directories unchanged. The copy as-is
will not be loaded by either the v2 or v3 extension loaders. The
second changeset will then make the changes required for it to
work as a v3 extension.

This is being done in order to make reviewing of extension porting
easier as gerrit will display only what is actually changed for v3
rather than entirely new files

Partially implements blueprint nova-v3-api

Change-Id: If8075f202800f333753aa571fc3acf5b1a9f4880
Misc fixes for v3 evacuate API extension

Miscellaneous fixes for the V3 evacuate API extension:

- Python style attribute naming
- admin_password is no longer an optional return value. If it
  is not set it is returned as None

Partially implements blueprint nova-v3-api

Change-Id: Ida5da71bddd495880bafd90a578ca95b21319504
port Deferred_delete API into v3 part1

This changeset only copies the v2 files into the appropriate v3
directories unchanged. The copy as-is will not be loaded by either
the v2 or v3 extension loaders. The second changeset will then
make the changes required for it to work as a v3 extension.

This is being tried in order to make reviewing of extension
porting easier as gerrit will display only what is actually
changed for v3 rather than entirely new files.

Partially implements: bp v3-api-extension-versioning

Change-Id: I43de158d32c03ffa416699e7f6835a7dbcd9e6bd
Port fping extension to v3 API Part 2

Ports the fping extensions and the corresponding unittests to the
v3 framework.

Partially implements blueprint nova-v3-api

Change-Id: I1db2a91f7e579356a77a196c46307492dd36e3d1
Add missing matchmaker_ring

commit b5a3d05 synced this change:

  1d7920a Extract matchmaker_ring to own module

but forgot to include the new matchmaker_ring module.

Change-Id: I21f3bc099d48accc4dd631bebfe914dd24f8e722
Sync latest rpc changes from oslo-incubator

Includes these commits:

 3006787 Sanitize passwords in _safe_log
 c37f6aa Add support for heartbeating in the kombu RPC driver
 323e465 Add conditional exception reraise
 dea334a Replace sys.exit by a RPCException
 719eba4 Don't reconnect to exclusive fanout consumers.
 22ec8ff Make AMQP based RPC consumer threads more robust
 13650b1 rpc: remove some unused serialization code
 e204885 Optionally reject messages on exception.
 688832f Remove unused zmq relay functionality

Change-Id: I8629c271bc00571783f9b77ec36034945df9a583
Add unique constraint to AgentBuild.

Added unique constraint 'uniq_agent_builds0hypervisor0os0architecture0deleted'
('hypervisor', 'os', 'architecture', 'deleted') to AgentBuild model and
migrate sripts. Added new exception `AgentBuildExists`.
Updated agent_build_create(). Tests updated respectively.

blueprint db-enforce-unique-keys

Change-Id: I6c41378470230a48773da8082b17699b09785051