Coverage for osm_mon/cmd/mon_dashboarder.py: 0%

35 statements  

« prev     ^ index     » next       coverage.py v7.6.12, created at 2025-05-06 19:04 +0000

1# -*- coding: utf-8 -*- 

2 

3# Copyright 2018 Whitestack, LLC 

4# ************************************************************* 

5 

6# This file is part of OSM Monitoring module 

7# All Rights Reserved to Whitestack, LLC 

8 

9# Licensed under the Apache License, Version 2.0 (the "License"); you may 

10# not use this file except in compliance with the License. You may obtain 

11# a copy of the License at 

12 

13# http://www.apache.org/licenses/LICENSE-2.0 

14 

15# Unless required by applicable law or agreed to in writing, software 

16# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 

17# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 

18# License for the specific language governing permissions and limitations 

19# under the License. 

20 

21# For those usages not covered by the Apache License, Version 2.0 please 

22# contact: bdiaz@whitestack.com or glavado@whitestack.com 

23## 

24import argparse 

25import logging 

26import sys 

27 

28from osm_mon.core.config import Config 

29from osm_mon.dashboarder.dashboarder import Dashboarder 

30from osm_mon.cmd.mon_utils import wait_till_core_services_are_ready 

31import threading 

32 

33 

34def main(): 

35 parser = argparse.ArgumentParser(prog="osm-policy-agent") 

36 parser.add_argument("--config-file", nargs="?", help="POL configuration file") 

37 args = parser.parse_args() 

38 cfg = Config(args.config_file) 

39 

40 root = logging.getLogger() 

41 root.setLevel(logging.getLevelName(cfg.get("global", "loglevel"))) 

42 ch = logging.StreamHandler(sys.stdout) 

43 ch.setLevel(logging.getLevelName(cfg.get("global", "loglevel"))) 

44 formatter = logging.Formatter( 

45 "%(asctime)s - %(name)s - %(levelname)s - %(message)s", "%m/%d/%Y %I:%M:%S %p" 

46 ) 

47 ch.setFormatter(formatter) 

48 root.addHandler(ch) 

49 

50 log = logging.getLogger(__name__) 

51 if wait_till_core_services_are_ready(cfg, "osm-mon-dashboarder"): 

52 log.info("Starting MON Dashboarder...") 

53 log.debug("Config: %s", cfg.conf) 

54 try: 

55 dashboarder = Dashboarder(cfg) 

56 log.info("Starting MON kafka Consumer...") 

57 threading.Thread(target=dashboarder.run, args=()).start() 

58 log.info("Starting MON Dashboarder...") 

59 dashboarder.dashboard_forever() 

60 except Exception as e: 

61 log.error("Failed to start MON Dashboarder") 

62 log.exception("Exception: %s", str(e)) 

63 else: 

64 log.error("Failed to start MON Dashboarder") 

65 

66 

67if __name__ == "__main__": 

68 main()