Catch KeyboardInterrupt

When a user Ctrl-C's the client, this will cause a short message to
be printed rather than an ugly backtrace.

This will not catch all instances of this (can still Ctrl-C before
reaching this code, etc.), but it should catch most of them, and those
for long-running sessions.

The specific message was chosen to match one recently added to the
glance client.

Change-Id: Ib748835ad1f94fb901b4941dc5e3797b719e197f
Add support for snapshot quotas.

Now we have [volumes, gigabyes, snapshots] as valid
tenant quotas.

Change-Id: Iae8a86b31e63b9e56d6ef0bee7e03f4089aa8138
Add debug option processing to run_tests

This just adds -d|--debug option so you can debug
using tools like pdb again and to get extra output
from the tests.

Change-Id: Icebc17a1575e17cfd9597581546dca4732b9a8ef
Merge "Catch KeyboardInterrupt"
Remove unused tools/rfc.sh

This has been deprecated in favour of git-review for quite a while now
and was removed from Nova 10 months ago.

Change-Id: Ic4bfa1aee3a4b6a7588be3678ac033a1b13e2b18
Add OS_TENANT_ID as authentication option

bug 1160898

Change-Id: I8849ab8f552801b8a317cd0394251c2db1ba8e9a
Merge "Add support for snapshot quotas."
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