Fixes bug 1056499.
Added a line to the help text of --checksum which enhances the help text
to show what checksum algorithm is expected.
Change-Id: Ie6604022dd9f398c639afe647b2d94b5179dbb61
Fixes Bug #1052161
"python setup.py build" fails on Windows due to a hardcoded shell path:
/bin/sh
setup.py updated using openstack-common/update.py
Change-Id: If0ae835aeada8769e46dddf4f3c2f2edfdfbc5fe
Add nargs to argparse for image-delete command to
allow muliple (optional) positional image-id arguments.
For example:
image-delete xxx aaa yyy will delete valid images
xxx and yyy and print error message for invalid image
aaa. Also with --verbose you can see some extra text
on delete request for each image.
Fixes bug1056498.
Change-Id: I6e804700ed24d16f90ec92569c0893cad4aaa26f
Use pyOpenSSL for HTTPS connections.
This allows:
* Neater loading of system CA files
* Optional disabling of SSL compression
The performance gain from disabling SSL compression is significant
in cases where the image being uploaded/downloaded is in an already
compressed format (eg qcow2).
Related to bp ssl-connect-rework.
Change-Id: I0568b6c95c5fc7b8eafdbd0284e24c453660a55a
It may not be possible to know in advance the total
size of image data which is to be uploaded, for example
if the data is being piped to stdin.
To handle this we use HTTP Transfer-Encoding: chunked
and do not set any image size headers.
Various subtly different cases needed to be handled for
both image-create and image-update, including:
* input from named pipe
* piped input of zero size
* regular file of zero length
Fix for bug 1056220.
Change-Id: I0c7f0a64d883e058993b954a1c465c5b057f2bcf
Fixes bug #1056497
This patch provides more information in the help text. Originally the text
provided the trivial definitions of the arguments disk_format and
container_format. This patch updates the text to display the acceptable
formats.
Change-Id: I893b52c9f72a34c75e8bea522820863592300302
The endpoint parsing and connection instantiation code was too
complicated and easily broken. This assigns human-readable names to
instance variables and breaks up the parsing into more understandable
chunks.
Fixes bug 1060316.
Change-Id: I5c5236f90d88b9e797cf0a476aabe8cc7cfa1cc9
Fixes bug 1052846
Now the connection uses host, port and path to connect to Glance. So proxied connections to Glance are allowed.
Change-Id: I53a890e6532adb8168961d1d09f938bf439e895c
The image-create help page reversed the DISK_FORMAT
and CONTAINER_FORMAT metavars.
Fixes bug 1051968.
Change-Id: I385cb0912ad87a62fd10742b5da23a5ea8bc9bb8
Fixes Bug #1050345
The image upload hangs if the file contains a byte with value 0x1A (EOF), due to
the fact that the file or stdin streams are treated as text and not
binary streams. This fix sets the proper binary mode.
Change-Id: I3425cb9729a8da4d1b73fbfba06fd6f2c7e8833e
logging.exception() should only be called from an exception handler,
which is not the case here.
Part of bug 1050260.
Change-Id: I591a68c458cd733c04cea7d2d640afdbb7dd19f6
When the server refuses the connection the error message displayed now
lists the endpoint that refused the connection.
Fixes: bug 1043067
Change-Id: I62797106732bbb6eec8c99e491fd38850ad58ff8
If glance v1 api is not enabled, and a request is made to it,
it gives a KeyError. This patch catches the 300 error and
displays error message.
Fixes bug 1046607
Change-Id: I0009a5deca3b5dd5ccaeaea90feee21274bfe090
In http.py the exception raised in get_connection
should be httplib.InvalidURL rather than httplib.InvalidUrl.
Fix for bug 1048698.
Change-Id: I7f18321fe7d8669b3b95bf823273ee8ae6961661
While uploading a Volume to an image, the HTTPConnection's request method does
not set the Content-Length header (since the volume file is a sym link i.e. the
os.fstat call returns a st_size of 0). This causes Volume uploads to Glance
fail (since the image data is ignored as no content-length is specified).
Therefore setting the Content-Length from update( ) method if the image data is
provided.
Fixes LP: #1045824
Change-Id: If259fc5a338e3e90214a52b773132ed901691c0f
Syncs the following changes from stable/folsom:
769ec65 Don't trap then re-raise ImportError.
8c74b37 Improve exception from importutils.import_class().
1fb2361 add import_object_ns function
Change-Id: Ib6046181ec4712702c30c8a8e938fc9a21b1a594
Several commands did not have descriptions or the descriptions
they had were insufficient. This adds mission descriptions
and fattens up those that were too lean.
Change-Id: I091ae70cdae5d3f72f273519d88873cb5392ba3b
Added the CLI option image-download to download an image via API V1.
Based on commit 137b3cf975
Related to bp glance-client-v2
Change-Id: Ie587e208ad7433e468798cd9b1846b4a21e1c4ec
The tests were present but were not asserting list results.
page_size was overriding the absolute limit so limits were
not working if they were less than the page_size.
Fixes bug 1037233
Change-Id: If102824212e3846bc65d3f7928cf7aa2e48aaa63
The legacy client allowed users to pass 'deleted' through an
update call. This is breaking some clients of this library because
they expect to be be able to still do that.
Fixes bug 1036315
Change-Id: I9ae20a5e4579240c7d5e86316d6d1e927755dbf5
To keep a consistent view of an image, is_public, protected, and
deleted need to be cast to a bool when being parsed from headers.
Fix bug 1036299
Change-Id: I2730a0f2d705d26ebc0ba883e99c1caf44d70b51
Cast size, min_ram, min_disk to integers before returning them
to the user from the v1 API.
Fixes bug 1036297
Change-Id: Ib1e2a3bf931e433b6311cc8a1a5219168b50be97
When SSL is being used and the --ca-file option is
not specified use an available system CA file to
verify the server's certificate.
Change-Id: Id5c9fda6fd9bd05cde3c2a9160a6e72cef086a44
Expand exceptions to cover more failures cases. This adds
CommunicationFailure to represent any failures while attempting
to communicate with the remote endpoint. This also adds a new base
exception class BaseException which should be used for all non-HTTP
related failures.
Change-Id: Ie3e1d45c520d816a3f491a85fde94a6c4edf295e
Added the CLI option image-download to download an image via API V2.
Added utility function to save an image.
Added common iterator to validate the checksum.
Related to bp glance-client-v2
Change-Id: I0247f5a3462142dc5e9f3dc16cbe00c8e3d42f42
* Refactor helper function that builds the map of http status codes
to local http exceptions - now we don't have to explicitly list
every single exception name
* Add several exceptions to represent http status codes that were not
previously represented
* Improve consistency of exceptions naming by prepending 'HTTP' to
necessary exception names
* Use HTTPException instead of ClientException
* Deprecate old http exceptions (those that aren't prefixed with HTTP)
* Deprecate ClientException
* Deprecate unused NoTokenLookupException and EndpointNotFound
* Add test module to spot-check the from_response helper
Change-Id: Ibc7fef9e2a5b24bd001d183d377901f302d650a9
We don't need to look at the container of available schemas in order
to get the one we want. Remove glanceclient.exc.SchemaNotFound as it can
no longer be raised.
Change-Id: Ib49ad58c4fdfc9bc9f535115674d92040a97db65
This allows a user to pass a cert and a key to use in HTTPS
connections. The flags --cert-file and --key-file are added
to the CLI.
Addiionally, update the debug curl logging to print --cacert and
-k when ca_file and insecure are set.
Related to bp glance-client-parity.
Change-Id: Ibaea51419a903afb7939a6b5b848f7a6667893bf
This adds support for validation of ssl certs returned by remote
servers over SSL. The --ca-file param represents the CA cert used
to sign the remote server's cert. Use --insecure if the remote
server is using a self-signed cert or you don't have the CA cert.
Related to bp glance-client-parity
Change-Id: I45253a6e2d88da599addfcc464571e62ae920166
A few files were missing copyright headers:
* glanceclient/common/http.py
* glanceclient/v1/__init__.py
* glanceclient/exc.py
Change-Id: Ibbd53cd49f9367994de66a30601b3aefe1a8d6ee
All legacy CLI commands should work as expected with a few
minor exceptions:
- no upload animation
- no interactive pagination
- help/usage output has changed
Deprecated options are indicated as such in their usage info. Deprecated
commands have descriptions that label them as such.
Related to bp glance-client-parity
Change-Id: I584b2447361967228bea332e14880e18db12fca8
Previously, both --os-auth-token and --os-image-url had to be
provided in order for either of them to be used in any API requests.
This breaks the tie between them and allows a user to override
either the auth token or the endpoint returned by Keystone independently
of one another.
Fixes bug 1029586
Change-Id: I8b81be723286c546d9cbd97c8b7d7aa89c03b2d4
The v2 API no longer returns images in JSON containers like
'{"image": {...}}', so stop trying to decode the responses
as if it does.
Fix bug 1031185
Change-Id: I5209fe76445d4195b12944146a0ef190883f363f