Adds flavor support for Nova V3 API

The first part of adding flavor support for the Nova V3 API (support
for flavor-access API calls is still to come).

Restructures v1_1 testcases so as much as possible so they can be
reused for the V3 version of the tests. If it looks too ugly an
alternative would be to just cut and paste the fakes and test
from v1_1 to v3, which is simpler to understand but comes at the
cost of duplicated code. The upside though is it would be much
easier to remove v1_1/v2 support in the future.

Partially implements blueprint v3-api

Change-Id: Ic7cb3c43db02c07d37aea2675b310aaa50639c40
Adds flavor access support for Nova V3 API

Adds the remaining flavors support for the Nova V3 API.

Partially implements blueprint v3-api

Change-Id: I46cdec8999f74af37a9ca4280d123907124bad39
Adds agent support for Nova V3 API

Adds support and tests for the os-agents extension
for the Nova V3 API

Partially implements blueprint v3-api

Change-Id: I53f8a1cbab6f4dee10fb823bc51ae90baa97fa7a
Remove commands not supported by Nova V3 API

Remove commands which are no longer supported by the Nova
V3 API and that we will definitely not be proxying to another
service. Removes:

- cloudpipe-list
- cloudpipe-create
- cloudpipe-configure
- coverage-start
- coverage-stop
- coverage-report
- coverage-reset

Partially implements blueprint v3-api

Change-Id: I366cd0233977c1b506d55de280188ecccda8188f
Adds images support for Nova V3 API

Adds support for basic image querying from the image server
rather than the Nova API. The Nova V3 API no longer supports
image querying directly, but in order to support convenience
functions such as specifying images by name rather than ID,
it is necessary to have some basic image query support.

image delete and image meta manipulation is no longer supported
by the client as these features can be accessed directly through
the glance client

Partially implements blueprint v3-api

Change-Id: I9050845d631e9dfc2e110327221d154b8924cd65
Stop using deprecated keyring backends

keyring.backend.* was deprecated in python-keyring 1.1 and we already
require keyring 1.6.1. This also makes novaclient compatible with python-keyring 3.0
which removes the deprecated paths.

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=728470#10.

Change-Id: I4919ac515e589fddc6044c0cd2f4cbc06c2ec91f
Co-Authored-By: Sebastian Ramacher <sramacher@debian.org>
Merge "Stop using deprecated keyring backends"
Merge "Adds agent support for Nova V3 API"
Merge "Remove commands not supported by Nova V3 API"
Fixed autodoc can't import/find class error

The right module name should be `novaclient.v1_1.servers' instead of
`novaclient'. Similar fix on `images', `flavors' and `exceptions'.

Removed `ipgroups' and `backup_schedules' since they do not exist any
more.

Closes-Bug: #1056478

Change-Id: Id35f9c275fb36f3651a0bb2b0eb03c43f0aaeec1
remove duplicate six import

apparently we had a duplicate import of six, noticed by pyflakes
in my buffer when loading up the file.

Change-Id: I2f5e03d1862711c7214c1e33b4500693aaabf567
add support for nova ssh user@host

the nova ssh command is convenient, but it is lacking some basic
niceties that everyone is used to with ssh, for instance actually
doing user@host to connect to an environment. This adds support
for "nova ssh user@host" to work as one would expect.

The functionality is added to both v1.1 and v3 clients. Tests for
this, and other ssh behavior are added to the v1.1 tree (the v3
test_shell.py has not synced over yet).

Change-Id: Ic4081f85c848507ebdc5e228ac345faf19127168
Adds basic servers support for the Nova V3 API

Ports servers support from the v1_1 directory omitting functionality
which is no longer supported directly in the V3 API such as:

- floating ip
- add/remove/list of security groups
- disk config related functionality

Makes the appropriate modifications required for parameter name
changes between the V2 and V3 API

Booting an instance is not yet supported as this will require more
extensive changes as image listing services are no longer proxied
through the Nova V3 API

Partially implements blueprint v3-api

Change-Id: I1116e8d8ebc73176223f4135168cc4ab5d904356
Adds availability zone support for Nova V3 API

Adds support and tests for the os-availability-zones
extension for the Nova V3 API. Also implements
sorting for zone host display which was applied
to the v1_1 version, but not the v3 version in
I9ab25ef52d6d19b45a39f04cbcde864ee225b4cc

Partially implements blueprint v3-api

Change-Id: I8daa2503a2dc8767e9157bdfa6c9adaedfc8f3c0
Adds first part of quotas support for Nova V3 API

Adds support and tests for the os-quotas extension
for the Nova V3 API. Note that compared to the V2
version this removes the ability to set quotas
which are not relevant to the V3 API (eg injected
file quotas are not relevant because the
os-personalities extension has been removed)

Partially implements blueprint v3-api

Change-Id: Ifa1c77428424bedf7fb88ef6d7b3843376799d24
Adds second part of quotas support for Nova V3 API

Adds support and tests for the os-quota-class-sets
extension for the Nova V3 API. Note that compared to
the V2 version this removes the ability to set quotas
which are not relevant to the V3 API (eg injected file
quotas are not relevant because the os-personalities
extension has been removed).

Partially implements blueprint v3-api

Change-Id: I3e7f36407f2f59737ecbce2c8ce014cef623ecdc
Adds services support for Nova V3 API

Adds support and tests for the os-services extension
for the Nova V3 API

Partially implements blueprint v3-api

Change-Id: Ic64e465e24a6e840c567677d4f2ea9d63b742ccd
Adds hypervisor support for Nova V3 API

Adds support and tests for the os-hypervisors extension
for the Nova V3 API.

Note that compared to the V2 API it separates the search
function into search by hypervisor name and a new list
servers by hypervisor as this better first the changes
in the V3 API. The listing of servers by hypervisor command
is preserved, though reworked to use the new interfaces.

Partially implements blueprint v3-api

Change-Id: I472f9acad895dcf842e93d2de27530652f73867e
Adds aggregates support for Nova V3 API

Adds support and tests for the os-aggregates extension
for the Nova V3 API.

Partially implements blueprint v3-api

Change-Id: Ibe251f083ea444fb46aac9cc5cf08784b5826ad7
Merge "Adds images support for Nova V3 API"