This adds release notes for the following commits:
$ git log --oneline --no-merges 0.15.0..HEAD
f7cdc3e Glance image delete output
a3eaafe Updated from global requirements
e99e0c8 Change oslo.utils to oslo_utils
96ff6e4 Return 130 for keyboard interrupt
db743e3 Ignore NoneType when encoding headers
869e6ac Use utils.exit rather than print+sys.exit
5ec4a24 Remove uuidutils from openstack-common
93c9bc1 Add a `--limit` parameter to list operations
9daada9 Fixed CLI help for bash-completion
878bdcb Remove openstack.common.importutils
b818826 Remove openstack.common.strutils
35c9b65 Adds basic examples of v2 API usage
363b170 Sync latest apiclient from oslo-inc
f210751 Close streamed requests explicitly
62df6c6 Handle HTTP byte returns in python 3
aebbcff Updated from global requirements
cb046bc Add validation to --property-filter in v1 shell
6eaaad5 Make non-boolean check strict
9054324 Disable progress bar if image is piped into client
df02ee8 Fix Requests breaking download progress bar
e3600ad Fix broken-pipe seen in glance-api
b96f613 Update HTTPS certificate handling for pep-0476
8e8dde2 Output clear error message on invalid api version
bd73a54 Add os_ prefix to project_domain_name/id
465c5ce Curl statements to include globoff for IPv6 URLs
9dcf3f1 Reduce the set of supported client SSL ciphers
Change-Id: Ib97fd745f1f6761b88246351ce2c63d11ad29b01
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>
The oslo.utils libraries are moving away from namespace packages.
This requires oslo.utils>=1.2.0
bp drop-namespace-packages
Change-Id: I803df61e91eabb96329d859aef6bea03530fb84f
When keyboard interrupt is received by glanceclient, the return code as
of now is 1.
But since the client was terminated by an keyboard interrupt, the return
code should be 130. (http://tldp.org/LDP/abs/html/exitcodes.html)
It is useful when people are writing automation test cases and want to
validate based on the return code.
Change-Id: Ia70116ab6f0708a0ce6eeaed07c1e7a56e68c9f4
Closes-Bug: #1373231
Some generated header values may in fact be None. Trying to encode None
causes the client to fail with an exception and cannot be worked around
by the user.
Change-Id: I638b1fba0ef9a07d726445d8c2cdd774140f5b83
Closes-bug: 1415935
This replaces the use of a pattern along the lines of
print(error message)
sys.exit(1)
in a couple of place in the shell. utils.exit does much the same job,
but outputs to stderr.
Change-Id: I1d3b52e0685772c10aa806a8f208eb6dd7a0e7ef
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
When running 'glance help' the following lines were displayed:
bash-completion Prints all of the commands and options to stdout so
that the
The help now prints:
bash-completion Prints arguments for bash_completion.
similar to other Openstack CLIs (such as Cinder and Trove).
Change-Id: I1b1d60e23a3662675c5e81a332e9fd8360f6c7b1
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
a908d66 Remove uuidutils
5985b35 Prefer delayed %r formatting over explicit repr use
002999b Curl statements to include globoff for IPv6 URLs
03e6272 Add ConnectionError exception
3bc8231 deprecate apiclient package
fd8dc0c Handle different format of api exception
a7af1e2 Mask keystone token in debug output
55ca7c3 Split cliutils
5d40e14 Remove code that moved to oslo.i18n
6ff6b4b Switch oslo-incubator to use oslo.utils and remove old modules
f76f44c Delete the token and endpoint on expiry of token of client
ed0ffb8 Do not incur the cost of a second method call
cf449e2 Fix response_key parameter usage in BaseManager
94245b1 Make it possible to get the request_id from python clients
d73f3b1 Remove unused/mutable default args
5e00685 Centralize bash-completion in Novaclient
4ef0193 Handle non-openstack errors gracefully
ac995be Fix E126 pep8 errors
de4adbc pep8: fixed multiple violations
e42e77f Restore UUID and human-ID bash completion
9e88af1 fixed typos found by RETF rules
822e09b Don't slugify names that don't exist
4a777e5 Fix warnings in doc build for apiclient
3fb053c apiclient.exceptions.from_response() may miss request_id
Btw, the patch removed the uesless 'network_utils' line from
openstack-common.conf, currently we use oslo_utils.netutils directly.
Change-Id: Ic3d48a13d5366b050b07ef26ab34fad411a0db05
Signed-off-by: Zhi Yan Liu <zhiyanl@cn.ibm.com>
If we don't explicitly close a response after streaming its download,
then we can run into HTTPConnectionPool full warnings. It also will hurt
performance if we have to continuously create new sockets for new
responses. Calling close will return the connection to the pool so it
can be reused. Note this is only necessary when streaming a response. If
we don't stream it, then requests will return the connection to the pool
for us.
Change-Id: I803bd4dd0e769c233501d5e5ff07a19705fbe233
Closes-bug: 1341777
The returns from requests' response.content is a bytes type. Under
python 3 this fails in error handling and string conversion. The
response.text variable should be used to treat a response body as a
string.
Closes-Bug: #1407531
Change-Id: Ifd588b5f6820ef21beb186d88d0b3f1a267695aa
Previously, using --property-filter with invalid arguments resulted in
a rather cryptic error message:
$ glance image-list --property-filter name
dictionary update sequence element #0 has length 1; 2 is required
Now, something which is human decipherable is printed:
$ glance image-list --property-filter name
Argument --property-filter requires properties in the format KEY=VALUE
Change-Id: I61d19894fd8864bdca2fa3f627da3c7eb1341c51
Currently when we enter any non-boolean strings in the client, it
accepts it and defaults the value to false. It should check if the
strings are boolean values and respond with an error if they're not.
Closes-Bug: #1394236
Change-Id: Ie498ee1b93524d91a43343f73140446c2cc9ab92
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
When file size is an exact multiple of chunk_size, glance client
is processing EOF in image-data as a chunk and sends to
glance-api. The server treats this as the end of chunked
transmission and sends a http response.
When the actual last chunk is sent by the 'requests' library, the
server sends a 400 response and tracebacks with broken pipe
as the client has already closed the socket.
Closes-Bug: #1342080
Change-Id: Icdbff838450db1c252ddc919a230a7d3ca16765f
This pep (included in python 2.7.9) changes the behaviour of SSL
certificate chain handling to be more py3 like.
Include required new exception behaviour in the list of
exceptions to translate under py2.
https://github.com/python/peps/blob/master/pep-0476.txt
Closes-Bug: 1404227
Change-Id: I7da1a13d1ec861a07fd96684d0431508a214a2c8
This adds release notes for the folowing commits:
$ git log --oneline --no-merges 0.14.2..HEAD
9a4d858 Support Pagination for namespace list
3989cd2 Support schema types with non-str value
9829d7b Don't require version to create Client instance
8e02b2a Allow --file in image-create with v2 Image API
d5a0e65 Add useful error on invalid --os-image-api-version
49f38a4 Add release notes for 0.14.0 - 0.14.2
5080d10 Send `identity_headers` through the wire
d0851c3 Remove readonly options from v2 shell commands
4194a55 Add --property-filter option to v2 image-list
ef0abdc Fix py34 failure for glance client
8c159a2 Don't set X-Auth-Token key in http session header if no token provided
b83a672 Refactor method of constructing dicts in some tests
751e064 Adds tty password entry for glanceclient
597da8a '--public' ignored on image create
cbbfbc9 Fix to ensure endpoint_type is used by _get_endpoint()
12a3a82 Add bash completion to glance client
Change-Id: I24fbba80831c311b42d1abb08487cc29c8b5b162
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
Now if --os-image-api-version mistakenly contains a string then
you will get a ValueError
Example:
$ glance --os-image-api-version hui
ValueError: invalid literal for int() with base 10: 'hui'
This code correctly handles this situation, prints a warning
message and interrupts the execution of the client
Change-Id: I4733578adfc70bd57afd5f0d4d361c8ef689a381
Closes-bug: 1401197
Change I75da1e9309e0f7ef8839dea3ec9c99c58edc5d63 introduced some
properties' types which are not string. This broke the `schema_args`
utility since lists are not hashable and there was no support for such
type values.
This patch fixes this issue with a very glance specific strategy in
which this values are assumed to have a `null` type and another type -
string, integer, etc. The fix ignores `null` options and it takes the
first non-null type as the valid one.
The patch adds support for enum types that accept `None`
Closes-bug: #1401032
Change-Id: I250e8912aca262a56c54ac59bb24f917e5d8cfce
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
Running glance without defining --os-tenant-id and
--os-tenant-name leads to AttributeError. Add os_ prefix
to project_domain_name and project_domain_id because args
object doesn't have them
Closes-Bug: #1384759
Change-Id: Id85569aad538efcf327312d9936bb6463279ce34