Additions and fixes to network check
- Per interface tree maps
- proper virtial nodes detection
- KVM nodes listing
- CPU count fix
- Basic service fail check (wip)
Change-Id: I62b68793404eeff957ef70468c954df2fda869a5
Related-PROD: PROD-38972
diff --git a/cfg_checker/nodes.py b/cfg_checker/nodes.py
index ca4e261..0ca1e85 100644
--- a/cfg_checker/nodes.py
+++ b/cfg_checker/nodes.py
@@ -147,7 +147,7 @@
}
return _info
- def get_cmd_for_nodes(self, cmd, target_key, target_dict=None):
+ def get_cmd_for_nodes(self, cmd, target_key, target_dict=None, nodes=None):
"""Function runs. cmd.run and parses result into place
or into dict structure provided
@@ -160,8 +160,9 @@
_nodes = target_dict
else:
_nodes = self.nodes
- _result = self.execute_cmd_on_active_nodes(cmd)
+ _result = self.execute_cmd_on_active_nodes(cmd, nodes=nodes)
for node, data in _nodes.iteritems():
+
if node in self.skip_list:
logger_cli.debug(
"... '{}' skipped while collecting '{}'".format(
@@ -176,6 +177,8 @@
# Save data
if data['status'] == const.NODE_DOWN:
data[target_key] = None
+ elif node not in _result:
+ continue
elif not _result[node]:
logger_cli.debug(
"... '{}' not responded after '{}'".format(
@@ -369,11 +372,11 @@
self.not_responded = [_n for _n in _r.keys() if not _r[_n]]
return _r
- def execute_cmd_on_active_nodes(self, cmd):
+ def execute_cmd_on_active_nodes(self, cmd, nodes=None):
# execute cmd
self.not_responded = []
_r = self.salt.cmd(
- self.active_nodes_compound,
+ nodes if nodes else self.active_nodes_compound,
'cmd.run',
param=cmd,
expr_form="compound"