Commit Graph

571 Commits

Author SHA1 Message Date
Erno Kuvaja 8e02b2a641 Allow --file in image-create with v2 Image API
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
2014-11-26 09:34:48 +00:00
Jenkins 3b6754a8cc Merge "Adds tty password entry for glanceclient" 2014-11-25 09:38:15 +00:00
Jenkins 265bb4aa17 Merge "Add bash completion to glance client" 2014-11-20 10:06:53 +00:00
Jenkins 9a4fec4a1e Merge "Refactor method of constructing dicts in some tests" 2014-11-20 09:53:56 +00:00
Jenkins 46bfeb4f2c Merge "Don't set X-Auth-Token key in http session header if no token provided" 2014-11-20 09:53:49 +00:00
Jenkins b04bbf38d5 Merge "'--public' ignored on image create" 2014-11-20 09:50:34 +00:00
Jenkins 3756388af4 Merge "Add --property-filter option to v2 image-list" 2014-11-20 01:50:38 +00:00
Michal Dulko d0851c32ed Remove readonly options from v2 shell commands
This commit is removing the read-only properties from shell options to
prevent user from doing invalid requests using the client.

Change-Id: I17e9578e705bd3cf628fe39630ebecc4ea43e392
Closes-Bug: 1350802
2014-11-14 11:46:39 +00:00
Louis Taylor 4194a55a09 Add --property-filter option to v2 image-list
The option is present in the v1 shell, but missing from the v2 shell. This
allows the user to filter based on any image property.

Example:

    $ glance --os-image-api-version 2 image-list --property-filter os_distro=NixOS

DocImpact
Closes-Bug: #1383326

Change-Id: Ia65a08520e3eaf3ecd9b9018be9f6a8e2d3d4f0b
2014-11-14 10:45:31 +00:00
Jenkins 711f28a5a8 Merge "Fix py34 failure for glance client" 2014-11-13 22:45:57 +00:00
Jenkins b126351d9d Merge "Fix to ensure endpoint_type is used by _get_endpoint()" 2014-11-11 03:31:55 +00:00
Fei Long Wang ef0abdc885 Fix py34 failure for glance client
Fix somes tests failures for py34, most of them are related
to items order of dict.

Closes-Bug: 1382582

Change-Id: I954b884f03931e4f0ecb654fb38edd0c46a3c379
2014-11-11 15:36:47 +13:00
Jenkins 695dbc910d Merge "Don't replace the https handler in the poolmanager" 2014-11-05 19:06:11 +00:00
Matt Riedemann 8c159a2eb4 Don't set X-Auth-Token key in http session header if no token provided
Commit f980fc5492 changed how the
X-Auth-Token header was scrubbed when logging the request, but
effectively made the value required which can lead to an AttributeError
if the value for the header is None.

The value can be None if you're using Nova but don't have Nova
configured with auth_strategy='keystone' (see
nova.image.glance._create_glance_client for details).

This patch simply checks if the auth_token is set in the http client
object and if not, it doesn't set the X-Auth-Token key in the session
header.

Closes-Bug: #1381295

Change-Id: Ie285d5253df28a9f0f964147a53c99ceaa919c5c
2014-10-30 18:07:50 +08: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
Louis Taylor b83a6726d3 Refactor method of constructing dicts in some tests
In some of the v2 tests, dictionaries are construed from lists of
tuples of length two. For example:

    dict([('visibility', 'private')])

There could be a very good reason for doing it that way, but it eludes
me. This patch replaces those with dictionary literals.

Change-Id: Ie9668bd681538ef41521f08a20cb8c3417ac91e8
2014-10-29 12:04:39 +00:00
John Trowbridge 751e064761 Adds tty password entry for glanceclient
Added functionality from keystoneclient to fallback to the tty for password
entry if no password is given via the environment or the --os-password option.

Change-Id: I096e81b61d7f499cbda300abdc14430928d18491
Closes-Bug: 1357549
2014-10-23 18:31:36 +00: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
Stuart McLaren 597da8aa55 '--public' ignored on image create
Currently, if '--public' is specified, an image is created but
it is not marked as public:

$ glance image-create --public --name minus-minus-public --disk-format raw \
 --container-format bare < /etc/fstab
+------------------+--------------------------------------+
| Property         | Value                                |
+------------------+--------------------------------------+
.
.
.
| is_public        | False                                |
.
.
.
+------------------+--------------------------------------+

This is inconsistent.

'--public' has been deprecated for some time, and has
been removed from devstack (https://review.openstack.org/#/c/39323/),
so we can finally get rid of it.

We now raise the standard error for unsupported arguments.

Change-Id: I15d16f690f9bd92b4cefbc8ed36ed2d171ff22f3
Closes-bug: #1378844
2014-10-08 13:58:22 +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