Commit Graph

68 Commits

Author SHA1 Message Date
Pranali Deore 4439db2ff0 Add support for new location APIs
Related blueprint new-location-apis

Change-Id: Id378cd5b7d20775b5117ee3f509bd6bdd61702e3
2024-08-14 10:40:13 +00:00
Pranali Deore 3c5dd2381f Remove incorrect validation for glance-download import method
Since REMOTE SERVICE INTERFACE has default value to 'public',
it doesn't make sense to have validation for the same.

Removing this validation and added few missing tests for
glance-download import method

Closes-Bug: #2051761
Change-Id: I89adf23aac5db4f2c46379546def2f71d7c8e163
2024-01-31 09:57:50 +00:00
Zuul 881f4e6343 Merge "do_image_import: always pass remote_* to gc.images.image_import" 2023-07-04 18:50:19 +00:00
Zuul f53d6714fd Merge "md-property-create: add a mandatory "--type" option" 2023-06-28 16:41:03 +00:00
Cyril Roelandt 1ea41f042c do_image_import: always pass remote_* to gc.images.image_import
In do_image_import, gc.images.image_import may be called from two
different places, depending on the command used ("glance image-import"
or "glance image-create-via-import"). Make sure we always pass the
remote_* arguments to gc.images.import.

Change-Id: I76c6ea00523d93bad900776866de6ba22bc516b4
Partial-Bug: #2012442
2023-05-03 15:38:40 +02:00
Cyril Roelandt e2190c4feb do_image_import: fix argument retrieval
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
2023-04-18 03:21:03 +02:00
Cyril Roelandt fc8f9ac2ed Remove unicode-related Python2-only code
This commit:
- removes the old "u" prefix from all strings
- removes the unicode_key_value_to_string function

Change-Id: I1da347e31e828fd2359f0935a4da47257116d4cb
2022-11-14 11:49:33 +01:00
Cyril Roelandt 393e84d30a md-property-create: add a mandatory "--type" option
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
2022-09-07 18:55:50 +02:00
Pranali Deore 92cd70a224 Add support for glance-download import method
Implements: blueprint glance-download-import-support
Change-Id: Ia2bfad82bccf9acb6103b21112e680c44e295d39
2022-08-30 11:20:40 +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
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
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
Cyril Roelandt 928935e5c0 Do not use the six library in the tests.
Change-Id: Ic8a2a736a733e0151ca82f19bfde428dc04cf255
2020-06-15 21:04:56 +02: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
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
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 40c19aa443 Merge "Rename --backend to --store" 2019-09-13 01:31:30 +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
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
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
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 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
Abhishek Kekane d7fbd0a516 Add support for hide old images
Added --hidden argument to list, create and
update call.

Related to blueprint hidden-images
Change-Id: I1f2dcaa545c9da883186b20a96a70c7df994b994
2018-07-25 10:27:28 -04:00
Zuul ccbd86ba13 Merge "Unit tests for multi-store support" 2018-07-25 00:55:36 +00:00
Zuul ac378e0254 Merge "Add multi-store support" 2018-07-25 00:39:14 +00:00
Abhishek Kekane ce5a929b9b Unit tests for multi-store support
Related to blueprint multi-store

Change-Id: Ib22cc5fd4eee0326c307abb236ef31a39edfa6a6
2018-07-24 11:02:19 +00:00
Abhishek Kekane 71bfd7bfad Add multi-store support
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
2018-07-24 10:54:18 +00:00
Abhishek Kekane 1f1a8176ce Add support for multihash
Related to blueprint multihash

Change-Id: Iff4a5fe224b5d47255d7f23f65bbc08468f47f02
2018-07-23 11:06:57 +00:00
Brian Rosmaita 46dd4dd60f Make image-import fail faster
Add checks to image-import command so that it provides better user
feedback in failure situations.

Change-Id: I8b6b32c3d1d1a745aa68ff8dc629419dff9bb130
Closes-bug: #1758718
2018-04-04 14:36:13 -04:00
Brian Rosmaita 79543a67ed Make image-create-via-import fail faster
Add checks to the image-create-via-import commmand so that it provides
better user feedback and doesn't begin the import workflow unless the
input has a chance of succeeding.  Preserves backward compatibility
with the current image-create command by (1) allowing an image record
only to be created when no import-method is specified AND no data is
supplied, and (2) doing the glance-direct workflow when no import-
method is specified AND data is provided.  Also adds the ability for
the import-method to be set as an env var OS_IMAGE_IMPORT_METHOD.

Change-Id: I0a225f5471a9311217b5d90ebb5fd415c369129a
Closes-bug: #1758149
2018-04-04 13:51:40 -04:00
Brian Rosmaita dc3ee4aedb Fix intermittent v2 shell unit test failures
The do_image_download code has a check to make sure that there's
a place to put the data (either filename or stdout redirect) before
initiating the download.  The location of this check was moved by
change I841bebeda38814235079429eca0b1e5fd2f04dae to happen at the
beginning of the function.  The two intermittently failing tests
do not explicitly address the check condition, and as a result the
tests do exit early, but before they can check what they're supposed
to be testing.

Closes-bug: #1759951

Change-Id: I3c85bb358f669504b364d55618c21382b7a2a66b
2018-03-29 17:28:44 -04:00
Brian Rosmaita 6cd537e274 Check for container,disk_format on web-download
Fail image-create-via-import requests for the web-download import
method that don't include values for container_format or disk_format.

Closes-bug: #1757927

Change-Id: Ic5c81916823ff32f2dbddd32b40e825de0697dc9
2018-03-22 01:16:41 -04:00
PranaliD aedabec9e4 Add support for web-download import method
This change adds support for 'web-download' import method
to 'image-import' and 'create-image-via-import' call.
To use this 'web-download' import method, user needs to pass
--uri option 'a valid uri to external image to import in glance'
to 'image-import' and 'create-image-via-imaport' calls.

Co-authored-by: Pranali Deore <pdeore@redhat.com>
Co-authored-by: Erno Kuvaja <jokke@usr.fi>

Change-Id: I0e1d18844f64723608288de473e97710798eb602
2018-03-21 15:09:13 +00:00
Stephen Finucane 4dcbc30e31 Compare against 'RequestIdProxy.wrapped'
Due to the 'glanceclient.common.utils.add_req_id_to_object' decorator,
an instance of 'glanceclient.common.utils.RequestIdProxy' is returned
for most calls in glanceclient. If we wish to compare to None, we have
to compare the contents of this wrapper and not the wrapper itself.

Unit tests are updated to highlight this.

Change-Id: I7dadf32d37ac2bda33a92c71d5882e9f23e38a82
Closes-Bug: #1736759
2018-01-02 11:36:02 +00:00
Ravi Shekhar Jethani 1df55dd952 Validate input args before trying image download
Currently client is contacting glance service even if the
caller has niether specified any redirection nor '--file'
option. This unnecessary request although isn't causing
any critical issues but can be avoided by simply doing
input validation first.

TrivialFix

Change-Id: I841bebeda38814235079429eca0b1e5fd2f04dae
2017-07-24 14:54:57 +05:30
Evgeny Antyshev 6ab6a740ff Add ploop in disk_format
"ploop" image format is supported in upstream Glance
https://review.openstack.org/341633

And similar patch has been added in python-openstackclient:
https://review.openstack.org/411405

Co-Authored-By: yuyafei <yu.yafei@zte.com.cn>
Change-Id: I1471224df97cf5fecfe7f02e549855af81c45848
Related-Bug: 1650342
2017-01-19 14:31:01 +00:00
Li Wei efb5e2aa32 Add vhdx in disk_format
vhdx is also a format of the disk valid value in v2 version,
so add it in disk_format.

Related-Bug: 1635518
Co-Authored-By: Stuart McLaren <stuart.mclaren@hpe.com>
Change-Id: I7d82d4a4bdb180a53e86552f6f6b3bed908e6dc0
2017-01-10 07:41:02 +00:00
Danny Al-Gaaf 860908c517 Catch InUseByStore case in do_image_delete
In case do_image_delete() is called on an image that is
in use and can't be deleted by the driver a HTTPConflict
error is raised in glance. Catch this error and print a
propper error message.

Closes-Bug: #1551037

Change-Id: Id17098f27511df8e05e56b8df21e748921223bd9
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2016-03-09 23:27:02 +01:00
Jenkins 6aaa6f2f8c Merge "Handle 403 forbidden on download" 2016-02-29 13:04:08 +00:00