From: Sage Weil Date: Mon, 2 Dec 2019 21:06:14 +0000 (-0600) Subject: mgr/ssh: fix service_action X-Git-Tag: v15.1.0~686^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=77ad9eba7bf8ffb228f0885e06fa55f6330f8703;p=ceph.git mgr/ssh: fix service_action Broken by the new completions Signed-off-by: Sage Weil --- diff --git a/src/pybind/mgr/ssh/module.py b/src/pybind/mgr/ssh/module.py index 306b500d85c3..9975f7fd111b 100644 --- a/src/pybind/mgr/ssh/module.py +++ b/src/pybind/mgr/ssh/module.py @@ -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): """