Create v3 tests directory

Create a basic framework that inherits from v1_1 and can be
overridden as necessary in extension commits

bp v3-api

Change-Id: I611451e50a9e553a18777fa48f32e368b919605e
Add v3 HostManager

Some of the host code required changes to work with the v3 API.
This change adds a v3-compatible HostManager that inherits from
the 1_1 HostManager to make use of the functions that didn't
need to change.

bp v3-api

Change-Id: I3ef7ab4619d49c20ab1bdeb1185ad28b411d37a1
Merge "Create v3 tests directory"
Merge "Add v3 HostManager"
Novaclient shell list command should support a minimal server list

The Nova API supports both a basic (id and name) and detailed server
list, and this is supported in the client by the "detailed=True"
argument to servers.list().  However the shell do_list() method always
leaves this to its default value.  For administrators on a large
system, or where the tenants has a lot of instances a detailed list
can be painfully slow.

This change adds support for a --minimal option to list.

Fixes bug: 1228137

Change-Id: I3126ee6b372606a98f0d7a4e344556f8c05ae224
Clean up a little cruft

OpenStack runs a git service now, so instead of linking to github URLs,
link to git.openstack.org.
Versions for pbr in setup.py actually wind up being an error (and a very
odd one) Remove them.
The setup hook in setup.cfg is no longer needed.

Change-Id: I8f48ac194e6c01e9bb06fa5df6f2b2bf28c01636
Update pbr usage

We've discovered that having versions in setup_requires leads to evil
and death. Also, the setup-hooks in setup.cfg are completely unnecessary
anymore.

Change-Id: I8878e635e0828bbddb81d9c6321a9f10ad3b89fe
Corrected usage of len(filter(...))

filter() returns an iterable, not a list on Python 3.

Change-Id: I8afb2962bcd193ab67017c98376359c0f28afc66
py33: 'dict_keys' object does not support indexing

In python 3, dict.keys() is a class of 'dict_keys', it does not
support indexing.

Cast the dict to list to get the "first" value of dict, which is
compatible with python 2&3.

Closes-Bug: #1229005

Change-Id: I561b7ada9e5ad936659a657b3161a9b93a15a788
Corrected several usage of keys() for Python 3

Under Python2 dict.keys() returns a list, under Python 3 it returns an
iterator. Some places assumed that if they called keys() then it was
safe to modify the dict in a loop. Corrected this by calling list().

Change-Id: I7638263f288dd20590bd751d09194a919b921545
py33: dict.keys() is not a list in python3

Cast the dict.keys() to list when comparing its value with list.

Closes-Bug: #1228993

Change-Id: I59d13258935de3e9286845f857eaa602a5b690fb
Make nova CLI use term "server" where possible

nova client was using terms "server" and "instance" interchangeably
which was very confusing.

This patch uses "server" where possible without touching the API.

Note that there are actions (instance-action, instance-action-list) and
arguments (--instance-name, --num-instances, ...) with "instance" in their
name which can't be changed easily.

Closes bug 1156648

Change-Id: I0570aa1c4dc9ad1852af307a2a4896f16073a6ab
Merge "Clean up a little cruft"
Merge "Corrected usage of len(filter(...))"
Merge "py33: 'dict_keys' object does not support indexing"
Merge "py33: dict.keys() is not a list in python3"
Merge "Corrected several usage of keys() for Python 3"
Merge "Update pbr usage"
Merge "Make nova CLI use term "server" where possible"
Fixed several test failures on Python3

- Corrected places where `dict.keys()` was being treated as a list
- Corrected usage of `urllib.urlencode()`

Change-Id: I0a24b2f64fab6c905e20073ff7ebaa3c5ffe7c90