]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mgr/rook: add decorator for add_stateless_service
authorJeff Layton <jlayton@redhat.com>
Wed, 19 Dec 2018 15:21:40 +0000 (10:21 -0500)
committerJeff Layton <jlayton@redhat.com>
Mon, 14 Jan 2019 12:05:03 +0000 (07:05 -0500)
Signed-off-by: Jeff Layton <jlayton@redhat.com>
src/pybind/mgr/rook/module.py

index 0ed0f0936c540f6eb4a2b503601ec21563e4747a..60129540a18e0c0f7ca30ab1c570983318449e04 100644 (file)
@@ -361,19 +361,19 @@ class RookOrchestrator(MgrModule, orchestrator.Orchestrator):
 
         return result
 
+    def _service_add_decorate(self, typename, spec, func):
+        return RookWriteCompletion(lambda: func(spec), None,
+                    "Creating {0} services for {1}".format(typename, spec.name))
+
     def add_stateless_service(self, service_type, spec):
         # assert isinstance(spec, orchestrator.StatelessServiceSpec)
-
         if service_type == "mds":
-            return RookWriteCompletion(
-                lambda: self.rook_cluster.add_filesystem(spec), None,
-                "Creating Filesystem services for {0}".format(spec.name))
+            return self._service_add_decorate("Filesystem", spec,
+                                         self.rook_cluster.add_filesystem)
         elif service_type == "rgw" :
-            return RookWriteCompletion(
-                lambda: self.rook_cluster.add_objectstore(spec), None,
-                "Creating RGW services for {0}".format(spec.name))
+            return self._service_add_decorate("RGW", spec,
+                                         self.rook_cluster.add_objectstore)
         else:
-            # TODO: RGW, NFS
             raise NotImplementedError(service_type)
 
     def remove_stateless_service(self, service_type, service_id):