add support for server set metadata item

add set_meta_item to the servers python API as specified by the 1.1 API

Change-Id: I01c92cde18656b23b45aedd41c50d3a474d91435
Allow multiple volume delete from cli like Cinder

In cinder project, we can use cli like follow:
cinder delete xxx yyy zzz
But in nova, we can not use follow command:
nova volume-delete xxx yyy zzz

This patch will add a feature in nova to allow multiple volume
delete from cli like cinder.

Change-Id: I4dd182673e58406a57d30c572ec3116f9f4ce315
Closes-Bug: #1262061
Fixes ambiguous cli output between "None" and NoneType

Print hyphen(-) in python client output when attribute value is not
set(NoneType) so that it is distinguishable between "None" string
and NoneType value.

Change-Id: I5ec0f39f13aca45fa95ddb59472c20207c63bf91
Closes-Bug: #1266414
Adds volume support for the V3 API

Adds the ability to attach, detach and swap volumes on
servers. There is no code shared with the v1_1 version
because for V3 the volumes interface is completely different
and the attach/detach/swap functionality is simply a server
action rather than something accessed through a special resource.

Partially implements blueprint v3-api

Change-Id: Ib405f821fe557745d11cff9db08381fc15233fe5
Don't slugify() None names

If image has no name, human_id can't be built.
Also slugify raises ValueError if None argument passed.
It affects Docker images.

Closes-Bug: #1267429
Closes-Bug: #1267130
Change-Id: Ib975775b441917eef2a650049cee9991d10c50d7
shell: refactor boot to use _print_server

In the shell command when we use the command boot, at the end
we use code to print some server information.
We should use the already defined function _print_server.

Change-Id: I133d7706458c71974ba464ab686cf3679a562592
Closes-Bug: #1265534
assertTrue(isinstance) replace by assertIsInstance

some of tests use different method of assertTrue(isinstance(A, B))
or assertEqual(type(A), B). The correct way is to use
assertIsInstance(A, B) provided by testtools

Closes-Bug: #1268480
Change-Id: Ie3b3e49ea3cc4357a65605ad54ff4ee1fbde12c7
Fix QuotaClassSet and their tests

Some parameters of quota_class_set are not used in Nova v1.1/v2 API. And
some items have wrong type and key name.
QuotaClassSet class has id property originally. But 'id' comes from Nova
API currently. So we can just use it as its id.

This commit fixes and cleanups them.

Change-Id: Ib963ff82e3107d7b78a3a63a2fc1cd6b6bbe47b0
Sync apiclient from oslo

In the process of unification of the clients code we should
reuse common functionality from Oslo.

Related to blueprint common-client-library-2

Change-Id: I078b7be864f34596c846832d6201fee9b18c42f8
Sync cliutils from oslo

In the process of unification of the clients code we should
reuse common functionality from Oslo.

Related to blueprint common-client-library-2

Change-Id: Ia5e4e60f07561849f75d88b8a2ea3d23d6d5ff6d
Don't call CS if a token + URL are provided

Adds --os-auth-token (matching Glance client at least) to accept a
pre-obtained authentication token.

CS will be called iff:
      One or both of token and URL are not provided;
  AND the cache is empty/disabled or we don't have a tenant-id.

Removed some code altering the auth request to a GET if a token is
supplied - did not work for me and I think the path was dead previously.
Fixed test to account for this change.

Completes blueprint token-endpoint-instantiation

Change-Id: I67410b80e506bb80c152223cd113b7139a62a536
Sync with global requirements

Change-Id: I239e319045433b57610dfd996b837a76124e15af
Fix logic for "nova flavor-show 0#"

For perviously logic, if flavor id is
start with "0Number", int(name_or_id)
will convert it to "Number". If flavor
id "Number" exist in DB, it will show
up for query with "0Number".
This fix enter flavor search logic at
the beginning. Also add one more UT
for this function.

Change-Id: Ic48ff4275978404064c0c6fce6f98181660aa84a
Fixes: bug 1268456
Removes use of timeutils.set_time_override

The set_time_override function in timeutils was written as a
helper function to mock utcnow for unittests before 'mock' was
generally used. Now that we have mock and fixture, we no longer
need to use it.

Change-Id: I809825560b0324498010bd93aa1ceef552554375
Partial-Bug: #1266962
Merge "shell: refactor boot to use _print_server"
Merge "add support for server set metadata item"
Merge "Fixes ambiguous cli output between "None" and NoneType"
Merge "Removes use of timeutils.set_time_override"
Merge "Sync with global requirements"
Merge "Don't call CS if a token + URL are provided"