[CVP] Skip all not relevant interfaces in test_mtu
Change-Id: I14ff6913077c03ae1211ddabf4d1fa0223073a0f
Related-PROD: PROD-27217
(cherry picked from commit 674bd1328cd08c1e2a2e66f057e71c7e5d45e2f4)
diff --git a/test_set/cvp-sanity/global_config.yaml b/test_set/cvp-sanity/global_config.yaml
index 813b82d..c438d1e 100644
--- a/test_set/cvp-sanity/global_config.yaml
+++ b/test_set/cvp-sanity/global_config.yaml
@@ -62,7 +62,8 @@
# this test may skip groups (see example)
test_mtu:
{ #"skipped_groups": ["dbs"]
- "skipped_ifaces": ["bonding_masters", "lo", "veth", "tap", "cali", "qv", "qb", "br-int", "vxlan"]}
+ "skipped_ifaces": ["bonding_masters", "lo", "veth", "tap", "cali", "qv", "qb", "br-int",
+ "vxlan", "virbr0", "virbr0-nic", "docker0", "o-hm0"]}
# mask for interfaces to skip
# test duplicate ips
diff --git a/test_set/cvp-sanity/tests/test_mtu.py b/test_set/cvp-sanity/tests/test_mtu.py
index 01d6642..8dc4a79 100644
--- a/test_set/cvp-sanity/tests/test_mtu.py
+++ b/test_set/cvp-sanity/tests/test_mtu.py
@@ -10,23 +10,31 @@
testname = os.path.basename(__file__).split('.')[0]
config = utils.get_configuration()
skipped_ifaces = config.get(testname)["skipped_ifaces"] or \
- ["bonding_masters", "lo", "veth", "tap", "cali", "qv", "qb", "br-int", "vxlan"]
+ ["bonding_masters", "lo", "veth", "tap", "cali", "qv", "qb", "br-int",
+ "vxlan", "virbr0", "virbr0-nic", "docker0", "o-hm0"]
total = {}
network_info = local_salt_client.cmd(
tgt="L@"+','.join(nodes_in_group),
param='ls /sys/class/net/',
expr_form='compound')
- kvm_nodes = local_salt_client.test_ping(tgt='salt:control').keys()
-
if len(network_info.keys()) < 2:
pytest.skip("Nothing to compare - only 1 node")
+ # collect all nodes and check if virsh is installed there
+ kvm_nodes = local_salt_client.cmd(
+ tgt='salt:control',
+ fun='pkg.version',
+ param='libvirt-clients',
+ expr_form='pillar'
+ )
+
for node, ifaces_info in network_info.iteritems():
if isinstance(ifaces_info, bool):
logging.info("{} node is skipped".format(node))
continue
- if node in kvm_nodes:
+ # if node is a kvm node and virsh is installed there
+ if node in kvm_nodes.keys() and kvm_nodes[node]:
kvm_info = local_salt_client.cmd(tgt=node,
param="virsh list | "
"awk '{print $2}' | "
@@ -62,13 +70,11 @@
diff.append(total[node][interf])
row.append("{}: {}".format(node, total[node][interf]))
else:
- # skip node with no virbr0 or virbr0-nic interfaces
- if interf not in ['virbr0', 'virbr0-nic']:
- row.append("{}: No interface".format(node))
+ row.append("{}: No interface".format(node))
if diff.count(diff[0]) < len(nodes):
row.sort()
row.insert(0, interf)
mtu_data.append(row)
assert len(mtu_data) == 0, \
"Several problems found: {0}".format(
- json.dumps(mtu_data, indent=4))
+ json.dumps(mtu_data, indent=4))
\ No newline at end of file