From: Imran Imtiaz Date: Fri, 12 Dec 2025 10:02:59 +0000 (+0000) Subject: mgr/dashboard: add API endpoint to delete consistency group X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=60c96104612e4dc4fddf8cc844eb317a64552fe4;p=ceph.git mgr/dashboard: add API endpoint to delete consistency group Signed-off-by: Imran Imtiaz Fixes: https://tracker.ceph.com/issues/74201 Add a dashboard API endpoint to delete a consistency group. --- diff --git a/src/pybind/mgr/dashboard/controllers/rbd.py b/src/pybind/mgr/dashboard/controllers/rbd.py index fb8a6a3f78bf..7d8cbd3afea1 100644 --- a/src/pybind/mgr/dashboard/controllers/rbd.py +++ b/src/pybind/mgr/dashboard/controllers/rbd.py @@ -534,7 +534,20 @@ class RbdGroup(RESTController): return self.rbd_inst.group_create(ioctx, name) @handle_rbd_error() - @EndpointDoc("Update a group", + @EndpointDoc("Delete a group", + parameters={ + 'pool_name': (str, 'Name of the pool'), + 'group_name': (str, 'Name of the group'), + }, + responses={200: None}) + def delete(self, pool_name, group_name, namespace=None): + with mgr.rados.open_ioctx(pool_name) as ioctx: + RbdService.validate_namespace(ioctx, namespace) + ioctx.set_namespace(namespace) + return self.rbd_inst.group_remove(ioctx, group_name) + + @handle_rbd_error() + @EndpointDoc("Update a group (rename)", parameters={ 'pool_name': (str, 'Name of the pool'), 'group_name': (str, 'Name of the group'), diff --git a/src/pybind/mgr/dashboard/openapi.yaml b/src/pybind/mgr/dashboard/openapi.yaml index 9ff77c843759..328422dd14bd 100755 --- a/src/pybind/mgr/dashboard/openapi.yaml +++ b/src/pybind/mgr/dashboard/openapi.yaml @@ -1684,6 +1684,50 @@ paths: tags: - RbdGroup /api/block/pool/{pool_name}/group/{group_name}: + delete: + parameters: + - description: Name of the pool + in: path + name: pool_name + required: true + schema: + type: string + - description: Name of the group + in: path + name: group_name + required: true + schema: + type: string + - allowEmptyValue: true + in: query + name: namespace + schema: + type: string + responses: + '202': + content: + application/vnd.ceph.api.v1.0+json: + type: object + description: Operation is still executing. Please check the task queue. + '204': + content: + application/vnd.ceph.api.v1.0+json: + type: object + description: Resource deleted. + '400': + description: Operation exception. Please check the response body for details. + '401': + description: Unauthenticated access. Please login first. + '403': + description: Unauthorized access. Please check your permissions. + '500': + description: Unexpected error. Please check the response body for the stack + trace. + security: + - jwt: [] + summary: Delete a group + tags: + - RbdGroup get: parameters: - description: Name of the pool @@ -1789,7 +1833,7 @@ paths: trace. security: - jwt: [] - summary: Update a group + summary: Update a group (rename) tags: - RbdGroup /api/block/pool/{pool_name}/group/{group_name}/image: