To make this work we create a different HTTPClient that extends the
basic keystoneclient Adapter. The Adapter is a standard set of
parameters that all clients should know how to use like region_name and
user_agent. We extend this with the glance specific response
manipulation like loading and sending iterables.
Implements: bp session-objects
Change-Id: Ie8eb4bbf7d1a037099a6d4b272cab70525fbfc85
Show the owner and status information when adding -v or --verbose
to the image-list command.
Closes-bug: #1381514
Change-Id: I90bf622147b12ed157072fad0823af58223caf91
Disallowed fields(schema, created_at and updated_at) were
getting deleted from Metadef namespace instead of Metadef object.
Change-Id: Id80e204c7af1ac6926c66627d290a15c4e6b00d9
Closes-Bug: #1433884
Currently when you download an image without specifying
a file or redirecting the output, the image is dumped into
the console as gibberish. We can avoid this if we
check if file is being redirected or if a file is specified.
Change-Id: I257760752f05b82b935cf19fb10573ee7ff1395d
Based on current implementation, locations is reserved
attribute, so it should not be a parameter for image
create.
Closes-Bug: #1399778
Change-Id: Ie51e52157e905fdecf736125be0dac87b1a966ec
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
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
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
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
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
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
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
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
Previously this was read from the --page-size argument, which lead to
incorrect behaviour.
Change-Id: I08ecda95eca0ff524e28a1d5371ce6c73dfc548e
Closes-Bug: #1429088
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
os.path.isfile checks for existance anyway so
there is no point in checking both isfile and exists
Change-Id: Idbc2d22a807d5413db6e27ff0f6b5a87a5af8fa3
Deleting an already deleted image using admin user is throwing an
error "404 Not Found" which is confusing. Deleting an image that does
not exist throws "No image with a name or ID of 'image-id' exists."
Updated the code so that trying to delete an already deleted image
throws "No image with an ID of 'image-id' exists." error.
Closes-Bug: #1333119
Change-Id: I8f9a6174663337a0f48aafa029a4339c32eb2134
Co-Authored-By: Abhishek Talwar <abhishek.talwar@tcs.com>
Co-Authored-By: Kamil Rykowski <kamil.rykowski@intel.com>
As a new user I found navigating the documentation difficult. The
flow was a bit unclear and searches bring up old versions of API
references that aren't included in the current documentation.
This
- provides an introduction to the tools similar to other projects
- generates API references for the v1 and v2 client
- fixes some minor docstring issues
- adds doc/* to pep8 tests to check the conf.py
The API generation code is cribbed from python-novaclient
Change-Id: I65772127679d7afd5e7e48ca7872366b01382f21
The oslo.utils libraries are moving away from namespace packages.
This requires oslo.utils>=1.2.0
bp drop-namespace-packages
Change-Id: I803df61e91eabb96329d859aef6bea03530fb84f
In v2, we use the link header during paginations to know when there are
more images available in the server that could be returned in the same
request. This way, it's possible to iterate over the generator returned
by list and consume the images in the server.
However, it's currently not possible to tell glanceclient the exact
number of images we want, which basically means that it'll *always* go
through the whole list of images in the server unless the limit is
implemented by the consumer.
DocImpact
Change-Id: I9f65a40d4eafda6320e5c7d94d03fcd1bbc93e33
Closes-bug: #1415035
This module now lives in oslo.utils, so import it from there instead.
Co-Authored-By: Ian Cordasco <ian.cordasco@rackspace.com>
Change-Id: Ib35dc840992433542490670781badd9529ec8947
For example:
$ glance --os-image-api-version 2 image-create < /tmp/data
This is consistent with v1.
DocImpact
Closes-bug: 1408033
Change-Id: Ifed4ece9e4e02a46d80b49a8e4fc372f1a304241
Help for 'v2 image create --file' should refer to upload,
not download.
DocImpact
Change-Id: I2ae00e3242fb10001e216cde93fdf9c6f18ad13e
Closes-bug: 1408028
Previously, running:
cat something.img | glance image-create --progress --container-format=bare --disk-format=raw
or
cat something.img | glance --os-image-api-version 2 image-upload --progress <image id>
would result in an error. This error was caused by the length of the
input being unknown, so the overall progress cannot be found.
This patch disables the progress bar whenever the size of the input file
cannot be determined.
Change-Id: I6bfef7441864b638194126880241cc2c96d5b18b
Closes-Bug: #1402746
The move to the requests library (dbb242b) broke the progress bar during
downloading an image with --progress enabled, due to requests returning
a generator, which has no __len__ function. This patch adds an iterable
wrapper which provides the length, sourced from Content-Length headers.
Closes-Bug: #1384664
Change-Id: I48598a824396bc6e7cba69eb3ce32e7c8f30a18a
The rest api metadefs/namespaces supports pagination using the parameters
of limit, marker, sort_dir, & sort_key. However, the glance client isn't
passing those parameters through (they come in as kwargs). This is
preventing pagination from working properly in horizon.
This is affecting Horizon support: https://review.openstack.org/#/c/104063/
Change-Id: Ib349cf3a3a437eb1711f350b37d0bd0e7d01330a
Closes-Bug: 1381816
We currently require a version to always be passed to discover the
client version that should be loaded. However, this information is
commonly present in the URL instead. The current behavior forces
consumers of the library to keep the required version around and/or to
strip it themselves from the URL.
This patch relaxes that requirement by making the version a keyword and
requesting instead an endpoint to be passed. The patch gives priority to
the version in the endpoint and falls back to the keyword if the later is
not present.
Follow-up patches will improve this code making it interact a bit more
with the endpoint's catalog.
Closes-bug: #1395714
Change-Id: I4ada9e724ac4709429e502b5a006604ca0453f61
any is both idiomatic and easier to read. There's no performance difference
because both will stop as soon as a matching value is found.
Change-Id: Ia527d96844015085cc289869a3c4d2722db1043c
Allows passing --file and --progress to glance image-create with Image API v2.
if --file is present the image-create effectively calls image-upload with the
newly created image's id and the '--file' + '--progress' paramaters. The image
metadata will be printed after the upload call instead of after creation.
In a case argumented file does not exist the image will not be created and
error will be printed instead.
DocImpact
Closes-Bug: #1324067
Change-Id: I5d41fb2bbeb4e56213ae8696b84bf96b749414f8