Commit Graph

556 Commits

Author SHA1 Message Date
Markus Zoeller 35c9b65202 Adds basic examples of v2 API usage
Closes-Bug: 1321438

Change-Id: I7c4a5db5bd498c6fb1dd2f4fdbf347b8d4c02c9a
2015-01-26 16:45:36 +01:00
Jenkins b126351d9d Merge "Fix to ensure endpoint_type is used by _get_endpoint()" 2014-11-11 03:31:55 +00:00
Jenkins 695dbc910d Merge "Don't replace the https handler in the poolmanager" 2014-11-05 19:06:11 +00:00
Flavio Percoco 052904ba32 Don't replace the https handler in the poolmanager
In order to keep the support for `--ssl-nocompression` it was decided to
overwrite the https HTTPAdapter in `requests` poolmanager. Although this
seemed to work correctly, it was causing some issues when using
glanceclient from other services that rely on requests and that were
also configured to use TLS.

THis patch changes implements a different strategy by using
`glance+https` as the scheme to use when `no-compression` is requested.

Closes-bug: #1350251
Closes-bug: #1347150
Closes-bug: #1362766

Change-Id: Ib25237ba821ee20a561a163b79402d1375ebed0b
2014-10-30 09:06:02 +01:00
Jenkins cfe0623520 Merge "Adds support for Glance Tasks calls" 2014-10-16 03:37:48 +00:00
Jenkins 1781c5d9ae Merge "Stop using intersphinx" 2014-10-14 20:20:25 +00:00
Jenkins 498bdffa66 Merge "Remove network_utils" 2014-10-09 10:13:45 +00:00
Jenkins 64eb97ace0 Merge "Default to system CA bundle if no CA certificate is provided" 2014-10-08 13:12:41 +00:00
Oleksii Chuprykov 5f4966df68 Remove network_utils
Use oslo.utils instead

Change-Id: I4830b13794db5570e7dde4a897a7396065028e37
2014-10-03 16:26:29 +03:00
Jenkins a23a364e29 Merge "Skip non-base properties in patch method" 2014-10-03 02:57:08 +00:00
Kamil Rykowski 2b567cf917 Skip non-base properties in patch method
It's currently impossible to update properties which are defined in
image schema and which are not a base image property. Proposed fix skips
every non-base property when building a json patch, that is used to
update image properties through glance API.

Change-Id: I3b35cef379fcf437715e2966f9a0d25c1b4e4016
Closes-Bug: #1371559
2014-09-29 16:50:21 +02:00
Fei Long Wang 7ef1b7c9b1 Adds support for Glance Tasks calls
Add tasks operations on client side to support task create,
list all and show.

DocImpact
Implement blueprint async-glance-workers

Change-Id: Ib4b8e347a8a47817e3b427c8ba024e8c32f65155
2014-09-22 15:23:55 +12:00
Louis Taylor 1511c86933 Fix the ordering of assertEqual arguments
This keeps testtools happy, since it expects the argument ordering to be
(expected, actual).

Change-Id: I95b41ad7645700ce23b46c7a5700e79008ed08be
Closes-bug: #1277104
2014-09-19 13:00:28 +00:00
Jenkins 8a877b2752 Merge "CLI image-update gives a wrong help on '--tags' param" 2014-09-19 09:14:31 +00:00
Jenkins 83808076a1 Merge "Downgrade log message for http request failures" 2014-09-17 07:56:44 +00:00
Jenkins 49feed7cba Merge "Update how tokens are redacted" 2014-09-16 14:33:54 +00:00
Jenkins 9fa62e378e Merge "Print traceback to stderr if --debug is set" 2014-09-16 14:33:52 +00:00
Travis Tripp f980fc5492 Update how tokens are redacted
Using SHA-1 to match how Nova and Swift redact their tokens.
Was discussed in the below thread:

http://lists.openstack.org/pipermail/openstack-dev/2014-September/045802.html

Here's what nova went with: https://review.openstack.org/#/c/99511/
swift seem to be following suit: https://review.openstack.org/#/c/99632/

Change-Id: I3045d6d9d2a13770f4022dbbd474b34eb1032f6e
Closes-bug: 1329301
2014-09-15 16:28:34 -06:00
Matt Riedemann ba19a534b7 Handle UnicodeDecodeError in log_http_response
Similar to commit dec9c9f35 and log_curl_request,
this ignores decoding errors when logging response
headers by passing errors='ignore' to safe_encode.

Change-Id: Ic915a7d8334e9473f300c9db670a3a8f5cda8976
Closes-Bug: #1369756
2014-09-15 14:57:58 -07:00
Louis Taylor 4d6b94a679 Print traceback to stderr if --debug is set
This change allows easier debugging of client related issues, with a
full traceback printed out when an uncaught error occurs in the client.
Previously, it could be hard to find the portion of code raising an
exception, with just the message from the exception being displayed.

Previous behaviour (with a rather artificial client error being raised):

    $ glance --debug image-list
    Contrived exception

Behaviour after this patch:

    $ glance --debug image-list
    Traceback (most recent call last):
      File "/opt/stack/python-glanceclient/glanceclient/shell.py", line 590, in main
        args.func(client, args)
      File "/opt/stack/python-glanceclient/glanceclient/v1/shell.py", line 77, in do_image_list
        raise(Exception('Contrived exception'))
    Exception: Contrived exception
    Contrived exception

Change-Id: Id7b76b707e5fc16a0402dcb104ec40787e0ffbe2
2014-09-15 20:04:38 +00:00
Jenkins 4a5903bce7 Merge "Updated from global requirements" 2014-09-13 18:33:26 +00:00
Andreas Jaeger ab07caf8c0 Stop using intersphinx
Remove intersphinx from the docs build as it triggers network calls that
occasionally fail, and we don't really use intersphinx (links other
sphinx documents out on the internet)

This also removes the requirement for internet access during docs build.

This can cause docs jobs to fail if the project errors out on
warnings.

Change-Id: I71e941e2a639641a662a163c682eb86d51de42fb
Related-Bug: #1368910
2014-09-13 09:40:28 +02:00
Jenkins a8f31ccfbf Merge "Fix v2 requests to non-bleeding edge servers" 2014-09-13 07:36:36 +00:00
OpenStack Proposal Bot 61e4ebaa80 Updated from global requirements
Change-Id: I6dc3b647b806b863418d4894f9abe535b3d40ac2
2014-09-13 07:27:57 +00:00
Jenkins 128ea59bea Merge "Work toward Python 3.4 support and testing" 2014-09-13 07:19:29 +00:00
Jenkins e4417169a6 Merge "Import missing gettextutils._ in shell.py" 2014-09-13 00:54:26 +00:00
Lakshmi N Sampath 97b1506bdb Fix v2 requests to non-bleeding edge servers
In the case where v2 requests are sent to a server which is not running
head of tree which includes the v2 metadef code some 404 cases need to
be handled to enable standard requests to complete.

This patch aslo improves fetching schemas -- they are now only
fetched as needed.

Change-Id: I8c871f11b909337bd7df19b77e606772dbc634b2
Closes-bug: #1367326
2014-09-12 09:12:49 +00:00
Andy McCrae cbbfbc91c9 Fix to ensure endpoint_type is used by _get_endpoint()
* ks_session get_endpoint uses "interface" instead of "endpoint_type"

Change-Id: I59e45423703774f6dc26c96644f83083832b0627
Closes-Bug: #1367782
2014-09-10 15:43:46 +01:00
Jenkins fde99a0a4d Merge "Fix indentation in tox.ini" 2014-09-07 23:39:23 +00:00
Jeremy Stanley 9fbc313719 Work toward Python 3.4 support and testing
Change-Id: I0498fcfdf9eee399e29de5b034fd6010682ca4b6
2014-09-03 19:05:27 +00:00
Pawel Koniszewski 33dcea81b2 Support for Metadata Definitions Catalog API
API calls and shell commands added in this patch:
- CRUD for metadefs namespaces;
- CRUD for metadefs objects;
- CRUD for metadefs properites;
- CRD for metadefs resource types and resource type associations.

Change-Id: I6d15f749038e8fd24fc651f0b314df5be7c673ef
Implements: blueprint metadata-schema-catalog-support
Co-Authored-By: Facundo Maldonado <facundo.n.maldonado@intel.com>
Co-Authored-By: Michal Dulko <michal.dulko@intel.com>
Co-Authored-By: Lakshmi N Sampath <lakshmi.sampath@hp.com>
Co-Authored-By: Pawel Koniszewski <pawel.koniszewski@intel.com>
2014-09-03 11:45:57 -06:00
Pawel Koniszewski 16077d91dd Catch new urllib3 exception: ProtocolError
The new version of requests (2.4.0) has updated underlying urllib3
to version 1.9. Unfortunately urllib3 introduced new exception
ProtocolError. Because of that unit tests in glance are failing:
ProtocolError: ('Connection aborted.', gaierror(-2, 'Name or service not known'))

To solve this problem new urllib3 exception is caught in the same place
that the old one was. Unfortunately both exception are still in use so
I couldn't remove the old one.

Change-Id: I55eef98e734c59b9b627f182768a633b2b701e43
Closes-Bug: #1364893
2014-09-03 23:44:39 +08:00
Rob Crittenden 929a72e76f Default to system CA bundle if no CA certificate is provided
If no CA certificate is provided to be used for validation then
fall back to the system-wide CA bundle as presented by
python-requests.

Change-Id: I05206a868150d4b62b6f1b833310eb9b86b7c4f8
Closes-bug: #1362179
2014-09-02 20:43:47 -04:00
Matthew Booth d97f03e099 Import missing gettextutils._ in shell.py
Closes-Bug: #1355252

Change-Id: I3aef19235735b3b374b92985f142712cb0f37a35
2014-09-02 15:32:07 +01:00
Louis Taylor 6dda6f306f Fix error when logging http response with python 3
Python 3 changed the semantics of dict.items() [0], which now returns a
iterable 'view' instead of a list of tuples. This has the repercussion
that you can no longer check for membership of a key using:

    key in dict.items()

This patch simply replaces that check with a test for the key existing
in the dict itself, rather than the items.

[0] http://legacy.python.org/dev/peps/pep-3106/

Closes-Bug: 1359880

Change-Id: I7c59b0432725b660c9fa7270cde2e07bf3ea77db
2014-08-26 18:23:23 +00:00
Louis Taylor 4631b76550 Fix indentation in tox.ini
Previously, a tab was used to indent a line with a block of code which
otherwise uses eight spaces, causing it to display strangely in text
editors which do not have tabstop=8 set.

TrivialFix

Change-Id: I99a432373beebac912df88e6685db26e738bf654
2014-08-26 15:41:25 +00:00
Jenkins 6987295884 Merge "Update theme for docs" 2014-08-21 06:58:58 +00:00
Jenkins e13ac922f9 Merge "Add a tox job for generating docs" 2014-08-20 01:17:14 +00:00
Jenkins 43d9440e83 Merge "Enable osprofiler interface in glanceclient shell" 2014-08-20 00:50:26 +00:00
Stuart McLaren d6498b602f Ensure server's SSL cert is validated
A bug was introduced which meant that the server SSL certificate was
not being verified. Here we make sure that it is checked (unless
the --insecure flag is used).

Helps guard against man-in-the-middle attack.

Change-Id: I08f30bf3906b6580c871729311343fa8eefda91b
Closes-bug: #1357430
2014-08-19 11:59:49 +00:00
Zhi Yan Liu 9a53c1fdcb Enable osprofiler interface in glanceclient shell
To help end user uses profiling by glanceclient CLI directly, the
change added '--profile <HMAC_KEY>' argument to the shell.

This change also fixed a function regression, it was used to pass
necessary trace info to glance server via http header:
https://github.com/openstack/python-glanceclient/commit/dbb242b776908ca50ed8557ebfe7cfcd879366c8#diff-740dd7d9149f46fe4c01ef0ab7eb3bfbL196

In addition:
1. If client app want to enable profiling feature for glanceclient
object, please see: http://paste.openstack.org/show/85722/
2. Afer adding more trace point into Client object, as fundamental
requirement of osprofiler, what we need to notice caller is providing
correct messaging notifier in the context code.

The relevant change for glance server is ready at:
I45a19f5eb5304c2b78a9e12cbc0744941a807304

DocImpact

Change-Id: If42b69b2695a5f88536ecbc2c1b3592d9dbd880a
Signed-off-by: Zhi Yan Liu <lzy.dev@gmail.com>
2014-08-19 03:20:22 +04:00
Jenkins c59ba203dd Merge "Hide stderr noise in test output" 2014-08-18 13:48:01 +00:00
Jenkins fa6eca8645 Merge "Normalize glanceclient requested service url" 2014-08-18 12:40:32 +00:00
Louis Taylor 69361a146e Hide stderr noise in test output
Previously, some tests caused the usage options for glance to be printed out to
stderr. This patch redirects the stderr output for those unnecessarily verbose
test functions.

Change-Id: I781d35a16a97c9c093cb17288ebd96d3e1a2e4e9
Closes-Bug: #1334655
2014-08-18 09:08:42 +00:00
Cindy Pallares 1dfce5301c Remove deprecated commands from shell
Remove all deprecated commands from the shell
since they are no longer used and to keep
the command line menu from looking cluttered.

Closes-bug: #1314218

Change-Id: I66e82872988e3835e4f290f48dfc80538271426c
2014-08-12 05:30:59 -05:00
Jenkins 558ebf7bb7 Merge "Add support for Keystone v3" 2014-08-07 23:49:53 +00:00
Zhi Yan Liu 867e4cae27 Normalize glanceclient requested service url
Some proxy or gateway softwares, e.g. jumpgate [0], use url-pattern
based approach to match which hanlding logic needs to be triggered for
particular service calling when it received a http(s) call as a
middleman. The change fixed an issue which caused glanceclient send out
the request to a dis-normal url, which contains duplicated "/".

The change removed a wrong and duplicated code snippet from curl logging
function as well.

[0] http://goo.gl/yt52X1

Change-Id: Ic8b3920e11d400771ead7f9c44b615f10b4a5cef
Signed-off-by: Zhi Yan Liu <zhiyanl@cn.ibm.com>
2014-08-07 13:04:25 +08:00
Sudipta Biswas 44948533e1 Fix glance-client to work with IPv6 controllers
Currently the glance client can't operate on IPv6 address based
openstack controller IPs. The reason for this is the absence of
creation of a IPv6 socket in the glance client code (in https.py).
The glance client is trying to create sockets from the AF_INET
socket family but this will lead to errors when glance client makes
a call on the IPv6 IP addresses.

In order to fix this limitation, we ensure that if the hostname
resolves to IPv6 or an explicit IPv6 address is used to configure
the openstack controller - glance client shall be able to detect
that and then create a AF_INET6 socket family. In all other cases
a AF_INET socket is created. We default to IPv4 sockets in all
other cases.

Change-Id: I7d5a09675cd5dab2e39f0faeaa7c169291eedac6
Closes-bug: #1348030
2014-08-06 22:19:22 +05:30
Bob Thyne f15dc6b82f Add support for Keystone v3
This enables glanceclient to authenticate using Keystone v3
API and includes the addition of several new CLI arguments.

DocImpact

Change-Id: I863ba08d312363dc1ce4fc7822fb21ef53df1a4f
2014-08-05 11:05:09 -07:00
Jenkins d833006bd4 Merge "Use immutable arg rather mutable arg" 2014-08-03 13:51:14 +00:00