Add metadata as a filter condition when listing volumes
When listing volumes, the API provides metadata as a query parameter, but this feature is not implemented in the client code. So add parameter. story: 2011487 task: 52446 Change-Id: I4bf66d4e073c86296fa96ee29c2b33d771e18293 Signed-off-by: ohjiwoo <jiwooo.oh@samsung.com>
This commit is contained in:

committed by
Stephen Finucane

parent
88b59d8975
commit
572eeb6d38
@@ -1239,6 +1239,7 @@ class TestVolumeList(volume_fakes.TestVolume):
|
||||
'user_id': None,
|
||||
'name': None,
|
||||
'status': None,
|
||||
'metadata': None,
|
||||
}
|
||||
self.volumes_mock.list.assert_called_once_with(
|
||||
search_opts=search_opts,
|
||||
@@ -1282,6 +1283,7 @@ class TestVolumeList(volume_fakes.TestVolume):
|
||||
'user_id': None,
|
||||
'name': None,
|
||||
'status': None,
|
||||
'metadata': None,
|
||||
}
|
||||
self.volumes_mock.list.assert_called_once_with(
|
||||
search_opts=search_opts,
|
||||
@@ -1328,6 +1330,7 @@ class TestVolumeList(volume_fakes.TestVolume):
|
||||
'user_id': None,
|
||||
'name': None,
|
||||
'status': None,
|
||||
'metadata': None,
|
||||
}
|
||||
self.volumes_mock.list.assert_called_once_with(
|
||||
search_opts=search_opts,
|
||||
@@ -1371,6 +1374,7 @@ class TestVolumeList(volume_fakes.TestVolume):
|
||||
'user_id': self.user.id,
|
||||
'name': None,
|
||||
'status': None,
|
||||
'metadata': None,
|
||||
}
|
||||
self.volumes_mock.list.assert_called_once_with(
|
||||
search_opts=search_opts,
|
||||
@@ -1416,6 +1420,7 @@ class TestVolumeList(volume_fakes.TestVolume):
|
||||
'user_id': self.user.id,
|
||||
'name': None,
|
||||
'status': None,
|
||||
'metadata': None,
|
||||
}
|
||||
self.volumes_mock.list.assert_called_once_with(
|
||||
search_opts=search_opts,
|
||||
@@ -1459,6 +1464,7 @@ class TestVolumeList(volume_fakes.TestVolume):
|
||||
'user_id': None,
|
||||
'name': self.mock_volume.name,
|
||||
'status': None,
|
||||
'metadata': None,
|
||||
}
|
||||
self.volumes_mock.list.assert_called_once_with(
|
||||
search_opts=search_opts,
|
||||
@@ -1502,6 +1508,7 @@ class TestVolumeList(volume_fakes.TestVolume):
|
||||
'user_id': None,
|
||||
'name': None,
|
||||
'status': self.mock_volume.status,
|
||||
'metadata': None,
|
||||
}
|
||||
self.volumes_mock.list.assert_called_once_with(
|
||||
search_opts=search_opts,
|
||||
@@ -1544,6 +1551,7 @@ class TestVolumeList(volume_fakes.TestVolume):
|
||||
'user_id': None,
|
||||
'name': None,
|
||||
'status': None,
|
||||
'metadata': None,
|
||||
}
|
||||
self.volumes_mock.list.assert_called_once_with(
|
||||
search_opts=search_opts,
|
||||
@@ -1587,6 +1595,7 @@ class TestVolumeList(volume_fakes.TestVolume):
|
||||
'user_id': None,
|
||||
'name': None,
|
||||
'status': None,
|
||||
'metadata': None,
|
||||
}
|
||||
self.volumes_mock.list.assert_called_once_with(
|
||||
search_opts=search_opts,
|
||||
@@ -1660,6 +1669,7 @@ class TestVolumeList(volume_fakes.TestVolume):
|
||||
'user_id': None,
|
||||
'name': None,
|
||||
'all_tenants': False,
|
||||
'metadata': None,
|
||||
},
|
||||
)
|
||||
self.assertCountEqual(datalist, tuple(data))
|
||||
@@ -1704,6 +1714,7 @@ class TestVolumeList(volume_fakes.TestVolume):
|
||||
'user_id': None,
|
||||
'name': None,
|
||||
'status': None,
|
||||
'metadata': None,
|
||||
}
|
||||
self.volumes_mock.list.assert_called_once_with(
|
||||
search_opts=search_opts,
|
||||
|
@@ -574,6 +574,16 @@ class ListVolume(command.Lister):
|
||||
metavar='<status>',
|
||||
help=_('Filter results by status'),
|
||||
)
|
||||
parser.add_argument(
|
||||
'--property',
|
||||
metavar='<key=value>',
|
||||
action=parseractions.KeyValueAction,
|
||||
dest='properties',
|
||||
help=_(
|
||||
'Filter by a property on the volume list '
|
||||
'(repeat option to filter by multiple properties) '
|
||||
),
|
||||
)
|
||||
parser.add_argument(
|
||||
'--all-projects',
|
||||
action='store_true',
|
||||
@@ -642,6 +652,7 @@ class ListVolume(command.Lister):
|
||||
'user_id': user_id,
|
||||
'name': parsed_args.name,
|
||||
'status': parsed_args.status,
|
||||
'metadata': parsed_args.properties,
|
||||
}
|
||||
|
||||
data = volume_client.volumes.list(
|
||||
|
@@ -0,0 +1,3 @@
|
||||
---
|
||||
features:
|
||||
- Add ``--property`` option to ``volume list`` command to filter volumes.
|
Reference in New Issue
Block a user