Commit Graph

865 Commits

Author SHA1 Message Date
Benedikt Loeffler 8df9328a60 Check if stdin has isatty attribute
When the stdin is closed, it has no isatty atrribute which leads to a KeyError.

Closes-Bug: #1980890
Change-Id: If9a3bf68b8dfd953b346697241166578d18bb563
2022-07-07 02:55:10 +02:00
Zuul 68d18dc2f2 Merge "glance help <subcommand>: Clearly specify which options are mandatory" 2022-05-05 16:00:57 +00:00
whoami-rajat cf7504e795 Add doc and test for verbose parameter
We currently have support to show verbose output for image-list
with the command ``glance --verbose image-list`` but there is
no documentation about it.
This patch adds the documentation and a test to run it via CLI.

Closes-Bug: #1969565
Change-Id: Ic6db4f5ab2fecded373b044aa002f9a9bc262513
2022-04-21 14:34:42 +05:30
Erno Kuvaja 62f4f67d1d Add support for Cache API
This change provides support for the Cache API changes and
deprecation path for glance-cache-manage command.

Change-Id: I6fca9bbe6bc0bd9b14d8dba685405838131160af
2022-02-22 16:39:33 +00:00
Zuul 63bb03a145 Merge "Add an optional parameter --append" 2022-02-17 18:51:52 +00:00
Zuul 683b694fff Merge "Add an optional parameter --detail" 2022-02-16 19:32:15 +00:00
Mridula Joshi b8863535a8 Add an optional parameter --append
This patch will add an optional parameter --append to the glanceclient
command md-tag-create-multiple to provide the facility of appending
the tags.
If the parameter is present  it will append the tags to existing one,
else it will overwrite the existing tags.

Depends-On: https://review.opendev.org/c/openstack/glance/+/804966
Change-Id: I1841e7146da76b13f4cd8925e19f59d0eaf08f7a
2022-02-16 14:00:28 +00:00
Mridula Joshi 282ce9c209 Add an optional parameter --detail
This patch appends th --detail parameter to the ``stores-info``
command. With sufficient permissions, display additional
information about the stores.

Depends-On: https://review.opendev.org/c/openstack/glance/+/824438
Change-Id: I6ae08ab3eaab0c2b118aa7607246214b28025dfe
2022-02-02 14:31:44 +00:00
Dan Smith 3f001f5f11 Add support for usage API
This is really a very simple activity of fetching and showing the
results of the usage API in table form for the user.

Depends-On: https://review.opendev.org/c/openstack/glance/+/794860
Change-Id: I3d9360785a759e4a6e7905710400baea80776052
2022-01-31 13:27:54 -08:00
Cyril Roelandt 91ae9347db glance help <subcommand>: Clearly specify which options are mandatory
Earlier glance help <subcommand> was listing required arguments as
optional arguments in help text. Added new argument group to list
required argument properly.

$ glance help stores-delete

Example before this change:
usage: glance stores-delete --store <STORE_ID> <IMAGE_ID>

Delete image from specific store.

Positional arguments:
  <IMAGE_ID>          ID of image to update.

Optional arguments:
  --store <STORE_ID>  Store to delete image from.

After this change:
usage: glance stores-delete --store <STORE_ID> <IMAGE_ID>

Delete image from specific store.

Positional arguments:
  <IMAGE_ID>          ID of image to update.

Required arguments:
  --store <STORE_ID>  Store to delete image from.

Change-Id: I51ea4c43fa62164ed43e78d1ae0fb0cb2521fc83
Closes-Bug: #1933390
2021-12-14 15:14:10 +00:00
Rajat Dhasmana 5d714bed0b Correct releasenote path for member-get command
This patch moves the releasenote of member-get command to correct
path.

Closes-Bug: #1944798
Change-Id: Ifa76fc993b0ff47131401ba233e77001cd74107c
2021-09-22 10:15:16 -04:00
Mridula Joshi 1eb0bbbed7 Fix undesirable raw Python error
Using the glanceclient without a subcommand while
passing an optional argument triggers the raw Python
error `ERROR: 'Namespace' object has no attribute
'func'`. This bug can be reproduced by issuing the
command `glance --os-image-api-version 2`.
Added a default value to `func` as placeholder
so that a help message is shown instead of the Python error.

Closes-Bug: #1903727
Change-Id: Ie4288262e408192310cbbc240bd1779b265a64fd
2021-08-03 10:35:40 +00:00
Mridula Joshi cb084f5289 Add member-get command
It is observed that python-glanceclient was missing support for GET /v2/image/{image_id}/member/{member_id} API.
This patch adds new command `member-get` to support this missing operation.

Closes-Bug: #1938154

Change-Id: I3709f6a39535aa45bee70f468f015ac60a1375a8
2021-08-02 09:08:50 +00:00
Abhishek Kekane e0a35a1150 Get tasks associated with image
Add support to get tasks associated with specific image.
bp: messages-api

Change-Id: Ia505cf6f47ca6c628e195be3ca5231d22d53040d
2021-03-02 10:02:14 -08:00
James Page 5aca99d653 Update test certificates to use strong signing
Modern OpenSSL (and specifically on Ubuntu) will reject certificates
signed using the sha1 algorithm.  Refresh test CA and associated
certificates using sha256.

Change-Id: Ie22a4630eb0f5993a909efed27088321c1865ca8
2020-08-07 21:31:07 +00:00
Erno Kuvaja 77eab17cf9 Fixes "stores" property added to the image
"stores" property gets added to the image when
`glance image-create-via-import` is called with --stores

Change-Id: I514e6e3ac2f3a1f56fb7883ed403a04b1e7f13b0
Closes-Bug: #1889666
2020-07-30 18:39:31 +01:00
Zuul a29c6be97d Merge "Do not use the six library." 2020-07-17 19:32:29 +00:00
Zuul dca62b4de1 Merge "Do not use the six library in the tests." 2020-07-16 21:25:14 +00:00
Zuul 3cd06f763f Merge "Pass Global Request ID on with session client" 2020-07-16 15:54:26 +00:00
Erno Kuvaja bae1d89cc7 Pass Global Request ID on with session client
Closes-bug: #1886650
Change-Id: I3a08c1beb398ba9f2556b6779c925f679bdc2c49
2020-07-13 22:55:23 +01:00
Cyril Roelandt b513c8db4b Do not use the six library.
Change-Id: I3dbfcfa0f5f590a41ed549afd44537d8ed41433a
2020-06-23 21:51:07 +02:00
Cyril Roelandt 928935e5c0 Do not use the six library in the tests.
Change-Id: Ic8a2a736a733e0151ca82f19bfde428dc04cf255
2020-06-15 21:04:56 +02:00
Hervé Beraud e8455f5c18 Stop to use the __future__ module.
The __future__ module [1] was used in this context to ensure compatibility
between python 2 and python 3.

We previously dropped the support of python 2.7 [2] and now we only support
python 3 so we don't need to continue to use this module and the imports
listed below.

Imports commonly used and their related PEPs:
- `division` is related to PEP 238 [3]
- `print_function` is related to PEP 3105 [4]
- `unicode_literals` is related to PEP 3112 [5]
- `with_statement` is related to PEP 343 [6]
- `absolute_import` is related to PEP 328 [7]

[1] https://docs.python.org/3/library/__future__.html
[2] https://governance.openstack.org/tc/goals/selected/ussuri/drop-py27.html
[3] https://www.python.org/dev/peps/pep-0238
[4] https://www.python.org/dev/peps/pep-3105
[5] https://www.python.org/dev/peps/pep-3112
[6] https://www.python.org/dev/peps/pep-0343
[7] https://www.python.org/dev/peps/pep-0328

Change-Id: I732a57361319687ca0a64693f0e60bc0d8f5b3d2
2020-06-02 20:47:47 +02:00
Brian Rosmaita 56186d6d5a Fail gracefully when MD5 is unavailable
The glanceclient currently assumes that MD5 will always be available.
This is not the case, however, in a FIPS-compliant environment.  This
patch enables the glanceclient to fail gracefully in such a case.

Closes-bug: #1871675
Change-Id: Ibd89989e06cc5be7da71f5f21561d73b5abc4104
2020-05-04 08:56:58 -04:00
Sean McGinnis 6a045884cb Use unittest.mock instead of third party mock
Now that we no longer support py27, we can use the standard library
unittest.mock module instead of the third party mock lib.

Change-Id: I446ee142c7a17446372c910f7f2a36d55df18e04
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2020-04-18 11:58:08 -05:00
Abhishek Kekane dff5c881bd Pass --all-stores, --allow-failure as bool to API
Newly added command line options --all-stores, --allow-failure are boolean
but we are passing it as a string to glance API. This will cause problem if
those parameters are not converted to boolean at API side.

Passing these parameters as boolean instead of string to API.

Change-Id: I8d4eab9241fc9bb24bc40b47bf18d63c86a97d77
Closes-Bug: #1871674
2020-04-08 17:11:55 +00:00
Andreas Jaeger 82da2378ea Update hacking for Python3
The repo is Python 3 now, so update hacking to version 3.0 which
supports Python 3.

Fix problems found.

Remove hacking and friends from lower-constraints, they are not needed
for installation.

Change-Id: I5ae47a7b11ff29a301e440c15daf30db7738485b
2020-04-02 15:48:09 +02:00
Zuul 6b5a163022 Merge "update doc url to new" 2020-03-26 16:32:58 +00:00
Erno Kuvaja d91bcae8a5 Delete image from specific store
Add support to delete image from specific store.

bp: delete-from-store
Change-Id: Ie57d7de5822264a5ea8a5f4587ab8cfb4afb79de
2020-03-20 07:21:59 +00:00
Abhishek Kekane 2e0396c0c9 Add support for copy-image import method
This change adds support for copy-image import method which will
copy existing images into multiple stores.

Change-Id: I748a8fb3dbaf9c2e4d887a2ecd4325e27a8429c4
bp: copy-image-multiple-stores
2020-02-27 06:49:11 +00:00
Erno Kuvaja c23d86738f Add support for multi-store import
This change adds support for providing multiple target
stores where image can be imported.

Co-authored-by: Erno Kuvaja <jokke@usr.fi>
Co-authored-by: Abhishek Kekane <akekane@redhat.com>

bp: import-multi-stores
Change-Id: I8730364263f1afd5d11fd56939851bda73a892bb
2020-02-27 05:52:49 +00:00
Zuul e8c08e0c4d Merge "Cleanup session object" 2019-12-11 08:16:27 +00:00
Zuul 40c19aa443 Merge "Rename --backend to --store" 2019-09-13 01:31:30 +00:00
Alex Schultz 436f797e8d Cleanup session object
If a session object is not provided to the get_http_client function (as
is done via osc), the glance client uses it's own HTTPClient class. This
class creates a session but does not properly close it when it is done.
This can lead to resource warnings about unclosed sockets. This change
adds a __del__() to the HTTPClient class to close out the session
correctly.

Change-Id: Idccff338fa84c46ca0e429bb533a2a5217205eef
Closes-Bug: #1838694
2019-08-01 14:41:29 -06:00
Zuul 2b5090f049 Merge "Trivial: fix image format typo" 2019-07-31 08:10:10 +00:00
Lucian Petrut a56106092e Trivial: fix image format typo
The Glance V1 image format list contains "VDHX", which is a typo.
This change fixes it, using the correct format name, which is "VHDX".

Luckily, this seems to be used only as part of a help string.

Change-Id: I392f25b3ee0ee9ac6024e1670053191e4bba937a
2019-07-30 13:42:18 +03:00
root c246598789 Correcting typo in shell.py - enviroment to environment.
There is a typographical error in glanceclient/v2/shell.py. Correcting
spelling from enviroment to environment.

Change-Id: Ia19a4417cd05d228adc26f9d7c82f4aa3c24488c
2019-07-30 01:11:09 +05:30
Zuul 155e540ebf Merge "Update hacking version" 2019-06-24 08:23:35 +00:00
Zuul 83a2dac21c Merge "HTTPClient: actually set a timeout for requests" 2019-05-15 13:07:20 +00:00
Abhishek Kekane d61d1dd546 Rename --backend to --store
As a part of vocabulary correction renamed --backend parameter to
--store. Modfied corresponding tests as well.

bp:multi-store-vocabulary-correction
Change-Id: I3dc115f5f0f3c4edcca0209e139aa3d1d816357c
2019-05-14 04:47:28 +00:00
Cyril Roelandt d589aa257d HTTPClient: actually set a timeout for requests
The 'timeout' attribute was previously left unused.

Change-Id: If615c390302425fe5a646b4651ec6f56aa08fd22
Closes-Bug: #1822052
2019-04-09 18:42:52 +02:00
jacky06 b8ecb0bc03 Update hacking version
Use latest release 1.1.0 and compatible changes w.r.t pep8

Change-Id: Ifc3b96d98c1a7feff187f953d487e12135887fb9
2019-03-27 09:06:39 +00:00
Zuul 8b9dc5635e Merge "Embed validation data when adding location" 2019-03-07 16:46:55 +00:00
bhagyashris ae4355be01 Remove redundant information from error message
Currently user get redundant HTTP error code in error message.
Removed redundant HTTP error code from the message.

For Example:
Error message display when user trying to get the non existing image:
$ glance image-show f433471a-53a8-4d31-bf8f-f0b6b594dfc
Error message:
404 Not Found: No image found with ID f433471a-53a8-4d31-bf8f-f0b6b594dfc (HTTP 404)

After this fix:
HTTP 404 Not Found: No image found with ID f433471a-53a8-4d31-bf8f-f0b6b594dfc

Closes-Bug: #1598714
Change-Id: I33971a2a16416c8538158299325471c2a69dbb3e
2019-03-06 16:33:54 +09:00
Brian Rosmaita 4511a445d0 Add image-list filter for multihash
This was missed when multihash support was added to the glanceclient.
The os_hash_value is an indexed field in the API.

Includes a release note.

Closes-bug: #1788271

Change-Id: Ibfe28b8c644967b7e0295dfd3f55c3ae1b0cbb2d
2019-01-17 14:22:48 -05:00
Zuul c4c92ecb51 Merge "Show the backend store info" 2018-11-15 07:31:18 +00:00
Liang Fang 5fb14f5ebb Show the backend store info
When running "glance -v image-list" there's no store info listed, so
user cannot know the type of the backend. This patch added an new option
"--include-stores" and is to add the store id to the output of "glance
image-list --include-stores".

The final output may like:
+-----+------+-------------+-----+----------+--------+-----+------+
| ID  | Name | Disk_format | ... | Size     | Status |Owner|Stores|
+-----+------+-------------+-----+----------+--------+-----+------+
| xxx | img1 | raw         | ... | 10737418 | active | xxx | ceph |
| xxx | img2 | raw         | ... | 5086345  | active | xxx | file |
+-----+------+-------------+-----+----------+--------+-----+------+

Change-Id: If86ef714c3aa03ce43ef29f26892f431f4766560
Co-authored-by: Jack Ding <jack.ding@windriver.com>
Signed-off-by: Liang Fang <liang.a.fang@intel.com>
2018-11-08 17:50:26 -08:00
imacdonn 1156346dc2 Don't quote colon in HTTP headers
Since the introduction of quoting of header content in
https://review.openstack.org/568698, the 'x-image-meta-location' header
has been broken, because urllib.quote() is really intended to be applied
to only the path section of a URL, but in this case, it gets applied to
the entire URL, and catches the colon that separates the scheme from the
remainder of the URL.

This change adds the colon to the list of characters that should not get
quoted. Since a colon can be directly represented in ASCII, this should
not invalidate the previous change.

Change-Id: I76a1c9a361b6c9f6eb95ae766b8c3bcf2267703a
Closes-Bug: #1788942
2018-11-01 21:38:19 +00:00
imacdonn 3f7171dc14 Embed validation data when adding location
Add support for embedding of checksum, os_hash_algo and os_hash_value when
adding a location to an image.

Depends-On: https://review.openstack.org/597648
Change-Id: Ibbe2f2bb226f52cc6b2ab591913b1797d2b086c0
2018-10-24 00:16:58 +00:00
Brian Rosmaita 8fd7e8c664 Use "multihash" for data download validation
When the Glance "multihash" is available on an image, the
glanceclient should use it instead of MD5 to validate data
downloads.  For cases in which the multihash specifies an
algorithm not available to the client, an option is added
to the image-download command that will allow fallback to
the legacy MD5 checksum verification.

Change-Id: I4ee6e5071eca08d3bbedceda2acc170e7ed21a6b
Closes-bug: #1788323
2018-09-07 14:50:24 -04:00