]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: tolerate old host inventory without 'hostname' key 39167/head
authorSage Weil <sage@newdream.net>
Mon, 11 Jan 2021 18:41:12 +0000 (12:41 -0600)
committerSebastian Wagner <sebastian.wagner@suse.com>
Fri, 29 Jan 2021 15:05:43 +0000 (16:05 +0100)
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>
(cherry picked from commit ad4ea787d063ba65269f38f185ff18a327cb7bbb)

src/pybind/mgr/cephadm/inventory.py

index 188cd0082a68faef342fe0f565ae447cb9a5a72f..6e6813df2fa28b29eb38327df930c84ded9c3cbc 100644 (file)
@@ -33,6 +33,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)