]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge pull request #43775 from liewegas/wip-mgr-rook-osd-creation
authorSebastian Wagner <sewagner@redhat.com>
Wed, 10 Nov 2021 16:34:07 +0000 (17:34 +0100)
committerGitHub <noreply@github.com>
Wed, 10 Nov 2021 16:34:07 +0000 (17:34 +0100)
mgr/rook: persist drive groups

Reviewed-by: Sebastian Wagner <sewagner@redhat.com>
1  2 
src/pybind/mgr/rook/module.py

index 93021d0c2efde2874abcf2caac763775720386ba,160c87d7fad5a8133670b1579afa7aec109ae113..86ecef06382a83e4be415197e12cf479e109b813
@@@ -463,18 -495,23 +495,23 @@@ class RookOrchestrator(MgrModule, orche
          return num_replicas, leaf_type
  
      @handle_orch_error
 -    def remove_service(self, service_name: str) -> str:
 +    def remove_service(self, service_name: str, force: bool = False) -> str:
          if service_name == 'rbd-mirror':
              return self.rook_cluster.rm_service('cephrbdmirrors', 'default-rbd-mirror')
-         service_type, service_name = service_name.split('.', 1)
+         service_type, service_id = service_name.split('.', 1)
          if service_type == 'mds':
-             return self.rook_cluster.rm_service('cephfilesystems', service_name)
+             return self.rook_cluster.rm_service('cephfilesystems', service_id)
          elif service_type == 'rgw':
-             return self.rook_cluster.rm_service('cephobjectstores', service_name)
+             return self.rook_cluster.rm_service('cephobjectstores', service_id)
          elif service_type == 'nfs':
-             return self.rook_cluster.rm_service('cephnfses', service_name)
+             return self.rook_cluster.rm_service('cephnfses', service_id)
          elif service_type == 'rbd-mirror':
-             return self.rook_cluster.rm_service('cephrbdmirrors', service_name)
+             return self.rook_cluster.rm_service('cephrbdmirrors', service_id)
+         elif service_type == 'osd':
+             if service_id in self._drive_group_map:
+                 del self._drive_group_map[service_id]
+                 self._save_drive_groups()
+             return f'Removed {service_name}'
          else:
              raise orchestrator.OrchestratorError(f'Service type {service_type} not supported')