491 Commits

Author SHA1 Message Date
Stuart McLaren
71d97836f8 Create functional test base
This will allow adding 'check-glanceclient-dsvm-functional' tests in
the gate, similar to:

 * check-novaclient-dsvm-functional
 * check-keystoneclient-dsvm-functional
 * check-neutronclient-dsvm-functional
 * etc

Change-Id: Id970db52695db7dc53206aa05fe573995b57aa78
2015-04-18 17:43:01 +00:00
Stuart McLaren
f2a8a520e7 Move unit tests to standard directory
This patch moves the glanceclient unit tests to the standard directory
(xxxclient/tests/unit) in preparation for adding functional gate tests
'check-glanceclient-dsvm-functional' in the same vein as existing client
tests for other projects, eg:

* check-novaclient-dsvm-functional
* check-keystoneclient-dsvm-functional
* check-neutronclient-dsvm-functional

Change-Id: I29d4b9e3a428c851575ee9afde40d6df583456c4
2015-04-18 17:42:20 +00:00
Jenkins
825c4a5df2 Merge "Correct help messages for image-update command" 2015-04-18 10:00:59 +00:00
Jenkins
dfcce08710 Merge "Omit 'locations' as image-create parameter" 2015-04-15 20:49:12 +00:00
Stuart McLaren
bd0aa0672e Fix https stack trace on python 3.4 client
When using the client with python 3.4 and no ssl compression the following
stack trace ocurrs:

 TypeError: startswith first arg must be bytes or a tuple of bytes, not str

Closes-bug: 1442883
Related-bug: 1357430
Change-Id: I8e28f0bb1f3e866f11851247ce31470ca8c2af4f
2015-04-11 11:04:23 +00:00
Stuart McLaren
c698b4e322 Fix client when using no ssl compression
Since the release of the 0.16.1 client, using the 'no ssl compression'
option, whether on the command line, or via the library -- Nova does this by
default -- a stack trace was generated.

Closes-bug: 1442664
Related-bug: 1357430

Change-Id: I2b8ddcb0a7ae3cfccdfc20d3ba476f3b4f4ec32d
2015-04-11 11:03:54 +00:00
Fei Long Wang
c73026634c Omit 'locations' as image-create parameter
Based on current implementation, locations is reserved
attribute, so it should not be a parameter for image
create.

Closes-Bug: #1399778

Change-Id: Ie51e52157e905fdecf736125be0dac87b1a966ec
2015-04-11 00:02:22 +12:00
Jenkins
287bf62261 Merge "Validate tag name when filtering for images" 2015-04-09 13:10:10 +00:00
Jenkins
93569c61de Merge "glance image-show now have --human-readable option" 2015-04-08 13:26:09 +00:00
Jenkins
5b4aef5742 Merge "Creating task with invalid property crashes in py3" 2015-04-07 13:30:04 +00:00
Jenkins
c634c5149c Merge "Expose 'is_base' schema property attribute" 2015-04-02 15:38:24 +00:00
Kamil Rykowski
a6234d1c4e Creating task with invalid property crashes in py3
Currently when you are trying to set invalid additional property for
task using py3 interpreter it will fail, because function `unicode` does
not exist in py3.

Fix it by replacing `unicode` with `utils.exception_to_str` which is
used in other modules already.

Change-Id: I5897868f801467a2eaa7585b5f2d578cef358426
Closes-Bug: 1439513
2015-04-02 06:15:48 +00:00
Jamie Lennox
fd2f989cca Don't accept *args for client
The HTTPClient object that we are passing *args to does not accept any
args. Don't accept them from the main client interface.

Change-Id: I473bb64be95e058375ebd1e55d4bda4168c3c430
2015-03-28 14:22:49 +11:00
Jenkins
b3d2c636ec Merge "Use any instead of False in generator" 2015-03-27 23:56:39 +00:00
Alexander Tivelkov
90407d9e47 Expose 'is_base' schema property attribute
Changeset I49255255 has added an 'is_base' attribute for Image Schema
properties, thus allowing to differentiate between base and custom image
properties, but the client hasn't make any use of it.

This patch adds appropriate attribute to SchemaProperty class and a
helper method which allows to validate if the given property is base or
not.

The added helper method (is_base_property) should not be confused with
the existing is_core_property: the latter just checks if the property is
known to the schema, regardless of its being base or not.

Change-Id: I7c397196dad9ae5494ed2f8f3aacef3fc1ce70d8
Partial-Bug: #1323660
2015-03-27 19:03:48 +03:00
Kamil Rykowski
2c08b40bf0 Validate tag name when filtering for images
Right now all invalid tags are skipped when filtering for image list. We
should change this behaviour to raise an exception when invalid tag
value is provided.

Additionally remove misplaced `pass` from one of the tests.

Closes-Bug: 1433962
Change-Id: If5148608a70ee019697ea2dcb84e19a53222d596
2015-03-26 12:42:36 +00:00
Jenkins
15c2e40449 Merge "Generate API documentation" 2015-03-25 05:17:08 +00:00
yatin karel
c149a94ee1 glance image-show now have --human-readable option
Added option '--human-readable' to image-show cli which allows users
to display image size in human-readable format.

Change-Id: Ic3452ce4560d3cf90fa7f59f98e5ff42e804f8c9
Closes-Bug: #1434381
2015-03-22 17:26:55 +05:30
Abhishek Talwar
6d864ef65c Correct help messages for image-update command
Currently when you are trying to update the location of an image which
is not in queued status you will get an error from the Glance API. The
help message for --location and --copy-from arguments should be updated
to inform the user that it works only for images in queued status.

Co-Authored-By: Abhishek Talwar <abhishek.talwar@tcs.com>
Co-Authored-By: Kamil Rykowski <kamil.rykowski@intel.com>

Change-Id: I82b14ffde3f301d7ffef68e984ba4ad2ae0f8b0f
Closes-Bug: #1220809
2015-03-19 10:24:34 +01:00
Yamini Sardana
db5d72947c Updated help for v2 member-update api
help message for v2 glance member-update api
now displays the Valid Values of member status
variable.

The valid values are: pending, accepted, rejected

Change-Id: Ibe6f55c933668451b407ed9a19c520c3fbf1912a
Closes-bug: #1420707
2015-03-17 11:45:43 +05:30
Jenkins
6db625f287 Merge "Extend images CLI v2 with new sorting syntax" 2015-03-16 20:12:42 +00:00
Jenkins
82143e26d3 Merge "Add the ability to specify the sort dir for each key" 2015-03-16 20:11:50 +00:00
Jenkins
c32a41415d Merge "Adds the ability to sort images with multiple keys" 2015-03-16 20:11:34 +00:00
Mike Fedosin
3f3066be97 Extend images CLI v2 with new sorting syntax
This code enables new syntax for sorting output with multiple
keys and directions based on API Working group sorting
guidelines.

It's a client code to consume API modified in change
Ie4ccfefa0492a3ac94cc7e22201f2f2be5c1cdbb

Example:
glance --os-image-api-version 2 --sort name:desc,size:asc

Implements-blueprint: glance-sorting-enhancements
DocImpact
Depends-On: Ie4ccfefa0492a3ac94cc7e22201f2f2be5c1cdbb
Change-Id: I36a9fa9f0508fea1235de2ac3a0d6a093e1af635
2015-03-16 19:31:49 +03:00
Jenkins
7c54b14cf0 Merge "Apply expected patch format when updating tags in v2.images" 2015-03-16 16:24:16 +00:00
Mike Fedosin
bbd27d5276 Add the ability to specify the sort dir for each key
Adds client code to consume API modified in change
Ib43b53abfba7cb5789d916a014376cf38fc5245b

Extends CLI for v2 with multiple sort dirs
Example:
glance --os-image-api-version 2 image-list \
--sort-key name --sort-dir asc --sort-key size --sort-dir desc

Implements-blueprint: glance-sorting-enhancements
DocImpact
Depends-On: Ib43b53abfba7cb5789d916a014376cf38fc5245b
Change-Id: Ia20716f3c75299f796879299da317b2e81496088
2015-03-16 14:29:06 +03:00
Jimmy McCrory
976fe1776b Import sys module
This module is required by the _is_image_data_provided function.

Change-Id: I78265209a2f80aaf61bbe25d69e79c939182516c
Closes-Bug: 1432249
2015-03-14 14:32:40 -07:00
Mike Fedosin
fc79467ff6 Adds the ability to sort images with multiple keys
Adds client code to consume API modified in change
Ib7a6aeb2df3bc5d23fe8e070290b5bfcab00c0f5

Extends CLI for v2 with multiple sort keys
Example:
glance --os-image-api-version 2 image-list --sort-key name --sort-key size

Implements-blueprint: glance-sorting-enhancements
Change-Id: If79779a4c52c8dc5c4f39192d3d247335a76ba24
DocImpact
Closes-Bug: 1221274
2015-03-13 18:35:00 +03:00
Steve Lewis
f6f573316c Apply expected patch format when updating tags in v2.images
Currently, glanceclient.v2.update builds a patch request that does not
match glance API.

This patch overrides the default behaviour to customize the patch
request with the right format for the API.

Co-Authored-By: Steve Lewis <steve.lewis@rackspace.com>
Fixes bug 1306774
Change-Id: If0739ac285da1e741bfa40b6c719331a5ce49319
2015-03-12 15:18:20 -07:00
Jenkins
cc4c402f09 Merge "Fix leaking sockets after v1 list operation" 2015-03-11 15:02:22 +00:00
Jenkins
3e207dc065 Merge "Fix minor typo in version error message" 2015-03-11 03:12:33 +00:00
Jenkins
9e09211914 Merge "Remove duplicate 'a' in the help string of --os-image-url" 2015-03-10 11:50:53 +00:00
Jenkins
23c8d1818a Merge "v2: read limit for list from --limit in shell" 2015-03-06 22:38:24 +00:00
Jenkins
f32e827b37 Merge "Fix leaking sockets after v2 list operation" 2015-03-06 22:37:27 +00:00
Jenkins
c7c4ac9e85 Merge "v2: Allow upload from stdin on image-create" 2015-03-06 19:55:15 +00:00
Jenkins
8eaf97d42e Merge "Fix v2 image create --file documentation" 2015-03-06 19:49:13 +00:00
Louis Taylor
a9a692b351 v2: read limit for list from --limit in shell
Previously this was read from the --page-size argument, which lead to
incorrect behaviour.

Change-Id: I08ecda95eca0ff524e28a1d5371ce6c73dfc548e
Closes-Bug: #1429088
2015-03-06 13:18:11 +00:00
Louis Taylor
0ab5a78d78 Fix leaking sockets after v2 list operation
This fixes the same problem with leaking file descriptors after the port
to requests I16a7b02f2b10e506e91719712cf34ef0aea1afc0 does, but for the
v2 api client.

The paginate function in the list method has been refactored from a
recursive generator to a non-recursive generator, which avoids issues
with garbage collection holding the socket open.

Change-Id: Iaa7a421e8c1acafb7b23bb3f55e50b9d2a9d030a
Closes-Bug: #1428797
2015-03-05 18:53:54 +00:00
Jenkins
59eec058bc Merge "removed excessive call to os.path.exists" 2015-03-05 14:44:58 +00:00
Louis Taylor
f98ab688ef Fix leaking sockets after v1 list operation
Since the move to using the requests library, v1 list operations keep
the connection open to the glance server. This is normally closed by the
garbage collector if it is not explicitly closed, however the paginate
function used by the list method had a circular reference preventing it
from ever being collected during the lifecycle of a service consuming
glanceclient.

This is problematic, since it causes long running nova processes to run
out of file descriptors for new connections.

This patch makes paginate() non-recursive, which allows the connection
to be freed.

Change-Id: I16a7b02f2b10e506e91719712cf34ef0aea1afc0
Closes-Bug: 1423939
2015-03-04 20:07:53 +00:00
Jenkins
e6d2f637ed Merge "Show error on trying to upload to non-queued image" 2015-03-04 17:05:02 +00:00
Jenkins
ab52bf3ce2 Merge "Unify using six.moves.range rename everywhere" 2015-03-04 16:29:50 +00:00
Jenkins
5ce1de9da4 Merge "https: Prevent leaking sockets for some operations" 2015-03-04 08:38:19 +00:00
Jenkins
7f9b643371 Merge "Remove graduated gettextutils from openstack/common" 2015-03-03 23:38:17 +00:00
Kirill
6e0b1f4d2b removed excessive call to os.path.exists
os.path.isfile checks for existance anyway so
there is no point in checking both isfile and exists

Change-Id: Idbc2d22a807d5413db6e27ff0f6b5a87a5af8fa3
2015-03-03 01:03:28 +03:00
Jenkins
99c46d64a0 Merge "Strip json and html from error messages" 2015-03-01 16:19:15 +00:00
Jenkins
db0179f5c4 Merge "Register our own ConnectionPool without globals" 2015-02-26 21:29:06 +00:00
Erno Kuvaja
2d67dfa97a Unify using six.moves.range rename everywhere
Mainly to improve consistency, use range() from six.moves
renames across glance.

Behaves consistently like py2 xrange() and py3 range().

Change-Id: I7c573a3a9775f454b98d25f2a14f8e9f5f4ac432
2015-02-25 12:17:24 +00:00
Jenkins
437c44f40b Merge "Fixed CLI help for bash-completion" 2015-02-23 19:02:44 +00:00
Jenkins
93ca39ba18 Merge "Reduce the set of supported client SSL ciphers" 2015-02-23 16:06:48 +00:00