]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
fixup mgr/cephadm: Fix ceph orch apply -i
authorSebastian Wagner <sebastian.wagner@suse.com>
Wed, 18 Mar 2020 10:25:11 +0000 (11:25 +0100)
committerSebastian Wagner <sebastian.wagner@suse.com>
Wed, 18 Mar 2020 12:44:49 +0000 (13:44 +0100)
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
src/pybind/mgr/orchestrator/_interface.py
src/pybind/mgr/orchestrator/module.py

index c03753c0dbb93fd022fd3c289bd0f5911cbc8e73..545054d3ea0029d4efa7cb3d76a5061b032b1fd7 100644 (file)
@@ -846,9 +846,28 @@ class Orchestrator(object):
 
     def apply(self, specs: List[ServiceSpec]) -> Completion:
         """
-        Saves Service Specs from a yaml|json file
-        """
-        raise NotImplementedError()
+        Applies any spec
+        """
+        fns = {
+            'alertmanager': self.apply_alertmanager,
+            'crash': self.apply_crash,
+            'grafana': self.apply_grafana,
+            'mds': self.apply_mds,
+            'mgr': self.apply_mgr,
+            'mon': self.apply_mon,
+            'nfs': self.apply_nfs,
+            'node-exporter': self.apply_node_exporter,
+            'osd': self.apply_drivegroups,
+            'prometheus': self.apply_prometheus,
+            'rbd-mirror': self.apply_rbd_mirror,
+            'rgw': self.apply_rgw,
+        }
+        spec, [specs] = specs
+
+        completion = fns[spec.service_name](spec)
+        for s in specs:
+            completion.then(fns[spec.service_name](spec))
+        return completion
 
     def remove_daemons(self, names):
         # type: (List[str]) -> Completion
index d7bb43bdd80f031d45bdf0e54d13924cfcb27919..a0de33fa0c76d3bbbb435bbfa9c69d89b31c5bfa 100644 (file)
@@ -703,7 +703,7 @@ Usage:
         completion = self.list_specs(service_name=service_name)
         self._orchestrator_wait([completion])
         raise_if_exception(completion)
-        specs = completion.result()
+        specs = completion.result
         return HandleCommandResult(stdout=yaml.safe_dump_all(specs))
 
     @_cli_write_command(