X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_mon%2Fcmd%2Fmon_server.py;h=7d676d78b625dd18ef3c5728bae941e7f6f0eeab;hb=refs%2Fchanges%2F03%2F10803%2F1;hp=669833924e3ea2bd5393d9d2afad1514831405c8;hpb=a2c1bf826f95bebf48448a7100f26132db4680a5;p=osm%2FMON.git diff --git a/osm_mon/cmd/mon_server.py b/osm_mon/cmd/mon_server.py index 6698339..7d676d7 100644 --- a/osm_mon/cmd/mon_server.py +++ b/osm_mon/cmd/mon_server.py @@ -27,35 +27,41 @@ import logging import sys from osm_mon.core.config import Config -from osm_mon.core.database import DatabaseManager from osm_mon.server.server import Server +from osm_mon.cmd.mon_utils import wait_till_core_services_are_ready def main(): - parser = argparse.ArgumentParser(prog='osm-policy-agent') - parser.add_argument('--config-file', nargs='?', help='POL configuration file') + parser = argparse.ArgumentParser(prog="osm-mon-server") + parser.add_argument("--config-file", nargs="?", help="MON configuration file") args = parser.parse_args() cfg = Config(args.config_file) root = logging.getLogger() - root.setLevel(logging.getLevelName(cfg.get('global', 'loglevel'))) + root.setLevel(logging.getLevelName(cfg.get("global", "loglevel"))) ch = logging.StreamHandler(sys.stdout) - ch.setLevel(logging.getLevelName(cfg.get('global', 'loglevel'))) - formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s', '%m/%d/%Y %I:%M:%S %p') + ch.setLevel(logging.getLevelName(cfg.get("global", "loglevel"))) + formatter = logging.Formatter( + "%(asctime)s - %(name)s - %(levelname)s - %(message)s", "%m/%d/%Y %I:%M:%S %p" + ) ch.setFormatter(formatter) root.addHandler(ch) log = logging.getLogger(__name__) - log.info("Starting MON Server...") - log.debug("Config: %s", cfg.conf) - log.info("Initializing database...") - db_manager = DatabaseManager(cfg) - db_manager.create_tables() - log.info("Database initialized correctly.") - loop = asyncio.get_event_loop() - server = Server(cfg, loop) - server.run() - - -if __name__ == '__main__': + if wait_till_core_services_are_ready(cfg, "osm-mon-server"): + log.info("Starting MON Server...") + log.debug("Config: %s", cfg.conf) + log.info("Initializing database...") + loop = asyncio.get_event_loop() + try: + server = Server(cfg, loop) + server.run() + except Exception as e: + log.error("Failed to start MON Server") + log.exception("Exception: %s", str(e)) + else: + log.error("Failed to start MON Server") + + +if __name__ == "__main__": main()