blob: 89db6ba78d8214db32b2252e1cf9ad07dcd68c02 [file] [log] [blame]
Alex3ebc5632019-04-18 16:47:18 -05001from cfg_checker.common import logger_cli
Alexe0c5b9e2019-04-23 18:51:23 -05002from cfg_checker.modules.network.mapper import NetworkMapper
Alex3ebc5632019-04-18 16:47:18 -05003from cfg_checker.modules.network.network_errors import NetworkErrors
Alex Savatieievf526dc02019-03-06 10:11:32 -06004from cfg_checker.reports import reporter
Alex Savatieiev9b2f6512019-02-20 18:05:00 -06005
6
Alexe0c5b9e2019-04-23 18:51:23 -05007class NetworkChecker(object):
Alex3ebc5632019-04-18 16:47:18 -05008 def __init__(self):
Alexe0c5b9e2019-04-23 18:51:23 -05009 logger_cli.debug("... init error logs folder")
Alex3ebc5632019-04-18 16:47:18 -050010 self.errors = NetworkErrors()
Alexe0c5b9e2019-04-23 18:51:23 -050011 self.mapper = NetworkMapper(self.errors)
Alex3ebc5632019-04-18 16:47:18 -050012
Alexe0c5b9e2019-04-23 18:51:23 -050013 def check_networks(self):
14 self.mapper.map_network(self.mapper.RECLASS)
15 self.mapper.map_network(self.mapper.RUNTIME)
Alex3ebc5632019-04-18 16:47:18 -050016
Alexe0c5b9e2019-04-23 18:51:23 -050017 self.mapper.print_map()
Alex Savatieiev42b89fa2019-03-07 18:45:26 -060018
Alex3ebc5632019-04-18 16:47:18 -050019 def print_summary(self):
Alex3ebc5632019-04-18 16:47:18 -050020 logger_cli.info(self.errors.get_summary(print_zeros=False))
Alex3ebc5632019-04-18 16:47:18 -050021
22 def print_error_details(self):
23 # Detailed errors
Alexb151fbe2019-04-22 16:53:30 -050024 logger_cli.info(
25 "\n{}\n".format(
26 self.errors.get_errors()
27 )
28 )
Alex3ebc5632019-04-18 16:47:18 -050029
Alex Savatieiev9b2f6512019-02-20 18:05:00 -060030 def create_html_report(self, filename):
31 """
32 Create static html showing network schema-like report
33
34 :return: none
35 """
36 logger_cli.info("### Generating report to '{}'".format(filename))
37 _report = reporter.ReportToFile(
38 reporter.HTMLNetworkReport(),
39 filename
40 )
41 _report({
42 "nodes": self.nodes,
Alex41485522019-04-12 17:26:18 -050043 "network": {},
44 "mcp_release": self.mcp_release,
45 "openstack_release": self.openstack_release
46
Alex Savatieiev9b2f6512019-02-20 18:05:00 -060047 })
48 logger_cli.info("-> Done")