25 Commits

Author SHA1 Message Date
Jenkins
dcc2f67bee Merge "Connectivity between the endpoint version and OS_VOLUME_API_VERSION." 2013-06-25 16:29:09 +00:00
Anastasia Latynskaya
6adda93c9d Connectivity between the endpoint version and OS_VOLUME_API_VERSION.
Adds functionality which allows user to work with
that cinder API version which is the same as
the endpoint version.

Fixes: bug #1169455

Change-Id: I9bb46e602d15856d2da502a6ac2b6c25e76f4fa3
2013-06-25 13:01:33 +00:00
Chuck Short
1197fb3701 python3: Strutils is not needed
strutils is used to safely encode and decode unicode strings
for python2.7. Since unicode strings are the default in python3,
ignore the use of strutils when running with python3.

Change-Id: I9a8e296b4f2153b1ef4302a7dcd797fbb4561c35
Signed-off-by: Chuck Short <chuck.short@canonical.com>
2013-06-22 12:50:23 -05:00
Chuck Short
3044671b36 python3: Fix traceback while running tests
The testsuite is full of the following:

TypeError: 'dict_keys' object does not support indexing

This is due to the fact in python3 dict methods dict.keys(),
dict.items() and dict.values() return “views” instead of lists.

Change-Id: Ifa5383e6485fdbabf363fd1442877b2452346c1c
Signed-off-by: Chuck Short <chuck.short@canonical.com>
2013-06-19 20:52:22 -05:00
Chuck Short
4b1cdab2fe python3: Basic python3 compatibility.
Basic python3 compatibilty.

Change-Id: I4388f5956cf397f8e33d20085aae6c6a728dbbda
Signed-off-by: Chuck Short <chuck.short@canonical.com>
2013-06-12 07:59:44 -05:00
Jenkins
e7cfd77ba3 Merge "Minor typo/message fixes" 2013-04-09 15:26:12 +00:00
Eric Harney
fd3351ffa8 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
2013-04-08 17:11:16 -04:00
Jenkins
222f501d9f Merge "Add OS_TENANT_ID as authentication option" 2013-04-05 12:59:08 +00:00
Flaper Fesp
03a4806d97 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
2013-03-29 13:50:48 +01:00
Liam Kelleher
f80509ff1a Add OS_TENANT_ID as authentication option
bug 1160898

Change-Id: I8849ab8f552801b8a317cd0394251c2db1ba8e9a
2013-03-27 16:14:39 +00:00
Eric Harney
36ba504d52 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
2013-03-20 13:10:34 -04:00
Mike Perez
636ec5eccd adding v2 support to cinderclient
This will allow the cinderclient to speak to the v2 rest api if it's
enabled in the cinder config. Includes additional v2 tests as well.

blueprint cinderclient-v2-support

Change-Id: I004134d9f528a6eadefdaa89eb48087bcae2691f
2013-02-13 00:58:17 -08:00
Dirk Mueller
8cc89fdfe5 Avoid UnicodeEncodeError exception on exception
When an exception message contained a non-ascii
character, the str() conversion raised an UnicodeEncodeError.

Avoid this by simply passing the message itself.
Python handles the encoding to locale already.

Change-Id: I3c4440fc238d8c8136a9bd93a0040668f82bda6e
2013-02-06 17:26:44 +01:00
Frederic Lepied
33c897d87e Fixed documentation of the cinder shell command.
Updated README.rst and shell.rst to match changes
in the cinder command and novaclient README.rst.

Change-Id: Ifaa53d5c06e6d7d8e3d4d858672717954303bea7
Fixes: bug #1074125
2013-01-31 20:41:47 +01:00
Eric Harney
c74994597f Change Nova -> Cinder in credentials error message
Change-Id: I410360ca23388e93bcbbf3dce053cae99c84a431
2013-01-21 17:34:59 -05:00
Anita Kuno
fbddead1cb Fixed Version Functionality
In accordance with bug-1068521, cinder version functionality is available via the shell.

Change-Id: If9608291f318057fc8fa61151328d6503a79d70d
2013-01-17 17:50:15 +00:00
Dean Troyer
82e47d0866 Use requests module for HTTP/HTTPS
* Implement correct certificate verification
* Add --os-cacert
* Rework tests for requests

Pinned requests module to < 1.0 as 1.0.2 is now current in pipi
as of 17Dec2012.

Blueprint: tls-verify

Change-Id: I71066ff7297f3b70c08b7ae1c8ae8b6a1b82bbae
2012-12-18 13:58:05 -06:00
Dean Troyer
e30724df5b Bring back the output from client.http_log()
Ported from novaclient https://review.openstack.org/9241
Support CINDERCLIENT_DEBUG as synonym for --debug

Change-Id: Ic03b9e7d84c8db14f6e193ca2b478fd0d70d1299
2012-12-13 15:56:00 -06:00
Christian Berendt
79dc21d171 show help when calling without arguments
When calling cinder without arguments you'll receive the following
output:

error: too few arguments
Try 'cinder help ' for more information.

With this change the help is also shown when calling cinder
without arguments. I think that's the expected behavior.

Change-Id: I8f46f67b7fef472ac344bb74f80cf1b77c4c4745
2012-11-08 23:33:14 +01:00
Cory Stone
112bd60d4e Add retries to cinderclient.
HTTPClient now supports a retries argument. It will reissue requests
for any 5xx or socket (400 with n/a) errors. This retry loop was
"inspired" by swiftclient's loop. It reauths one extra time if
necessary.  It uses backoff times of 1, 2, 4... seconds.

The default is 0 retries. It is also exposed to the shell as well with
a --retries arg.

Change-Id: I67bed02d65155f4a4d5d879bb233f56cc78849fa
2012-11-07 11:11:54 -06:00
John Griffith
dcbebd7b78 Revert "Add retries to cinderclient."
This reverts commit 3b1eda3b3bb6678e9c9ec3e783e3e12b0c42f0a4
2012-11-02 22:17:03 +00:00
Cory Stone
3b1eda3b3b Add retries to cinderclient.
HTTPClient now supports a retries argument. It will reissue requests
for any 5xx or socket (400 with n/a) errors. This retry loop was
"inspired" by swiftclient's loop. It reauths one time if necessary.
It uses backoff times of 1, 2, 4... seconds.

The default is 0 retries. It is also exposed to the shell as well with
a --retries arg.

Change-Id: I75d9a13d6c4ba16a5da13d4bf5cad78a777d67d7
2012-11-01 14:42:09 -05:00
Dean Troyer
d7b09bd097 Change '_' to '-' in options
This changes every command-line option with a '_' in its name
and changes them to '-'.  The old option names are maintained
for backward compatibility but are no longer in the help text.

BP command-options

Change-Id: If926bb3b8fa85d628aea197496cf976f71bcdd08
2012-08-23 14:40:09 -05:00
John Griffith
93f9fa75fa Set pep8 version to 1.1 in test_requires
* Fixes bug 1007520
* Changes in pep8 cause new failures

Change-Id: Ie678f01a5008b0df6ef43a360b599890cab40776
2012-06-15 13:56:39 -06:00
Jenkins
471704df64 Initial split from python-novaclient. 2012-05-21 16:32:35 -04:00