From 165e02561c439f459a6b0e515e5e3fbe65bfcacc Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 21 Jun 2021 12:26:47 -0400 Subject: [PATCH] mgr/nfs: refactor _delete_user helper Single caller, trivial functions, and caller is also short. Signed-off-by: Sage Weil --- src/pybind/mgr/nfs/export.py | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/src/pybind/mgr/nfs/export.py b/src/pybind/mgr/nfs/export.py index 26b22b2c342..8f3288121a8 100644 --- a/src/pybind/mgr/nfs/export.py +++ b/src/pybind/mgr/nfs/export.py @@ -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", "" -- 2.39.5