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
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)
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")