Adds v3 API extension discovery filtering

Adds ability for a v3 loaded extension to be visible in
/v3/extensions to be dependent on the discoverable action policy
for that extension. Note that this does not actually effect whether
or not the functionality provided by the extension is accessible

Implements blueprint nova-v3-api-filter

Change-Id: I3f6ba7ea59e7abfa9d57b79ab18aa5b675e64118
port agent 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: Ib7c489769d9b07797366be5920cc23ab2074a768
Fix the ServerPasswordController class doc string

The code must have been copied from the flavor access extension to start
with and the old class doc string was left in place.

Fixes bug 1191232

Change-Id: Ie60ea629270c8185abc05fd4e08bbd7a9945c2b5
Clean up scheduler tests

Removed some unused variables in the scheduler tests.
Fixed a docstring that did not make sense.
Added an assert to make a test actually test something.

Change-Id: I6ddb1075924375b38df82aa9a54e03a67316d8f6
Allow scheduler manager NoValidHost exception to pass over RPC

Calls to scheduler.manager.select_hosts are expected to throw NoValidHost
exceptions if no hosts match such requests. For the exception to be passed
over RPC, the method must be decorated with:

@rpc_common.client_exceptions(exception.NoValidHost)

Resolves bug 1192693.

Change-Id: If9d1f15ff1239e422067893f9d837c41e5f5474d
Extract live-migration scheduler logic from the scheduler driver

Before moving the control of live-migration into the conductor,
extract the live-migration control logic into a separate class.

The callback to select_hosts will be replaced by a new
scheduler rpc method in a later changeset.

Part of blueprint live-migration-to-conductor
Change-Id: I6de33ada6dc377e20f8df07da92244f2c150b9fe
Add basic SecurityGroup model

This adds a basic SecurityGroup model and query methods.

Related to blueprint unified-object-model

Change-Id: I92a18529add3e46e801a30e35cdbd4932c890a55
Add Instance.security_groups

This makes Instance load the security_groups list when it
is present in the database object.

It also refactors the way info_cache is saved, so that it
can more easily apply to security_groups as well.

Related to blueprint unified-object-model
Fixes bug 1192003

Change-Id: Ifb028e17ffef7c14557e6389a650d66ce8e9b25c
Make InstanceList filter non-column extra attributes

This is a no-op right now, but we need to avoid passing things
like fault to the instance_get_all() queries. This will be used
in changes to follow.

Related to blueprint unified-object-model

Change-Id: I66355a024b139fa6c579e04885ba52f9697381fe
Port quota 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: I29bb4dd7d1a8acaa3e91e5f0ec5c073d3d9756fc
Merge "Extract live-migration scheduler logic from the scheduler driver"
Fix trivial mismatch of license header

Hacking H102 checks for a literal version of the
Apache2 license header to match. Fix the trivial
mismatch. See
https://github.com/openstack-dev/hacking/blob/master/HACKING.rst
for how the license header should look like.

Change-Id: Ib5770bd447653c7b79aef084c29f09f8c32cf739
Refresh volume connections when starting instances

This patches adds network and block device information to the signature
of the power_on method on the virtualization driver. The relevant call
sites are also modified to provide the required information. The libvirt
implementation of power_on has been altered to re-establish network and
volume related connections.

Fixes bug: 1188326

Change-Id: If617b570e082e3aa321414a2680a3aa0754f6153
Imported Translations from Transifex

Change-Id: I6f2fc090ab86e6ae0dc445083c9eb2053b7ec71c
Merge "Allow scheduler manager NoValidHost exception to pass over RPC"
Merge "Imported Translations from Transifex"
Merge "Clean up scheduler tests"
Merge "Fix the ServerPasswordController class doc string"
Merge "Fix trivial mismatch of license header"
Merge "Port quota API into v3 part1"