]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/ssh: fix service_action
authorSage Weil <sage@redhat.com>
Mon, 2 Dec 2019 21:06:14 +0000 (15:06 -0600)
committerSage Weil <sage@redhat.com>
Mon, 2 Dec 2019 21:06:14 +0000 (15:06 -0600)
Broken by the new completions

Signed-off-by: Sage Weil <sage@redhat.com>
src/pybind/mgr/ssh/module.py

index 306b500d85c3d2c1b53e9e2e3081f41aea50af55..9975f7fd111bf2069b376fdf9b2081c8f4c1f8c7 100644 (file)
@@ -765,23 +765,26 @@ class SSHOrchestrator(MgrModule, orchestrator.Orchestrator):
             action, service_type, service_name, service_id))
         if action == 'reload':
             return trivial_result(["Reload is a no-op"])
-        daemons = self._get_services(
+
+        def _proc_daemons(daemons):
+            args = []
+            for d in daemons:
+                args.append((d.service_type, d.service_instance,
+                             d.nodename, action))
+            if not args:
+                if service_name:
+                    n = service_name + '-*'
+                else:
+                    n = service_id
+                raise orchestrator.OrchestratorError(
+                    'Unable to find %s.%s daemon(s)' % (
+                        service_type, n))
+            return self._service_action(args)
+
+        return self._get_services(
             service_type,
             service_name=service_name,
-            service_id=service_id)
-        args = []
-        for d in daemons:
-            args.append((d.service_type, d.service_instance,
-                                       d.nodename, action))
-        if not args:
-            if service_name:
-                n = service_name + '-*'
-            else:
-                n = service_id
-            raise orchestrator.OrchestratorError(
-                'Unable to find %s.%s daemon(s)' % (
-                    service_type, n))
-        return self._service_action(args)
+            service_id=service_id).then(_proc_daemons)
 
     @async_map_completion
     def _service_action(self, service_type, service_id, host, action):
@@ -814,7 +817,7 @@ class SSHOrchestrator(MgrModule, orchestrator.Orchestrator):
                 error_ok=True)
             self.service_cache.invalidate(host)
             self.log.debug('_service_action code %s out %s' % (code, out))
-        return "{} {} from host '{}'".format(action, name, host)
+        return trivial_result("{} {} from host '{}'".format(action, name, host))
 
     def get_inventory(self, node_filter=None, refresh=False):
         """