Add OS_TENANT_ID as authentication option

bug 1160898

Change-Id: I8849ab8f552801b8a317cd0394251c2db1ba8e9a
Decodes input and encodes output

Currently cinderclient doesn't handle properly incoming and outgoing
encode / decode process. As a solution for this, this patch implements a
decoding process for all data incoming from the user side and encodes
everything going out of the client, i.e: http requests, prints, etc.

This patch introduces a new module (strutils.py) taken from
oslo-incubator in order to use 2 of the functions present in it:

About safe_(decode|encode):

    Both functions try to encode / decode the incoming text using the
    stdin encoding, fallback to python's default encoding if that
    returns None or to UTF-8 as the last option.

    In both functions only basestring objects are accepted and they both
    raise TypeError if an object of another type is passed.

About the general cinderclient changes:

    In order to better support non-ASCII characters, it is a good
    practice to use unicode interanlly and encode everything that has to
    go out. This patch aims to do that and introduces this behaviour in
    the client.

Testing:

    A good test (besides using tox) is to use cinder client with and
    without setting any locale (export LANG=).

Fixes bug: 1130572

Change-Id: Idb7d06954c29e003f68a0c4aa0b80ecc7017cbc9
Pin prettytable versions

pip-requires doesn't have any restrictions on prettytable.
We should match up with the pinned version in other projects.

In addition to avoid this problem in the future updated simplejson
to match openstack/requirements as well.

Change-Id: Iabf7ee8b0fd253447d1a65bc1b12906d26176286
Fix X-Auth_Token -> X-Auth-Token header name

Fixes bug 1163546

Change-Id: Idb2c5f23a1c57676984ffa33f64d27c461b0de15
Fix result -> resp typo in unset_keys

Change-Id: I07b0ea54993d5b00060e1dfcdfc10663d091254b
Remove unused "import sys"

Cleaning up with pyflakes.

Change-Id: I24878f1bb1693af13b2a7f0f7d6fe455f8747e91
Merge "Add OS_TENANT_ID as authentication option"
Merge "Remove unused "import sys""
Merge "Fix result -> resp typo in unset_keys"
Merge "Fix X-Auth_Token -> X-Auth-Token header name"
Minor typo/message fixes

Correct it's -> its in force-delete message
Print whole bash_completion message in "cinder help"
Reformat some doc strings per PEP-0257

Change-Id: I013b849508beac5c9fe5c6f9d4cdfae54676c29c
Merge "Minor typo/message fixes"
Sync with oslo-incubator copy of setup.py and version.py

Keep up with the changes to the master copy

Change-Id: I24522c7de91c2dea0f7e4b8cac2a27ff162df7f1
Don't print the empty table on list operations.

Changes to strutils.safe_encode cause the empty
table to be printed out when no objects are actually
retrieved.

This patch just adds a check of the object list length
before calling strutils.safe_encode, if the length is NOT
> 0 we just return like we used to.

Change-Id: I57930b5210c975baa7c4510fcf82b17157e17788
Fixed unit test name in v1 and v2 tests

Change-Id: Ia6a88be09a07ed269b1e9b43a86c88731c80784c
Merge "Don't print the empty table on list operations."
Add support for volume backups

Implements support for the volume backup api added to cinder in
https://review.openstack.org/19468. This is a resubmit of the
expired change https://review.openstack.org/25299 with the
following changes:

* Added unit tests for backups (v1 and v2)
* Changed references in backup code to display_name and
  display_description to name and description respectively
* Removed links from backup-show output
* Added object_count to _translate_backup_keys
* Removed unneccesary items from _translate_backup_keys
* Fixed backups docstrings including removing references to swift.

Adds backup-create, backup-delete, backup-list, backup-restore
and backup-show to both the v1 and v2 clients, since the volume
backup extension is available via both APIs.

Change-Id: I197384f1c2fd2af641d207a5f4dba0dfbc5c681a
Update setup.py prior to next upload to pypi.

Minor updates to the setup.py file including:
author and email.

Change-Id: I0194a5fdaa1ea441115e6e869182e4dcb5b531e0
Update release info in index.rst.

Add release notes and fix revision number mishap.

Change-Id: Ia48be8462e17c900562b794fd69ba2234f6c6c03
Add license information.

Several files were missing the license issue, so simply
add them.

Change-Id: I866ec03096a72fe8ae7d776e2ffe040379ec5bc6
Signed-off-by: Chuck Short <chuck.short@canonical.com>