summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--openstackclient/image/v2/image.py18
-rw-r--r--releasenotes/notes/image-list-filter-multiple-properties-03c51d43131ee3b6.yaml6
2 files changed, 15 insertions, 9 deletions
diff --git a/openstackclient/image/v2/image.py b/openstackclient/image/v2/image.py
index 1e67692a..06eebe98 100644
--- a/openstackclient/image/v2/image.py
+++ b/openstackclient/image/v2/image.py
@@ -515,7 +515,8 @@ class ListImage(command.Lister):
'--property',
metavar='<key=value>',
action=parseractions.KeyValueAction,
- help=_('Filter output based on property'),
+ help=_('Filter output based on property '
+ '(repeat option to filter on multiple properties)'),
)
parser.add_argument(
'--name',
@@ -643,14 +644,13 @@ class ListImage(command.Lister):
marker = page[-1]['id']
if parsed_args.property:
- # NOTE(dtroyer): coerce to a list to subscript it in py3
- attr, value = list(parsed_args.property.items())[0]
- api_utils.simple_filter(
- data,
- attr=attr,
- value=value,
- property_field='properties',
- )
+ for attr, value in parsed_args.property.items():
+ api_utils.simple_filter(
+ data,
+ attr=attr,
+ value=value,
+ property_field='properties',
+ )
data = utils.sort_items(data, parsed_args.sort, str)
diff --git a/releasenotes/notes/image-list-filter-multiple-properties-03c51d43131ee3b6.yaml b/releasenotes/notes/image-list-filter-multiple-properties-03c51d43131ee3b6.yaml
new file mode 100644
index 00000000..294f4381
--- /dev/null
+++ b/releasenotes/notes/image-list-filter-multiple-properties-03c51d43131ee3b6.yaml
@@ -0,0 +1,6 @@
+---
+features:
+ - |
+ The ``image list`` command now properly filters images on multiple
+ ``--property`` options.
+ [Bug `2004290 <https://storyboard.openstack.org/#!/story/2004290>`_]