Migrating to Python v3
- support for Python v3.8.x
- support for Python v3.5.x
- new tag, 2019.2.8
- updates class generation and iterators
- unittests updated with coverage >75%
- new coverage routines
- unittests profiling
- full fake data for unittests
- unittest testrun is ~1.5 seconds long
Bugfixes
- 34834, proper use of 'sudo' option
- multiple proper iterator use
- 37919, show warning when installed and candidate versions
are newer comparing to release version
Change-Id: Idd6b889f7ce94ae0c832e2f0a0346e4fdc3264a3
Related-PROD: PROD-34834 PROD-34664 PROD-34919
diff --git a/cfg_checker/modules/network/mapper.py b/cfg_checker/modules/network/mapper.py
index 482bdfa..59f3781 100644
--- a/cfg_checker/modules/network/mapper.py
+++ b/cfg_checker/modules/network/mapper.py
@@ -124,7 +124,7 @@
continue
# build map based on IPs and save info too
- for if_name, _dat in _pillar.iteritems():
+ for if_name, _dat in _pillar.items():
# get proper IF name
_if_name = if_name if 'name' not in _dat else _dat['name']
# place it
@@ -195,11 +195,11 @@
logger_cli.info("-> mapping IPs")
# match interfaces by IP subnets
- for host, node_data in salt_master.nodes.iteritems():
+ for host, node_data in salt_master.nodes.items():
if not salt_master.is_node_available(host):
continue
- for net_name, net_data in node_data['networks'].iteritems():
+ for net_name, net_data in node_data['networks'].items():
# cut net name
_i = net_name.find('@')
_name = net_name if _i < 0 else net_name[:_i]
@@ -321,7 +321,7 @@
# debug, print built tree
# logger_cli.debug("# '{}'".format(_ifname))
- lvls = _tree.keys()
+ lvls = list(_tree.keys())
lvls.sort()
n = len(lvls)
m = max([len(_tree[k].keys()) for k in _tree.keys()])
@@ -330,11 +330,14 @@
while True:
_lv = lvls.pop(0)
# get all interfaces on this level
- nets = _tree[_lv].keys()
+ nets = iter(_tree[_lv].keys())
while True:
y = 0
# get next interface
- _net = nets.pop(0)
+ try:
+ _net = next(nets)
+ except StopIteration:
+ break
# all nets
_a = [_net]
# put current interface if this is only one left