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,
|
'user_id': None,
|
||||||
'name': None,
|
'name': None,
|
||||||
'status': None,
|
'status': None,
|
||||||
|
'metadata': None,
|
||||||
}
|
}
|
||||||
self.volumes_mock.list.assert_called_once_with(
|
self.volumes_mock.list.assert_called_once_with(
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
@@ -1282,6 +1283,7 @@ class TestVolumeList(volume_fakes.TestVolume):
|
|||||||
'user_id': None,
|
'user_id': None,
|
||||||
'name': None,
|
'name': None,
|
||||||
'status': None,
|
'status': None,
|
||||||
|
'metadata': None,
|
||||||
}
|
}
|
||||||
self.volumes_mock.list.assert_called_once_with(
|
self.volumes_mock.list.assert_called_once_with(
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
@@ -1328,6 +1330,7 @@ class TestVolumeList(volume_fakes.TestVolume):
|
|||||||
'user_id': None,
|
'user_id': None,
|
||||||
'name': None,
|
'name': None,
|
||||||
'status': None,
|
'status': None,
|
||||||
|
'metadata': None,
|
||||||
}
|
}
|
||||||
self.volumes_mock.list.assert_called_once_with(
|
self.volumes_mock.list.assert_called_once_with(
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
@@ -1371,6 +1374,7 @@ class TestVolumeList(volume_fakes.TestVolume):
|
|||||||
'user_id': self.user.id,
|
'user_id': self.user.id,
|
||||||
'name': None,
|
'name': None,
|
||||||
'status': None,
|
'status': None,
|
||||||
|
'metadata': None,
|
||||||
}
|
}
|
||||||
self.volumes_mock.list.assert_called_once_with(
|
self.volumes_mock.list.assert_called_once_with(
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
@@ -1416,6 +1420,7 @@ class TestVolumeList(volume_fakes.TestVolume):
|
|||||||
'user_id': self.user.id,
|
'user_id': self.user.id,
|
||||||
'name': None,
|
'name': None,
|
||||||
'status': None,
|
'status': None,
|
||||||
|
'metadata': None,
|
||||||
}
|
}
|
||||||
self.volumes_mock.list.assert_called_once_with(
|
self.volumes_mock.list.assert_called_once_with(
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
@@ -1459,6 +1464,7 @@ class TestVolumeList(volume_fakes.TestVolume):
|
|||||||
'user_id': None,
|
'user_id': None,
|
||||||
'name': self.mock_volume.name,
|
'name': self.mock_volume.name,
|
||||||
'status': None,
|
'status': None,
|
||||||
|
'metadata': None,
|
||||||
}
|
}
|
||||||
self.volumes_mock.list.assert_called_once_with(
|
self.volumes_mock.list.assert_called_once_with(
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
@@ -1502,6 +1508,7 @@ class TestVolumeList(volume_fakes.TestVolume):
|
|||||||
'user_id': None,
|
'user_id': None,
|
||||||
'name': None,
|
'name': None,
|
||||||
'status': self.mock_volume.status,
|
'status': self.mock_volume.status,
|
||||||
|
'metadata': None,
|
||||||
}
|
}
|
||||||
self.volumes_mock.list.assert_called_once_with(
|
self.volumes_mock.list.assert_called_once_with(
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
@@ -1544,6 +1551,7 @@ class TestVolumeList(volume_fakes.TestVolume):
|
|||||||
'user_id': None,
|
'user_id': None,
|
||||||
'name': None,
|
'name': None,
|
||||||
'status': None,
|
'status': None,
|
||||||
|
'metadata': None,
|
||||||
}
|
}
|
||||||
self.volumes_mock.list.assert_called_once_with(
|
self.volumes_mock.list.assert_called_once_with(
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
@@ -1587,6 +1595,7 @@ class TestVolumeList(volume_fakes.TestVolume):
|
|||||||
'user_id': None,
|
'user_id': None,
|
||||||
'name': None,
|
'name': None,
|
||||||
'status': None,
|
'status': None,
|
||||||
|
'metadata': None,
|
||||||
}
|
}
|
||||||
self.volumes_mock.list.assert_called_once_with(
|
self.volumes_mock.list.assert_called_once_with(
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
@@ -1660,6 +1669,7 @@ class TestVolumeList(volume_fakes.TestVolume):
|
|||||||
'user_id': None,
|
'user_id': None,
|
||||||
'name': None,
|
'name': None,
|
||||||
'all_tenants': False,
|
'all_tenants': False,
|
||||||
|
'metadata': None,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
self.assertCountEqual(datalist, tuple(data))
|
self.assertCountEqual(datalist, tuple(data))
|
||||||
@@ -1704,6 +1714,7 @@ class TestVolumeList(volume_fakes.TestVolume):
|
|||||||
'user_id': None,
|
'user_id': None,
|
||||||
'name': None,
|
'name': None,
|
||||||
'status': None,
|
'status': None,
|
||||||
|
'metadata': None,
|
||||||
}
|
}
|
||||||
self.volumes_mock.list.assert_called_once_with(
|
self.volumes_mock.list.assert_called_once_with(
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
|
@@ -574,6 +574,16 @@ class ListVolume(command.Lister):
|
|||||||
metavar='<status>',
|
metavar='<status>',
|
||||||
help=_('Filter results by 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(
|
parser.add_argument(
|
||||||
'--all-projects',
|
'--all-projects',
|
||||||
action='store_true',
|
action='store_true',
|
||||||
@@ -642,6 +652,7 @@ class ListVolume(command.Lister):
|
|||||||
'user_id': user_id,
|
'user_id': user_id,
|
||||||
'name': parsed_args.name,
|
'name': parsed_args.name,
|
||||||
'status': parsed_args.status,
|
'status': parsed_args.status,
|
||||||
|
'metadata': parsed_args.properties,
|
||||||
}
|
}
|
||||||
|
|
||||||
data = volume_client.volumes.list(
|
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