Adds CLI support for `glance md-namespace-objects-delete
`
This patch adds operation which delete all metadef object inside a namespace. This can be implemented by `image metadef object delete` Change-Id: Ib196e295aad1921d8bc0c451522e0ad530389134 Depends-on: https://review.opendev.org/c/openstack/openstacksdk/+/901671 Signed-off-by: Cyril Roelandt <cyril@redhat.com>
This commit is contained in:

committed by
Cyril Roelandt

parent
46b25c7c0b
commit
9f55b253a3
@@ -26,7 +26,7 @@ md-namespace-create,image metadef namespace create,Create a new metadata definit
|
||||
md-namespace-delete,image metadef namespace delete,Delete specified metadata definitions namespace with its contents.
|
||||
md-namespace-import,,Import a metadata definitions namespace from file or standard input.
|
||||
md-namespace-list,image metadef namespace list,List metadata definitions namespaces.
|
||||
md-namespace-objects-delete,,Delete all metadata definitions objects inside a specific namespace.
|
||||
md-namespace-objects-delete,image metadef object delete,Delete all metadata definitions objects inside a specific namespace.
|
||||
md-namespace-properties-delete,,Delete all metadata definitions property inside a specific namespace.
|
||||
md-namespace-resource-type-list,image metadef resource type association list,List resource types associated to specific namespace.
|
||||
md-namespace-show,image metadef namespace show,Describe a specific metadata definitions namespace.
|
||||
|
|
@@ -123,8 +123,11 @@ class DeleteMetadefObject(command.Command):
|
||||
parser.add_argument(
|
||||
"objects",
|
||||
metavar="<object>",
|
||||
nargs="+",
|
||||
help=_("Metadef object(s) to delete (name)"),
|
||||
nargs="*",
|
||||
help=_(
|
||||
"Metadef object(s) to delete (name) "
|
||||
"(omit this argument to delete all objects in the namespace)"
|
||||
),
|
||||
)
|
||||
return parser
|
||||
|
||||
@@ -133,6 +136,9 @@ class DeleteMetadefObject(command.Command):
|
||||
|
||||
namespace = parsed_args.namespace
|
||||
|
||||
if not parsed_args.objects:
|
||||
return image_client.delete_all_metadef_objects(namespace)
|
||||
|
||||
result = 0
|
||||
for obj in parsed_args.objects:
|
||||
try:
|
||||
|
@@ -113,6 +113,7 @@ class TestMetadefObjectDelete(fakes.TestImagev2):
|
||||
super().setUp()
|
||||
|
||||
self.image_client.delete_metadef_object.return_value = None
|
||||
self.image_client.delete_all_metadef_objects.return_value = None
|
||||
self.cmd = metadef_objects.DeleteMetadefObject(self.app, None)
|
||||
|
||||
def test_object_delete(self):
|
||||
@@ -126,8 +127,29 @@ class TestMetadefObjectDelete(fakes.TestImagev2):
|
||||
|
||||
result = self.cmd.take_action(parsed_args)
|
||||
|
||||
self.image_client.delete_metadef_object.assert_called_once_with(
|
||||
self.image_client.get_metadef_object(),
|
||||
self._metadef_namespace.namespace,
|
||||
)
|
||||
self.image_client.delete_all_metadef_objects.assert_not_called()
|
||||
self.assertIsNone(result)
|
||||
|
||||
def test_object_delete_all(self):
|
||||
arglist = [
|
||||
self._metadef_namespace.namespace,
|
||||
]
|
||||
|
||||
verifylist = []
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
|
||||
result = self.cmd.take_action(parsed_args)
|
||||
|
||||
self.assertIsNone(result)
|
||||
self.image_client.delete_all_metadef_objects.assert_called_with(
|
||||
self._metadef_namespace.namespace,
|
||||
)
|
||||
self.image_client.delete_metadef_object.assert_not_called()
|
||||
|
||||
|
||||
class TestMetadefObjectList(fakes.TestImagev2):
|
||||
_metadef_namespace = fakes.create_one_metadef_namespace()
|
||||
|
@@ -0,0 +1,4 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
Adds operation which deletes all metadef object inside a namespace.
|
Reference in New Issue
Block a user