]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: fix get_unique_name when name in use
authorSage Weil <sage@redhat.com>
Sun, 23 Feb 2020 19:38:25 +0000 (13:38 -0600)
committerSage Weil <sage@redhat.com>
Mon, 24 Feb 2020 16:46:10 +0000 (10:46 -0600)
If we are not adding a uniqueifying suffix, we need to error out instead
of looping.

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

index 10f489b00d4c1ab066ca832ba5fb8609bf3ee4d1..fa8da4b333a792d9b3bd4286eca3f9a48bbe687a 100644 (file)
@@ -982,7 +982,7 @@ class CephadmOrchestrator(MgrModule, orchestrator.OrchestratorClientMixin):
         ]
         if forcename:
             if len([d for d in existing if d.daemon_id == forcename]):
-                raise RuntimeError('specified name %s already in use', forcename)
+                raise orchestrator.OrchestratorValidationError('name %s already in use', forcename)
             return forcename
 
         if '.' in host:
@@ -997,6 +997,8 @@ class CephadmOrchestrator(MgrModule, orchestrator.OrchestratorClientMixin):
                 name += '.' + ''.join(random.choice(string.ascii_lowercase)
                                       for _ in range(6))
             if len([d for d in existing if d.daemon_id == name]):
+                if not suffix:
+                    raise orchestrator.OrchestratorValidationError('name %s already in use', name)
                 self.log.warning('name %s exists, trying again', name)
                 continue
             return name