OSMENG-1197: Add MON rockcraft.yaml
[osm/MON.git] / osm_mon / dashboarder / dashboarder.py
index b25a8d9..1d523cf 100644 (file)
@@ -35,24 +35,20 @@ log = logging.getLogger(__name__)
 
 
 class Dashboarder:
-    def __init__(self, config: Config, loop=None):
+    def __init__(self, config: Config):
         self.conf = config
         self.service = DashboarderService(config)
-        if not loop:
-            loop = asyncio.get_event_loop()
-        self.loop = loop
         self.msg_bus = MessageBusClient(config)
 
     # run consumer for grafana user management
     def run(self):
-        self.loop.run_until_complete(self.start())
+        asyncio.run(self.start())
 
     async def start(self, wait_time=5):
         topics = ["users", "project"]
         while True:
             try:
                 await self.msg_bus.aioread(topics, self._user_msg)
-                log.info("Sucessfully subscribed to kafka topic(s) %s", str(topics))
                 break
             except Exception as e:
                 # Failed to subscribe to kafka topics
@@ -147,6 +143,7 @@ class Dashboarder:
                 time.sleep(int(self.conf.get("dashboarder", "interval")))
                 continue
             try:
+                self.grafana_cleanup()
                 self.create_dashboards()
                 time.sleep(int(self.conf.get("dashboarder", "interval")))
             except Exception:
@@ -155,3 +152,10 @@ class Dashboarder:
     def create_dashboards(self):
         self.service.create_dashboards()
         log.debug("Dashboarder Service > create_dashboards called!")
+
+    def grafana_cleanup(self):
+        # Cleaning up non existing users from grafana
+        self.service.delete_non_existing_users()
+        # TODO
+        # Cleanup of teams from grafana
+        log.debug("Deleted non existing users from dashbaorder service")