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")