Fix for bug 1433 - MON will not start till MongoDB service is up
[osm/MON.git] / osm_mon / cmd / mon_dashboarder.py
index b49b570..828c8b5 100644 (file)
@@ -27,6 +27,7 @@ import sys
 
 from osm_mon.core.config import Config
 from osm_mon.dashboarder.dashboarder import Dashboarder
+from osm_mon.cmd.common_functions import wait_till_core_services_are_ready
 import threading
 
 
@@ -45,13 +46,16 @@ def main():
     root.addHandler(ch)
 
     log = logging.getLogger(__name__)
-    log.info("Starting MON Dashboarder...")
-    log.debug("Config: %s", cfg.conf)
-    dashboarder = Dashboarder(cfg)
-    log.info("Starting MON kafka Consumer...")
-    threading.Thread(target=dashboarder.run, args=()).start()
-    log.info("Starting MON Dashboarder...")
-    dashboarder.dashboard_forever()
+    if wait_till_core_services_are_ready(cfg, "osm-mon-dashboarder"):
+        log.info("Starting MON Dashboarder...")
+        log.debug("Config: %s", cfg.conf)
+        dashboarder = Dashboarder(cfg)
+        log.info("Starting MON kafka Consumer...")
+        threading.Thread(target=dashboarder.run, args=()).start()
+        log.info("Starting MON Dashboarder...")
+        dashboarder.dashboard_forever()
+    else:
+        log.error("Failed to start MON Dashboarder")
 
 
 if __name__ == '__main__':