Skip to content

Commit 9ea2e61

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Enabled like filter support in client"
2 parents 71dfec6 + 4082478 commit 9ea2e61

3 files changed

Lines changed: 57 additions & 7 deletions

File tree

cinderclient/tests/unit/v3/test_shell.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,10 @@ def test_list_filters(self, resource, query_url):
9595
'list --filters metadata={key1:value1}',
9696
'expected':
9797
'/volumes/detail?metadata=%7B%27key1%27%3A+%27value1%27%7D'},
98+
{'command':
99+
'list --filters name~=456',
100+
'expected':
101+
'/volumes/detail?name%7E=456'},
98102
# testcases for list group
99103
{'command':
100104
'group-list --filters name=456',
@@ -104,6 +108,10 @@ def test_list_filters(self, resource, query_url):
104108
'group-list --filters status=available',
105109
'expected':
106110
'/groups/detail?status=available'},
111+
{'command':
112+
'group-list --filters name~=456',
113+
'expected':
114+
'/groups/detail?name%7E=456'},
107115
# testcases for list group-snapshot
108116
{'command':
109117
'group-snapshot-list --status=error --filters status=available',
@@ -113,6 +121,10 @@ def test_list_filters(self, resource, query_url):
113121
'group-snapshot-list --filters availability_zone=123',
114122
'expected':
115123
'/group_snapshots/detail?availability_zone=123'},
124+
{'command':
125+
'group-snapshot-list --filters status~=available',
126+
'expected':
127+
'/group_snapshots/detail?status%7E=available'},
116128
# testcases for list message
117129
{'command':
118130
'message-list --event_id=123 --filters event_id=456',
@@ -122,6 +134,10 @@ def test_list_filters(self, resource, query_url):
122134
'message-list --filters request_id=123',
123135
'expected':
124136
'/messages?request_id=123'},
137+
{'command':
138+
'message-list --filters request_id~=123',
139+
'expected':
140+
'/messages?request_id%7E=123'},
125141
# testcases for list attachment
126142
{'command':
127143
'attachment-list --volume-id=123 --filters volume_id=456',
@@ -131,6 +147,10 @@ def test_list_filters(self, resource, query_url):
131147
'attachment-list --filters mountpoint=123',
132148
'expected':
133149
'/attachments?mountpoint=123'},
150+
{'command':
151+
'attachment-list --filters volume_id~=456',
152+
'expected':
153+
'/attachments?volume_id%7E=456'},
134154
# testcases for list backup
135155
{'command':
136156
'backup-list --volume-id=123 --filters volume_id=456',
@@ -140,6 +160,10 @@ def test_list_filters(self, resource, query_url):
140160
'backup-list --filters name=123',
141161
'expected':
142162
'/backups/detail?name=123'},
163+
{'command':
164+
'backup-list --filters volume_id~=456',
165+
'expected':
166+
'/backups/detail?volume_id%7E=456'},
143167
# testcases for list snapshot
144168
{'command':
145169
'snapshot-list --volume-id=123 --filters volume_id=456',
@@ -149,6 +173,10 @@ def test_list_filters(self, resource, query_url):
149173
'snapshot-list --filters name=123',
150174
'expected':
151175
'/snapshots/detail?name=123'},
176+
{'command':
177+
'snapshot-list --filters volume_id~=456',
178+
'expected':
179+
'/snapshots/detail?volume_id%7E=456'},
152180
# testcases for get pools
153181
{'command':
154182
'get-pools --filters name=456 --detail',

cinderclient/v3/shell.py

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@
4343
default=None,
4444
help='Show enabled filters for specified resource. Default=None.')
4545
def do_list_filters(cs, args):
46+
"""List enabled filters.
47+
48+
Symbol '~' after filter key means it supports inexact filtering.
49+
"""
4650
filters = cs.resource_filters.list(resource=args.resource)
4751
shell_utils.print_resource_filter_list(filters)
4852

@@ -100,7 +104,8 @@ def do_list_filters(cs, args):
100104
metavar='<key=value>',
101105
default=None,
102106
help="Filter key and value pairs. Please use 'cinder list-filters' "
103-
"to check enabled filters from server, Default=None.")
107+
"to check enabled filters from server. Use 'key~=value' for "
108+
"inexact filtering if the key supports. Default=None.")
104109
def do_backup_list(cs, args):
105110
"""Lists all backups."""
106111
# pylint: disable=function-redefined
@@ -274,7 +279,8 @@ def do_get_pools(cs, args):
274279
metavar='<key=value>',
275280
default=None,
276281
help="Filter key and value pairs. Please use 'cinder list-filters' "
277-
"to check enabled filters from server, Default=None.")
282+
"to check enabled filters from server. Use 'key~=value' "
283+
"for inexact filtering if the key supports. Default=None.")
278284
def do_list(cs, args):
279285
"""Lists all volumes."""
280286
# pylint: disable=function-redefined
@@ -976,7 +982,8 @@ def do_manageable_list(cs, args):
976982
metavar='<key=value>',
977983
default=None,
978984
help="Filter key and value pairs. Please use 'cinder list-filters' "
979-
"to check enabled filters from server, Default=None.")
985+
"to check enabled filters from server. Use 'key~=value' "
986+
"for inexact filtering if the key supports. Default=None.")
980987
def do_group_list(cs, args):
981988
"""Lists all groups."""
982989
search_opts = {'all_tenants': args.all_tenants}
@@ -1191,7 +1198,8 @@ def do_group_update(cs, args):
11911198
metavar='<key=value>',
11921199
default=None,
11931200
help="Filter key and value pairs. Please use 'cinder list-filters' "
1194-
"to check enabled filters from server, Default=None.")
1201+
"to check enabled filters from server. Use 'key~=value' "
1202+
"for inexact filtering if the key supports. Default=None.")
11951203
def do_group_snapshot_list(cs, args):
11961204
"""Lists all group snapshots."""
11971205

@@ -1416,7 +1424,8 @@ def do_api_version(cs, args):
14161424
metavar='<key=value>',
14171425
default=None,
14181426
help="Filter key and value pairs. Please use 'cinder list-filters' "
1419-
"to check enabled filters from server, Default=None.")
1427+
"to check enabled filters from server. Use 'key~=value' "
1428+
"for inexact filtering if the key supports. Default=None.")
14201429
def do_message_list(cs, args):
14211430
"""Lists all messages."""
14221431
search_opts = {
@@ -1553,7 +1562,8 @@ def do_message_delete(cs, args):
15531562
metavar='<key=value>',
15541563
default=None,
15551564
help="Filter key and value pairs. Please use 'cinder list-filters' "
1556-
"to check enabled filters from server, Default=None.")
1565+
"to check enabled filters from server. Use 'key~=value' "
1566+
"for inexact filtering if the key supports. Default=None.")
15571567
def do_snapshot_list(cs, args):
15581568
"""Lists all snapshots."""
15591569
# pylint: disable=function-redefined
@@ -1643,7 +1653,8 @@ def do_snapshot_list(cs, args):
16431653
metavar='<key=value>',
16441654
default=None,
16451655
help="Filter key and value pairs. Please use 'cinder list-filters' "
1646-
"to check enabled filters from server, Default=None.")
1656+
"to check enabled filters from server. Use 'key~=value' "
1657+
"for inexact filtering if the key supports. Default=None.")
16471658
def do_attachment_list(cs, args):
16481659
"""Lists all attachments."""
16491660
search_opts = {
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
features:
3+
- |
4+
Enabled like filter support in these list commands.
5+
- list
6+
- snapshot-list
7+
- backup-list
8+
- group-list
9+
- group-snapshot-list
10+
- attachment-list
11+
- message-list

0 commit comments

Comments
 (0)