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:
Mridula Joshi
2023-12-21 07:38:18 +00:00
committed by Cyril Roelandt
parent 46b25c7c0b
commit 9f55b253a3
4 changed files with 35 additions and 3 deletions

View File

@@ -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.
1 cache-clear cached image clear Clear all images from cache, queue or both.
26 md-namespace-delete image metadef namespace delete Delete specified metadata definitions namespace with its contents.
27 md-namespace-import Import a metadata definitions namespace from file or standard input.
28 md-namespace-list image metadef namespace list List metadata definitions namespaces.
29 md-namespace-objects-delete image metadef object delete Delete all metadata definitions objects inside a specific namespace.
30 md-namespace-properties-delete Delete all metadata definitions property inside a specific namespace.
31 md-namespace-resource-type-list image metadef resource type association list List resource types associated to specific namespace.
32 md-namespace-show image metadef namespace show Describe a specific metadata definitions namespace.

View File

@@ -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:

View File

@@ -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()

View File

@@ -0,0 +1,4 @@
---
features:
- |
Adds operation which deletes all metadef object inside a namespace.