The argparse module automatically replaces '-' characters with '_'
characters when converting an option string to an attribute:
«For optional argument actions, the value of dest is normally inferred
from the option strings. ArgumentParser generates the value of dest by
taking the first long option string and stripping away the initial --
string. If no long option strings were supplied, dest will be derived
from the first short option string by stripping the initial - character.
Any internal - characters will be converted to _ characters to make sure
the string is a valid attribute name.»[1]
This means that the value of the "--remote-region" option of the
"image-import" command will be available as "args.remote_region";
"remote-region" would not be a valid attribute anyway.
We make sure to retrieve the proper value for the following
options: --remote-region, --remote-image-id and
--remote-service-interface.
[1] https://docs.python.org/3/library/argparse.html#dest
Change-Id: I1d8c69acd5d61fdc426469cd87d1ace81871e60f
Partial-Bug: #2012442
First, fix test_help(). A commit[1], which first appeared in Python
3.10, changes the output of the help feature of argparse. Options used
to be in a section named "Optional arguments:", and they are now in a
section named "Options:".
Second, tox 4 changes the behaviour of tox, and
{toxinidir}/requirements.txt is no longer installed automagically in the
docs virtual environment. This causes autodoc to fail on some imports.
We explicitely add {toxinidir}/requirements.txt to the list of
dependencies to fix this issue.
These issues should be fixed in separate patches, but since they both
block the CI, they depend on each other.
[1] https://github.com/python/cpython/pull/23858
Change-Id: Ia7866390b31f469bdea95624325a13aaf45a496e
Closes-Bug: #2002566
Boolean options (such as "--protected" for glance md-namespace-update)
should accept a limited amount of valid values, rather than assuming an
"invalid" value means "False".
The following values (no matter the case) will now be interpreted as
True: ‘t’,’true’, ‘on’, ‘y’, ‘yes’, or ‘1’.
The following values (no matter the case) will now be interpreted as
False: ‘f’, ‘false’, ‘off’, ‘n’, ‘no’, or ‘0’.
Change-Id: I0e7942045d883ac398bab4a7a85f2b4ac9b1ed8c
Closes-Bug: #1607317
The value of DEFAULT_PAGE_SIZE (20) was hardcoded in multiple places in
the tests, which means all the tests would break should we ever want to
change that value.
Co-Authored-By: 韩春蕾 <1922361860@qq.com>
Change-Id: I6e8dbae32c3a24d3fbeebcea5bfe0dd9ae247035
This commit:
- removes the old "u" prefix from all strings
- removes the unicode_key_value_to_string function
Change-Id: I1da347e31e828fd2359f0935a4da47257116d4cb
The schema_args decorator generates command line options based on the
properties defined in a schema. This commit makes sure read-only
properties are skipped during this process, since trying to modify their
value would result in a Glance error.
Closes-Bug: #1561828
Change-Id: I7ccc628a23c9ebdaeedcb9e6d43559f497ce9555
The "type" property is required when using md-property-create, so there
should be a mandatory option for it, as is the case for "name" and
"title".
Change-Id: I3a118b6f2e375ad60bd4170c5ce0ae284a0c9060
Closes-Bug: #1934626
Bumping default pagesize to 200. With the previous
default value of 20 glanceclient was doing lots of
extra requests and schema validations.
Based on my tests no performance improvement was
seen over the pagesize of 200.
Change-Id: I6d740ca3a9b32bf5d064d3ea74273bb619b32ad4
Closes-Bug: #1987834
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
This change provides support for the Cache API changes and
deprecation path for glance-cache-manage command.
Change-Id: I6fca9bbe6bc0bd9b14d8dba685405838131160af
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
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
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
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
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
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
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
"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>
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
As a part of vocabulary correction renamed --backend parameter to
--store. Modfied corresponding tests as well.
bp:multi-store-vocabulary-correction
Change-Id: I3dc115f5f0f3c4edcca0209e139aa3d1d816357c
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