Package report/repo parser integration
- parser able to filter package versions using keywords
- warning message on missing tag
- on the fly versions lookup (excluding '*.hotfix')
- updated versions compare routine
- lexical compare uses numbers, not ordinal values
- updated release version detection
- final report lists pkg section/app if no description given
- final report shows repo info for detected release version
Fixes:
- shorter alternate entrpoints: mcp-pkg, mcp-net, cmp-reclass
- flake8 syntax
- proper mirantis/non-mirantis versions getting
- exit on unexpected arguments
- salt-master class now gets linux codename by default and architecture
Change-Id: I0a2daadca8a1acaecafc8680226dc00d20cc24ce
Related-PROD: PROD-28199
diff --git a/cfg_checker/nodes.py b/cfg_checker/nodes.py
index 9a1fd48..d752655 100644
--- a/cfg_checker/nodes.py
+++ b/cfg_checker/nodes.py
@@ -64,7 +64,6 @@
# in case API not listed minions, we need all that answer ping
_active = self.salt.get_active_nodes()
logger_cli.info("-> nodes responded: {}".format(len(_active)))
- # just inventory for faster interaction
# iterate through all accepted nodes and create a dict for it
self.nodes = {}
self.skip_list = []
@@ -113,6 +112,14 @@
self.salt.master_node,
"_param:openstack_version"
)[self.salt.master_node]
+ # Preload codenames
+ # do additional queries to get linux codename and arch for each node
+ self.get_specific_pillar_for_nodes("_param:linux_system_codename")
+ self.get_specific_pillar_for_nodes("_param:linux_system_architecture")
+ for _name in self.nodes.keys():
+ _p = self.nodes[_name]['pillars']['_param']
+ self.nodes[_name]['linux_codename'] = _p['linux_system_codename']
+ self.nodes[_name]['linux_arch'] = _p['linux_system_architecture']
def skip_node(self, node):
# Add node to skip list
@@ -298,7 +305,7 @@
)
# execute script
- logger.debug("... running script")
+ logger_cli.debug("... running script")
# handle results for each node
_script_arguments = " ".join(args) if args else ""
self.not_responded = []