]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mgr/ssh: handle lack of node hints more gracefully
authorSage Weil <sage@redhat.com>
Fri, 8 Nov 2019 16:29:17 +0000 (10:29 -0600)
committerSage Weil <sage@redhat.com>
Fri, 8 Nov 2019 16:47:14 +0000 (10:47 -0600)
RuntimeError: Remote method threw exception: TypeError: object of type 'NoneType' has no len()

isn't friendly

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

index 5e8ea6639fe3fe2ed9f620f976eab4d2b27af959..07f4f1b0f45c07eb7aae5fcdede23910a43898dd 100644 (file)
@@ -990,7 +990,7 @@ class SSHOrchestrator(MgrModule, orchestrator.OrchestratorClientMixin):
         return SSHWriteCompletion(results)
 
     def add_mds(self, spec):
-        if len(spec.placement.nodes) < spec.count:
+        if not spec.placement.nodes or len(spec.placement.nodes) < spec.count:
             raise RuntimeError("must specify at least %d hosts" % spec.count)
         daemons = self._get_services('mds')
         results = []
@@ -1040,7 +1040,7 @@ class SSHOrchestrator(MgrModule, orchestrator.OrchestratorClientMixin):
         return SSHWriteCompletion(results)
 
     def add_rgw(self, spec):
-        if len(spec.placement.nodes) < spec.count:
+        if not spec.placement.nodes or len(spec.placement.nodes) < spec.count:
             raise RuntimeError("must specify at least %d hosts" % spec.count)
         # ensure rgw_zone is set for these daemons
         ret, out, err = self.mon_command({