From e9c5d9569b0bf596c75e8f5cad97f492b3d48a5e Mon Sep 17 00:00:00 2001 From: Pedro Gonzalez Gomez Date: Tue, 16 May 2023 13:11:41 +0200 Subject: [PATCH] mgr/dashboard: disable delete on multisite Fixes: https://tracker.ceph.com/issues/59441 Signed-off-by: Pedro Gonzalez Gomez (cherry picked from commit 65dd69eb59b094856af55947c3791342cd6834b3) --- src/pybind/mgr/dashboard/controllers/rgw.py | 16 +++- ...ultisite-zone-deletion-form.component.html | 63 +++++++------- ...ultisite-zone-deletion-form.component.scss | 2 +- ...-multisite-zone-deletion-form.component.ts | 47 ++++++++++- ...ite-zonegroup-deletion-form.component.html | 83 +++++++++++-------- ...ite-zonegroup-deletion-form.component.scss | 2 +- ...isite-zonegroup-deletion-form.component.ts | 61 ++++++++++++-- .../rgw-multisite-details.component.html | 32 +++---- .../rgw-multisite-details.component.ts | 56 ++++++++++++- .../src/app/shared/api/rgw-zone.service.ts | 12 ++- .../app/shared/api/rgw-zonegroup.service.ts | 5 +- src/pybind/mgr/dashboard/openapi.yaml | 18 +++- .../mgr/dashboard/services/rgw_client.py | 40 +++------ 13 files changed, 301 insertions(+), 136 deletions(-) diff --git a/src/pybind/mgr/dashboard/controllers/rgw.py b/src/pybind/mgr/dashboard/controllers/rgw.py index 01644afb47f..02b71d5945f 100644 --- a/src/pybind/mgr/dashboard/controllers/rgw.py +++ b/src/pybind/mgr/dashboard/controllers/rgw.py @@ -839,10 +839,13 @@ class RgwZonegroup(RESTController): except NoRgwDaemonsException as e: raise DashboardException(e, http_status_code=404, component='rgw') - def delete(self, zonegroup_name, delete_pools, daemon_name=None): + def delete(self, zonegroup_name, delete_pools, pools: Optional[List[str]] = None, + daemon_name=None): + if pools is None: + pools = [] try: instance = RgwClient.admin_instance(daemon_name) - result = instance.delete_zonegroup(zonegroup_name, delete_pools) + result = instance.delete_zonegroup(zonegroup_name, delete_pools, pools) return result except NoRgwDaemonsException as e: raise DashboardException(e, http_status_code=404, component='rgw') @@ -909,10 +912,15 @@ class RgwZone(RESTController): except NoRgwDaemonsException as e: raise DashboardException(e, http_status_code=404, component='rgw') - def delete(self, zonegroup_name, zone_name, delete_pools, daemon_name=None): + def delete(self, zone_name, delete_pools, pools: Optional[List[str]] = None, + zonegroup_name=None, daemon_name=None): + if pools is None: + pools = [] + if zonegroup_name is None: + zonegroup_name = '' try: instance = RgwClient.admin_instance(daemon_name) - result = instance.delete_zone(zonegroup_name, zone_name, delete_pools) + result = instance.delete_zone(zone_name, delete_pools, pools, zonegroup_name) return result except NoRgwDaemonsException as e: raise DashboardException(e, http_status_code=404, component='rgw') diff --git a/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/models/rgw-multisite-zone-deletion-form/rgw-multisite-zone-deletion-form.component.html b/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/models/rgw-multisite-zone-deletion-form/rgw-multisite-zone-deletion-form.component.html index 030cfe674ba..9793d2b369d 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/models/rgw-multisite-zone-deletion-form/rgw-multisite-zone-deletion-form.component.html +++ b/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/models/rgw-multisite-zone-deletion-form/rgw-multisite-zone-deletion-form.component.html @@ -6,41 +6,40 @@
-
+