Port rescue 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 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 blueprint nova-v3-api

Change-Id: I8dc2b42b4ffb4618978856d5520485cd34e726d9
Port rescue API to v3 Part 2

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

Partially implements blueprint nova-v3-api

Change-Id: Iaa6d0cf7708b0887512db952b1e26ccde75d24ef
Port evacuate 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: I2c77b445b1e7a1b63993ae86cebea9922e9d098c
Port evacuate API to v3 Part 2

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

Partially implements blueprint nova-v3-api

Change-Id: Id9ca6a7a92a087cb063fe265af1ad6a626c63510
Adds support for the Indigo Virtual Switch (IVS)

Implements: blueprint ivs-vif-driver

Adds line to rootwrap config to allow call to ivs-ctl to control the Indigo switch.
Adds a new 'ivs' VIF type in network/model.py.
Adds support to the LibvirtGenericVIFDriver class for the IVS switch.
Adds functions to linux_net.py to create and delete IVS vif ports.
Adds unit tests to test the new IVS methods.

Change-Id: I65436b82f65374103644af8aba9dba14ba73f94c
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
Cells: Add support for global cinder

Implements cinder support for compute cells when cinder is a global
installation.  Adds syncing of the block device mapping table between
child cells and API cells.

Implements blueprint cells-cinder-support

Change-Id: Ife5be9922db0742c8ee4f970517396be86597cce
Cleanup overshadowing in test_evacuate.py

Fixes overshadowing problem of uuid in test_evacuate identified in
the v2 to v3 evacuate port but separated into a separate changeset
to fix both the v2 and v3 versions at the same time

Change-Id: If1006d86eab7198484a6d5f82a3f3f328724f4d4
Quantumapi returns an empty network list

When nova retries network list and if the list is empty, quantumapi
should return a empty list instead of an empty dictionnary.

Fixes bug 1189976

Change-Id: I5b8c498a6c86e92d0de14d8de9e55722408c5669
Check libvirt version earlier

Running libvirt 0.8 causes an exception to be thrown before
has_min_version() is run, resulting in no error message about version
being logged.  This change moves the version check before the libvirt
calls are made.

Change-Id: Ifaae18c6686d72fb79fc32081c4087084ae8bbb9
Fixes: bug #1190232
Update to the latest stevedore

Use a version of stevedore that does not try to
install distribute.

The requirements change is in
https://review.openstack.org/#/c/32738/

Change-Id: I277a282ed86743a25138c431045af1f0ccb11b39
Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>
Port certificates 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: Ibdb3b444432fa707786e6bb43aaba61d2a3fc89f
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
Port certificates API to v3 Part 2

This patch contains the changes required to adapt the certificates
extension and the corresponding unittests to the v3 framework

Partially implements blueprint nova-v3-api

Change-Id: If4fe7e8524ba0181b50722281f594e0a80cd49ed
Don't advertise mute cells capabilities upwards

Fixes bug 1190473

Change-Id: Ic61b549869b1434df81407e499ec8b00ba8f328f
Change resource links when url has no project id

This patch allow response body to be look like the request url. So if a
project_id is passed the resource links on the response will also have a
project_id, and in the case of api-v3 where project_id are no longer present in
the url the response will not have it either.

Complements bp v3-api-remove-project-id.

Also fix two minor issues on the unit tests, which were breaking with this
change:
 - When doing ServersViewBuilderTest there was no api version specified.
 - ServersControllerTest was duplicating api version on the application url.

Change-Id: I872332ef56b4b6e99fedb43833ad45e8e654f44f
Port flavors core API to v3 tree

Port flavors core API (which does *not* include all extensions, like flavor
create) to the V3 API, adapting the way it's loaded to fit with the new
extension framework and, of course, its tests.

This also change the flavors requests and responses links on unit tests since
project_id  is no longer present on v3 url

Partially implements blueprint v3-api-core-as-extensions

Change-Id: Ide2eb22a89be3bd9adcf5e09cbef23e824a83fc1
Updates nova.conf.sample

Change-Id: Iabd856748258b224308588f5c54052df2e247a62
Replace utils.to_bytes() with strutils.to_bytes()

The to_bytes() function have moved to oslo.
Replaced/removed the to_bytes() function with the one in strutils

Change-Id: I14c33c6fb86db3088c11e02ce6e38ec022fad042
Fix flavor extra_specs filter doesn't work for number

In extra_specs_ops.match(value, req) function, req are
always string,but value of host capabilities may be number.
When filter host by comparing number with string,even right
os-extra_specs can't pass filter.
We should convert value to string to make the filter work
correctly.

Fixes: bug #1186881

Change-Id: I3e1ab60109673450caae3a7f0bc4a3610ae619ef