Adding pagination support for backups

* add a _pagination method to base Manager
* switched existing paginated list to use the new method
* removed description from backup list and added updated

Implements: blueprint paginate-backup-list

Change-Id: If33c55a35bae8ebd6ed654af5ce6dfd7f9e40096
Tighten flake8 checks in Gating

There are a few checks that already pass:
 - F401 - unused imports of modules
 - F403 - ‘from module import *’ used; unable to detect undefined names

And there are two (H401 and H403) that can be made
passing easily. Enable gating on all of them.

Change-Id: I9d3c49ecea1b2171d194ab6cc751316c252081e8
Merge "Adding pagination support for backups"
Datastore on Show Instance Should Not Be a Dict

From:

+-----------+-----------------------------------------------+
|  Property |                     Value                     |
+-----------+-----------------------------------------------+
|  created  |              2014-01-12T22:17:16              |
| datastore | {u'version': u'mysql-5.5', u'type': u'mysql'} |

To:

$ trove show 160e571f-afae-4ac8-aec0-7b2e55846e07
+-------------------+--------------------------------------+
|      Property     |                Value                 |
+-------------------+--------------------------------------+
|      created      |         2014-01-12T22:17:16          |
|     datastore     |                mysql                 |
| datastore_version |              mysql-5.5               |

Change-Id: I1542869760ab0010a2ada4ed16a0b526dc233220
Closes-Bug: #1254141
Adds volume_used to trove show <instance>

Reasons:
- There are two attributes coming from trove related to volume
  attached, total size of volume and used space of volume.
- Used space is an important attribute for a user, it would help to
  plan the resize of volume before the attached volume gets finished.

Changes:
- Adds display of used volume attribut, with "trove show" command.
- Avoids display in dicts-form.
- do_show method now displays total space, and used space for the
  atttached volume, as

    |       status      |                ACTIVE                |
    |      updated      |         2014-01-12T22:17:20          |
    |       volume      |                  1                   |
    |    volume_used    |                 0.13                 |
    +-------------------+--------------------------------------+

Change-Id: I64bddd167c1645077854bd74185886bb45fc69a0
Closes-Bug: #1265144
Merge "Tighten flake8 checks in Gating"
Fixed misspellings of common words

Fixed misspelling of common words found by the 'misspellings' tool.

Change-Id: I8e03379f92b62fd4856bbc74b7e4641226a403d3
Closes-Bug: #1257531
Merge "Datastore on Show Instance Should Not Be a Dict"
Merge "Fixed misspellings of common words"
Datastores improvements

Improvements for client:
- added datastore field in instances list
- fixed datastore and version fields in instance show output
- fixed mistakes in help texts
- add possibility to retrieve version by uuid (without specified datastore)

Implements: blueprint datastore-type-version-followon

Change-Id: Id41da29ce9732823bc4696301953e9cf8cdc82f5
Merge "Adds volume_used to trove show <instance>"
Updates common.check_for_exceptions and its calls

Reasons:
- exceptions.from_response has 3 arguments but is being called with
  one argument less, which is url.

Changes:
- Updated common.check_for_exceptions to support urls as needed by
  troveclient.openstack.common.apiclient.exceptions.from_response.
- Adds url to exceptions.from_response calls in troveclient.

Closes-Bug: #1266239

Change-Id: Ie18c90349479f740369f63c48a8d9b463641f84d
Support Extensions to Trove Client

extensions on the contrib path (i.e. troveclient/v1/contrib/*.py),
extensions on the python path that follow the naming convention of
*_python_troveclient_ext, and entry-points will now be discovered
and loaded.

due to the mismatch of the api version and the troveclient
package name, '1.0' vs. '1', the client has been patched to look
for contrib in troveclient/v1 vs. the standard troveclient/v1_0

Change-Id: I3ea7bb5ba471b0d421581dcfda7216f429cb7b65
Closes-Bug: #1267577
Merge "Updates common.check_for_exceptions and its calls"
Update to the latest code from Oslo

Update apiclient code for python3.3 support

Сhanges from oslo-incubator related to apiclient:

Change 41dc2b4:  Encode response from FakeHTTPClient
Change e6494c2:  Use six.iteritems to make dict work on Python2/3
Change 0d8f18b:  Use urlutils functions instead of urllib/urllib2
Change 16fb43b:  Replace data structures' attribute with six module
Change fdb0f0f:  Common ConnectionRefused class
Change 9d0ec6a:  Use six.iteritems for python 3.3 support in apiclient module
Change 12bcdb7:  Remove vim header
Change 4c22556:  Use py3kcompat urlutils functions instead of urlparse
Change 3970d46:  Fix typos in oslo
Change 1771a77:  Adjust import order according to PEP8 imports rule
Change da611e6:  Transform the for loop to expression

Change-Id: If2bbb247f0202bae6dd5a8bd66d9708738e52d71
Grants DB access to Users in Instance create API

Reasons:
- When database and users are provided as arguments, created users do not
  get access on suggested databases in cli instance create command.
- This was happening because database was not passed along with user info.

Changes:
- Concatenated the database information with the user info.

Change-Id: I3475f0eab1201b963bb32b2155c175a9483ef92f
Closes-Bug: #1272421
Use Resource() class from common Oslo code

In the process of unification of the clients code we should
reuse common functionality from Oslo. Resource() class from trove
duplicates Oslo funclionality, so we replace it with inheritance

Related to blueprint common-client-library-2

Change-Id: I9809bd3036a5b544b8ff011432f64dc5af793f61
Adding support for incremental backups

* Adds a parent argument to backup-create.
* Adds parent_id to the backup create body if present.

Implements: blueprint incremental-backups

Change-Id: I76f720ae4eadf2a1977c4c2cbf286db4db079b63
Add Neutron support

Currently create instance doesnt work in OS installation with Neutron.
To get it work, additional parameter 'nics' should be specified
in Nova 'create' call.
This change allows user to pass 'nics' parameter when create instance.

Syntax to specify '--nic' parameter is same as in novaclient.
--nic <net-id=net-uuid,v4-fixed-ip=ip-addr,port-id=port-uuid>
This parameter can be specified multiple times, to attach multiple
network interfaces to instance.

Closes-Bug: #1257838

Change-Id: I76fb0d99512b1ee70441c924835a900ba0b7acd1
Fixes troveclient raising undefined exception ConnectionError

Reason: ConnectionError exception is raised which is not defined in
        python-troveclient/troveclient/openstack/common/apiclient/exceptions.py

Change: ConnectionError should be renamed to ConnectionRefused.

Closes-Bug: #1240950

Change-Id: I73219d29efd71185cdf6ff56a7fe41165541681f