For UDP netperf tests we saw very unreliable test results recently.
Until we find the root cause the UDP netperf test will be disabled by
default. User can enforce it by defining alias enable_udp_perf.
Signed-off-by: Jan Tluka <jtluka(a)redhat.com>
---
.../phase1/virtual_bridge_2_vlans_over_bond.py | 17 +++++++++++------
.../phase1/virtual_bridge_vlan_in_guest.py | 14 +++++++++-----
.../phase1/virtual_bridge_vlan_in_host.py | 15 ++++++++++-----
3 files changed, 30 insertions(+), 16 deletions(-)
diff --git a/recipes/regression_tests/phase1/virtual_bridge_2_vlans_over_bond.py
b/recipes/regression_tests/phase1/virtual_bridge_2_vlans_over_bond.py
index 0f4103c..c2e9280 100644
--- a/recipes/regression_tests/phase1/virtual_bridge_2_vlans_over_bond.py
+++ b/recipes/regression_tests/phase1/virtual_bridge_2_vlans_over_bond.py
@@ -48,6 +48,7 @@ offloads = ["gso", "gro", "tso"]
ipv = ctl.get_alias("ipv")
netperf_duration = ctl.get_alias("netperf_duration")
mtu = ctl.get_alias("mtu")
+enable_udp_perf = ctl.get_alias("enable_udp_perf")
ping_mod = ctl.get_module("IcmpPing",
options={
@@ -244,7 +245,7 @@ for offload in offloads:
netperf_cli_tcp.update_options({'threshold': '%s
bits/sec' % baseline_throughput,
'threshold_deviation':
'%s bits/sec' % baseline_deviation})
# prepare PerfRepo result for udp
- if udp_ipv4_id is not None:
+ if enable_udp_perf is not None and udp_ipv4_id is not None:
result_udp = perf_api.new_result(udp_ipv4_id,
"udp_ipv4_result")
result_udp.set_parameter(offload, state)
if product_name is not None:
@@ -269,7 +270,8 @@ for offload in offloads:
server_proc = g1.run(netperf_srv, bg=True)
ctl.wait(2)
tcp_res_data = g3.run(netperf_cli_tcp, timeout = (int(netperf_duration) +
20)*5)
- udp_res_data = g3.run(netperf_cli_udp, timeout = (int(netperf_duration) +
20)*5)
+ if enable_udp_perf is not None:
+ udp_res_data = g3.run(netperf_cli_udp, timeout = (int(netperf_duration) +
20)*5)
server_proc.intr()
if result_tcp is not None and\
@@ -284,7 +286,8 @@ for offload in offloads:
result_tcp.add_value('throughput_deviation', deviation)
perf_api.save_result(result_tcp)
- if result_udp is not None and udp_res_data.get_result() is not None and\
+ if enable_udp_perf is not None and result_udp is not None and\
+ udp_res_data.get_result() is not None and\
udp_res_data.get_result()['res_data'] is not None:
rate = udp_res_data.get_result()['res_data']['rate']
deviation =
udp_res_data.get_result()['res_data']['rate_deviation']
@@ -327,7 +330,7 @@ for offload in offloads:
'threshold_deviation':
'%s bits/sec' % baseline_deviation})
# prepare PerfRepo result for udp ipv6
- if udp_ipv6_id is not None:
+ if enable_udp_perf is not None and udp_ipv6_id is not None:
result_udp = perf_api.new_result(udp_ipv6_id,
"udp_ipv6_result")
result_udp.set_parameter(offload, state)
if product_name is not None:
@@ -352,7 +355,8 @@ for offload in offloads:
server_proc = g1.run(netperf_srv6, bg=True)
ctl.wait(2)
tcp_res_data = g3.run(netperf_cli_tcp6, timeout = int(netperf_duration)*5 +
20)
- udp_res_data = g3.run(netperf_cli_udp6, timeout = int(netperf_duration)*5 +
20)
+ if enable_udp_perf is not None:
+ udp_res_data = g3.run(netperf_cli_udp6, timeout = int(netperf_duration)*5
+ 20)
server_proc.intr()
if result_tcp is not None and tcp_res_data.get_result() is not None and\
@@ -366,7 +370,8 @@ for offload in offloads:
result_tcp.add_value('throughput_deviation', deviation)
perf_api.save_result(result_tcp)
- if result_udp is not None and udp_res_data.get_result() is not None and\
+ if enable_udp_perf is not None and result_udp is not None and\
+ udp_res_data.get_result() is not None and\
udp_res_data.get_result()['res_data'] is not None:
rate = udp_res_data.get_result()['res_data']['rate']
deviation =
udp_res_data.get_result()['res_data']['rate_deviation']
diff --git a/recipes/regression_tests/phase1/virtual_bridge_vlan_in_guest.py
b/recipes/regression_tests/phase1/virtual_bridge_vlan_in_guest.py
index 135e8bb..79cddd3 100644
--- a/recipes/regression_tests/phase1/virtual_bridge_vlan_in_guest.py
+++ b/recipes/regression_tests/phase1/virtual_bridge_vlan_in_guest.py
@@ -42,6 +42,7 @@ offloads = ["gso", "gro", "tso"]
ipv = ctl.get_alias("ipv")
netperf_duration = ctl.get_alias("netperf_duration")
mtu = ctl.get_alias("mtu")
+enable_udp_perf = ctl.get_alias("enable_udp_perf")
ping_mod = ctl.get_module("IcmpPing",
options={
@@ -167,7 +168,7 @@ for offload in offloads:
netperf_cli_tcp.update_options({'threshold': '%s
bits/sec' % baseline_throughput,
'threshold_deviation':
'%s bits/sec' % baseline_deviation})
# prepare PerfRepo result for udp
- if udp_ipv4_id is not None:
+ if enable_udp_perf is not None and udp_ipv4_id is not None:
result_udp = perf_api.new_result(udp_ipv4_id,
"udp_ipv4_result")
result_udp.set_parameter(offload, state)
if product_name is not None:
@@ -192,7 +193,8 @@ for offload in offloads:
server_proc = g1.run(netperf_srv, bg=True)
ctl.wait(2)
tcp_res_data = h2.run(netperf_cli_tcp, timeout = int(netperf_duration)*5 +
20)
- udp_res_data = h2.run(netperf_cli_udp, timeout = int(netperf_duration)*5 +
20)
+ if enable_udp_perf is not None:
+ udp_res_data = h2.run(netperf_cli_udp, timeout = int(netperf_duration)*5
+ 20)
server_proc.intr()
@@ -208,7 +210,8 @@ for offload in offloads:
result_tcp.add_value('throughput_deviation', deviation)
perf_api.save_result(result_tcp)
- if result_udp is not None and udp_res_data.get_result() is not None and\
+ if enable_udp_perf is not None and result_udp is not None and\
+ udp_res_data.get_result() is not None and\
udp_res_data.get_result()['res_data'] is not None:
rate = udp_res_data.get_result()['res_data']['rate']
deviation =
udp_res_data.get_result()['res_data']['rate_deviation']
@@ -248,7 +251,7 @@ for offload in offloads:
'threshold_deviation':
'%s bits/sec' % baseline_deviation})
# prepare PerfRepo result for udp ipv6
- if udp_ipv6_id is not None:
+ if enable_udp_perf is not None and udp_ipv6_id is not None:
result_udp = perf_api.new_result(udp_ipv6_id,
"udp_ipv6_result")
result_udp.set_parameter(offload, state)
if product_name is not None:
@@ -288,7 +291,8 @@ for offload in offloads:
result_tcp.add_value('throughput_deviation', deviation)
perf_api.save_result(result_tcp)
- if result_udp is not None and udp_res_data.get_result() is not None and\
+ if enable_udp_perf is not None and result_udp is not None and\
+ udp_res_data.get_result() is not None and\
udp_res_data.get_result()['res_data'] is not None:
rate = udp_res_data.get_result()['res_data']['rate']
deviation =
udp_res_data.get_result()['res_data']['rate_deviation']
diff --git a/recipes/regression_tests/phase1/virtual_bridge_vlan_in_host.py
b/recipes/regression_tests/phase1/virtual_bridge_vlan_in_host.py
index 62fd95d..9a0b6bf 100644
--- a/recipes/regression_tests/phase1/virtual_bridge_vlan_in_host.py
+++ b/recipes/regression_tests/phase1/virtual_bridge_vlan_in_host.py
@@ -42,6 +42,7 @@ offloads = ["gso", "gro", "tso"]
ipv = ctl.get_alias("ipv")
netperf_duration = ctl.get_alias("netperf_duration")
mtu = ctl.get_alias("mtu")
+enable_udp_perf = ctl.get_alias("enable_udp_perf")
ping_mod = ctl.get_module("IcmpPing",
options={
@@ -167,7 +168,7 @@ for offload in offloads:
netperf_cli_tcp.update_options({'threshold': '%s
bits/sec' % baseline_throughput,
'threshold_deviation':
'%s bits/sec' % baseline_deviation})
# prepare PerfRepo result for udp
- if udp_ipv4_id is not None:
+ if enable_udp_perf is not None and udp_ipv4_id is not None:
result_udp = perf_api.new_result(udp_ipv4_id,
"udp_ipv4_result")
result_udp.set_parameter(offload, state)
if product_name is not None:
@@ -192,7 +193,9 @@ for offload in offloads:
server_proc = g1.run(netperf_srv, bg=True)
ctl.wait(2)
tcp_res_data = h2.run(netperf_cli_tcp, timeout = int(netperf_duration)*5 +
20)
- udp_res_data = h2.run(netperf_cli_udp, timeout = int(netperf_duration)*5 +
20)
+ if enable_udp_perf is not None:
+ udp_res_data = h2.run(netperf_cli_udp, timeout = int(netperf_duration)*5
+ 20)
+
server_proc.intr()
if result_tcp is not None and\
@@ -207,7 +210,8 @@ for offload in offloads:
result_tcp.add_value('throughput_deviation', deviation)
perf_api.save_result(result_tcp)
- if result_udp is not None and udp_res_data.get_result() is not None and\
+ if enable_udp_perf is not None and result_udp is not None and\
+ udp_res_data.get_result() is not None and\
udp_res_data.get_result()['res_data'] is not None:
rate = udp_res_data.get_result()['res_data']['rate']
deviation =
udp_res_data.get_result()['res_data']['rate_deviation']
@@ -247,7 +251,7 @@ for offload in offloads:
'threshold_deviation':
'%s bits/sec' % baseline_deviation})
# prepare PerfRepo result for udp ipv6
- if udp_ipv6_id is not None:
+ if enable_udp_perf is not None and udp_ipv6_id is not None:
result_udp = perf_api.new_result(udp_ipv6_id,
"udp_ipv6_result")
result_udp.set_parameter(offload, state)
if product_name is not None:
@@ -286,7 +290,8 @@ for offload in offloads:
result_tcp.add_value('throughput_deviation', deviation)
perf_api.save_result(result_tcp)
- if result_udp is not None and udp_res_data.get_result() is not None and\
+ if enable_udp_perf is not None and result_udp is not None and\
+ udp_res_data.get_result() is not None and\
udp_res_data.get_result()['res_data'] is not None:
rate = udp_res_data.get_result()['res_data']['rate']
deviation =
udp_res_data.get_result()['res_data']['rate_deviation']
--
2.1.0