]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/nfs: refactor _delete_user helper
authorSage Weil <sage@newdream.net>
Mon, 21 Jun 2021 16:26:47 +0000 (12:26 -0400)
committerSage Weil <sage@newdream.net>
Tue, 22 Jun 2021 17:55:54 +0000 (13:55 -0400)
Single caller, trivial functions, and caller is also short.

Signed-off-by: Sage Weil <sage@newdream.net>
src/pybind/mgr/nfs/export.py

index 26b22b2c34262e467aaab3570e6542bdaf5086ea..8f3288121a83cb4a720172aed57b9036fca1d458 100644 (file)
@@ -170,16 +170,19 @@ class ExportMgr:
             log.info(f'unable to fetch f{cluster_id}')
             return None
 
-    def _delete_user(self, entity: str) -> None:
-        self.mgr.check_mon_command({
-            'prefix': 'auth rm',
-            'entity': 'client.{}'.format(entity),
-        })
-        log.info(f"Deleted export user {entity}")
-
-    def _delete_rgw_user(self, uid: str) -> None:
-        self._exec(['radosgw-admin', 'user', 'rm', '--uid', uid])
-        log.info(f"Deleted export RGW user {uid}")
+    def _delete_export_user(self, export: Export) -> None:
+        if isinstance(export.fsal, CephFSFSAL):
+            assert export.fsal.user_id
+            self.mgr.check_mon_command({
+                'prefix': 'auth rm',
+                'entity': 'client.{}'.format(export.fsal.user_id),
+            })
+            log.info(f"Deleted export user {export.fsal.user_id}")
+        elif isinstance(export.fsal, RGWFSAL):
+            assert export.fsal.user_id
+            uid = f'nfs.{export.cluster_id}.{export.path}'
+            self._exec(['radosgw-admin', 'user', 'rm', '--uid', uid])
+            log.info(f"Deleted export RGW user {uid}")
 
     def _gen_export_id(self, cluster_id: str) -> int:
         exports = sorted([ex.export_id for ex in self.exports[cluster_id]])
@@ -231,12 +234,7 @@ class ExportMgr:
                     NFSRados(self.mgr, cluster_id).remove_obj(
                         f'export-{export.export_id}', f'conf-nfs.{cluster_id}')
                 self.exports[cluster_id].remove(export)
-                if isinstance(export.fsal, CephFSFSAL) or isinstance(export.fsal, RGWFSAL):
-                    assert export.fsal.user_id
-                    self._delete_user(export.fsal.user_id)
-                if isinstance(export.fsal, RGWFSAL):
-                    assert export.fsal.user_id
-                    self._delete_rgw_user(f'nfs.{cluster_id}.{export.path}')
+                self._delete_export_user(export)
                 if not self.exports[cluster_id]:
                     del self.exports[cluster_id]
                 return 0, "Successfully deleted export", ""