Multi env support and Kube client integration
Kube friendly Beta
Package versions supports Kube env
Added:
- Env type detection
- New option: --use-env, for selecting env
when function supports multiple detected envs
- Updated config loading
- Each module and command type has supported env check
and stops execution if it is on unsupported env
- Functions can support multiple envs
- Kubernetes dependency
- Kubenernetes API detection: local and remote
- Package checking class hierachy for using Salt or Kube
- Remote pod execution routine
- Flexible SSH/SSH Forwarder classes: with, ssh,do(), etc
- Multithreaded SSH script execution
- Number of workers parameter, default 5
Fixed:
- Config dependency
- Command loading with supported envs list
- Unittests structure and execution flow updated
- Unittests fixes
- Fixed debug mode handling
- Unified command type/support routine
- Nested attrs getter/setter
Change-Id: I3ade693ac21536e2b5dcee4b24d511749dc72759
Related-PROD: PROD-35811
diff --git a/cfg_checker/modules/network/checker.py b/cfg_checker/modules/network/checker.py
index c590d13..eaa2428 100644
--- a/cfg_checker/modules/network/checker.py
+++ b/cfg_checker/modules/network/checker.py
@@ -7,13 +7,15 @@
class NetworkChecker(object):
def __init__(
self,
+ config,
skip_list=None,
skip_list_file=None
):
logger_cli.debug("... init error logs folder")
self.errors = NetworkErrors()
self.mapper = NetworkMapper(
- self.errors,
+ config,
+ errors_class=self.errors,
skip_list=skip_list,
skip_list_file=skip_list_file
)
@@ -45,15 +47,16 @@
"""
logger_cli.info("### Generating report to '{}'".format(filename))
_report = reporter.ReportToFile(
- reporter.HTMLNetworkReport(),
+ reporter.HTMLNetworkReport(self.mapper.salt_master),
filename
)
- _report({
- "domain": self.mapper.domain,
- "nodes": self.mapper.nodes,
- "map": self.mapper.map,
- "mcp_release": self.mapper.cluster['mcp_release'],
- "openstack_release": self.mapper.cluster['openstack_release']
-
- })
+ _report(
+ {
+ "domain": self.mapper.domain,
+ "nodes": self.mapper.nodes,
+ "map": self.mapper.map,
+ "mcp_release": self.mapper.cluster['mcp_release'],
+ "openstack_release": self.mapper.cluster['openstack_release']
+ }
+ )
logger_cli.info("-> Done")