add new command get-serial-console

Adds v1.1 command get-serial-console

Change-Id: Id6b1e470088a72409f5609538be72c3cf2288a86
Parial-Implements: blueprint serial-ports
Add support for the server group quotas

Implements: blueprint server-group-quotas
Change-Id: I440d460d227f4447c2b960b6343b8fe1f6cbd3fb
Live migrate each instance from one host to other hosts

Using the existing server live_migrate api, this new feature,
adds the ability for admins to live-migrate all running instances
from one host to other hosts. The patch implements the feature
for Nova API V2 and API V3.

Co-Authored-By: Cédric Soulas <cedric.soulas@cloudwatt.com>

Change-Id: Ie8dd1b66fb8eaefa6ff38752b1e4f46bab145820
Implements: blueprint host-servers-live-migrate
secgroup-create description is not optional

The description field to the Nova API for secgroup
create is not optional. This enforces the supplying
of the description field in novaclient as the Nova
call will fail if it is not supplied.

v3 version does not need to be updated as it was never
changed.

Change-Id: I6fc823990190b935a8e1214efc8c3ac3a0941abf
Closes-Bug: 1367121
Merge "add new command get-serial-console"
Merge "Add support for the server group quotas"
Merge "secgroup-create description is not optional"
Add retry_after only to exceptions supporting it

Having retry_after in HTTP response header for 403 status code caused
client to fail with TypeError exception about unexpected keyword
argument. This is related to bug in nova-api. To prevent this kind of
client problems in the future patch adds check to from_response
function to pass retry-after header only to classes that inherit
from RetryAfterException and regression unit tests.

Change-Id: I6bfc8b33eb591d30b3c647397b11100094718e13
Closes-Bug: 1365251
Add list by user to shell

Adds "--user" as a search option to the list command.

Also since seach by tenant or user also needs all_tenants=1 add
this to the seach options automatically instead of making users
remember to add it

Change-Id: Icc828080b400aecdb320b721c569992677848cc6
Corrects typos "coearse," "proejct," and "unecrypts"

Misspelling of "coerce" found in the docstring body
of method _boot from class ServerManager. Misspellings
of "project" and "unencrypts" found in docstrings
of client.py and crypto.py.

Change-Id: I052c321f3ad5e13aa57a559e2f28ec5eec32a9b4
Merge "Add retry_after only to exceptions supporting it"
Merge "Corrects typos "coearse," "proejct," and "unecrypts""
Updated from global requirements

Change-Id: Id91358b7d4efe79a4be5190dcdb4b0b7cb40f19b
Use common code instead of novaclient.utils

Module `novaclient.utils` contains a lot of functions which are
presented in modules from common code.

* service_type -> novaclient.openstack.common.cliutils.service_type
* get_service_type -> novaclient.openstack.common.cliutils.get_service_type
* pretty_choice_list ->
      novaclient.openstack.common.cliutils.pretty_choice_list
* import_class -> oslo.utils.importutils.importclass
* HookableMixin -> novaclient.openstack.common.apiclient.base.HookableMixin

Change-Id: Ia6cac058da12c852d92f26875a66ae31cc4c63d4
Use oslo.serialization

Since module `jsonutils` from common code is graduated in
`oslo.serialization`, we should remove code from oslo-incubator and use this
library.

Change-Id: Ia8b5ef598ff415cdde19f523a36a552918f9f94b
Merge "Use common code instead of novaclient.utils"
Merge "Add list by user to shell"
Merge "Live migrate each instance from one host to other hosts"
Merge "Use oslo.serialization"
Enable check for E121

E121 continuation line under-indented for hanging indent

Change-Id: I4cf246e3ec932ba0d2391eb8bcb793b28b005b4c