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

32 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.evaluator.evaluator import Evaluator 

30from osm_mon.cmd.mon_utils import wait_till_core_services_are_ready 

31 

32 

33def main(): 

34 parser = argparse.ArgumentParser(prog="osm-mon-evaluator") 

35 parser.add_argument("--config-file", nargs="?", help="MON configuration file") 

36 args = parser.parse_args() 

37 cfg = Config(args.config_file) 

38 

39 root = logging.getLogger() 

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

41 ch = logging.StreamHandler(sys.stdout) 

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

43 formatter = logging.Formatter( 

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

45 ) 

46 ch.setFormatter(formatter) 

47 root.addHandler(ch) 

48 

49 log = logging.getLogger(__name__) 

50 if wait_till_core_services_are_ready(cfg, "osm-mon-evaluator"): 

51 log.info("Starting MON Evaluator...") 

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

53 log.info("Initializing database...") 

54 try: 

55 evaluator = Evaluator(cfg) 

56 evaluator.evaluate_forever() 

57 except Exception as e: 

58 log.error("Failed to start MON Evaluator") 

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

60 else: 

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

62 

63 

64if __name__ == "__main__": 

65 main()