]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: tolerate old host inventory without 'hostname' key 38850/head
authorSage Weil <sage@newdream.net>
Mon, 11 Jan 2021 18:41:12 +0000 (12:41 -0600)
committerSage Weil <sage@newdream.net>
Mon, 11 Jan 2021 19:19:51 +0000 (13:19 -0600)
Older cephadm clusters lack the 'hostname' key in the host spec.  e.g.,

 "cpach": {"addr": "cpach", "labels": ["mon"]}, "eutow": {"addr": "eutow", "labels": ["mon"]}, "stud": {"addr": "stud", "labels": ["mon"]}}

Populate hostname from the dict key if necessary for compatibility.

Signed-off-by: Sage Weil <sage@newdream.net>
src/pybind/mgr/cephadm/inventory.py

index a643eb15341b028a8b290e9be203343c682e3f61..ebae690483c68f8c46693c23617747284d4f90ff 100644 (file)
@@ -31,6 +31,10 @@ class Inventory:
         i = self.mgr.get_store('inventory')
         if i:
             self._inventory: Dict[str, dict] = json.loads(i)
+            # handle old clusters missing 'hostname' key from hostspec
+            for k, v in self._inventory.items():
+                if 'hostname' not in v:
+                    v['hostname'] = k
         else:
             self._inventory = dict()
         logger.debug('Loaded inventory %s' % self._inventory)