Fix bug 1246
[osm/MON.git] / osm_mon / dashboarder / dashboarder.py
index 35364d6..3b454b8 100644 (file)
@@ -25,6 +25,7 @@ import logging
 import time
 import socket
 import asyncio
+from urllib.parse import urlparse
 
 from osm_mon.dashboarder.service import DashboarderService
 from osm_mon.core.config import Config
@@ -48,7 +49,12 @@ class Dashboarder:
 
     async def start(self):
         topics = ["users", "project"]
-        await self.msg_bus.aioread(topics, self._user_msg)
+        try:
+            await self.msg_bus.aioread(topics, self._user_msg)
+        except Exception as e:
+            # Failed to subscribe to kafka topics
+            log.error("Error when subscribing to topics %s", str(topics))
+            log.exception("Exception %s", str(e))
 
     async def _user_msg(self, topic, key, values):
         log.debug("Message from kafka bus received: topic: %s and values: %s and key: %s", topic, values, key)
@@ -114,9 +120,10 @@ class Dashboarder:
 
     def dashboard_forever(self):
         log.debug('dashboard_forever')
+        grafana_parsed_uri = urlparse(self.conf.get('grafana', 'url'))
         while True:
             try:
-                socket.gethostbyname("grafana")
+                socket.gethostbyname(grafana_parsed_uri.hostname)
                 log.debug("Dashboard backend is running")
             except socket.error:
                 log.debug("Dashboard backend is not available")