Allow to filter multiple tags for image list
Currently in case of passing `--tag` several times, only last one will be picked up for the filtering. In the meanwhile Glance allow option to be repeated multiple times to filter based on the multiple tags. Depends-On: https://review.opendev.org/c/openstack/openstacksdk/+/789827 Change-Id: I7379d0b0014f0e3d13b02ee5ec6b642a7a5aa7d1
This commit is contained in:
parent
4b97a85181
commit
5cc6fc2b88
@ -613,8 +613,10 @@ class ListImage(command.Lister):
|
||||
parser.add_argument(
|
||||
'--tag',
|
||||
metavar='<tag>',
|
||||
default=None,
|
||||
help=_('Filter images based on tag.'),
|
||||
action='append',
|
||||
default=[],
|
||||
help=_('Filter images based on tag. '
|
||||
'(repeat option to filter on multiple tags)'),
|
||||
)
|
||||
parser.add_argument(
|
||||
'--hidden',
|
||||
|
@ -26,6 +26,7 @@ class ImageTests(base.BaseImageTests):
|
||||
|
||||
self.name = uuid.uuid4().hex
|
||||
self.image_tag = 'my_tag'
|
||||
self.image_tag1 = 'random'
|
||||
json_output = json.loads(self.openstack(
|
||||
'--os-image-api-version 2 '
|
||||
'image create -f json --tag {tag} {name}'.format(
|
||||
@ -78,13 +79,18 @@ class ImageTests(base.BaseImageTests):
|
||||
|
||||
def test_image_list_with_tag_filter(self):
|
||||
json_output = json.loads(self.openstack(
|
||||
'image list --tag ' + self.image_tag + ' --long -f json'
|
||||
'image list --tag ' + self.image_tag + ' --tag ' +
|
||||
self.image_tag1 + ' --long -f json'
|
||||
))
|
||||
for taglist in [img['Tags'] for img in json_output]:
|
||||
self.assertIn(
|
||||
self.image_tag,
|
||||
taglist
|
||||
)
|
||||
self.assertIn(
|
||||
self.image_tag1,
|
||||
taglist
|
||||
)
|
||||
|
||||
def test_image_attributes(self):
|
||||
"""Test set, unset, show on attributes, tags and properties"""
|
||||
|
@ -835,15 +835,16 @@ class TestImageList(TestImage):
|
||||
def test_image_list_tag_option(self):
|
||||
arglist = [
|
||||
'--tag', 'abc',
|
||||
'--tag', 'cba'
|
||||
]
|
||||
verifylist = [
|
||||
('tag', 'abc'),
|
||||
('tag', ['abc', 'cba']),
|
||||
]
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
|
||||
columns, data = self.cmd.take_action(parsed_args)
|
||||
self.client.images.assert_called_with(
|
||||
tag='abc'
|
||||
tag=['abc', 'cba']
|
||||
)
|
||||
|
||||
|
||||
|
@ -0,0 +1,5 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
The ``image list`` now accepts multiple ``--tag`` options, allowing you to
|
||||
filter images on more than one tag.
|
Loading…
x
Reference in New Issue
Block a user