"stores" property gets added to the image when
`glance image-create-via-import` is called with --stores
Change-Id: I514e6e3ac2f3a1f56fb7883ed403a04b1e7f13b0
Closes-Bug: #1889666
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
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>
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
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
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
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
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
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
There is a typographical error in glanceclient/v2/shell.py. Correcting
spelling from enviroment to environment.
Change-Id: Ia19a4417cd05d228adc26f9d7c82f4aa3c24488c
As a part of vocabulary correction renamed --backend parameter to
--store. Modfied corresponding tests as well.
bp:multi-store-vocabulary-correction
Change-Id: I3dc115f5f0f3c4edcca0209e139aa3d1d816357c
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
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
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>
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
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
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
If the token is encoded by base64, it may contain '=' char
as well.
We should skip quoting it.
Change-Id: I1ca63d251fa366f0e8e58128d45b729a2489b65c
Partial-Bug: #1783290
The token in request header may contain url char, such as '+',
if quote it, '+' will change to '%2B' which will lead to 401 error.
Our CI doesn't notice this bug because Keystone use fernet token
which doesn't contain url char by default. But token format in
keystone is plugable, some out-tree token formats may contain
url char (for example, PKI/PKIZ token).
So we should skip quote token to avoiding information changing.
Closes-bug: #1783290
Change-Id: I5aa71b3e2b9b19581e46ccf8a80eda5d637f17d1
Added multi-store support. User can now use '--backend'
option to pass desired store while creating, uploading or
importing image to speific store backend.
Added new command 'stores-info' which will return available
stores information to the user.
Related to blueprint multi-store
Change-Id: I7370094fc4ed47205b5a86a18b22aaa7b9457e5b
We use MD5 for checksum, add this description
in cli helps.
Change-Id: I3469b0dface63f4684ad39421eee4c2a2de4d80b
Signed-off-by: Chen Hanxiao <chenhx@certusnet.com.cn>
With PEP 479, the behaviour of StopIteration is changing. Raising it to
stop a generator is considered incorrect and from Python 3.7 this will
cause a RuntimeError. The PEP recommends using the return statement.
More details: https://www.python.org/dev/peps/pep-0479/#examples-of-breakage
Change-Id: Ia067940066a5666926dcf61136b03d721a87666e
Under python 3 with ordering randomized we cannot depend on the JSON
output matching exactly. Instead we de-serialize the data structure
that was written and compare the structures, which will always match.
Change-Id: I134b62413a7cde25f3efda6a2452c1e3d11d41d0
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Currently, when the virtual size of an image is not known, "None" is displayed.
To a regular user, it feels like a programming error. We try and make things
clearer by using a "human readable" string instead.
Change-Id: Id7b8799356857d9bc58cc8a3677024fe1a7f4f56
Partial-Bug: #1665037