]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: fix prom config generation when hosts have no labels or addrs 33800/head
authorSage Weil <sage@redhat.com>
Sat, 7 Mar 2020 14:09:30 +0000 (08:09 -0600)
committerSage Weil <sage@redhat.com>
Sun, 8 Mar 2020 03:45:29 +0000 (21:45 -0600)
The inventory for a host might be {}, which evaluates as false.

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

index 3ccf0caec833f6839eb70ad42e97bc775dc80c0f..6d5ed60bb9781ab720f84e5d184389d8d063535e 100644 (file)
@@ -2467,24 +2467,22 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
                 continue
             if dd.daemon_id == self.get_mgr_id():
                 continue
-            hi = self.inventory.get(dd.hostname, None)
-            if hi:
-                addr = hi.get('addr', dd.hostname)
+            hi = self.inventory.get(dd.hostname, {})
+            addr = hi.get('addr', dd.hostname)
             mgr_scrape_list.append(addr.split(':')[0] + ':' + port)
 
         # scrape node exporters
         node_configs = ''
         for dd in self.cache.get_daemons_by_service('node-exporter'):
-            hi = self.inventory.get(dd.hostname, None)
-            if hi:
-                deps.append(dd.name())
-                addr = hi.get('addr', dd.hostname)
-                if not node_configs:
-                    node_configs = """
+            deps.append(dd.name())
+            hi = self.inventory.get(dd.hostname, {})
+            addr = hi.get('addr', dd.hostname)
+            if not node_configs:
+                node_configs = """
   - job_name: 'node'
     static_configs:
 """
-                node_configs += """    - targets: {}
+            node_configs += """    - targets: {}
       labels:
         instance: '{}'
 """.format([addr.split(':')[0] + ':9100'],
@@ -2494,10 +2492,8 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
         alertmgr_configs = ""
         alertmgr_targets = []
         for dd in self.cache.get_daemons_by_service('alertmanager'):
-            hi = self.inventory.get(dd.hostname, None)
-            if hi is None:
-                continue
             deps.append(dd.name())
+            hi = self.inventory.get(dd.hostname, {})
             addr = hi.get('addr', dd.hostname)
             alertmgr_targets.append("'{}:9093'".format(addr.split(':')[0]))
         if alertmgr_targets:
@@ -2649,8 +2645,8 @@ receivers:
         port = '9094'
         for dd in self.cache.get_daemons_by_service('alertmanager'):
             deps.append(dd.name())
-            hi = self.inventory.get(dd.hostname, None)
-            addr = hi.get('addr', dd.hostname) if hi else ""
+            hi = self.inventory.get(dd.hostname, {})
+            addr = hi.get('addr', dd.hostname)
             peers.append(addr.split(':')[0] + ':' + port)
         return {
             "files": {