25 Commits

Author SHA1 Message Date
yatin karel
0f73c5fb8a cinder list now prints dash '-' when data is None
cinder list used to print None when volume was created without name.
Now it prints '-' dash when display_name is None

Closes-Bug: #1422244
Change-Id: I195ccc37fe96dbb54a0460527fabf55146170bc7
2015-03-16 23:26:22 +05:30
Aaron Rosen
0b38d75a44 Leverage openstack.common.importutils import_class
This patch drops the import_class method from utils and instead
leverages the one in openstack.common.importutils.

Change-Id: I9f740b9941d477776597c4c4ab88a65a39fb4fb8
Closes-bug: 1365273
2015-01-12 22:58:00 +00:00
Steven Kaufer
b0e4cc1b63 Client output is not sorted by --sort_key
The cinder client supports invoking the volumes REST API with the
sort_dir and sort_key parameters. However, the client output table
is always sorted by ID even though the REST API is returning in
sorted order based on the sort key/direction provided.

For example, the command below supplies the 'size' sort key but the
output table is still sorted by ID:

cinder list --sort_key size --sort_dir desc

This fix contains:
* Updates to the print_list utility to prevent any re-ordering so
  that the current object order is maintained
* Updates to the shell to disable re-ordering if the user supplies
  sort parameters

Change-Id: I4cc111a8bdd2b89158dfc4bb0d16fa6dbf36cc57
Closes-Bug: 1402846
2014-12-22 02:23:00 +00:00
Jenkins
59177814a4 Merge "Use immutable arg rather mutable arg" 2014-12-21 16:15:41 +00:00
Rushi Agrawal
542a675568 Remove unused methods from utils.py
Most of these methods were imported when we forked away from
python-novaclient, but over the course of time, their existence
became redundant as no file seems to be importing them. Such
methods are removed in this change.

Change-Id: Ic93fc92ce624eefaeaca6de5c8fd965e88159030
2014-11-17 16:33:07 +05:30
liuqing
31a7ae54f6 Use immutable arg rather mutable arg
Passing mutable objects as default args is a known Python pitfall.
We'd better avoid this. This commit changes mutable default args with
None.

Change-Id: I7817c92069d32d1926e185ca0d0ab14e738b8b3d
2014-07-03 15:06:51 +08:00
Cory Stone
d5334aa929 Add auth_plugin support to cinderclient
With CINDER_RAX_AUTH being rightfully removed, cinderclient is no longer
compatible with Rackspace/any non-keystone auth. To fix this, I stole
auth_system/auth_plugin from novaclient's implementation.

See https://review.openstack.org/#/c/23820/.

Change-Id: If5f84003f868ef02bb7eb7da67cf62018602e8f0
Closes-Bug: 1280393
2014-02-14 15:09:44 -06:00
huangtianhua
5aaa68f09e Fix typo in cinderclient
sematics --> semantics
hypen-separated --> hyphen-separated
typicaly --> typically

Change-Id: I5df277ef7036082d0e4b079c23d41da809e5270f
Closes-Bug: #1254587
2013-11-28 09:28:05 +08:00
Seif Lotfy
6437166e1e Add quota-usage command
Added a new command quota-usage to allow querying the usage of the
quota for a given tenant

Change-Id: I720e6df94f9fedbb8b6385bd1707600542aaea08
2013-10-03 17:43:20 +00:00
ZhiQiang Fan
5ad95e9fd2 Replace OpenStack LLC with OpenStack Foundation
NOTE:
* openstack/common/* should be synced from oslo, so i leave them
untouched.
* add (c) symbol for related lines, leave others untouched.

Change-Id: I46a87c7f248d3468b1fdf5661411962faf2fb875
Fixes-Bug: #1214176
2013-09-28 23:13:54 +08:00
Ken'ichi Ohmichi
405702c8c0 Add volume name arguments
This patch adds volume name arguments to the following subcommands:
 * snapshot-create
 * backup-create
 * backup-restore
 * transfer-create

Fixes bug #1220590

Change-Id: Ib0ff6e62d45abb14fa8c7313511ef6f72befe0d5
2013-09-18 16:44:51 +09:00
Mike Perez
6193f2ba96 Remove locals() from cinder client code base
Hacking file now disallows locals() usage.

Change-Id: I5049c718c2706d606c12913ae0b33a0fb3263542
2013-07-31 16:03:17 -07:00
John Griffith
3d30126e93 Revert "Use exceptions from oslo"
This reverts commit a7cce08eab5e2e42275b84bd56127bd09b00f5bf

Change-Id: I6c0047adbc33d0d6b5890f11853974578c36c78c
2013-07-15 10:30:05 -06:00
Alessio Ababilov
a7cce08eab Use exceptions from oslo
These exceptions can be used in novaclient, keystoneclient,
glanceclient, and other client projects.

Partially implements: blueprint common-client-library

Change-Id: I43918316622b1c1d722872fe30199db6a3a7bb76
2013-07-01 11:55:31 +03: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
dc1105ebca python3: Fix unicode strings
Python3 enforces the distinction between byte
strings and text strings more rigorously than
python2. So use six.text_type where approiate.

Change-Id: I46b3f5fe1f990fc1b7a3ee32904d608b070fc4c3
Signed-off-by: Chuck Short <chuck.short@canonical.com>
2013-06-13 01:43:35 +00: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
Chuck Short
d12d7a73ff python3: compatibility for iteritems and iterkeys
Use six to allow python2/pyton3 for iteritems and
iterkeys.

six.iteriems() replaces dictionary.iteritems() (python2)
and dictionary.iterms() (python3)

six.iterkeys() replaces dictionary.iterkeys (python2)
and dictionary.keys() (python3)

Change-Id: I26c80b78a7dedf3aa32eedf01a83ff6d1e592ba7
Signed-off-by: Chuck Short <chuck.short@canonical.com>
2013-06-11 13:29:13 -05:00
Hugh Saunders
95e142a173 Allow generator as input to utils.print_list.
Once the table is built, the length of the prettytable's internal array
is checked rather than re-iterrating over the input.

Adds tests for utils.print_list with list and generator input.

Change-Id: I4c0bd08bf0c943de42ad90d255a2d831c2e98828
Fixes: bug #1180059
2013-05-15 08:51:28 +01:00
Chuck Short
2ed5cdcb5f 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>
2013-05-09 10:49:35 -05:00
John Griffith
0b781536b2 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
2013-04-11 19:21:55 -06: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
Eric Harney
01dad32c07 Fix support for Unicode volume names
It is possible to create a Unicode volume from the command line,
but it cannot be manipulated by name for operations such as delete.
This is because the find_resource function tries to match the
Unicode string to a regular byte string, and a UnicodeWarning is
issued, failing the match.  Fix by decoding the Unicode name when
trying to match.

Fixes bug 1065275.

Change-Id: I8e19a78bbc1ccb503ccd39dc3b904fc4f6f77858
2012-10-23 15:50:33 -04:00
Jenkins
471704df64 Initial split from python-novaclient. 2012-05-21 16:32:35 -04:00