From: Ondrej Lichtner <olichtne(a)redhat.com>
The regression tests will be ported into the lnst.Recipes.ENRT module
based on their versions on the master branch so I'm removing these
outdated xml recipes.
Signed-off-by: Ondrej Lichtner <olichtne(a)redhat.com>
---
.../regression_tests/phase1/3_vlans.README | 75 ---
recipes/regression_tests/phase1/3_vlans.py | 332 -------------
recipes/regression_tests/phase1/3_vlans.xml | 107 ----
.../3_vlans_over_active_backup_bond.README | 84 ----
.../3_vlans_over_active_backup_bond.xml | 121 -----
.../phase1/3_vlans_over_bond.py | 332 -------------
.../3_vlans_over_round_robin_bond.README | 84 ----
.../phase1/3_vlans_over_round_robin_bond.xml | 114 -----
.../phase1/active_backup_bond.README | 81 ---
.../phase1/active_backup_bond.xml | 50 --
.../phase1/active_backup_double_bond.README | 81 ---
.../phase1/active_backup_double_bond.xml | 60 ---
.../regression_tests/phase1/bonding_test.py | 305 ------------
.../regression_tests/phase1/ping_flood.README | 38 --
.../regression_tests/phase1/ping_flood.xml | 30 --
.../phase1/round_robin_bond.README | 81 ---
.../phase1/round_robin_bond.xml | 50 --
.../phase1/round_robin_double_bond.README | 81 ---
.../phase1/round_robin_double_bond.xml | 58 ---
.../phase1/simple_netperf.README | 72 ---
.../regression_tests/phase1/simple_netperf.py | 277 -----------
.../phase1/simple_netperf.xml | 39 --
.../regression_tests/phase1/simple_ping.py | 43 --
...dge_2_vlans_over_active_backup_bond.README | 106 ----
...bridge_2_vlans_over_active_backup_bond.xml | 174 -------
.../virtual_bridge_2_vlans_over_bond.py | 402 ---------------
.../virtual_bridge_vlan_in_guest.README | 82 ---
.../phase1/virtual_bridge_vlan_in_guest.py | 331 ------------
.../phase1/virtual_bridge_vlan_in_guest.xml | 80 ---
.../phase1/virtual_bridge_vlan_in_host.README | 82 ---
.../phase1/virtual_bridge_vlan_in_host.py | 331 ------------
.../phase1/virtual_bridge_vlan_in_host.xml | 80 ---
.../3_vlans_over_active_backup_team.README | 84 ----
.../3_vlans_over_active_backup_team.xml | 125 -----
.../3_vlans_over_round_robin_team.README | 84 ----
.../phase2/3_vlans_over_round_robin_team.xml | 118 -----
.../phase2/3_vlans_over_team.py | 332 -------------
.../phase2/active_backup_double_team.README | 81 ---
.../phase2/active_backup_double_team.xml | 68 ---
.../phase2/active_backup_team.README | 81 ---
.../phase2/active_backup_team.xml | 54 --
...e_backup_team_vs_active_backup_bond.README | 81 ---
...tive_backup_team_vs_active_backup_bond.xml | 64 ---
...ive_backup_team_vs_round_robin_bond.README | 81 ---
...active_backup_team_vs_round_robin_bond.xml | 64 ---
.../phase2/round_robin_double_team.README | 81 ---
.../phase2/round_robin_double_team.xml | 68 ---
.../phase2/round_robin_team.README | 81 ---
.../phase2/round_robin_team.xml | 52 --
...nd_robin_team_vs_active_backup_bond.README | 81 ---
...round_robin_team_vs_active_backup_bond.xml | 64 ---
...ound_robin_team_vs_round_robin_bond.README | 81 ---
.../round_robin_team_vs_round_robin_bond.xml | 64 ---
recipes/regression_tests/phase2/team_test.py | 470 ------------------
...dge_2_vlans_over_active_backup_bond.README | 77 ---
..._bridge_2_vlans_over_active_backup_bond.py | 381 --------------
...bridge_2_vlans_over_active_backup_bond.xml | 135 -----
.../virtual_ovs_bridge_vlan_in_guest.README | 55 --
.../virtual_ovs_bridge_vlan_in_guest.py | 319 ------------
.../virtual_ovs_bridge_vlan_in_guest.xml | 76 ---
.../virtual_ovs_bridge_vlan_in_host.README | 58 ---
.../phase2/virtual_ovs_bridge_vlan_in_host.py | 319 ------------
.../virtual_ovs_bridge_vlan_in_host.xml | 74 ---
.../phase3/2_virt_ovs_vxlan.README | 129 -----
.../phase3/2_virt_ovs_vxlan.py | 279 -----------
.../phase3/2_virt_ovs_vxlan.xml | 145 ------
.../phase3/novirt_ovs_vxlan.README | 93 ----
.../phase3/novirt_ovs_vxlan.py | 216 --------
.../phase3/novirt_ovs_vxlan.xml | 87 ----
.../phase3/vxlan_multicast.README | 118 -----
.../phase3/vxlan_multicast.py | 249 ----------
.../phase3/vxlan_multicast.xml | 99 ----
.../phase3/vxlan_remote.README | 86 ----
.../regression_tests/phase3/vxlan_remote.py | 215 --------
.../regression_tests/phase3/vxlan_remote.xml | 65 ---
75 files changed, 9897 deletions(-)
delete mode 100644 recipes/regression_tests/phase1/3_vlans.README
delete mode 100644 recipes/regression_tests/phase1/3_vlans.py
delete mode 100644 recipes/regression_tests/phase1/3_vlans.xml
delete mode 100644
recipes/regression_tests/phase1/3_vlans_over_active_backup_bond.README
delete mode 100644 recipes/regression_tests/phase1/3_vlans_over_active_backup_bond.xml
delete mode 100644 recipes/regression_tests/phase1/3_vlans_over_bond.py
delete mode 100644 recipes/regression_tests/phase1/3_vlans_over_round_robin_bond.README
delete mode 100644 recipes/regression_tests/phase1/3_vlans_over_round_robin_bond.xml
delete mode 100644 recipes/regression_tests/phase1/active_backup_bond.README
delete mode 100644 recipes/regression_tests/phase1/active_backup_bond.xml
delete mode 100644 recipes/regression_tests/phase1/active_backup_double_bond.README
delete mode 100644 recipes/regression_tests/phase1/active_backup_double_bond.xml
delete mode 100644 recipes/regression_tests/phase1/bonding_test.py
delete mode 100644 recipes/regression_tests/phase1/ping_flood.README
delete mode 100644 recipes/regression_tests/phase1/ping_flood.xml
delete mode 100644 recipes/regression_tests/phase1/round_robin_bond.README
delete mode 100644 recipes/regression_tests/phase1/round_robin_bond.xml
delete mode 100644 recipes/regression_tests/phase1/round_robin_double_bond.README
delete mode 100644 recipes/regression_tests/phase1/round_robin_double_bond.xml
delete mode 100644 recipes/regression_tests/phase1/simple_netperf.README
delete mode 100644 recipes/regression_tests/phase1/simple_netperf.py
delete mode 100644 recipes/regression_tests/phase1/simple_netperf.xml
delete mode 100644 recipes/regression_tests/phase1/simple_ping.py
delete mode 100644
recipes/regression_tests/phase1/virtual_bridge_2_vlans_over_active_backup_bond.README
delete mode 100644
recipes/regression_tests/phase1/virtual_bridge_2_vlans_over_active_backup_bond.xml
delete mode 100644 recipes/regression_tests/phase1/virtual_bridge_2_vlans_over_bond.py
delete mode 100644 recipes/regression_tests/phase1/virtual_bridge_vlan_in_guest.README
delete mode 100644 recipes/regression_tests/phase1/virtual_bridge_vlan_in_guest.py
delete mode 100644 recipes/regression_tests/phase1/virtual_bridge_vlan_in_guest.xml
delete mode 100644 recipes/regression_tests/phase1/virtual_bridge_vlan_in_host.README
delete mode 100644 recipes/regression_tests/phase1/virtual_bridge_vlan_in_host.py
delete mode 100644 recipes/regression_tests/phase1/virtual_bridge_vlan_in_host.xml
delete mode 100644
recipes/regression_tests/phase2/3_vlans_over_active_backup_team.README
delete mode 100644 recipes/regression_tests/phase2/3_vlans_over_active_backup_team.xml
delete mode 100644 recipes/regression_tests/phase2/3_vlans_over_round_robin_team.README
delete mode 100644 recipes/regression_tests/phase2/3_vlans_over_round_robin_team.xml
delete mode 100644 recipes/regression_tests/phase2/3_vlans_over_team.py
delete mode 100644 recipes/regression_tests/phase2/active_backup_double_team.README
delete mode 100644 recipes/regression_tests/phase2/active_backup_double_team.xml
delete mode 100644 recipes/regression_tests/phase2/active_backup_team.README
delete mode 100644 recipes/regression_tests/phase2/active_backup_team.xml
delete mode 100644
recipes/regression_tests/phase2/active_backup_team_vs_active_backup_bond.README
delete mode 100644
recipes/regression_tests/phase2/active_backup_team_vs_active_backup_bond.xml
delete mode 100644
recipes/regression_tests/phase2/active_backup_team_vs_round_robin_bond.README
delete mode 100644
recipes/regression_tests/phase2/active_backup_team_vs_round_robin_bond.xml
delete mode 100644 recipes/regression_tests/phase2/round_robin_double_team.README
delete mode 100644 recipes/regression_tests/phase2/round_robin_double_team.xml
delete mode 100644 recipes/regression_tests/phase2/round_robin_team.README
delete mode 100644 recipes/regression_tests/phase2/round_robin_team.xml
delete mode 100644
recipes/regression_tests/phase2/round_robin_team_vs_active_backup_bond.README
delete mode 100644
recipes/regression_tests/phase2/round_robin_team_vs_active_backup_bond.xml
delete mode 100644
recipes/regression_tests/phase2/round_robin_team_vs_round_robin_bond.README
delete mode 100644
recipes/regression_tests/phase2/round_robin_team_vs_round_robin_bond.xml
delete mode 100644 recipes/regression_tests/phase2/team_test.py
delete mode 100644
recipes/regression_tests/phase2/virtual_ovs_bridge_2_vlans_over_active_backup_bond.README
delete mode 100644
recipes/regression_tests/phase2/virtual_ovs_bridge_2_vlans_over_active_backup_bond.py
delete mode 100644
recipes/regression_tests/phase2/virtual_ovs_bridge_2_vlans_over_active_backup_bond.xml
delete mode 100644
recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_guest.README
delete mode 100644 recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_guest.py
delete mode 100644 recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_guest.xml
delete mode 100644
recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_host.README
delete mode 100644 recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_host.py
delete mode 100644 recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_host.xml
delete mode 100644 recipes/regression_tests/phase3/2_virt_ovs_vxlan.README
delete mode 100644 recipes/regression_tests/phase3/2_virt_ovs_vxlan.py
delete mode 100644 recipes/regression_tests/phase3/2_virt_ovs_vxlan.xml
delete mode 100644 recipes/regression_tests/phase3/novirt_ovs_vxlan.README
delete mode 100644 recipes/regression_tests/phase3/novirt_ovs_vxlan.py
delete mode 100644 recipes/regression_tests/phase3/novirt_ovs_vxlan.xml
delete mode 100644 recipes/regression_tests/phase3/vxlan_multicast.README
delete mode 100644 recipes/regression_tests/phase3/vxlan_multicast.py
delete mode 100644 recipes/regression_tests/phase3/vxlan_multicast.xml
delete mode 100644 recipes/regression_tests/phase3/vxlan_remote.README
delete mode 100644 recipes/regression_tests/phase3/vxlan_remote.py
delete mode 100644 recipes/regression_tests/phase3/vxlan_remote.xml
diff --git a/recipes/regression_tests/phase1/3_vlans.README
b/recipes/regression_tests/phase1/3_vlans.README
deleted file mode 100644
index b559a44..0000000
--- a/recipes/regression_tests/phase1/3_vlans.README
+++ /dev/null
@@ -1,75 +0,0 @@
-Topology:
-
- switch
- VLAN10 +------+ VLAN10
- +-------------------+ | | +-------------------+
- | VLAN20 | | | | VLAN20 |
- | +-------------------+ +-------------------+ |
- | | VLAN30 | | | | VLAN30 | |
- | | +-----------+ | | +-----------+ | |
- | | | +------+ | | |
- | | | | | |
- +-------+ +-------+
- | |
- +--+--+ +--+--+
-+----| eth |----+ +----| eth |----+
-| +-----+ | | +-----+ |
-| | | |
-| | | |
-| host1 | | host2 |
-| | | |
-| | | |
-| | | |
-+---------------+ +---------------+
-
-
-Number of hosts: 2
-Host #1 description:
- One ethernet device with 3 VLAN subinterfaces
-Host #2 description:
- One ethernet device with 3 VLAN subinterfaces
-Test name:
- 3_vlans.py
-Test description (3_vlans.py):
- Ping:
- + count: 100
- + interval: 0.1s
- + between interfaces in the same VLAN (these should pass)
- + between interfaces in different VLANs (these should fail)
- Netperf:
- + duration: 60s
- + TCP_STREAM and UDP_STREAM
- + between interfaces in the same VLAN
- Offloads:
- + TSO, GRO, GSO
- + tested both on/off variants
-
-PerfRepo integration:
- First, preparation in PerfRepo is required - you need to create Test objects
- through the web interface that properly describe the individual Netperf
- tests that this recipe runs. Don't forget to also add appropriate metrics.
- For these Netperf tests it's always:
- * throughput
- * throughput_min
- * throughput_max
- * throughput_deviation
-
- After that, to enable support for PerfRepo you need to create the file
- 3_vlans.mapping and define the following id mappings:
- tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
-
- To enable result comparison agains baselines you need to create a Report in
- PerfRepo that will store the baseline. Set up the Report to only contain results
- with the same hash tag and then add a new mapping to the mapping file, with
- this format:
- <some_hash> = <report_id>
-
- The hash value is automatically generated during test execution and added
- to each result stored in PerfRepo. To get the Report id you need to open
- that report in our browser and find if in the URL.
-
- When running this recipe you should also define the 'product_name' alias
- (e.g. RHEL7) in order to tag the result object in PerfRepo.
diff --git a/recipes/regression_tests/phase1/3_vlans.py
b/recipes/regression_tests/phase1/3_vlans.py
deleted file mode 100644
index 8144815..0000000
--- a/recipes/regression_tests/phase1/3_vlans.py
+++ /dev/null
@@ -1,332 +0,0 @@
-from lnst.Controller.Task import ctl
-from lnst.Controller.PerfRepoUtils import netperf_baseline_template
-from lnst.Controller.PerfRepoUtils import netperf_result_template
-
-from lnst.RecipeCommon.IRQ import pin_dev_irqs
-from lnst.RecipeCommon.PerfRepo import generate_perfrepo_comment
-
-# ------
-# SETUP
-# ------
-
-mapping_file = ctl.get_alias("mapping_file")
-perf_api = ctl.connect_PerfRepo(mapping_file)
-
-product_name = ctl.get_alias("product_name")
-
-m1 = ctl.get_host("testmachine1")
-m2 = ctl.get_host("testmachine2")
-
-m1.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-m2.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-
-# ------
-# TESTS
-# ------
-
-vlans = ["vlan10", "vlan20", "vlan30"]
-offloads = ["gro", "gso", "tso", "rx",
"tx"]
-offload_settings = [ [("gro", "on"), ("gso",
"on"), ("tso", "on"), ("tx", "on"),
("rx", "on")],
- [("gro", "off"), ("gso",
"on"), ("tso", "on"), ("tx", "on"),
("rx", "on")],
- [("gro", "on"), ("gso",
"off"), ("tso", "off"), ("tx", "on"),
("rx", "on")],
- [("gro", "on"), ("gso",
"on"), ("tso", "off"), ("tx", "off"),
("rx", "on")],
- [("gro", "on"), ("gso",
"on"), ("tso", "on"), ("tx", "on"),
("rx", "off")]]
-
-ipv = ctl.get_alias("ipv")
-mtu = ctl.get_alias("mtu")
-netperf_duration = int(ctl.get_alias("netperf_duration"))
-nperf_reserve = int(ctl.get_alias("nperf_reserve"))
-nperf_confidence = ctl.get_alias("nperf_confidence")
-nperf_max_runs = int(ctl.get_alias("nperf_max_runs"))
-nperf_cpupin = ctl.get_alias("nperf_cpupin")
-nperf_cpu_util = ctl.get_alias("nperf_cpu_util")
-nperf_mode = ctl.get_alias("nperf_mode")
-nperf_num_parallel = int(ctl.get_alias("nperf_num_parallel"))
-nperf_debug = ctl.get_alias("nperf_debug")
-nperf_max_dev = ctl.get_alias("nperf_max_dev")
-pr_user_comment = ctl.get_alias("perfrepo_comment")
-
-pr_comment = generate_perfrepo_comment([m1, m2], pr_user_comment)
-
-m1_phy1 = m1.get_interface("eth1")
-m1_phy1.set_mtu(mtu)
-m2_phy1 = m2.get_interface("eth1")
-m2_phy1.set_mtu(mtu)
-
-for vlan in vlans:
- vlan_if1 = m1.get_interface(vlan)
- vlan_if1.set_mtu(mtu)
- vlan_if2 = m2.get_interface(vlan)
- vlan_if2.set_mtu(mtu)
-
-if nperf_cpupin:
- m1.run("service irqbalance stop")
- m2.run("service irqbalance stop")
-
- # this will pin devices irqs to cpu #0
- for m, d in [ (m1, m1_phy1), (m2, m2_phy1) ]:
- pin_dev_irqs(m, d, 0)
-
-ctl.wait(15)
-
-ping_mod = ctl.get_module("IcmpPing",
- options={
- "count" : 100,
- "interval" : 0.1
- })
-ping_mod6 = ctl.get_module("Icmp6Ping",
- options={
- "count" : 100,
- "interval" : 0.1
- })
-
-m1_vlan1 = m1.get_interface(vlans[0])
-m2_vlan1 = m2.get_interface(vlans[0])
-
-p_opts = "-L %s" % (m2_vlan1.get_ip(0))
-if nperf_cpupin and nperf_mode != "multi":
- p_opts += " -T%s,%s" % (nperf_cpupin, nperf_cpupin)
-
-p_opts6 = "-L %s -6" % (m2_vlan1.get_ip(1))
-if nperf_cpupin and nperf_mode != "multi":
- p_opts6 += " -T%s,%s" % (nperf_cpupin, nperf_cpupin)
-
-netperf_srv = ctl.get_module("Netperf",
- options={
- "role" : "server",
- "bind": m1_vlan1.get_ip(0)
- })
-netperf_srv6 = ctl.get_module("Netperf",
- options={
- "role" : "server",
- "bind": m1_vlan1.get_ip(1),
- "netperf_opts" : " -6"
- })
-netperf_cli_tcp = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server": m1_vlan1.get_ip(0),
- "duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts": p_opts,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-netperf_cli_udp = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server": m1_vlan1.get_ip(0),
- "duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts": p_opts,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-netperf_cli_tcp6 = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server": m1_vlan1.get_ip(1),
- "duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts": p_opts6,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-netperf_cli_udp6 = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server": m1_vlan1.get_ip(1),
- "duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts": p_opts6,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-if nperf_mode == "multi":
- netperf_cli_tcp.unset_option("confidence")
- netperf_cli_udp.unset_option("confidence")
- netperf_cli_tcp6.unset_option("confidence")
- netperf_cli_udp6.unset_option("confidence")
-
- netperf_cli_tcp.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_udp.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_tcp6.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_udp6.update_options({"num_parallel": nperf_num_parallel})
-
-for setting in offload_settings:
- #apply offload setting
- dev_features = ""
- for offload in setting:
- dev_features += " %s %s" % (offload[0], offload[1])
-
- m1.run("ethtool -K %s %s" % (m1_phy1.get_devname(),
- dev_features))
- m2.run("ethtool -K %s %s" % (m2_phy1.get_devname(),
- dev_features))
- if ("rx", "off") in setting:
- # when rx offload is turned off some of the cards might get reset
- # and link goes down, so wait a few seconds until NIC is ready
- ctl.wait(15)
-
- # Ping test
- for vlan1 in vlans:
- m1_vlan1 = m1.get_interface(vlan1)
- for vlan2 in vlans:
- m2_vlan2 = m2.get_interface(vlan2)
-
- ping_mod.update_options({"addr": m2_vlan2.get_ip(0),
- "iface": m1_vlan1.get_devname()})
-
- ping_mod6.update_options({"addr": m2_vlan2.get_ip(1),
- "iface": m1_vlan1.get_ip(1)})
-
- if vlan1 == vlan2:
- # These tests should pass
- # Ping between same VLANs
- if ipv in [ 'ipv4', 'both' ]:
- m1.run(ping_mod)
-
- if ipv in [ 'ipv6', 'both' ]:
- m1.run(ping_mod6)
- else:
- # These tests should fail
- # Ping across different VLAN
- if ipv in [ 'ipv4', 'both' ]:
- m1.run(ping_mod, expect="fail")
-
- # Netperf test (both TCP and UDP)
- if ipv in [ 'ipv4', 'both' ]:
- srv_proc = m1.run(netperf_srv, bg=True)
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp
- result_tcp = perf_api.new_result("tcp_ipv4_id",
- "tcp_ipv4_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_tcp.set_parameter(offload[0], offload[1])
- result_tcp.set_parameter('netperf_server_on_vlan', vlans[0])
- result_tcp.set_parameter('netperf_client_on_vlan', vlans[0])
- result_tcp.add_tag(product_name)
- if nperf_mode == "multi":
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- netperf_baseline_template(netperf_cli_tcp, baseline)
-
- tcp_res_data = m2.run(netperf_cli_tcp,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp
- result_udp = perf_api.new_result("udp_ipv4_id",
- "udp_ipv4_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_udp.set_parameter(offload[0], offload[1])
- result_udp.set_parameter('netperf_server_on_vlan', vlans[0])
- result_udp.set_parameter('netperf_client_on_vlan', vlans[0])
- result_udp.add_tag(product_name)
- if nperf_mode == "multi":
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- netperf_baseline_template(netperf_cli_udp, baseline)
-
- udp_res_data = m2.run(netperf_cli_udp,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
- srv_proc.intr()
-
- if ipv in [ 'ipv6', 'both' ]:
- srv_proc = m1.run(netperf_srv6, bg=True)
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp ipv6
- result_tcp = perf_api.new_result("tcp_ipv6_id",
- "tcp_ipv6_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_tcp.set_parameter(offload[0], offload[1])
- result_tcp.set_parameter('netperf_server_on_vlan', vlans[0])
- result_tcp.set_parameter('netperf_client_on_vlan', vlans[0])
- result_tcp.set_tag(product_name)
- if nperf_mode == "multi":
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- netperf_baseline_template(netperf_cli_tcp6, baseline)
-
- tcp_res_data = m2.run(netperf_cli_tcp6,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp ipv6
- result_udp = perf_api.new_result("udp_ipv6_id",
- "udp_ipv6_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_udp.set_parameter(offload[0], offload[1])
- result_udp.set_parameter('netperf_server_on_vlan', vlans[0])
- result_udp.set_parameter('netperf_client_on_vlan', vlans[0])
- result_udp.set_tag(product_name)
- if nperf_mode == "multi":
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- netperf_baseline_template(netperf_cli_udp6, baseline)
-
- udp_res_data = m2.run(netperf_cli_udp6,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
- srv_proc.intr()
-
-#reset offload states
-dev_features = ""
-for offload in offloads:
- dev_features += " %s %s" % (offload, "on")
-m1.run("ethtool -K %s %s" % (m1_phy1.get_devname(), dev_features))
-m2.run("ethtool -K %s %s" % (m2_phy1.get_devname(), dev_features))
-
-if nperf_cpupin:
- m1.run("service irqbalance start")
- m2.run("service irqbalance start")
diff --git a/recipes/regression_tests/phase1/3_vlans.xml
b/recipes/regression_tests/phase1/3_vlans.xml
deleted file mode 100644
index 5c0f1fe..0000000
--- a/recipes/regression_tests/phase1/3_vlans.xml
+++ /dev/null
@@ -1,107 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="mtu" value="1500" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5"/>
- <alias name="nperf_mode" value="default"/>
- <alias name="nperf_num_parallel" value="2"/>
- <alias name="nperf_debug" value="0"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mapping_file" value="3_vlans.mapping" />
- <alias name="vlan10_net" value="192.168.10"/>
- <alias name="vlan10_tag" value="10"/>
- <alias name="vlan20_net" value="192.168.20"/>
- <alias name="vlan20_tag" value="20"/>
- <alias name="vlan30_net" value="192.168.30"/>
- <alias name="vlan30_tag" value="30"/>
- </define>
- <network>
- <host id="testmachine1">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <vlan id="vlan10">
- <options>
- <option name="vlan_tci"
value="{$vlan10_tag}" />
- </options>
- <slaves>
- <slave id="eth1" />
- </slaves>
- <addresses>
- <address value="{$vlan10_net}.1/24" />
- <address value="fc00:0:0:10::1/64" />
- </addresses>
- </vlan>
- <vlan id="vlan20">
- <options>
- <option name="vlan_tci"
value="{$vlan20_tag}" />
- </options>
- <slaves>
- <slave id="eth1" />
- </slaves>
- <addresses>
- <address value="{$vlan20_net}.1/24" />
- <address value="fc00:0:0:20::1/64" />
- </addresses>
- </vlan>
- <vlan id="vlan30">
- <options>
- <option name="vlan_tci"
value="{$vlan30_tag}" />
- </options>
- <slaves>
- <slave id="eth1" />
- </slaves>
- <addresses>
- <address value="{$vlan30_net}.1/24" />
- <address value="fc00:0:0:30::1/64" />
- </addresses>
- </vlan>
- </interfaces>
- </host>
- <host id="testmachine2">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <vlan id="vlan10">
- <options>
- <option name="vlan_tci"
value="{$vlan10_tag}" />
- </options>
- <slaves>
- <slave id="eth1" />
- </slaves>
- <addresses>
- <address value="{$vlan10_net}.2/24" />
- <address value="fc00:0:0:10::2/64" />
- </addresses>
- </vlan>
- <vlan id="vlan20">
- <options>
- <option name="vlan_tci"
value="{$vlan20_tag}" />
- </options>
- <slaves>
- <slave id="eth1" />
- </slaves>
- <addresses>
- <address value="{$vlan20_net}.2/24" />
- <address value="fc00:0:0:20::2/64" />
- </addresses>
- </vlan>
- <vlan id="vlan30">
- <options>
- <option name="vlan_tci"
value="{$vlan30_tag}" />
- </options>
- <slaves>
- <slave id="eth1" />
- </slaves>
- <addresses>
- <address value="{$vlan30_net}.2/24" />
- <address value="fc00:0:0:30::2/64" />
- </addresses>
- </vlan>
- </interfaces>
- </host>
- </network>
-
- <task python="3_vlans.py" />
-</lnstrecipe>
diff --git a/recipes/regression_tests/phase1/3_vlans_over_active_backup_bond.README
b/recipes/regression_tests/phase1/3_vlans_over_active_backup_bond.README
deleted file mode 100644
index 83e3537..0000000
--- a/recipes/regression_tests/phase1/3_vlans_over_active_backup_bond.README
+++ /dev/null
@@ -1,84 +0,0 @@
-Topology:
-
- switch
- VLAN10 +------+ VLAN10
- +-------------------+ | | +-------------------+
- | VLAN20 | | | | VLAN20 |
- | +-------------------+ +-------------------+ |
- | | VLAN30 | | | | VLAN30 | |
- | | +-----------+ | | +-----------+ | |
- | | | +------+ | | |
- | | | | | |
- +-------+ +-------+
- | |
- | |
- | |
- +----+---+ |
- | BOND | |
- +---++---+ |
- || |
- +--++--+ |
- | | |
- +--+-+ +-+--+ +--+-+
-+---|eth1|--|eth2|---+ +-------|eth1|-------+
-| +----+ +----+ | | +----+ |
-| | | |
-| | | |
-| host1 | | host2 |
-| | | |
-| | | |
-| | | |
-+--------------------+ +--------------------+
-
-Number of hosts: 2
-Host #1 description:
- Two ethernet devices, in active-backup bond mode
- 3 VLANs on bond interface
-Host #2 description:
- One ethernet device
- 3 VLANs on the ethernet interface
-Test name:
- 3_vlans_over_bond.py
-Test description:
- Ping:
- + count: 100
- + interval: 0.1s
- + between interfaces in the same VLAN (these should pass)
- + between interfaces in different VLANs (these should fail)
- Netperf:
- + duration: 60s
- + TCP_STREAM and UDP_STREAM
- + between interfaces in the same VLAN
- Offloads:
- + TSO, GRO, GSO
- + tested both on/off variants
-
-PerfRepo integration:
- First, preparation in PerfRepo is required - you need to create Test objects
- through the web interface that properly describe the individual Netperf
- tests that this recipe runs. Don't forget to also add appropriate metrics.
- For these Netperf tests it's always:
- * throughput
- * throughput_min
- * throughput_max
- * throughput_deviation
-
- After that, to enable support for PerfRepo you need to create the file
- 3_vlans_over_active_backup_bond.mapping and define the following id mappings:
- tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
-
- To enable result comparison agains baselines you need to create a Report in
- PerfRepo that will store the baseline. Set up the Report to only contain results
- with the same hash tag and then add a new mapping to the mapping file, with
- this format:
- <some_hash> = <report_id>
-
- The hash value is automatically generated during test execution and added
- to each result stored in PerfRepo. To get the Report id you need to open
- that report in our browser and find if in the URL.
-
- When running this recipe you should also define the 'product_name' alias
- (e.g. RHEL7) in order to tag the result object in PerfRepo.
diff --git a/recipes/regression_tests/phase1/3_vlans_over_active_backup_bond.xml
b/recipes/regression_tests/phase1/3_vlans_over_active_backup_bond.xml
deleted file mode 100644
index f9b4922..0000000
--- a/recipes/regression_tests/phase1/3_vlans_over_active_backup_bond.xml
+++ /dev/null
@@ -1,121 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="mtu" value="1500" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5"/>
- <alias name="nperf_mode" value="default"/>
- <alias name="nperf_num_parallel" value="2"/>
- <alias name="nperf_debug" value="0"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mapping_file"
value="3_vlans_over_active_backup_bond.mapping" />
- <alias name="vlan10_net" value="192.168.10"/>
- <alias name="vlan10_tag" value="10"/>
- <alias name="vlan20_net" value="192.168.20"/>
- <alias name="vlan20_tag" value="20"/>
- <alias name="vlan30_net" value="192.168.30"/>
- <alias name="vlan30_tag" value="30"/>
- </define>
- <network>
- <host id="testmachine1">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <eth id="eth2" label="tnet" />
- <bond id="test_bond">
- <options>
- <option name="mode" value="active-backup"
/>
- <option name="miimon" value="100" />
- </options>
- <slaves>
- <slave id="eth1" />
- <slave id="eth2" />
- </slaves>
- <addresses>
- <address value="2002::1/64" />
- </addresses>
- </bond>
- <vlan id="vlan10">
- <options>
- <option name="vlan_tci"
value="{$vlan10_tag}" />
- </options>
- <slaves>
- <slave id="test_bond" />
- </slaves>
- <addresses>
- <address value="{$vlan10_net}.1/24" />
- <address value="fc00:0:0:10::1/64" />
- </addresses>
- </vlan>
- <vlan id="vlan20">
- <options>
- <option name="vlan_tci"
value="{$vlan20_tag}" />
- </options>
- <slaves>
- <slave id="test_bond" />
- </slaves>
- <addresses>
- <address value="{$vlan20_net}.1/24" />
- <address value="fc00:0:0:20::1/64" />
- </addresses>
- </vlan>
- <vlan id="vlan30">
- <options>
- <option name="vlan_tci"
value="{$vlan30_tag}" />
- </options>
- <slaves>
- <slave id="test_bond" />
- </slaves>
- <addresses>
- <address value="{$vlan30_net}.1/24" />
- <address value="fc00:0:0:30::1/64" />
- </addresses>
- </vlan>
- </interfaces>
- </host>
- <host id="testmachine2">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <vlan id="vlan10">
- <options>
- <option name="vlan_tci"
value="{$vlan10_tag}" />
- </options>
- <slaves>
- <slave id="eth1" />
- </slaves>
- <addresses>
- <address value="{$vlan10_net}.2/24" />
- <address value="fc00:0:0:10::2/64" />
- </addresses>
- </vlan>
- <vlan id="vlan20">
- <options>
- <option name="vlan_tci"
value="{$vlan20_tag}" />
- </options>
- <slaves>
- <slave id="eth1" />
- </slaves>
- <addresses>
- <address value="{$vlan20_net}.2/24" />
- <address value="fc00:0:0:20::2/64" />
- </addresses>
- </vlan>
- <vlan id="vlan30">
- <options>
- <option name="vlan_tci"
value="{$vlan30_tag}" />
- </options>
- <slaves>
- <slave id="eth1" />
- </slaves>
- <addresses>
- <address value="{$vlan30_net}.2/24" />
- <address value="fc00:0:0:30::2/64" />
- </addresses>
- </vlan>
- </interfaces>
- </host>
- </network>
-
- <task python="3_vlans_over_bond.py" />
-</lnstrecipe>
diff --git a/recipes/regression_tests/phase1/3_vlans_over_bond.py
b/recipes/regression_tests/phase1/3_vlans_over_bond.py
deleted file mode 100644
index 41f2b95..0000000
--- a/recipes/regression_tests/phase1/3_vlans_over_bond.py
+++ /dev/null
@@ -1,332 +0,0 @@
-from lnst.Controller.Task import ctl
-from lnst.Controller.PerfRepoUtils import netperf_baseline_template
-from lnst.Controller.PerfRepoUtils import netperf_result_template
-
-from lnst.RecipeCommon.IRQ import pin_dev_irqs
-from lnst.RecipeCommon.PerfRepo import generate_perfrepo_comment
-
-# ------
-# SETUP
-# ------
-
-mapping_file = ctl.get_alias("mapping_file")
-perf_api = ctl.connect_PerfRepo(mapping_file)
-
-product_name = ctl.get_alias("product_name")
-
-m1 = ctl.get_host("testmachine1")
-m2 = ctl.get_host("testmachine2")
-
-m1.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-m2.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-
-# ------
-# TESTS
-# ------
-
-vlans = ["vlan10", "vlan20", "vlan30"]
-offloads = ["gro", "gso", "tso", "tx"]
-offload_settings = [ [("gro", "on"), ("gso",
"on"), ("tso", "on"), ("tx", "on")],
- [("gro", "off"), ("gso",
"on"), ("tso", "on"), ("tx", "on")],
- [("gro", "on"), ("gso",
"off"), ("tso", "off"), ("tx", "on")],
- [("gro", "on"), ("gso",
"on"), ("tso", "off"), ("tx", "off")]]
-
-ipv = ctl.get_alias("ipv")
-mtu = ctl.get_alias("mtu")
-netperf_duration = int(ctl.get_alias("netperf_duration"))
-nperf_reserve = int(ctl.get_alias("nperf_reserve"))
-nperf_confidence = ctl.get_alias("nperf_confidence")
-nperf_max_runs = int(ctl.get_alias("nperf_max_runs"))
-nperf_cpupin = ctl.get_alias("nperf_cpupin")
-nperf_cpu_util = ctl.get_alias("nperf_cpu_util")
-nperf_mode = ctl.get_alias("nperf_mode")
-nperf_num_parallel = int(ctl.get_alias("nperf_num_parallel"))
-nperf_debug = ctl.get_alias("nperf_debug")
-nperf_max_dev = ctl.get_alias("nperf_max_dev")
-pr_user_comment = ctl.get_alias("perfrepo_comment")
-
-pr_comment = generate_perfrepo_comment([m1, m2], pr_user_comment)
-
-m1_bond = m1.get_interface("test_bond")
-m1_bond.set_mtu(mtu)
-m1_phy1 = m1.get_interface("eth1")
-m1_phy2 = m1.get_interface("eth2")
-m2_phy1 = m2.get_interface("eth1")
-m2_phy1.set_mtu(mtu)
-
-for vlan in vlans:
- vlan_if1 = m1.get_interface(vlan)
- vlan_if1.set_mtu(mtu)
- vlan_if2 = m2.get_interface(vlan)
- vlan_if2.set_mtu(mtu)
-
-if nperf_cpupin:
- # this will pin devices irqs to cpu #0
- m1.run("service irqbalance stop")
- m2.run("service irqbalance stop")
-
- for m, d in [ (m1, m1_phy1), (m1, m1_phy2), (m2, m2_phy1) ]:
- pin_dev_irqs(m, d, 0)
-
-ctl.wait(15)
-
-ping_mod = ctl.get_module("IcmpPing",
- options={
- "count" : 100,
- "interval" : 0.1
- })
-ping_mod6 = ctl.get_module("Icmp6Ping",
- options={
- "count" : 100,
- "interval" : 0.1
- })
-
-m1_vlan1 = m1.get_interface(vlans[0])
-m2_vlan1 = m2.get_interface(vlans[0])
-
-p_opts = "-L %s" % (m2_vlan1.get_ip(0))
-if nperf_cpupin and nperf_mode != "multi":
- p_opts += " -T%s,%s" % (nperf_cpupin, nperf_cpupin)
-
-p_opts6 = "-L %s -6" % (m2_vlan1.get_ip(1))
-if nperf_cpupin and nperf_mode != "multi":
- p_opts6 += " -T%s,%s" % (nperf_cpupin, nperf_cpupin)
-
-netperf_srv = ctl.get_module("Netperf",
- options={
- "role" : "server",
- "bind": m1_vlan1.get_ip(0)
- })
-netperf_srv6 = ctl.get_module("Netperf",
- options={
- "role" : "server",
- "bind": m1_vlan1.get_ip(1),
- "netperf_opts" : " -6"
- })
-netperf_cli_tcp = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server": m1_vlan1.get_ip(0),
- "duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts": p_opts,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-netperf_cli_udp = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server": m1_vlan1.get_ip(0),
- "duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts": p_opts,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-netperf_cli_tcp6 = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server": m1_vlan1.get_ip(1),
- "duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts": p_opts6,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-netperf_cli_udp6 = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server": m1_vlan1.get_ip(1),
- "duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts": p_opts6,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-if nperf_mode == "multi":
- netperf_cli_tcp.unset_option("confidence")
- netperf_cli_udp.unset_option("confidence")
- netperf_cli_tcp6.unset_option("confidence")
- netperf_cli_udp6.unset_option("confidence")
-
- netperf_cli_tcp.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_udp.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_tcp6.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_udp6.update_options({"num_parallel": nperf_num_parallel})
-
-for setting in offload_settings:
- #apply offload setting
- dev_features = ""
- for offload in setting:
- dev_features += " %s %s" % (offload[0], offload[1])
-
- m1.run("ethtool -K %s %s" % (m1_phy1.get_devname(),
- dev_features))
- m1.run("ethtool -K %s %s" % (m1_phy2.get_devname(),
- dev_features))
- m2.run("ethtool -K %s %s" % (m2_phy1.get_devname(),
- dev_features))
-
- # Ping test
- for vlan1 in vlans:
- m1_vlan1 = m1.get_interface(vlan1)
- for vlan2 in vlans:
- m2_vlan2 = m2.get_interface(vlan2)
-
- ping_mod.update_options({"addr": m2_vlan2.get_ip(0),
- "iface": m1_vlan1.get_devname()})
-
- ping_mod6.update_options({"addr": m2_vlan2.get_ip(1),
- "iface": m1_vlan1.get_ip(1)})
-
- if vlan1 == vlan2:
- # These tests should pass
- # Ping between same VLANs
- if ipv in [ 'ipv4', 'both' ]:
- m1.run(ping_mod)
-
- if ipv in [ 'ipv6', 'both' ]:
- m1.run(ping_mod6)
- else:
- # These tests should fail
- # Ping across different VLAN
- if ipv in [ 'ipv4', 'both' ]:
- m1.run(ping_mod, expect="fail")
-
- # Netperf test (both TCP and UDP)
- if ipv in [ 'ipv4', 'both' ]:
- srv_proc = m1.run(netperf_srv, bg=True)
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp
- result_tcp = perf_api.new_result("tcp_ipv4_id",
- "tcp_ipv4_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_tcp.set_parameter(offload[0], offload[1])
- result_tcp.set_parameter('netperf_server_on_vlan', vlans[0])
- result_tcp.set_parameter('netperf_client_on_vlan', vlans[0])
- result_tcp.add_tag(product_name)
- if nperf_mode == "multi":
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- netperf_baseline_template(netperf_cli_tcp, baseline)
-
- tcp_res_data = m2.run(netperf_cli_tcp,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp
- result_udp = perf_api.new_result("udp_ipv4_id",
- "udp_ipv4_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_udp.set_parameter(offload[0], offload[1])
- result_udp.set_parameter('netperf_server_on_vlan', vlans[0])
- result_udp.set_parameter('netperf_client_on_vlan', vlans[0])
- result_udp.add_tag(product_name)
- if nperf_mode == "multi":
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- netperf_baseline_template(netperf_cli_udp, baseline)
-
- udp_res_data = m2.run(netperf_cli_udp,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
- srv_proc.intr()
-
- if ipv in [ 'ipv6', 'both' ]:
- srv_proc = m1.run(netperf_srv6, bg=True)
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp ipv6
- result_tcp = perf_api.new_result("tcp_ipv6_id",
- "tcp_ipv6_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_tcp.set_parameter(offload[0], offload[1])
- result_tcp.set_parameter('netperf_server_on_vlan', vlans[0])
- result_tcp.set_parameter('netperf_client_on_vlan', vlans[0])
- result_tcp.add_tag(product_name)
- if nperf_mode == "multi":
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- netperf_baseline_template(netperf_cli_tcp6, baseline)
-
- tcp_res_data = m2.run(netperf_cli_tcp6,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp ipv6
- result_udp = perf_api.new_result("udp_ipv6_id",
- "udp_ipv6_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_udp.set_parameter(offload[0], offload[1])
- result_udp.set_parameter('netperf_server_on_vlan', vlans[0])
- result_udp.set_parameter('netperf_client_on_vlan', vlans[0])
- result_udp.add_tag(product_name)
- if nperf_mode == "multi":
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- netperf_baseline_template(netperf_cli_udp6, baseline)
-
- udp_res_data = m2.run(netperf_cli_udp6,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
- srv_proc.intr()
-
-#reset offload states
-dev_features = ""
-for offload in offloads:
- dev_features += " %s %s" % (offload, "on")
-m1.run("ethtool -K %s %s" % (m1_phy1.get_devname(), dev_features))
-m1.run("ethtool -K %s %s" % (m1_phy2.get_devname(), dev_features))
-m2.run("ethtool -K %s %s" % (m2_phy1.get_devname(), dev_features))
-
-if nperf_cpupin:
- m1.run("service irqbalance start")
- m2.run("service irqbalance start")
diff --git a/recipes/regression_tests/phase1/3_vlans_over_round_robin_bond.README
b/recipes/regression_tests/phase1/3_vlans_over_round_robin_bond.README
deleted file mode 100644
index ad18ae7..0000000
--- a/recipes/regression_tests/phase1/3_vlans_over_round_robin_bond.README
+++ /dev/null
@@ -1,84 +0,0 @@
-Topology:
-
- switch
- VLAN10 +------+ VLAN10
- +-------------------+ | | +-------------------+
- | VLAN20 | | | | VLAN20 |
- | +-------------------+ +-------------------+ |
- | | VLAN30 | | | | VLAN30 | |
- | | +-----------+ | | +-----------+ | |
- | | | +------+ | | |
- | | | | | |
- +-------+ +-------+
- | |
- | |
- | |
- +----+---+ |
- | BOND | |
- +---++---+ |
- || |
- +--++--+ |
- | | |
- +--+-+ +-+--+ +--+-+
-+---|eth1|--|eth2|---+ +-------|eth1|-------+
-| +----+ +----+ | | +----+ |
-| | | |
-| | | |
-| host1 | | host2 |
-| | | |
-| | | |
-| | | |
-+--------------------+ +--------------------+
-
-Number of hosts: 2
-Host #1 description:
- Two ethernet devices, in round-robin bond mode
- 3 VLANs on bond interface
-Host #2 description:
- One ethernet device
- 3 VLANs on the ethernet interface
-Test name:
- 3_vlans_over_bond.py
-Test description:
- Ping:
- + count: 100
- + interval: 0.1s
- + between interfaces in the same VLAN (these should pass)
- + between interfaces in different VLANs (these should fail)
- Netperf:
- + duration: 60s
- + TCP_STREAM and UDP_STREAM
- + between interfaces in the same VLAN
- Offloads:
- + TSO, GRO, GSO
- + tested both on/off variants
-
-PerfRepo integration:
- First, preparation in PerfRepo is required - you need to create Test objects
- through the web interface that properly describe the individual Netperf
- tests that this recipe runs. Don't forget to also add appropriate metrics.
- For these Netperf tests it's always:
- * throughput
- * throughput_min
- * throughput_max
- * throughput_deviation
-
- After that, to enable support for PerfRepo you need to create the file
- 3_vlans_over_round_robin_bond.mapping and define the following id mappings:
- tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
-
- To enable result comparison agains baselines you need to create a Report in
- PerfRepo that will store the baseline. Set up the Report to only contain results
- with the same hash tag and then add a new mapping to the mapping file, with
- this format:
- <some_hash> = <report_id>
-
- The hash value is automatically generated during test execution and added
- to each result stored in PerfRepo. To get the Report id you need to open
- that report in our browser and find if in the URL.
-
- When running this recipe you should also define the 'product_name' alias
- (e.g. RHEL7) in order to tag the result object in PerfRepo.
diff --git a/recipes/regression_tests/phase1/3_vlans_over_round_robin_bond.xml
b/recipes/regression_tests/phase1/3_vlans_over_round_robin_bond.xml
deleted file mode 100644
index d22fa7b..0000000
--- a/recipes/regression_tests/phase1/3_vlans_over_round_robin_bond.xml
+++ /dev/null
@@ -1,114 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="mtu" value="1500" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5"/>
- <alias name="nperf_mode" value="default"/>
- <alias name="nperf_num_parallel" value="2"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mapping_file"
value="3_vlans_over_round_robin_bond.mapping" />
- </define>
- <network>
- <host id="testmachine1">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <eth id="eth2" label="tnet" />
- <bond id="test_bond">
- <options>
- <option name="mode" value="balance-rr"
/>
- <option name="miimon" value="100" />
- </options>
- <slaves>
- <slave id="eth1" />
- <slave id="eth2" />
- </slaves>
- <addresses>
- <address value="1.2.3.4/24" />
- </addresses>
- </bond>
- <vlan id="vlan10">
- <options>
- <option name="vlan_tci" value="10" />
- </options>
- <slaves>
- <slave id="test_bond" />
- </slaves>
- <addresses>
- <address value="192.168.10.1/24" />
- <address value="2002::10:1/64" />
- </addresses>
- </vlan>
- <vlan id="vlan20">
- <options>
- <option name="vlan_tci" value="20" />
- </options>
- <slaves>
- <slave id="test_bond" />
- </slaves>
- <addresses>
- <address value="192.168.20.1/24" />
- <address value="2002::20:1/64" />
- </addresses>
- </vlan>
- <vlan id="vlan30">
- <options>
- <option name="vlan_tci" value="30" />
- </options>
- <slaves>
- <slave id="test_bond" />
- </slaves>
- <addresses>
- <address value="192.168.30.1/24" />
- <address value="2002::30:1/64" />
- </addresses>
- </vlan>
- </interfaces>
- </host>
- <host id="testmachine2">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <vlan id="vlan10">
- <options>
- <option name="vlan_tci" value="10" />
- </options>
- <slaves>
- <slave id="eth1" />
- </slaves>
- <addresses>
- <address value="192.168.10.2/24" />
- <address value="2002::10:2/64" />
- </addresses>
- </vlan>
- <vlan id="vlan20">
- <options>
- <option name="vlan_tci" value="20" />
- </options>
- <slaves>
- <slave id="eth1" />
- </slaves>
- <addresses>
- <address value="192.168.20.2/24" />
- <address value="2002::20:2/64" />
- </addresses>
- </vlan>
- <vlan id="vlan30">
- <options>
- <option name="vlan_tci" value="30" />
- </options>
- <slaves>
- <slave id="eth1" />
- </slaves>
- <addresses>
- <address value="192.168.30.2/24" />
- <address value="2002::30:2/64" />
- </addresses>
- </vlan>
- </interfaces>
- </host>
- </network>
-
- <task python="3_vlans_over_bond.py" />
-</lnstrecipe>
diff --git a/recipes/regression_tests/phase1/active_backup_bond.README
b/recipes/regression_tests/phase1/active_backup_bond.README
deleted file mode 100644
index 5cc8c2d..0000000
--- a/recipes/regression_tests/phase1/active_backup_bond.README
+++ /dev/null
@@ -1,81 +0,0 @@
-Topology:
-
- switch
- +------+
- | |
- | |
- +-------------------+ +------------------+
- | | | |
- | | | |
- | +------+ |
- | |
- | |
- | |
- | |
- | |
- +----+---+ |
- | BOND | |
- +---++---+ |
- || |
- +--++--+ |
- | | |
- +--+-+ +-+--+ +-+--+
-+---|eth1|--|eth2|---+ +-------|eth1|------+
-| +----+ +----+ | | +----+ |
-| | | |
-| | | |
-| host1 | | host2 |
-| | | |
-| | | |
-| | | |
-+--------------------+ +-------------------+
-
-Number of hosts: 2
-Host #1 description:
- Two ethernet devices, in active-backup bond mode
-Host #2 description:
- One ethernet device
-Test name:
- bonding_test.py
-Test description:
- Ping:
- + count: 100
- + interval: 0.1s
- + from both sides
- Netperf:
- + duration: 60s
- + TCP_STREAM and UDP_STREAM
- + from both sides
- Offloads:
- + TSO, GRO, GSO
- + tested both on/off variants
-
-PerfRepo integration:
- First, preparation in PerfRepo is required - you need to create Test objects
- through the web interface that properly describe the individual Netperf
- tests that this recipe runs. Don't forget to also add appropriate metrics.
- For these Netperf tests it's always:
- * throughput
- * throughput_min
- * throughput_max
- * throughput_deviation
-
- After that, to enable support for PerfRepo you need to create the file
- active_backup_bond.mapping and define the following id mappings:
- tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
-
- To enable result comparison agains baselines you need to create a Report in
- PerfRepo that will store the baseline. Set up the Report to only contain results
- with the same hash tag and then add a new mapping to the mapping file, with
- this format:
- <some_hash> = <report_id>
-
- The hash value is automatically generated during test execution and added
- to each result stored in PerfRepo. To get the Report id you need to open
- that report in our browser and find if in the URL.
-
- When running this recipe you should also define the 'product_name' alias
- (e.g. RHEL7) in order to tag the result object in PerfRepo.
diff --git a/recipes/regression_tests/phase1/active_backup_bond.xml
b/recipes/regression_tests/phase1/active_backup_bond.xml
deleted file mode 100644
index 0b79f4c..0000000
--- a/recipes/regression_tests/phase1/active_backup_bond.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="mtu" value="1500" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5"/>
- <alias name="nperf_mode" value="default"/>
- <alias name="nperf_num_parallel" value="2"/>
- <alias name="nperf_debug" value="0"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mapping_file"
value="active_backup_bond.mapping" />
- <alias name="net" value="192.168.0"/>
- </define>
- <network>
- <host id="testmachine1">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <eth id="eth2" label="tnet" />
- <bond id="test_if">
- <options>
- <option name="mode" value="active-backup"
/>
- <option name="miimon" value="100" />
- </options>
- <slaves>
- <slave id="eth1" />
- <slave id="eth2" />
- </slaves>
- <addresses>
- <address value="{$net}.1/24" />
- <address value="fc00:0:0:0::1/64"/>
- </addresses>
- </bond>
- </interfaces>
- </host>
- <host id="testmachine2">
- <interfaces>
- <eth id="test_if" label="tnet">
- <addresses>
- <address value="{$net}.2/24" />
- <address value="fc00:0:0:0::2/64"/>
- </addresses>
- </eth>
- </interfaces>
- </host>
- </network>
-
- <task python="bonding_test.py" />
-</lnstrecipe>
diff --git a/recipes/regression_tests/phase1/active_backup_double_bond.README
b/recipes/regression_tests/phase1/active_backup_double_bond.README
deleted file mode 100644
index fdb2368..0000000
--- a/recipes/regression_tests/phase1/active_backup_double_bond.README
+++ /dev/null
@@ -1,81 +0,0 @@
-Topology:
-
- switch
- +------+
- | |
- | |
- +-------------------+ +-------------------+
- | | | |
- | | | |
- | +------+ |
- | |
- | |
- | |
- | |
- | |
- +----+---+ +----+---+
- | BOND | | BOND |
- +---++---+ +---++---+
- || ||
- +--++--+ +--++--+
- | | | |
- +--+-+ +-+--+ +--+-+ +-+--+
-+---|eth1|--|eth2|---+ +---|eth1|--|eth2|---+
-| +----+ +----+ | | +----+ +----+ |
-| | | |
-| | | |
-| host1 | | host2 |
-| | | |
-| | | |
-| | | |
-+--------------------+ +--------------------+
-
-Number of hosts: 2
-Host #1 description:
- Two ethernet devices, in active-backup bond mode
-Host #2 description:
- Two ethernet devices, in active-backup bond mode
-Test name:
- bonding_test.py
-Test description:
- Ping:
- + count: 100
- + interval: 0.1s
- + from both sides
- Netperf:
- + duration: 60s
- + TCP_STREAM and UDP_STREAM
- + from both sides
- Offloads:
- + TSO, GRO, GSO
- + tested both on/off variants
-
-PerfRepo integration:
- First, preparation in PerfRepo is required - you need to create Test objects
- through the web interface that properly describe the individual Netperf
- tests that this recipe runs. Don't forget to also add appropriate metrics.
- For these Netperf tests it's always:
- * throughput
- * throughput_min
- * throughput_max
- * throughput_deviation
-
- After that, to enable support for PerfRepo you need to create the file
- active_backup_double_bond.mapping and define the following id mappings:
- tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
-
- To enable result comparison agains baselines you need to create a Report in
- PerfRepo that will store the baseline. Set up the Report to only contain results
- with the same hash tag and then add a new mapping to the mapping file, with
- this format:
- <some_hash> = <report_id>
-
- The hash value is automatically generated during test execution and added
- to each result stored in PerfRepo. To get the Report id you need to open
- that report in our browser and find if in the URL.
-
- When running this recipe you should also define the 'product_name' alias
- (e.g. RHEL7) in order to tag the result object in PerfRepo.
diff --git a/recipes/regression_tests/phase1/active_backup_double_bond.xml
b/recipes/regression_tests/phase1/active_backup_double_bond.xml
deleted file mode 100644
index bc39db8..0000000
--- a/recipes/regression_tests/phase1/active_backup_double_bond.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="mtu" value="1500" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5"/>
- <alias name="nperf_mode" value="default"/>
- <alias name="nperf_num_parallel" value="2"/>
- <alias name="nperf_debug" value="0"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mapping_file"
value="active_backup_double_bond.mapping" />
- <alias name="net" value="192.168.0"/>
- </define>
- <network>
- <host id="testmachine1">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <eth id="eth2" label="tnet" />
- <bond id="test_if">
- <options>
- <option name="mode" value="active-backup"
/>
- <option name="miimon" value="100" />
- </options>
- <slaves>
- <slave id="eth1" />
- <slave id="eth2" />
- </slaves>
- <addresses>
- <address value="{$net}.1/24" />
- <address value="fc00:0:0:0::1/64"/>
- </addresses>
- </bond>
- </interfaces>
- </host>
- <host id="testmachine2">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <eth id="eth2" label="tnet" />
- <bond id="test_if">
- <options>
- <option name="mode" value="active-backup"
/>
- <option name="miimon" value="100" />
- </options>
- <slaves>
- <slave id="eth1" />
- <slave id="eth2" />
- </slaves>
- <addresses>
- <address value="{$net}.2/24" />
- <address value="fc00:0:0:0::2/64"/>
- </addresses>
- </bond>
- </interfaces>
- </host>
- </network>
-
- <task python="bonding_test.py" />
-</lnstrecipe>
diff --git a/recipes/regression_tests/phase1/bonding_test.py
b/recipes/regression_tests/phase1/bonding_test.py
deleted file mode 100644
index 39e7df8..0000000
--- a/recipes/regression_tests/phase1/bonding_test.py
+++ /dev/null
@@ -1,305 +0,0 @@
-from lnst.Controller.Task import ctl
-from lnst.Controller.PerfRepoUtils import netperf_baseline_template
-from lnst.Controller.PerfRepoUtils import netperf_result_template
-
-from lnst.RecipeCommon.IRQ import pin_dev_irqs
-from lnst.RecipeCommon.PerfRepo import generate_perfrepo_comment
-
-# ------
-# SETUP
-# ------
-
-mapping_file = ctl.get_alias("mapping_file")
-perf_api = ctl.connect_PerfRepo(mapping_file)
-
-product_name = ctl.get_alias("product_name")
-
-m1 = ctl.get_host("testmachine1")
-m2 = ctl.get_host("testmachine2")
-
-m1.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-m2.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-
-
-# ------
-# TESTS
-# ------
-
-offloads = ["gro", "gso", "tso", "tx"]
-offload_settings = [ [("gro", "on"), ("gso",
"on"), ("tso", "on"), ("tx", "on")],
- [("gro", "off"), ("gso",
"on"), ("tso", "on"), ("tx", "on")],
- [("gro", "on"), ("gso",
"off"), ("tso", "off"), ("tx", "on")],
- [("gro", "on"), ("gso",
"on"), ("tso", "off"), ("tx", "off")]]
-
-ipv = ctl.get_alias("ipv")
-mtu = ctl.get_alias("mtu")
-netperf_duration = int(ctl.get_alias("netperf_duration"))
-nperf_reserve = int(ctl.get_alias("nperf_reserve"))
-nperf_confidence = ctl.get_alias("nperf_confidence")
-nperf_max_runs = int(ctl.get_alias("nperf_max_runs"))
-nperf_cpupin = ctl.get_alias("nperf_cpupin")
-nperf_cpu_util = ctl.get_alias("nperf_cpu_util")
-nperf_mode = ctl.get_alias("nperf_mode")
-nperf_num_parallel = int(ctl.get_alias("nperf_num_parallel"))
-nperf_debug = ctl.get_alias("nperf_debug")
-nperf_max_dev = ctl.get_alias("nperf_max_dev")
-pr_user_comment = ctl.get_alias("perfrepo_comment")
-
-pr_comment = generate_perfrepo_comment([m1, m2], pr_user_comment)
-
-test_if1 = m1.get_interface("test_if")
-test_if1.set_mtu(mtu)
-test_if2 = m2.get_interface("test_if")
-test_if2.set_mtu(mtu)
-
-if nperf_cpupin:
- m1.run("service irqbalance stop")
- m2.run("service irqbalance stop")
-
- m1_phy1 = m1.get_interface("eth1")
- m1_phy2 = m1.get_interface("eth2")
- dev_list = [(m1, m1_phy1), (m1, m1_phy2)]
-
- if test_if2.get_type() == "bond":
- m2_phy1 = m2.get_interface("eth1")
- m2_phy2 = m2.get_interface("eth2")
- dev_list.extend([(m2, m2_phy1), (m2, m2_phy2)])
- else:
- dev_list.append((m2, test_if2))
-
- # this will pin devices irqs to cpu #0
- for m, d in dev_list:
- pin_dev_irqs(m, d, 0)
-
-ping_mod = ctl.get_module("IcmpPing",
- options={
- "addr" : test_if2.get_ip(0),
- "count" : 100,
- "iface" : test_if1.get_devname(),
- "interval" : 0.1
- })
-
-ping_mod6 = ctl.get_module("Icmp6Ping",
- options={
- "addr" : test_if2.get_ip(1),
- "count" : 100,
- "iface" : test_if1.get_devname(),
- "interval" : 0.1
- })
-
-netperf_srv = ctl.get_module("Netperf",
- options = {
- "role" : "server",
- "bind" : test_if1.get_ip(0)
- })
-
-netperf_srv6 = ctl.get_module("Netperf",
- options={
- "role" : "server",
- "bind" : test_if1.get_ip(1),
- "netperf_opts" : " -6"
- })
-
-p_opts = "-L %s" % (test_if2.get_ip(0))
-if nperf_cpupin and nperf_mode != "multi":
- p_opts += " -T%s,%s" % (nperf_cpupin, nperf_cpupin)
-
-p_opts6 = "-L %s -6" % (test_if2.get_ip(1))
-if nperf_cpupin and nperf_mode != "multi":
- p_opts6 += " -T%s,%s" % (nperf_cpupin, nperf_cpupin)
-
-netperf_cli_tcp = ctl.get_module("Netperf",
- options = {
- "role" : "client",
- "netperf_server" : test_if1.get_ip(0),
- "duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : p_opts,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-netperf_cli_udp = ctl.get_module("Netperf",
- options = {
- "role" : "client",
- "netperf_server" : test_if1.get_ip(0),
- "duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : p_opts,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-netperf_cli_tcp6 = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
- test_if1.get_ip(1),
- "duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : p_opts6,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-netperf_cli_udp6 = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
- test_if1.get_ip(1),
- "duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : p_opts6,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-if nperf_mode == "multi":
- netperf_cli_tcp.unset_option("confidence")
- netperf_cli_udp.unset_option("confidence")
- netperf_cli_tcp6.unset_option("confidence")
- netperf_cli_udp6.unset_option("confidence")
-
- netperf_cli_tcp.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_udp.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_tcp6.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_udp6.update_options({"num_parallel": nperf_num_parallel})
-
-ctl.wait(15)
-
-for setting in offload_settings:
- dev_features = ""
- for offload in setting:
- dev_features += " %s %s" % (offload[0], offload[1])
- m1.run("ethtool -K %s %s" % (test_if1.get_devname(), dev_features))
- m2.run("ethtool -K %s %s" % (test_if2.get_devname(), dev_features))
-
- if ipv in [ 'ipv4', 'both' ]:
- m1.run(ping_mod)
-
- server_proc = m1.run(netperf_srv, bg=True)
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp
- result_tcp = perf_api.new_result("tcp_ipv4_id",
- "tcp_ipv4_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_tcp.set_parameter(offload[0], offload[1])
- result_tcp.add_tag(product_name)
- if nperf_mode == "multi":
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- netperf_baseline_template(netperf_cli_tcp, baseline)
-
- tcp_res_data = m2.run(netperf_cli_tcp,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp
- result_udp = perf_api.new_result("udp_ipv4_id",
- "udp_ipv4_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_udp.set_parameter(offload[0], offload[1])
- result_udp.add_tag(product_name)
- if nperf_mode == "multi":
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- netperf_baseline_template(netperf_cli_udp, baseline)
-
- udp_res_data = m2.run(netperf_cli_udp,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
- server_proc.intr()
-
- if ipv in [ 'ipv6', 'both' ]:
- m1.run(ping_mod6)
-
- server_proc = m1.run(netperf_srv6, bg=True)
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp ipv6
- result_tcp = perf_api.new_result("tcp_ipv6_id",
- "tcp_ipv6_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_tcp.set_parameter(offload[0], offload[1])
- result_tcp.add_tag(product_name)
- if nperf_mode == "multi":
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- netperf_baseline_template(netperf_cli_tcp6, baseline)
-
- tcp_res_data = m2.run(netperf_cli_tcp6,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp ipv6
- result_udp = perf_api.new_result("udp_ipv6_id",
- "udp_ipv6_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_udp.set_parameter(offload[0], offload[1])
- result_udp.add_tag(product_name)
- if nperf_mode == "multi":
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- netperf_baseline_template(netperf_cli_udp6, baseline)
-
- udp_res_data = m2.run(netperf_cli_udp6,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
- server_proc.intr()
-
-#reset offload states
-dev_features = ""
-for offload in offloads:
- dev_features += " %s %s" % (offload, "on")
-m1.run("ethtool -K %s %s" % (test_if1.get_devname(), dev_features))
-m2.run("ethtool -K %s %s" % (test_if2.get_devname(), dev_features))
-
-if nperf_cpupin:
- m1.run("service irqbalance start")
- m2.run("service irqbalance start")
diff --git a/recipes/regression_tests/phase1/ping_flood.README
b/recipes/regression_tests/phase1/ping_flood.README
deleted file mode 100644
index 516f2ac..0000000
--- a/recipes/regression_tests/phase1/ping_flood.README
+++ /dev/null
@@ -1,38 +0,0 @@
-Topology:
- +--------+
- | |
- +----------------------+ switch +----------------------+
- | | | |
- | +--------+ |
- | |
- | |
- | |
- | |
- +--+-+ +-+--+
-+-------|eth1|-------+ +-------|eth1|-------+
-| +----+ | | +----+ |
-| | | |
-| | | |
-| | | |
-| | | |
-| host1 | | host2 |
-| | | |
-| | | |
-| | | |
-| | | |
-| | | |
-+--------------------+ +--------------------+
-
-
-Number of hosts: 2
-Host #1 description:
- One ethernet device
-Host #2 description:
- One ethernet device
-Test name:
- simple_ping.py
-Test description:
- Ping:
- + count: 100
- + interval: 0.2s
- + from host1 to host2
diff --git a/recipes/regression_tests/phase1/ping_flood.xml
b/recipes/regression_tests/phase1/ping_flood.xml
deleted file mode 100644
index 5ccac21..0000000
--- a/recipes/regression_tests/phase1/ping_flood.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="mtu" value="1500" />
- <alias name="net" value="192.168.101" />
- </define>
- <network>
- <host id="machine1">
- <interfaces>
- <eth id="testiface" label="testnet">
- <addresses>
- <address>{$net}.10/24</address>
- <address>fc00:0:0:0::1/64</address>
- </addresses>
- </eth>
- </interfaces>
- </host>
- <host id="machine2">
- <interfaces>
- <eth id="testiface" label="testnet">
- <addresses>
- <address>{$net}.11/24</address>
- <address>fc00:0:0:0::2/64</address>
- </addresses>
- </eth>
- </interfaces>
- </host>
- </network>
- <task python="simple_ping.py"/>
-</lnstrecipe>
diff --git a/recipes/regression_tests/phase1/round_robin_bond.README
b/recipes/regression_tests/phase1/round_robin_bond.README
deleted file mode 100644
index 2a6db04..0000000
--- a/recipes/regression_tests/phase1/round_robin_bond.README
+++ /dev/null
@@ -1,81 +0,0 @@
-Topology:
-
- switch
- +------+
- | |
- | |
- +-------------------+ +------------------+
- | | | |
- | | | |
- | +------+ |
- | |
- | |
- | |
- | |
- | |
- +----+---+ |
- | BOND | |
- +---++---+ |
- || |
- +--++--+ |
- | | |
- +--+-+ +-+--+ +-+--+
-+---|eth1|--|eth2|---+ +-------|eth1|------+
-| +----+ +----+ | | +----+ |
-| | | |
-| | | |
-| host1 | | host2 |
-| | | |
-| | | |
-| | | |
-+--------------------+ +-------------------+
-
-Number of hosts: 2
-Host #1 description:
- Two ethernet devices, in round-robin bond mode
-Host #2 description:
- One ethernet device
-Test name:
- bonding_test.py
-Test description:
- Ping:
- + count: 100
- + interval: 0.1s
- + from both sides
- Netperf:
- + duration: 60s
- + TCP_STREAM and UDP_STREAM
- + from both sides
- Offloads:
- + TSO, GRO, GSO
- + tested both on/off variants
-
-PerfRepo integration:
- First, preparation in PerfRepo is required - you need to create Test objects
- through the web interface that properly describe the individual Netperf
- tests that this recipe runs. Don't forget to also add appropriate metrics.
- For these Netperf tests it's always:
- * throughput
- * throughput_min
- * throughput_max
- * throughput_deviation
-
- After that, to enable support for PerfRepo you need to create the file
- round_robin_bond.mapping and define the following id mappings:
- tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
-
- To enable result comparison agains baselines you need to create a Report in
- PerfRepo that will store the baseline. Set up the Report to only contain results
- with the same hash tag and then add a new mapping to the mapping file, with
- this format:
- <some_hash> = <report_id>
-
- The hash value is automatically generated during test execution and added
- to each result stored in PerfRepo. To get the Report id you need to open
- that report in our browser and find if in the URL.
-
- When running this recipe you should also define the 'product_name' alias
- (e.g. RHEL7) in order to tag the result object in PerfRepo.
diff --git a/recipes/regression_tests/phase1/round_robin_bond.xml
b/recipes/regression_tests/phase1/round_robin_bond.xml
deleted file mode 100644
index 9b28cbc..0000000
--- a/recipes/regression_tests/phase1/round_robin_bond.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="mtu" value="1500" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5"/>
- <alias name="nperf_mode" value="default"/>
- <alias name="nperf_num_parallel" value="2"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mapping_file"
value="round_robin_bond.mapping" />
- </define>
- <network>
- <host id="testmachine1">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <eth id="eth2" label="tnet" />
- <bond id="test_if">
- <options>
- <option name="mode" value="balance-rr"
/>
- <option name="miimon" value="100" />
- </options>
- <slaves>
- <slave id="eth1" />
- <slave id="eth2" />
- </slaves>
- <addresses>
- <address value="192.168.0.1/24" />
- <address value="2002::1/64"/>
- </addresses>
- </bond>
- </interfaces>
- </host>
- <host id="testmachine2">
- <interfaces>
- <eth id="test_if" label="tnet">
- <addresses>
- <address value="192.168.0.2/24" />
- <address value="2002::2/64"/>
- </addresses>
- </eth>
- </interfaces>
- </host>
- </network>
-
- <task python="bonding_test.py" />
-</lnstrecipe>
-
-
diff --git a/recipes/regression_tests/phase1/round_robin_double_bond.README
b/recipes/regression_tests/phase1/round_robin_double_bond.README
deleted file mode 100644
index 5366ce0..0000000
--- a/recipes/regression_tests/phase1/round_robin_double_bond.README
+++ /dev/null
@@ -1,81 +0,0 @@
-Topology:
-
- switch
- +------+
- | |
- | |
- +-------------------+ +-------------------+
- | | | |
- | | | |
- | +------+ |
- | |
- | |
- | |
- | |
- | |
- +----+---+ +----+---+
- | BOND | | BOND |
- +---++---+ +---++---+
- || ||
- +--++--+ +--++--+
- | | | |
- +--+-+ +-+--+ +--+-+ +-+--+
-+---|eth1|--|eth2|---+ +---|eth1|--|eth2|---+
-| +----+ +----+ | | +----+ +----+ |
-| | | |
-| | | |
-| host1 | | host2 |
-| | | |
-| | | |
-| | | |
-+--------------------+ +--------------------+
-
-Number of hosts: 2
-Host #1 description:
- Two ethernet devices, in round-robin bond mode
-Host #2 description:
- Two ethernet devices, in round-robin bond mode
-Test name:
- bonding_test.py
-Test description:
- Ping:
- + count: 100
- + interval: 0.1s
- + from both sides
- Netperf:
- + duration: 60s
- + TCP_STREAM and UDP_STREAM
- + from both sides
- Offloads:
- + TSO, GRO, GSO
- + tested both on/off variants
-
-PerfRepo integration:
- First, preparation in PerfRepo is required - you need to create Test objects
- through the web interface that properly describe the individual Netperf
- tests that this recipe runs. Don't forget to also add appropriate metrics.
- For these Netperf tests it's always:
- * throughput
- * throughput_min
- * throughput_max
- * throughput_deviation
-
- After that, to enable support for PerfRepo you need to create the file
- round_robin_double_bond.mapping and define the following id mappings:
- tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
-
- To enable result comparison agains baselines you need to create a Report in
- PerfRepo that will store the baseline. Set up the Report to only contain results
- with the same hash tag and then add a new mapping to the mapping file, with
- this format:
- <some_hash> = <report_id>
-
- The hash value is automatically generated during test execution and added
- to each result stored in PerfRepo. To get the Report id you need to open
- that report in our browser and find if in the URL.
-
- When running this recipe you should also define the 'product_name' alias
- (e.g. RHEL7) in order to tag the result object in PerfRepo.
diff --git a/recipes/regression_tests/phase1/round_robin_double_bond.xml
b/recipes/regression_tests/phase1/round_robin_double_bond.xml
deleted file mode 100644
index 15798f1..0000000
--- a/recipes/regression_tests/phase1/round_robin_double_bond.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="mtu" value="1500" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5"/>
- <alias name="nperf_mode" value="default"/>
- <alias name="nperf_num_parallel" value="2"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mapping_file"
value="round_robin_double_bond.mapping" />
- </define>
- <network>
- <host id="testmachine1">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <eth id="eth2" label="tnet" />
- <bond id="test_if">
- <options>
- <option name="mode" value="balance-rr"
/>
- <option name="miimon" value="100" />
- </options>
- <slaves>
- <slave id="eth1" />
- <slave id="eth2" />
- </slaves>
- <addresses>
- <address value="192.168.0.1/24" />
- <address value="2002::1/64"/>
- </addresses>
- </bond>
- </interfaces>
- </host>
- <host id="testmachine2">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <eth id="eth2" label="tnet" />
- <bond id="test_if">
- <options>
- <option name="mode" value="balance-rr"
/>
- <option name="miimon" value="100" />
- </options>
- <slaves>
- <slave id="eth1" />
- <slave id="eth2" />
- </slaves>
- <addresses>
- <address value="192.168.0.2/24" />
- <address value="2002::2/64"/>
- </addresses>
- </bond>
- </interfaces>
- </host>
- </network>
-
- <task python="bonding_test.py" />
-</lnstrecipe>
diff --git a/recipes/regression_tests/phase1/simple_netperf.README
b/recipes/regression_tests/phase1/simple_netperf.README
deleted file mode 100644
index abc5b48..0000000
--- a/recipes/regression_tests/phase1/simple_netperf.README
+++ /dev/null
@@ -1,72 +0,0 @@
-Topology:
- +--------+
- | |
- +----------------------+ switch +----------------------+
- | | | |
- | +--------+ |
- | |
- | |
- | |
- | |
- +--+-+ +-+--+
-+-------|eth1|-------+ +-------|eth1|-------+
-| +----+ | | +----+ |
-| | | |
-| | | |
-| | | |
-| | | |
-| host1 | | host2 |
-| | | |
-| | | |
-| | | |
-| | | |
-| | | |
-+--------------------+ +--------------------+
-
-
-Number of hosts: 2
-Host #1 description:
- One ethernet device
-Host #2 description:
- One ethernet device
-Test name:
- simple_netperf.py
-
-Test description (simple_netperf.py):
- Netperf:
- + duration: 60s
- + TCP_STREAM and UDP_STREAM
- + between physical interfaces
- Offloads:
- + TSO, GRO, GSO
- + tested both on/off variants
-
-PerfRepo integration:
- First, preparation in PerfRepo is required - you need to create Test objects
- through the web interface that properly describe the individual Netperf
- tests that this recipe runs. Don't forget to also add appropriate metrics.
- For these Netperf tests it's always:
- * throughput
- * throughput_min
- * throughput_max
- * throughput_deviation
-
- After that, to enable support for PerfRepo you need to create the file
- simple_netperf.mapping and define the following id mappings:
- tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
-
- To enable result comparison against baselines you need to create a Report in
- PerfRepo that will store the baseline. Set up the Report to only contain results
- with the same hash tag and then add a new mapping to the mapping file, with
- this format:
- <some_hash> = <report_id>
-
- The hash value is automatically generated during test execution and added
- to each result stored in PerfRepo. To get the Report id you need to open
- that report in our browser and find it in the URL.
-
- When running this recipe you should also define the 'product_name' alias
- (e.g. RHEL7) in order to tag the result object in PerfRepo.
diff --git a/recipes/regression_tests/phase1/simple_netperf.py
b/recipes/regression_tests/phase1/simple_netperf.py
deleted file mode 100644
index fe9d96b..0000000
--- a/recipes/regression_tests/phase1/simple_netperf.py
+++ /dev/null
@@ -1,277 +0,0 @@
-from lnst.Controller.Task import ctl
-from lnst.Controller.PerfRepoUtils import netperf_baseline_template
-from lnst.Controller.PerfRepoUtils import netperf_result_template
-
-from lnst.RecipeCommon.IRQ import pin_dev_irqs
-from lnst.RecipeCommon.PerfRepo import generate_perfrepo_comment
-
-# ------
-# SETUP
-# ------
-
-mapping_file = ctl.get_alias("mapping_file")
-perf_api = ctl.connect_PerfRepo(mapping_file)
-
-product_name = ctl.get_alias("product_name")
-
-m1 = ctl.get_host("machine1")
-m2 = ctl.get_host("machine2")
-
-m1.sync_resources(modules=["Netperf"])
-m2.sync_resources(modules=["Netperf"])
-
-# ------
-# TESTS
-# ------
-
-offloads = ["gro", "gso", "tso", "tx"]
-offload_settings = [ [("gro", "on"), ("gso",
"on"), ("tso", "on"), ("tx", "on"),
("rx", "on")],
- [("gro", "off"), ("gso",
"on"), ("tso", "on"), ("tx", "on"),
("rx", "on")],
- [("gro", "on"), ("gso",
"off"), ("tso", "off"), ("tx", "on"),
("rx", "on")],
- [("gro", "on"), ("gso",
"on"), ("tso", "off"), ("tx", "off"),
("rx", "on")],
- [("gro", "on"), ("gso",
"on"), ("tso", "on"), ("tx", "on"),
("rx", "off")]]
-
-ipv = ctl.get_alias("ipv")
-mtu = ctl.get_alias("mtu")
-netperf_duration = int(ctl.get_alias("netperf_duration"))
-nperf_reserve = int(ctl.get_alias("nperf_reserve"))
-nperf_confidence = ctl.get_alias("nperf_confidence")
-nperf_max_runs = int(ctl.get_alias("nperf_max_runs"))
-nperf_cpupin = ctl.get_alias("nperf_cpupin")
-nperf_cpu_util = ctl.get_alias("nperf_cpu_util")
-nperf_mode = ctl.get_alias("nperf_mode")
-nperf_num_parallel = int(ctl.get_alias("nperf_num_parallel"))
-nperf_debug = ctl.get_alias("nperf_debug")
-nperf_max_dev = ctl.get_alias("nperf_max_dev")
-pr_user_comment = ctl.get_alias("perfrepo_comment")
-
-pr_comment = generate_perfrepo_comment([m1, m2], pr_user_comment)
-
-m1_testiface = m1.get_interface("testiface")
-m2_testiface = m2.get_interface("testiface")
-
-m1_testiface.set_mtu(mtu)
-m2_testiface.set_mtu(mtu)
-
-if nperf_cpupin:
- m1.run("service irqbalance stop")
- m2.run("service irqbalance stop")
-
- for m, d in [ (m1, m1_testiface), (m2, m2_testiface) ]:
- pin_dev_irqs(m, d, 0)
-
-p_opts = "-L %s" % (m2_testiface.get_ip(0))
-if nperf_cpupin and nperf_mode != "multi":
- p_opts += " -T%s,%s" % (nperf_cpupin, nperf_cpupin)
-
-p_opts6 = "-L %s -6" % (m2_testiface.get_ip(1))
-if nperf_cpupin and nperf_mode != "multi":
- p_opts6 += " -T%s,%s" % (nperf_cpupin, nperf_cpupin)
-
-netperf_cli_tcp = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
m1_testiface.get_ip(0),
- "duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs" : nperf_max_runs,
- "netperf_opts" : p_opts,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-netperf_cli_tcp6 = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
m1_testiface.get_ip(1),
- "duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs" : nperf_max_runs,
- "netperf_opts" : p_opts6,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-netperf_cli_udp = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
m1_testiface.get_ip(0),
- "duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs" : nperf_max_runs,
- "netperf_opts" : p_opts,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-netperf_cli_udp6 = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
m1_testiface.get_ip(1),
- "duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs" : nperf_max_runs,
- "netperf_opts" : p_opts6,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-netperf_srv = ctl.get_module("Netperf",
- options={
- "role" : "server",
- "bind" : m1_testiface.get_ip(0)
- })
-
-netperf_srv6 = ctl.get_module("Netperf",
- options={
- "role" : "server",
- "bind" : m1_testiface.get_ip(1)
- })
-
-if nperf_mode == "multi":
- netperf_cli_tcp.unset_option("confidence")
- netperf_cli_udp.unset_option("confidence")
- netperf_cli_tcp6.unset_option("confidence")
- netperf_cli_udp6.unset_option("confidence")
-
- netperf_cli_tcp.update_options({"num_parallel" : nperf_num_parallel})
- netperf_cli_udp.update_options({"num_parallel" : nperf_num_parallel})
- netperf_cli_tcp6.update_options({"num_parallel" : nperf_num_parallel})
- netperf_cli_udp6.update_options({"num_parallel" : nperf_num_parallel})
-
-ctl.wait(15)
-
-for setting in offload_settings:
- dev_features = ""
- for offload in setting:
- dev_features += " %s %s" % (offload[0], offload[1])
- m1.run("ethtool -K %s %s" % (m1_testiface.get_devname(), dev_features))
- m2.run("ethtool -K %s %s" % (m2_testiface.get_devname(), dev_features))
-
- if ("rx", "off") in setting:
- # when rx offload is turned off some of the cards might get reset
- # and link goes down, so wait a few seconds until NIC is ready
- ctl.wait(15)
-
- # Netperf test
- if ipv in [ 'ipv4', 'both' ]:
- srv_proc = m1.run(netperf_srv, bg=True)
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp
- result_tcp = perf_api.new_result("tcp_ipv4_id",
- "tcp_ipv4_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_tcp.set_parameter(offload[0], offload[1])
-
- result_tcp.add_tag(product_name)
- if nperf_mode == "multi":
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter("num_parallel", nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- netperf_baseline_template(netperf_cli_tcp, baseline)
- tcp_res_data = m2.run(netperf_cli_tcp,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp
- result_udp = perf_api.new_result("udp_ipv4_id",
- "udp_ipv4_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_udp.set_parameter(offload[0], offload[1])
-
- result_udp.add_tag(product_name)
- if nperf_mode == "multi":
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter("num_parallel", nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- netperf_baseline_template(netperf_cli_udp, baseline)
- udp_res_data = m2.run(netperf_cli_udp,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
- srv_proc.intr()
-
- if ipv in [ 'ipv6', 'both' ]:
- srv_proc = m1.run(netperf_srv6, bg=True)
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp ipv6
- result_tcp = perf_api.new_result("tcp_ipv6_id",
- "tcp_ipv6_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_tcp.set_parameter(offload[0], offload[1])
-
- result_tcp.add_tag(product_name)
- if nperf_mode == "multi":
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter("num_parallel", nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- netperf_baseline_template(netperf_cli_tcp6, baseline)
- tcp_res_data = m2.run(netperf_cli_tcp6,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp ipv6
- result_udp = perf_api.new_result("udp_ipv6_id",
- "udp_ipv6_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_udp.set_parameter(offload[0], offload[1])
-
- result_udp.add_tag(product_name)
- if nperf_mode == "multi":
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter("num_parallel", nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- netperf_baseline_template(netperf_cli_udp6, baseline)
- udp_res_data = m2.run(netperf_cli_udp6,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
- srv_proc.intr()
-
-# reset offload states
-dev_features = ""
-for offload in offloads:
- dev_features += " %s %s" % (offload, "on")
-
-m1.run("ethtool -K %s %s" % (m1_testiface.get_devname(), dev_features))
-m2.run("ethtool -K %s %s" % (m2_testiface.get_devname(), dev_features))
-
-if nperf_cpupin:
- m1.run("service irqbalance start")
- m2.run("service irqbalance start")
diff --git a/recipes/regression_tests/phase1/simple_netperf.xml
b/recipes/regression_tests/phase1/simple_netperf.xml
deleted file mode 100644
index 0f106aa..0000000
--- a/recipes/regression_tests/phase1/simple_netperf.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="mtu" value="1500" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5" />
- <alias name="nperf_mode" value="default" />
- <alias name="nperf_num_parallel" value="2" />
- <alias name="nperf_debug" value="0"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mapping_file" value="simple_netperf.mapping"
/>
- <alias name="net" value="192.168.101" />
- </define>
- <network>
- <host id="machine1">
- <interfaces>
- <eth id="testiface" label="testnet">
- <addresses>
- <address>{$net}.10/24</address>
- <address>fc00:0:0:0::1/64</address>
- </addresses>
- </eth>
- </interfaces>
- </host>
- <host id="machine2">
- <interfaces>
- <eth id="testiface" label="testnet">
- <addresses>
- <address>{$net}.11/24</address>
- <address>fc00:0:0:0::2/64</address>
- </addresses>
- </eth>
- </interfaces>
- </host>
- </network>
- <task python="simple_netperf.py"/>
-</lnstrecipe>
diff --git a/recipes/regression_tests/phase1/simple_ping.py
b/recipes/regression_tests/phase1/simple_ping.py
deleted file mode 100644
index 3591402..0000000
--- a/recipes/regression_tests/phase1/simple_ping.py
+++ /dev/null
@@ -1,43 +0,0 @@
-from lnst.Controller.Task import ctl
-
-hostA = ctl.get_host("machine1")
-hostB = ctl.get_host("machine2")
-
-hostA.sync_resources(modules=["Icmp6Ping", "IcmpPing"])
-hostB.sync_resources(modules=["Icmp6Ping", "IcmpPing"])
-
-hostA_testiface = hostA.get_interface("testiface")
-hostB_testiface = hostB.get_interface("testiface")
-
-ping_mod = ctl.get_module("IcmpPing",
- options={
- "addr": hostB_testiface.get_ip(0),
- "count": 100,
- "interval": 0.2,
- "iface" : hostA_testiface.get_devname(),
- "limit_rate": 90})
-
-ping_mod6 = ctl.get_module("Icmp6Ping",
- options={
- "addr": hostB_testiface.get_ip(1),
- "count": 100,
- "interval": 0.2,
- "iface" : hostA_testiface.get_ip(1),
- "limit_rate": 90})
-
-ctl.wait(15)
-
-ipv = ctl.get_alias("ipv")
-mtu = ctl.get_alias("mtu")
-
-test_if1 = hostA.get_interface("testiface")
-test_if1.set_mtu(mtu)
-test_if2 = hostB.get_interface("testiface")
-test_if2.set_mtu(mtu)
-
-
-if ipv in [ 'ipv6', 'both' ]:
- hostA.run(ping_mod6)
-
-if ipv in [ 'ipv4', 'both' ]:
- hostA.run(ping_mod)
diff --git
a/recipes/regression_tests/phase1/virtual_bridge_2_vlans_over_active_backup_bond.README
b/recipes/regression_tests/phase1/virtual_bridge_2_vlans_over_active_backup_bond.README
deleted file mode 100644
index ce3fb8e..0000000
---
a/recipes/regression_tests/phase1/virtual_bridge_2_vlans_over_active_backup_bond.README
+++ /dev/null
@@ -1,106 +0,0 @@
-Topology:
-
- switch
- +--------+
- | |
- +-------------------------+ +--------------------------+
- | | | |
- | +---------------+ +----------------+ |
- | | | | | |
- | | +--------+ | |
- | | | |
- | | | |
- +--+-+ +--+-+ +-+--+ +-+--+
-+----+eth1+----+eth2+----+ +----+eth1+----+eth2+----+
-| +-+--+ +--+-+ | | +-+--+ +--+-+ |
-| +--++ ++--+ | | +--++ ++--+ |
-| | | | | | | |
-| | | | | | | |
-| +-+--+-+ | | +-+--+-+ |
-| | bond | | | | bond | |
-| VLAN10 +-+--+-+ VLAN20 | | VLAN10 +-+--+-+ VLAN20 |
-| +---+-+ +-+---+ | | +---+-+ +-+---+ |
-| | | | | | | |
-| +-+-+ +-+-+ | | +-+-+ +-+-+ |
-| |br0| host1 |br1| | | |br0| host2 |br1| |
-| +-+-+ +-+-+ | | +-+-+ +-+-+ |
-| | | | | | | |
-| | | | | | | |
-| | | | | | | |
-| +-+-+ +-+-+ | | +-+-+ +-+-+ |
-+--+tap+----------+tap+--+ +--+tap+----------+tap+--+
- +-+-+ +-+-+ +-+-+ +-+-+
- | | | |
- +-+-+ +-+-+ +-+-+ +-+-+
-+--+eth+--+ +--+eth+--+ +--+eth+--+ +--+eth+--+
-| +---+ | | +---+ | | +---+ | | +---+ |
-| | | | | | | |
-| guest1 | | guest2 | | guest3 | | guest4 |
-| | | | | | | |
-| | | | | | | |
-+---------+ +---------+ +---------+ +---------+
-
-Number of hosts: 4
-Host #1 description:
- Two ethernet devices
- Two tap devices
- One bond in active-backup mode, bonding ethernet devices
- Two VLANs over bond device
- Two bridge devices, bridging VLAN and tap devices
- Host for guest1 and guest2 virtual machines
-Host #2 description:
- Two ethernet devices
- Two tap devices
- One bond in active-backup mode, bonding ethernet devices
- Two VLANs over bond device
- Two bridge devices, bridging VLAN and tap devices
- Host for guest3 and guest4 virtual machines
-Guest #1 description:
- One ethernet device
-Guest #2 description:
- One ethernet device
-Guest #3 description:
- One ethernet device
-Guest #4 description:
- One ethernet device
-Test name:
- virtual_bridge_2_vlans_over_bond.py
-Test description:
- Ping:
- + count: 100
- + interval: 0.1s
- + between guests in same VLANs
- Netperf:
- + duration: 5
- + TCP_STREAM and UDP_STREAM
- + between guests in same VLANs
-
-PerfRepo integration:
- First, preparation in PerfRepo is required - you need to create Test objects
- through the web interface that properly describe the individual Netperf
- tests that this recipe runs. Don't forget to also add appropriate metrics.
- For these Netperf tests it's always:
- * throughput
- * throughput_min
- * throughput_max
- * throughput_deviation
-
- After that, to enable support for PerfRepo you need to create the file
- virtual_bridge_2_vlans_over_active_backup_bond.mapping and define the following id
mappings:
- tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
-
- To enable result comparison agains baselines you need to create a Report in
- PerfRepo that will store the baseline. Set up the Report to only contain results
- with the same hash tag and then add a new mapping to the mapping file, with
- this format:
- <some_hash> = <report_id>
-
- The hash value is automatically generated during test execution and added
- to each result stored in PerfRepo. To get the Report id you need to open
- that report in our browser and find if in the URL.
-
- When running this recipe you should also define the 'product_name' alias
- (e.g. RHEL7) in order to tag the result object in PerfRepo.
diff --git
a/recipes/regression_tests/phase1/virtual_bridge_2_vlans_over_active_backup_bond.xml
b/recipes/regression_tests/phase1/virtual_bridge_2_vlans_over_active_backup_bond.xml
deleted file mode 100644
index 5b5223e..0000000
--- a/recipes/regression_tests/phase1/virtual_bridge_2_vlans_over_active_backup_bond.xml
+++ /dev/null
@@ -1,174 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5"/>
- <alias name="nperf_mode" value="default"/>
- <alias name="nperf_num_parallel" value="2"/>
- <alias name="nperf_debug" value="0"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mtu" value="1500" />
- <alias name="mapping_file"
value="virtual_bridge_2_vlans_over_active_backup_bond.mapping" />
- <alias name="vlan10_net" value="192.168.10"/>
- <alias name="vlan10_tag" value="10"/>
- <alias name="vlan20_net" value="192.168.20"/>
- <alias name="vlan20_tag" value="20"/>
- </define>
- <network>
- <host id="host1">
- <interfaces>
- <eth id="nic1" label="to_switch" />
- <eth id="nic2" label="to_switch" />
- <eth id="tap1" label="to_guest1" />
- <eth id="tap2" label="to_guest2" />
- <bond id="bond">
- <options>
- <option name="mode" value="active-backup"
/>
- <option name="miimon" value="100" />
- </options>
- <slaves>
- <slave id="nic1" />
- <slave id="nic2" />
- </slaves>
- <addresses>
- <address>1.2.3.4/24</address>
- </addresses>
- </bond>
- <vlan id="vlan10">
- <options>
- <option name="vlan_tci" value="{$vlan10_tag}"
/>
- </options>
- <slaves>
- <slave id="bond" />
- </slaves>
- </vlan>
- <vlan id="vlan20">
- <options>
- <option name="vlan_tci" value="{$vlan20_tag}"
/>
- </options>
- <slaves>
- <slave id="bond" />
- </slaves>
- </vlan>
- <bridge id="br1">
- <slaves>
- <slave id="tap1" />
- <slave id="vlan10" />
- </slaves>
- <addresses>
- <address>{$vlan10_net}.10/24</address>
- </addresses>
- </bridge>
- <bridge id="br2">
- <slaves>
- <slave id="tap2" />
- <slave id="vlan20" />
- </slaves>
- <addresses>
- <address>{$vlan20_net}.10/24</address>
- </addresses>
- </bridge>
- </interfaces>
- </host>
- <host id="guest1">
- <interfaces>
- <eth id="guestnic" label="to_guest1">
- <addresses>
- <address>{$vlan10_net}.100/24</address>
- <address value="fc00:0:0:10::100/64"/>
- </addresses>
- </eth>
- </interfaces>
- </host>
- <host id="guest2">
- <interfaces>
- <eth id="guestnic" label="to_guest2">
- <addresses>
- <address>{$vlan20_net}.100/24</address>
- <address value="fc00:0:0:20::100/64"/>
- </addresses>
- </eth>
- </interfaces>
- </host>
-
- <host id="host2">
- <interfaces>
- <eth id="nic1" label="to_switch"/>
- <eth id="nic2" label="to_switch"/>
- <eth id="tap1" label="to_guest3"/>
- <eth id="tap2" label="to_guest4"/>
- <bond id="bond">
- <options>
- <option name="mode" value="active-backup"
/>
- <option name="miimon" value="100" />
- </options>
- <slaves>
- <slave id="nic1" />
- <slave id="nic2" />
- </slaves>
- <addresses>
- <address>1.2.3.4/24</address>
- </addresses>
- </bond>
- <vlan id="vlan10">
- <options>
- <option name="vlan_tci" value="{$vlan10_tag}"
/>
- </options>
- <slaves>
- <slave id="bond" />
- </slaves>
- </vlan>
- <vlan id="vlan20">
- <options>
- <option name="vlan_tci" value="{$vlan20_tag}"
/>
- </options>
- <slaves>
- <slave id="bond" />
- </slaves>
- </vlan>
- <bridge id="br1">
- <slaves>
- <slave id="vlan10"/>
- <slave id="tap1"/>
- </slaves>
- <addresses>
- <address>{$vlan10_net}.11/24</address>
- </addresses>
- </bridge>
- <bridge id="br2">
- <slaves>
- <slave id="vlan20"/>
- <slave id="tap2"/>
- </slaves>
- <addresses>
- <address>{$vlan20_net}.11/24</address>
- </addresses>
- </bridge>
- </interfaces>
- </host>
- <host id="guest3">
- <interfaces>
- <eth id="guestnic" label="to_guest3">
- <addresses>
- <address>{$vlan10_net}.101/24</address>
- <address value="fc00:0:0:10::101/64"/>
- </addresses>
- </eth>
- </interfaces>
- </host>
- <host id="guest4">
- <interfaces>
- <eth id="guestnic" label="to_guest4">
- <addresses>
- <address>{$vlan20_net}.101/24</address>
- <address value="fc00:0:0:20::101/64"/>
- </addresses>
- </eth>
- </interfaces>
- </host>
- </network>
-
- <task python="virtual_bridge_2_vlans_over_bond.py" />
-</lnstrecipe>
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
deleted file mode 100644
index 37f703f..0000000
--- a/recipes/regression_tests/phase1/virtual_bridge_2_vlans_over_bond.py
+++ /dev/null
@@ -1,402 +0,0 @@
-from lnst.Controller.Task import ctl
-from lnst.Controller.PerfRepoUtils import netperf_baseline_template
-from lnst.Controller.PerfRepoUtils import netperf_result_template
-
-from lnst.RecipeCommon.IRQ import pin_dev_irqs
-from lnst.RecipeCommon.PerfRepo import generate_perfrepo_comment
-
-# ------
-# SETUP
-# ------
-
-mapping_file = ctl.get_alias("mapping_file")
-perf_api = ctl.connect_PerfRepo(mapping_file)
-
-product_name = ctl.get_alias("product_name")
-
-# Host 1 + guests 1 and 2
-h1 = ctl.get_host("host1")
-g1 = ctl.get_host("guest1")
-g1.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-g2 = ctl.get_host("guest2")
-g2.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-
-# Host 2 + guests 3 and 4
-h2 = ctl.get_host("host2")
-g3 = ctl.get_host("guest3")
-g3.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-g4 = ctl.get_host("guest4")
-g4.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-
-# ------
-# TESTS
-# ------
-
-offloads = ["gro", "gso", "tso", "tx"]
-offload_settings = [ [("gro", "on"), ("gso",
"on"), ("tso", "on"), ("tx", "on")],
- [("gro", "off"), ("gso",
"on"), ("tso", "on"), ("tx", "on")],
- [("gro", "on"), ("gso",
"off"), ("tso", "off"), ("tx", "on")],
- [("gro", "on"), ("gso",
"on"), ("tso", "off"), ("tx", "off")]]
-
-ipv = ctl.get_alias("ipv")
-netperf_duration = int(ctl.get_alias("netperf_duration"))
-nperf_reserve = int(ctl.get_alias("nperf_reserve"))
-nperf_confidence = ctl.get_alias("nperf_confidence")
-nperf_max_runs = int(ctl.get_alias("nperf_max_runs"))
-nperf_cpu_util = ctl.get_alias("nperf_cpu_util")
-nperf_mode = ctl.get_alias("nperf_mode")
-nperf_num_parallel = int(ctl.get_alias("nperf_num_parallel"))
-nperf_debug = ctl.get_alias("nperf_debug")
-nperf_max_dev = ctl.get_alias("nperf_max_dev")
-pr_user_comment = ctl.get_alias("perfrepo_comment")
-
-pr_comment = generate_perfrepo_comment([h1, g1, g2, h2, g3, g4], pr_user_comment)
-
-mtu = ctl.get_alias("mtu")
-enable_udp_perf = ctl.get_alias("enable_udp_perf")
-
-h1_nic1 = h1.get_interface("nic1")
-h1_nic2 = h1.get_interface("nic2")
-h2_nic1 = h2.get_interface("nic1")
-h2_nic2 = h2.get_interface("nic2")
-g1_guestnic = g1.get_interface("guestnic")
-g2_guestnic = g2.get_interface("guestnic")
-g3_guestnic = g3.get_interface("guestnic")
-g4_guestnic = g4.get_interface("guestnic")
-
-h1.run("service irqbalance stop")
-h2.run("service irqbalance stop")
-
-# this will pin devices irqs to cpu #0
-for m, d in [ (h1, h1_nic1), (h2, h2_nic1) , (h1, h1_nic2), (h2, h2_nic2) ]:
- pin_dev_irqs(m, d, 0)
-
-ping_mod = ctl.get_module("IcmpPing",
- options={
- "addr" : g3_guestnic.get_ip(0),
- "count" : 100,
- "iface" : g1_guestnic.get_devname(),
- "interval" : 0.1
- })
-ping_mod2 = ctl.get_module("IcmpPing",
- options={
- "addr" : g2_guestnic.get_ip(0),
- "count" : 100,
- "iface" : g4_guestnic.get_devname(),
- "interval" : 0.1
- })
-
-ping_mod6 = ctl.get_module("Icmp6Ping",
- options={
- "addr" : g3_guestnic.get_ip(1),
- "count" : 100,
- "iface" : g1_guestnic.get_devname(),
- "interval" : 0.1
- })
-
-ping_mod62 = ctl.get_module("Icmp6Ping",
- options={
- "addr" : g2_guestnic.get_ip(1),
- "count" : 100,
- "iface" : g4_guestnic.get_devname(),
- "interval" : 0.1
- })
-
-netperf_srv = ctl.get_module("Netperf",
- options={
- "role": "server",
- "bind" : g1_guestnic.get_ip(0)
- })
-
-netperf_srv6 = ctl.get_module("Netperf",
- options={
- "role" : "server",
- "bind" : g1_guestnic.get_ip(1),
- "netperf_opts" : " -6",
- })
-
-netperf_cli_tcp = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
g1_guestnic.get_ip(0),
- "duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : "-L %s" %
- (g3_guestnic.get_ip(0)),
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-netperf_cli_udp = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
g1_guestnic.get_ip(0),
- "duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : "-L %s" %
- (g3_guestnic.get_ip(0)),
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-netperf_cli_tcp6 = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
- g1_guestnic.get_ip(1),
- "duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" :
- "-L %s -6" %
(g3_guestnic.get_ip(1)),
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-netperf_cli_udp6 = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
- g1_guestnic.get_ip(1),
- "duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" :
- "-L %s -6" %
(g3_guestnic.get_ip(1)),
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-if nperf_mode == "multi":
- netperf_cli_tcp.unset_option("confidence")
- netperf_cli_udp.unset_option("confidence")
- netperf_cli_tcp6.unset_option("confidence")
- netperf_cli_udp6.unset_option("confidence")
-
- netperf_cli_tcp.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_udp.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_tcp6.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_udp6.update_options({"num_parallel": nperf_num_parallel})
-
-ping_mod_bad = ctl.get_module("IcmpPing",
- options={
- "addr" : g4_guestnic.get_ip(0),
- "count" : 100,
- "iface" : g1_guestnic.get_devname(),
- "interval" : 0.1
- })
-
-ping_mod_bad2 = ctl.get_module("IcmpPing",
- options={
- "addr" : g2_guestnic.get_ip(0),
- "count" : 100,
- "iface" : g3_guestnic.get_devname(),
- "interval" : 0.1
- })
-
-ping_mod6_bad = ctl.get_module("Icmp6Ping",
- options={
- "addr" : g4_guestnic.get_ip(1),
- "count" : 100,
- "iface" : g1_guestnic.get_devname(),
- "interval" : 0.1
- })
-
-ping_mod6_bad2 = ctl.get_module("Icmp6Ping",
- options={
- "addr" : g2_guestnic.get_ip(1),
- "count" : 100,
- "iface" : g3_guestnic.get_devname(),
- "interval" : 0.1
- })
-
-# configure mtu
-h1.get_interface("bond").set_mtu(mtu)
-h1.get_interface("tap1").set_mtu(mtu)
-h1.get_interface("tap2").set_mtu(mtu)
-h1.get_interface("vlan10").set_mtu(mtu)
-h1.get_interface("vlan20").set_mtu(mtu)
-h1.get_interface("br1").set_mtu(mtu)
-h1.get_interface("br2").set_mtu(mtu)
-
-h2.get_interface("bond").set_mtu(mtu)
-h2.get_interface("tap1").set_mtu(mtu)
-h2.get_interface("tap2").set_mtu(mtu)
-h2.get_interface("vlan10").set_mtu(mtu)
-h2.get_interface("vlan20").set_mtu(mtu)
-h2.get_interface("br1").set_mtu(mtu)
-h2.get_interface("br2").set_mtu(mtu)
-
-g1.get_interface("guestnic").set_mtu(mtu)
-g2.get_interface("guestnic").set_mtu(mtu)
-g3.get_interface("guestnic").set_mtu(mtu)
-g4.get_interface("guestnic").set_mtu(mtu)
-
-ctl.wait(15)
-
-for setting in offload_settings:
- dev_features = ""
- for offload in setting:
- dev_features += " %s %s" % (offload[0], offload[1])
- h1.run("ethtool -K %s %s" % (h1_nic1.get_devname(), dev_features))
- h1.run("ethtool -K %s %s" % (h1_nic2.get_devname(), dev_features))
- h2.run("ethtool -K %s %s" % (h2_nic1.get_devname(), dev_features))
- h2.run("ethtool -K %s %s" % (h2_nic2.get_devname(), dev_features))
- g1.run("ethtool -K %s %s" % (g1_guestnic.get_devname(), dev_features))
- g2.run("ethtool -K %s %s" % (g2_guestnic.get_devname(), dev_features))
- g3.run("ethtool -K %s %s" % (g3_guestnic.get_devname(), dev_features))
- g4.run("ethtool -K %s %s" % (g4_guestnic.get_devname(), dev_features))
-
- if ipv in [ 'ipv4', 'both' ]:
- g1.run(ping_mod)
- g4.run(ping_mod2)
- g1.run(ping_mod_bad, expect="fail")
- g3.run(ping_mod_bad2, expect="fail")
-
- server_proc = g1.run(netperf_srv, bg=True)
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp
- result_tcp = perf_api.new_result("tcp_ipv4_id",
- "tcp_ipv4_result",
- hash_ignore=['kernel_release',
- 'redhat_release',
- r'guest\d+\.hostname',
- r'guest\d+\..*hwaddr',
- r'host\d+\..*tap\d*\.hwaddr',
- r'host\d+\..*tap\d*\.devname'])
- for offload in setting:
- result_tcp.set_parameter(offload[0], offload[1])
- result_tcp.add_tag(product_name)
- if nperf_mode == "multi":
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- netperf_baseline_template(netperf_cli_tcp, baseline)
-
- tcp_res_data = g3.run(netperf_cli_tcp,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- if enable_udp_perf is not None:
- # prepare PerfRepo result for udp
- result_udp = perf_api.new_result("udp_ipv4_id",
- "udp_ipv4_result",
- hash_ignore=['kernel_release',
- 'redhat_release',
- r'guest\d+\.hostname',
- r'guest\d+\..*hwaddr',
- r'host\d+\..*tap\d*\.hwaddr',
- r'host\d+\..*tap\d*\.devname'])
- for offload in setting:
- result_udp.set_parameter(offload[0], offload[1])
- result_udp.add_tag(product_name)
- if nperf_mode == "multi":
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- netperf_baseline_template(netperf_cli_udp, baseline)
-
- udp_res_data = g3.run(netperf_cli_udp,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
- server_proc.intr()
-
- if ipv in [ 'ipv6', 'both' ]:
- g1.run(ping_mod6)
- g4.run(ping_mod62)
- g1.run(ping_mod6_bad, expect="fail")
- g3.run(ping_mod6_bad2, expect="fail")
-
- server_proc = g1.run(netperf_srv6, bg=True)
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp ipv6
- result_tcp = perf_api.new_result("tcp_ipv6_id",
- "tcp_ipv6_result",
- hash_ignore=['kernel_release',
- 'redhat_release',
- r'guest\d+\.hostname',
- r'guest\d+\..*hwaddr',
- r'host\d+\..*tap\d*\.hwaddr',
- r'host\d+\..*tap\d*\.devname'])
- for offload in setting:
- result_tcp.set_parameter(offload[0], offload[1])
- result_tcp.add_tag(product_name)
- if nperf_mode == "multi":
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- netperf_baseline_template(netperf_cli_tcp6, baseline)
-
- tcp_res_data = g3.run(netperf_cli_tcp6,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp ipv6
- if enable_udp_perf is not None:
- result_udp = perf_api.new_result("udp_ipv6_id",
- "udp_ipv6_result",
- hash_ignore=['kernel_release',
- 'redhat_release',
- r'guest\d+\.hostname',
- r'guest\d+\..*hwaddr',
- r'host\d+\..*tap\d*\.hwaddr',
- r'host\d+\..*tap\d*\.devname'])
- for offload in setting:
- result_udp.set_parameter(offload[0], offload[1])
- result_udp.add_tag(product_name)
- if nperf_mode == "multi":
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- netperf_baseline_template(netperf_cli_udp6, baseline)
-
- udp_res_data = g3.run(netperf_cli_udp6,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
- server_proc.intr()
-
-#reset offload states
-dev_features = ""
-for offload in offloads:
- dev_features += " %s %s" % (offload, "on")
-h1.run("ethtool -K %s %s" % (h1_nic1.get_devname(), dev_features))
-h1.run("ethtool -K %s %s" % (h1_nic2.get_devname(), dev_features))
-h2.run("ethtool -K %s %s" % (h2_nic1.get_devname(), dev_features))
-h2.run("ethtool -K %s %s" % (h2_nic2.get_devname(), dev_features))
-g1.run("ethtool -K %s %s" % (g1_guestnic.get_devname(), dev_features))
-g2.run("ethtool -K %s %s" % (g2_guestnic.get_devname(), dev_features))
-g3.run("ethtool -K %s %s" % (g3_guestnic.get_devname(), dev_features))
-g4.run("ethtool -K %s %s" % (g4_guestnic.get_devname(), dev_features))
-
-h1.run("service irqbalance start")
-h2.run("service irqbalance start")
diff --git a/recipes/regression_tests/phase1/virtual_bridge_vlan_in_guest.README
b/recipes/regression_tests/phase1/virtual_bridge_vlan_in_guest.README
deleted file mode 100644
index d6c26ed..0000000
--- a/recipes/regression_tests/phase1/virtual_bridge_vlan_in_guest.README
+++ /dev/null
@@ -1,82 +0,0 @@
-Topology:
-
- +----------+
- | | VLAN10
- +-----------------+ switch +-----------------+
- | | | |
- | +----------+ |
- | |
- +-+-+ |
-+------|nic|------+ +-+-+
-| +-+-+ | +------|nic|------+
-| | | | +---+ |
-| +----+ | | |
-| | | | |
-| +-+-+ | | |
-| |br0| | | host2 |
-| +-+-+ host1 | | |
-| | | | |
-| +-+-+ | | |
-+-|tap|-----------+ | |
- +-+-+ +-----------------+
- |
- |VLAN10
- |
- +-+-+
-+-|nic|--+
-| +---+ |
-| guest1 |
-| |
-+--------+
-
-Number of hosts: 3
-Host #1 description:
- One ethernet device
- One tap device
- One bridge device, bridging ethernet and tap devices
- Host for guest1 virtual machine
-Host #2 description:
- One ethernet device with one VLAN subinterface
-Guest #1 description:
- One ethernet device with one VLAN subinterface
-Test name:
- virtual_bridge_vlan_in_guest.py
-Test description:
- Ping:
- + count: 100
- + interval: 0.1s
- + between guest1's VLAN10 and host2's VLAN10
- Netperf:
- + duration: 60s
- + TCP_STREAM and UDP_STREAM
- + between guest1's VLAN10 and host2's VLAN10
-
-PerfRepo integration:
- First, preparation in PerfRepo is required - you need to create Test objects
- through the web interface that properly describe the individual Netperf
- tests that this recipe runs. Don't forget to also add appropriate metrics.
- For these Netperf tests it's always:
- * throughput
- * throughput_min
- * throughput_max
- * throughput_deviation
-
- After that, to enable support for PerfRepo you need to create the file
- virtual_bridge_vlan_in_guest.mapping and define the following id mappings:
- tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
-
- To enable result comparison agains baselines you need to create a Report in
- PerfRepo that will store the baseline. Set up the Report to only contain results
- with the same hash tag and then add a new mapping to the mapping file, with
- this format:
- <some_hash> = <report_id>
-
- The hash value is automatically generated during test execution and added
- to each result stored in PerfRepo. To get the Report id you need to open
- that report in our browser and find if in the URL.
-
- When running this recipe you should also define the 'product_name' alias
- (e.g. RHEL7) in order to tag the result object in PerfRepo.
diff --git a/recipes/regression_tests/phase1/virtual_bridge_vlan_in_guest.py
b/recipes/regression_tests/phase1/virtual_bridge_vlan_in_guest.py
deleted file mode 100644
index b4b5c6c..0000000
--- a/recipes/regression_tests/phase1/virtual_bridge_vlan_in_guest.py
+++ /dev/null
@@ -1,331 +0,0 @@
-from lnst.Controller.Task import ctl
-from lnst.Controller.PerfRepoUtils import netperf_baseline_template
-from lnst.Controller.PerfRepoUtils import netperf_result_template
-
-from lnst.RecipeCommon.IRQ import pin_dev_irqs
-from lnst.RecipeCommon.PerfRepo import generate_perfrepo_comment
-
-# ------
-# SETUP
-# ------
-
-mapping_file = ctl.get_alias("mapping_file")
-perf_api = ctl.connect_PerfRepo(mapping_file)
-
-product_name = ctl.get_alias("product_name")
-
-h1 = ctl.get_host("host1")
-g1 = ctl.get_host("guest1")
-
-h2 = ctl.get_host("host2")
-
-g1.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-h2.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-
-# ------
-# TESTS
-# ------
-
-offloads = ["gro", "gso", "tso", "rx",
"tx"]
-offload_settings = [ [("gro", "on"), ("gso",
"on"), ("tso", "on"), ("tx", "on"),
("rx", "on")],
- [("gro", "off"), ("gso",
"on"), ("tso", "on"), ("tx", "on"),
("rx", "on")],
- [("gro", "on"), ("gso",
"off"), ("tso", "off"), ("tx", "on"),
("rx", "on")],
- [("gro", "on"), ("gso",
"on"), ("tso", "off"), ("tx", "off"),
("rx", "on")],
- [("gro", "on"), ("gso",
"on"), ("tso", "on"), ("tx", "on"),
("rx", "off")]]
-
-ipv = ctl.get_alias("ipv")
-netperf_duration = int(ctl.get_alias("netperf_duration"))
-nperf_reserve = int(ctl.get_alias("nperf_reserve"))
-nperf_confidence = ctl.get_alias("nperf_confidence")
-nperf_max_runs = int(ctl.get_alias("nperf_max_runs"))
-nperf_cpupin = ctl.get_alias("nperf_cpupin")
-nperf_cpu_util = ctl.get_alias("nperf_cpu_util")
-nperf_mode = ctl.get_alias("nperf_mode")
-nperf_num_parallel = int(ctl.get_alias("nperf_num_parallel"))
-nperf_debug = ctl.get_alias("nperf_debug")
-nperf_max_dev = ctl.get_alias("nperf_max_dev")
-pr_user_comment = ctl.get_alias("perfrepo_comment")
-
-pr_comment = generate_perfrepo_comment([h1, g1, h2], pr_user_comment)
-
-mtu = ctl.get_alias("mtu")
-enable_udp_perf = ctl.get_alias("enable_udp_perf")
-
-h2_vlan10 = h2.get_interface("vlan10")
-g1_vlan10 = g1.get_interface("vlan10")
-g1_guestnic = g1.get_interface("guestnic")
-h1_nic = h1.get_interface("nic")
-h2_nic = h2.get_interface("nic")
-
-if nperf_cpupin:
- h1.run("service irqbalance stop")
- h2.run("service irqbalance stop")
-
- # this will pin devices irqs to cpu #0
- for m, d in [ (h1, h1_nic), (h2, h2_nic) ]:
- pin_dev_irqs(m, d, 0)
-
-ping_mod = ctl.get_module("IcmpPing",
- options={
- "addr" : h2_vlan10.get_ip(0),
- "count" : 100,
- "iface" : g1_vlan10.get_devname(),
- "interval" : 0.1
- })
-
-ping_mod6 = ctl.get_module("Icmp6Ping",
- options={
- "addr" : h2_vlan10.get_ip(1),
- "count" : 100,
- "iface" : g1_vlan10.get_ip(1),
- "interval" : 0.1
- })
-
-netperf_srv = ctl.get_module("Netperf",
- options={
- "role" : "server",
- "bind" : g1_vlan10.get_ip(0)
- })
-
-netperf_srv6 = ctl.get_module("Netperf",
- options={
- "role" : "server",
- "bind" : g1_vlan10.get_ip(1),
- "netperf_opts" : " -6",
- })
-
-p_opts = "-L %s" % (h2_vlan10.get_ip(0))
-if nperf_cpupin and nperf_mode != "multi":
- p_opts += " -T%s" % nperf_cpupin
-
-p_opts6 = "-L %s -6" % (h2_vlan10.get_ip(1))
-if nperf_cpupin and nperf_mode != "multi":
- p_opts6 += " -T%s" % nperf_cpupin
-
-netperf_cli_tcp = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" : g1_vlan10.get_ip(0),
- "duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : p_opts,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-netperf_cli_udp = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" : g1_vlan10.get_ip(0),
- "duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : p_opts,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-netperf_cli_tcp6 = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
- g1_vlan10.get_ip(1),
- "duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : p_opts6,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-netperf_cli_udp6 = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
- g1_vlan10.get_ip(1),
- "duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : p_opts6,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-if nperf_mode == "multi":
- netperf_cli_tcp.unset_option("confidence")
- netperf_cli_udp.unset_option("confidence")
- netperf_cli_tcp6.unset_option("confidence")
- netperf_cli_udp6.unset_option("confidence")
-
- netperf_cli_tcp.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_udp.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_tcp6.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_udp6.update_options({"num_parallel": nperf_num_parallel})
-
-# configure mtu
-h1.get_interface("nic").set_mtu(mtu)
-h1.get_interface("tap").set_mtu(mtu)
-h1.get_interface("br").set_mtu(mtu)
-
-g1.get_interface("guestnic").set_mtu(mtu)
-g1.get_interface("vlan10").set_mtu(mtu)
-
-h2.get_interface("nic").set_mtu(mtu)
-
-ctl.wait(15)
-
-for setting in offload_settings:
- dev_features = ""
- for offload in setting:
- dev_features += " %s %s" % (offload[0], offload[1])
- g1.run("ethtool -K %s %s" % (g1_guestnic.get_devname(), dev_features))
- h1.run("ethtool -K %s %s" % (h1_nic.get_devname(), dev_features))
- h2.run("ethtool -K %s %s" % (h2_nic.get_devname(), dev_features))
-
- if ("rx", "off") in setting:
- # when rx offload is turned off some of the cards might get reset
- # and link goes down, so wait a few seconds until NIC is ready
- ctl.wait(15)
-
- if ipv in [ 'ipv4', 'both' ]:
- g1.run(ping_mod)
-
- server_proc = g1.run(netperf_srv, bg=True)
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp
- result_tcp = perf_api.new_result("tcp_ipv4_id",
- "tcp_ipv4_result",
- hash_ignore=['kernel_release',
- 'redhat_release',
- r'guest\d+\.hostname',
- r'guest\d+\..*hwaddr',
- r'host\d+\..*tap\d*\.hwaddr',
- r'host\d+\..*tap\d*\.devname'])
- for offload in setting:
- result_tcp.set_parameter(offload[0], offload[1])
- result_tcp.add_tag(product_name)
- if nperf_mode == "multi":
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- netperf_baseline_template(netperf_cli_tcp, baseline)
-
- tcp_res_data = h2.run(netperf_cli_tcp,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp
- if enable_udp_perf is not None:
- result_udp = perf_api.new_result("udp_ipv4_id",
- "udp_ipv4_result",
- hash_ignore=['kernel_release',
- 'redhat_release',
- r'guest\d+\.hostname',
- r'guest\d+\..*hwaddr',
- r'host\d+\..*tap\d*\.hwaddr',
- r'host\d+\..*tap\d*\.devname'])
- for offload in setting:
- result_udp.set_parameter(offload[0], offload[1])
- result_udp.add_tag(product_name)
- if nperf_mode == "multi":
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- netperf_baseline_template(netperf_cli_udp, baseline)
-
- udp_res_data = h2.run(netperf_cli_udp,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
- server_proc.intr()
-
- if ipv in [ 'ipv6', 'both' ]:
- g1.run(ping_mod6)
-
- server_proc = g1.run(netperf_srv6, bg=True)
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp ipv6
- result_tcp = perf_api.new_result("tcp_ipv6_id",
- "tcp_ipv6_result",
- hash_ignore=['kernel_release',
- 'redhat_release',
- r'guest\d+\.hostname',
- r'guest\d+\..*hwaddr',
- r'host\d+\..*tap\d*\.hwaddr',
- r'host\d+\..*tap\d*\.devname'])
- for offload in setting:
- result_tcp.set_parameter(offload[0], offload[1])
- result_tcp.add_tag(product_name)
- if nperf_mode == "multi":
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- netperf_baseline_template(netperf_cli_tcp6, baseline)
-
- tcp_res_data = h2.run(netperf_cli_tcp6,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp ipv6
- if enable_udp_perf is not None:
- result_udp = perf_api.new_result("udp_ipv6_id",
- "udp_ipv6_result",
- hash_ignore=['kernel_release',
- 'redhat_release',
- r'guest\d+\.hostname',
- r'guest\d+\..*hwaddr',
- r'host\d+\..*tap\d*\.hwaddr',
- r'host\d+\..*tap\d*\.devname'])
- for offload in setting:
- result_udp.set_parameter(offload[0], offload[1])
- result_udp.add_tag(product_name)
- if nperf_mode == "multi":
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- netperf_baseline_template(netperf_cli_udp6, baseline)
-
- udp_res_data = h2.run(netperf_cli_udp6,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
- server_proc.intr()
-
-#reset offload states
-dev_features = ""
-for offload in offloads:
- dev_features += " %s %s" % (offload, "on")
-g1.run("ethtool -K %s %s" % (g1_guestnic.get_devname(), dev_features))
-h1.run("ethtool -K %s %s" % (h1_nic.get_devname(), dev_features))
-h2.run("ethtool -K %s %s" % (h2_nic.get_devname(), dev_features))
-
-if nperf_cpupin:
- h1.run("service irqbalance start")
- h2.run("service irqbalance start")
diff --git a/recipes/regression_tests/phase1/virtual_bridge_vlan_in_guest.xml
b/recipes/regression_tests/phase1/virtual_bridge_vlan_in_guest.xml
deleted file mode 100644
index 7768542..0000000
--- a/recipes/regression_tests/phase1/virtual_bridge_vlan_in_guest.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5"/>
- <alias name="nperf_mode" value="default"/>
- <alias name="nperf_num_parallel" value="2"/>
- <alias name="nperf_debug" value="0"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mtu" value="1500" />
- <alias name="mapping_file"
value="virtual_bridge_vlan_in_guest.mapping" />
- <alias name="vlan10_net" value="192.168.10"/>
- <alias name="vlan10_tag" value="10"/>
- </define>
- <network>
- <host id="host1">
- <params>
- <param name="machine_type" value="baremetal"/>
- </params>
- <interfaces>
- <eth id="nic" label="to_switch" />
- <eth id="tap" label="to_guest" />
- <bridge id="br">
- <slaves>
- <slave id="tap" />
- <slave id="nic" />
- </slaves>
- <addresses>
- <address>{$vlan10_net}.1/24</address>
- </addresses>
- </bridge>
- </interfaces>
- </host>
- <host id="guest1">
- <interfaces>
- <eth id="guestnic" label="to_guest">
- <params>
- <param name="driver" value="virtio" />
- </params>
- </eth>
- <vlan id="vlan10">
- <options>
- <option name="vlan_tci"
value="{$vlan10_tag}" />
- </options>
- <slaves>
- <slave id="guestnic" />
- </slaves>
- <addresses>
- <address>{$vlan10_net}.10/24</address>
- <address>fc00:0:0:10::10/64</address>
- </addresses>
- </vlan>
- </interfaces>
- </host>
- <host id="host2">
- <params>
- <param name="machine_type" value="baremetal"/>
- </params>
- <interfaces>
- <eth id="nic" label="to_switch" />
- <vlan id="vlan10">
- <options>
- <option name="vlan_tci"
value="{$vlan10_tag}" />
- </options>
- <slaves>
- <slave id="nic" />
- </slaves>
- <addresses>
- <address>{$vlan10_net}.11/24</address>
- <address>fc00:0:0:10::11/64</address>
- </addresses>
- </vlan>
- </interfaces>
- </host>
- </network>
-
- <task python="virtual_bridge_vlan_in_guest.py" />
-</lnstrecipe>
diff --git a/recipes/regression_tests/phase1/virtual_bridge_vlan_in_host.README
b/recipes/regression_tests/phase1/virtual_bridge_vlan_in_host.README
deleted file mode 100644
index 7910b28..0000000
--- a/recipes/regression_tests/phase1/virtual_bridge_vlan_in_host.README
+++ /dev/null
@@ -1,82 +0,0 @@
-Topology:
-
- +----------+
- | | VLAN10
- +-----------------+ switch +-----------------+
- | | | |
- | +----------+ |
- | |
- +-+-+ |
-+------|nic|------+ +-+-+
-| +-+-+ | +------|nic|------+
-| VLAN10 | | | +---+ |
-| +----+ | | |
-| | | | |
-| +-+-+ | | |
-| |br0| | | host2 |
-| +-+-+ host1 | | |
-| | | | |
-| +-+-+ | | |
-+-|tap|-----------+ | |
- +-+-+ +-----------------+
- |
- |
- |
- +-+-+
-+-|nic|--+
-| +---+ |
-| guest1 |
-| |
-+--------+
-
-Number of hosts: 3
-Host #1 description:
- One ethernet device with one VLAN subinterface
- One tap device
- One bridge device, bridging VLAN and tap devices
- Host for guest1 virtual machine
-Host #2 description:
- One ethernet device with one VLAN subinterface
-Guest #1 description:
- One ethernet device
-Test name:
- virtual_bridge_vlan_in_host.py
-Test description:
- Ping:
- + count: 100
- + interval: 0.1s
- + between guest1's NIC and host2's VLAN10
- Netperf:
- + duration: 60s
- + TCP_STREAM and UDP_STREAM
- + between guest1's NIC and host2's VLAN10
-
-PerfRepo integration:
- First, preparation in PerfRepo is required - you need to create Test objects
- through the web interface that properly describe the individual Netperf
- tests that this recipe runs. Don't forget to also add appropriate metrics.
- For these Netperf tests it's always:
- * throughput
- * throughput_min
- * throughput_max
- * throughput_deviation
-
- After that, to enable support for PerfRepo you need to create the file
- virtual_bridge_vlan_in_host.mapping and define the following id mappings:
- tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
-
- To enable result comparison agains baselines you need to create a Report in
- PerfRepo that will store the baseline. Set up the Report to only contain results
- with the same hash tag and then add a new mapping to the mapping file, with
- this format:
- <some_hash> = <report_id>
-
- The hash value is automatically generated during test execution and added
- to each result stored in PerfRepo. To get the Report id you need to open
- that report in our browser and find if in the URL.
-
- When running this recipe you should also define the 'product_name' alias
- (e.g. RHEL7) in order to tag the result object in PerfRepo.
diff --git a/recipes/regression_tests/phase1/virtual_bridge_vlan_in_host.py
b/recipes/regression_tests/phase1/virtual_bridge_vlan_in_host.py
deleted file mode 100644
index 1ebdd91..0000000
--- a/recipes/regression_tests/phase1/virtual_bridge_vlan_in_host.py
+++ /dev/null
@@ -1,331 +0,0 @@
-from lnst.Controller.Task import ctl
-from lnst.Controller.PerfRepoUtils import netperf_baseline_template
-from lnst.Controller.PerfRepoUtils import netperf_result_template
-
-from lnst.RecipeCommon.IRQ import pin_dev_irqs
-from lnst.RecipeCommon.PerfRepo import generate_perfrepo_comment
-
-# ------
-# SETUP
-# ------
-
-mapping_file = ctl.get_alias("mapping_file")
-perf_api = ctl.connect_PerfRepo(mapping_file)
-
-product_name = ctl.get_alias("product_name")
-
-h1 = ctl.get_host("host1")
-g1 = ctl.get_host("guest1")
-
-h2 = ctl.get_host("host2")
-
-g1.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-h2.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-
-# ------
-# TESTS
-# ------
-
-offloads = ["gro", "gso", "tso", "rx",
"tx"]
-offload_settings = [ [("gro", "on"), ("gso",
"on"), ("tso", "on"), ("tx", "on"),
("rx", "on")],
- [("gro", "off"), ("gso",
"on"), ("tso", "on"), ("tx", "on"),
("rx", "on")],
- [("gro", "on"), ("gso",
"off"), ("tso", "off"), ("tx", "on"),
("rx", "on")],
- [("gro", "on"), ("gso",
"on"), ("tso", "off"), ("tx", "off"),
("rx", "on")],
- [("gro", "on"), ("gso",
"on"), ("tso", "on"), ("tx", "on"),
("rx", "off")]]
-
-ipv = ctl.get_alias("ipv")
-netperf_duration = int(ctl.get_alias("netperf_duration"))
-nperf_reserve = int(ctl.get_alias("nperf_reserve"))
-nperf_confidence = ctl.get_alias("nperf_confidence")
-nperf_max_runs = int(ctl.get_alias("nperf_max_runs"))
-nperf_cpupin = ctl.get_alias("nperf_cpupin")
-nperf_cpu_util = ctl.get_alias("nperf_cpu_util")
-nperf_mode = ctl.get_alias("nperf_mode")
-nperf_num_parallel = int(ctl.get_alias("nperf_num_parallel"))
-nperf_debug = ctl.get_alias("nperf_debug")
-nperf_max_dev = ctl.get_alias("nperf_max_dev")
-pr_user_comment = ctl.get_alias("perfrepo_comment")
-
-pr_comment = generate_perfrepo_comment([h1, g1, h2], pr_user_comment)
-
-mtu = ctl.get_alias("mtu")
-enable_udp_perf = ctl.get_alias("enable_udp_perf")
-
-h2_vlan10 = h2.get_interface("vlan10")
-g1_guestnic= g1.get_interface("guestnic")
-h1_nic = h1.get_interface("nic")
-h2_nic = h2.get_interface("nic")
-
-if nperf_cpupin:
- h1.run("service irqbalance stop")
- h2.run("service irqbalance stop")
-
- # this will pin devices irqs to cpu #0
- for m, d in [ (h1, h1_nic), (h2, h2_nic) ]:
- pin_dev_irqs(m, d, 0)
-
-ping_mod = ctl.get_module("IcmpPing",
- options={
- "addr" : h2_vlan10.get_ip(0),
- "count" : 100,
- "iface" : g1_guestnic.get_devname(),
- "interval" : 0.1
- })
-
-ping_mod6 = ctl.get_module("Icmp6Ping",
- options={
- "addr" : h2_vlan10.get_ip(1),
- "count" : 100,
- "iface" : g1_guestnic.get_ip(1),
- "interval" : 0.1
- })
-
-netperf_srv = ctl.get_module("Netperf",
- options={
- "role" : "server",
- "bind" : g1_guestnic.get_ip(0)
- })
-
-netperf_srv6 = ctl.get_module("Netperf",
- options={
- "role" : "server",
- "bind" : g1_guestnic.get_ip(1),
- "netperf_opts" : " -6",
- })
-
-p_opts = "-L %s" % (h2_vlan10.get_ip(0))
-if nperf_cpupin and nperf_mode != "multi":
- p_opts += " -T%s" % nperf_cpupin
-
-p_opts6 = "-L %s -6" % (h2_vlan10.get_ip(1))
-if nperf_cpupin and nperf_mode != "multi":
- p_opts6 += " -T%s" % nperf_cpupin
-
-netperf_cli_tcp = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
g1_guestnic.get_ip(0),
- "duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : p_opts,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-netperf_cli_udp = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
g1_guestnic.get_ip(0),
- "duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : p_opts,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-netperf_cli_tcp6 = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
- g1_guestnic.get_ip(1),
- "duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : p_opts6,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-netperf_cli_udp6 = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
- g1_guestnic.get_ip(1),
- "duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : p_opts6,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-if nperf_mode == "multi":
- netperf_cli_tcp.unset_option("confidence")
- netperf_cli_udp.unset_option("confidence")
- netperf_cli_tcp6.unset_option("confidence")
- netperf_cli_udp6.unset_option("confidence")
-
- netperf_cli_tcp.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_udp.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_tcp6.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_udp6.update_options({"num_parallel": nperf_num_parallel})
-
-# configure mtu
-h1.get_interface("nic").set_mtu(mtu)
-h1.get_interface("tap").set_mtu(mtu)
-h1.get_interface("vlan10").set_mtu(mtu)
-h1.get_interface("br").set_mtu(mtu)
-
-g1.get_interface("guestnic").set_mtu(mtu)
-
-h2.get_interface("nic").set_mtu(mtu)
-h2.get_interface("vlan10").set_mtu(mtu)
-
-ctl.wait(15)
-
-for setting in offload_settings:
- dev_features = ""
- for offload in setting:
- dev_features += " %s %s" % (offload[0], offload[1])
- g1.run("ethtool -K %s %s" % (g1_guestnic.get_devname(), dev_features))
- h1.run("ethtool -K %s %s" % (h1_nic.get_devname(), dev_features))
- h2.run("ethtool -K %s %s" % (h2_nic.get_devname(), dev_features))
-
- if ("rx", "off") in setting:
- # when rx offload is turned off some of the cards might get reset
- # and link goes down, so wait a few seconds until NIC is ready
- ctl.wait(15)
-
- if ipv in [ 'ipv4', 'both' ]:
- g1.run(ping_mod)
-
- server_proc = g1.run(netperf_srv, bg=True)
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp
- result_tcp = perf_api.new_result("tcp_ipv4_id",
- "tcp_ipv4_result",
- hash_ignore=['kernel_release',
- 'redhat_release',
- r'guest\d+\.hostname',
- r'guest\d+\..*hwaddr',
- r'host\d+\..*tap\d*\.hwaddr',
- r'host\d+\..*tap\d*\.devname'])
- for offload in setting:
- result_tcp.set_parameter(offload[0], offload[1])
- result_tcp.add_tag(product_name)
- if nperf_mode == "multi":
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- netperf_baseline_template(netperf_cli_tcp, baseline)
-
- tcp_res_data = h2.run(netperf_cli_tcp,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp
- if enable_udp_perf is not None:
- result_udp = perf_api.new_result("udp_ipv4_id",
- "udp_ipv4_result",
- hash_ignore=['kernel_release',
- 'redhat_release',
- r'guest\d+\.hostname',
- r'guest\d+\..*hwaddr',
- r'host\d+\..*tap\d*\.hwaddr',
- r'host\d+\..*tap\d*\.devname'])
- for offload in setting:
- result_udp.set_parameter(offload[0], offload[1])
- result_udp.add_tag(product_name)
- if nperf_mode == "multi":
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- netperf_baseline_template(netperf_cli_udp, baseline)
-
- udp_res_data = h2.run(netperf_cli_udp,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
- server_proc.intr()
-
- if ipv in [ 'ipv6', 'both' ]:
- g1.run(ping_mod6)
-
- server_proc = g1.run(netperf_srv6, bg=True)
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp ipv6
- result_tcp = perf_api.new_result("tcp_ipv6_id",
- "tcp_ipv6_result",
- hash_ignore=['kernel_release',
- 'redhat_release',
- r'guest\d+\.hostname',
- r'guest\d+\..*hwaddr',
- r'host\d+\..*tap\d*\.hwaddr',
- r'host\d+\..*tap\d*\.devname'])
- for offload in setting:
- result_tcp.set_parameter(offload[0], offload[1])
- result_tcp.add_tag(product_name)
- if nperf_mode == "multi":
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- netperf_baseline_template(netperf_cli_tcp6, baseline)
-
- tcp_res_data = h2.run(netperf_cli_tcp6,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp ipv6
- if enable_udp_perf:
- result_udp = perf_api.new_result("udp_ipv6_id",
- "udp_ipv6_result",
- hash_ignore=['kernel_release',
- 'redhat_release',
- r'guest\d+\.hostname',
- r'guest\d+\..*hwaddr',
- r'host\d+\..*tap\d*\.hwaddr',
- r'host\d+\..*tap\d*\.devname'])
- for offload in setting:
- result_udp.set_parameter(offload[0], offload[1])
- result_udp.add_tag(product_name)
- if nperf_mode == "multi":
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- netperf_baseline_template(netperf_cli_udp6, baseline)
-
- udp_res_data = h2.run(netperf_cli_udp6,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
- server_proc.intr()
-
-#reset offload states
-dev_features = ""
-for offload in offloads:
- dev_features += " %s %s" % (offload, "on")
-g1.run("ethtool -K %s %s" % (g1_guestnic.get_devname(), dev_features))
-h1.run("ethtool -K %s %s" % (h1_nic.get_devname(), dev_features))
-h2.run("ethtool -K %s %s" % (h2_nic.get_devname(), dev_features))
-
-if nperf_cpupin:
- h1.run("service irqbalance start")
- h2.run("service irqbalance start")
diff --git a/recipes/regression_tests/phase1/virtual_bridge_vlan_in_host.xml
b/recipes/regression_tests/phase1/virtual_bridge_vlan_in_host.xml
deleted file mode 100644
index a38848b..0000000
--- a/recipes/regression_tests/phase1/virtual_bridge_vlan_in_host.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5"/>
- <alias name="nperf_mode" value="default"/>
- <alias name="nperf_num_parallel" value="2"/>
- <alias name="nperf_debug" value="0"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mtu" value="1500" />
- <alias name="mapping_file"
value="virtual_bridge_vlan_in_host.mapping" />
- <alias name="vlan10_net" value="192.168.10"/>
- <alias name="vlan10_tag" value="10"/>
- </define>
- <network>
- <host id="host1">
- <params>
- <param name="machine_type" value="baremetal"/>
- </params>
- <interfaces>
- <eth id="nic" label="to_switch" />
- <eth id="tap" label="to_guest" />
- <vlan id="vlan10">
- <options>
- <option name="vlan_tci"
value="{$vlan10_tag}" />
- </options>
- <slaves>
- <slave id="nic" />
- </slaves>
- </vlan>
- <bridge id="br">
- <slaves>
- <slave id="tap" />
- <slave id="vlan10" />
- </slaves>
- <addresses>
- <address>{$vlan10_net}.1/24</address>
- </addresses>
- </bridge>
- </interfaces>
- </host>
- <host id="guest1">
- <interfaces>
- <eth id="guestnic" label="to_guest">
- <params>
- <param name="driver" value="virtio" />
- </params>
- <addresses>
- <address>{$vlan10_net}.10/24</address>
- <address>fc00:0:0:10::10/64</address>
- </addresses>
- </eth>
- </interfaces>
- </host>
- <host id="host2">
- <params>
- <param name="machine_type" value="baremetal"/>
- </params>
- <interfaces>
- <eth id="nic" label="to_switch" />
- <vlan id="vlan10">
- <options>
- <option name="vlan_tci"
value="{$vlan10_tag}" />
- </options>
- <slaves>
- <slave id="nic" />
- </slaves>
- <addresses>
- <address>{$vlan10_net}.11/24</address>
- <address>fc00:0:0:10::11/64</address>
- </addresses>
- </vlan>
- </interfaces>
- </host>
- </network>
-
- <task python="virtual_bridge_vlan_in_host.py" />
-</lnstrecipe>
diff --git a/recipes/regression_tests/phase2/3_vlans_over_active_backup_team.README
b/recipes/regression_tests/phase2/3_vlans_over_active_backup_team.README
deleted file mode 100644
index 8a6183f..0000000
--- a/recipes/regression_tests/phase2/3_vlans_over_active_backup_team.README
+++ /dev/null
@@ -1,84 +0,0 @@
-Topology:
-
- switch
- VLAN10 +------+ VLAN10
- +-------------------+ | | +-------------------+
- | VLAN20 | | | | VLAN20 |
- | +-------------------+ +-------------------+ |
- | | VLAN30 | | | | VLAN30 | |
- | | +-----------+ | | +-----------+ | |
- | | | +------+ | | |
- | | | | | |
- +-------+ +-------+
- | |
- | |
- | |
- +----+---+ |
- | TEAM | |
- +---++---+ |
- || |
- +--++--+ |
- | | |
- +--+-+ +-+--+ +--+-+
-+---|eth1|--|eth2|---+ +-------|eth1|-------+
-| +----+ +----+ | | +----+ |
-| | | |
-| | | |
-| host1 | | host2 |
-| | | |
-| | | |
-| | | |
-+--------------------+ +--------------------+
-
-Number of hosts: 2
-Host #1 description:
- Two ethernet devices, as slaves of a team interface in active-backup mode
- 3 VLANs on team interface
-Host #2 description:
- One ethernet device
- 3 VLANs on the ethernet interface
-Test name:
- 3_vlans_over_team.py
-Test description:
- Ping:
- + count: 100
- + interval: 0.1s
- + between interfaces in the same VLAN (these should pass)
- + between interfaces in different VLANs (these should fail)
- Netperf:
- + duration: 60s
- + TCP_STREAM and UDP_STREAM
- + between interfaces in the same VLAN
- Offloads:
- + TSO, GRO, GSO
- + tested both on/off variants
-
-PerfRepo integration:
- First, preparation in PerfRepo is required - you need to create Test objects
- through the web interface that properly describe the individual Netperf
- tests that this recipe runs. Don't forget to also add appropriate metrics.
- For these Netperf tests it's always:
- * throughput
- * throughput_min
- * throughput_max
- * throughput_deviation
-
- After that, to enable support for PerfRepo you need to create the file
- 3_vlans_over_active_backup_team.mapping and define the following id mappings:
- tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
-
- To enable result comparison agains baselines you need to create a Report in
- PerfRepo that will store the baseline. Set up the Report to only contain results
- with the same hash tag and then add a new mapping to the mapping file, with
- this format:
- <some_hash> = <report_id>
-
- The hash value is automatically generated during test execution and added
- to each result stored in PerfRepo. To get the Report id you need to open
- that report in our browser and find if in the URL.
-
- When running this recipe you should also define the 'product_name' alias
- (e.g. RHEL7) in order to tag the result object in PerfRepo.
diff --git a/recipes/regression_tests/phase2/3_vlans_over_active_backup_team.xml
b/recipes/regression_tests/phase2/3_vlans_over_active_backup_team.xml
deleted file mode 100644
index c2a5117..0000000
--- a/recipes/regression_tests/phase2/3_vlans_over_active_backup_team.xml
+++ /dev/null
@@ -1,125 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="mtu" value="1500" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5" />
- <alias name="nperf_mode" value="default"/>
- <alias name="nperf_num_parallel" value="2"/>
- <alias name="nperf_debug" value="0"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mapping_file"
value="3_vlans_over_active_backup_team.mapping" />
- <alias name="vlan10_net" value="192.168.10"/>
- <alias name="vlan10_tag" value="10"/>
- <alias name="vlan20_net" value="192.168.20"/>
- <alias name="vlan20_tag" value="20"/>
- <alias name="vlan30_net" value="192.168.30"/>
- <alias name="vlan30_tag" value="30"/>
- </define>
- <network>
- <host id="testmachine1">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <eth id="eth2" label="tnet" />
- <team id="test_if">
- <options>
- <option name="teamd_config">
- {
- "hwaddr" : "00:11:22:33:44:55",
- "runner" : {"name" :
"activebackup"}
- }
- </option>
- </options>
- <slaves>
- <slave id="eth1" />
- <slave id="eth2" />
- </slaves>
- <addresses>
- <address value="1.2.3.4/24" />
- </addresses>
- </team>
- <vlan id="vlan10">
- <options>
- <option name="vlan_tci"
value="{$vlan10_tag}" />
- </options>
- <slaves>
- <slave id="test_if" />
- </slaves>
- <addresses>
- <address value="{$vlan10_net}.1/24" />
- <address value="fc00:0:0:10::1/64" />
- </addresses>
- </vlan>
- <vlan id="vlan20">
- <options>
- <option name="vlan_tci"
value="{$vlan20_tag}" />
- </options>
- <slaves>
- <slave id="test_if" />
- </slaves>
- <addresses>
- <address value="{$vlan20_net}.1/24" />
- <address value="fc00:0:0:20::1/64" />
- </addresses>
- </vlan>
- <vlan id="vlan30">
- <options>
- <option name="vlan_tci"
value="{$vlan30_tag}" />
- </options>
- <slaves>
- <slave id="test_if" />
- </slaves>
- <addresses>
- <address value="{$vlan30_net}.1/24" />
- <address value="fc00:0:0:30::1/64" />
- </addresses>
- </vlan>
- </interfaces>
- </host>
- <host id="testmachine2">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <vlan id="vlan10">
- <options>
- <option name="vlan_tci"
value="{$vlan10_tag}" />
- </options>
- <slaves>
- <slave id="eth1" />
- </slaves>
- <addresses>
- <address value="{$vlan10_net}.2/24" />
- <address value="fc00:0:0:10::2/64" />
- </addresses>
- </vlan>
- <vlan id="vlan20">
- <options>
- <option name="vlan_tci"
value="{$vlan20_tag}" />
- </options>
- <slaves>
- <slave id="eth1" />
- </slaves>
- <addresses>
- <address value="{$vlan20_net}.2/24" />
- <address value="fc00:0:0:20::2/64" />
- </addresses>
- </vlan>
- <vlan id="vlan30">
- <options>
- <option name="vlan_tci"
value="{$vlan30_tag}" />
- </options>
- <slaves>
- <slave id="eth1" />
- </slaves>
- <addresses>
- <address value="{$vlan30_net}.2/24" />
- <address value="fc00:0:0:30::2/64" />
- </addresses>
- </vlan>
- </interfaces>
- </host>
- </network>
-
- <task python="3_vlans_over_team.py" />
-</lnstrecipe>
diff --git a/recipes/regression_tests/phase2/3_vlans_over_round_robin_team.README
b/recipes/regression_tests/phase2/3_vlans_over_round_robin_team.README
deleted file mode 100644
index 21f3eda..0000000
--- a/recipes/regression_tests/phase2/3_vlans_over_round_robin_team.README
+++ /dev/null
@@ -1,84 +0,0 @@
-Topology:
-
- switch
- VLAN10 +------+ VLAN10
- +-------------------+ | | +-------------------+
- | VLAN20 | | | | VLAN20 |
- | +-------------------+ +-------------------+ |
- | | VLAN30 | | | | VLAN30 | |
- | | +-----------+ | | +-----------+ | |
- | | | +------+ | | |
- | | | | | |
- +-------+ +-------+
- | |
- | |
- | |
- +----+---+ |
- | TEAM | |
- +---++---+ |
- || |
- +--++--+ |
- | | |
- +--+-+ +-+--+ +--+-+
-+---|eth1|--|eth2|---+ +-------|eth1|-------+
-| +----+ +----+ | | +----+ |
-| | | |
-| | | |
-| host1 | | host2 |
-| | | |
-| | | |
-| | | |
-+--------------------+ +--------------------+
-
-Number of hosts: 2
-Host #1 description:
- Two ethernet devices, as slaves of a team interface in round-robin mode
- 3 VLANs on team interface
-Host #2 description:
- One ethernet device
- 3 VLANs on the ethernet interface
-Test name:
- 3_vlans_over_team.py
-Test description:
- Ping:
- + count: 100
- + interval: 0.1s
- + between interfaces in the same VLAN (these should pass)
- + between interfaces in different VLANs (these should fail)
- Netperf:
- + duration: 60s
- + TCP_STREAM and UDP_STREAM
- + between interfaces in the same VLAN
- Offloads:
- + TSO, GRO, GSO
- + tested both on/off variants
-
-PerfRepo integration:
- First, preparation in PerfRepo is required - you need to create Test objects
- through the web interface that properly describe the individual Netperf
- tests that this recipe runs. Don't forget to also add appropriate metrics.
- For these Netperf tests it's always:
- * throughput
- * throughput_min
- * throughput_max
- * throughput_deviation
-
- After that, to enable support for PerfRepo you need to create the file
- 3_vlans_over_round_robin_team.mapping and define the following id mappings:
- tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
-
- To enable result comparison agains baselines you need to create a Report in
- PerfRepo that will store the baseline. Set up the Report to only contain results
- with the same hash tag and then add a new mapping to the mapping file, with
- this format:
- <some_hash> = <report_id>
-
- The hash value is automatically generated during test execution and added
- to each result stored in PerfRepo. To get the Report id you need to open
- that report in our browser and find if in the URL.
-
- When running this recipe you should also define the 'product_name' alias
- (e.g. RHEL7) in order to tag the result object in PerfRepo.
diff --git a/recipes/regression_tests/phase2/3_vlans_over_round_robin_team.xml
b/recipes/regression_tests/phase2/3_vlans_over_round_robin_team.xml
deleted file mode 100644
index 7576ec0..0000000
--- a/recipes/regression_tests/phase2/3_vlans_over_round_robin_team.xml
+++ /dev/null
@@ -1,118 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="mtu" value="1500" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5" />
- <alias name="nperf_mode" value="default"/>
- <alias name="nperf_num_parallel" value="2"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mapping_file"
value="3_vlans_over_round_robin_team.mapping" />
- </define>
- <network>
- <host id="testmachine1">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <eth id="eth2" label="tnet" />
- <team id="test_if">
- <options>
- <option name="teamd_config">
- {
- "hwaddr" : "00:11:22:33:44:55",
- "runner" : {"name" :
"roundrobin"}
- }
- </option>
- </options>
- <slaves>
- <slave id="eth1" />
- <slave id="eth2" />
- </slaves>
- <addresses>
- <address value="1.2.3.4/24" />
- </addresses>
- </team>
- <vlan id="vlan10">
- <options>
- <option name="vlan_tci" value="10" />
- </options>
- <slaves>
- <slave id="test_if" />
- </slaves>
- <addresses>
- <address value="192.168.10.1/24" />
- <address value="2002::10:1/64" />
- </addresses>
- </vlan>
- <vlan id="vlan20">
- <options>
- <option name="vlan_tci" value="20" />
- </options>
- <slaves>
- <slave id="test_if" />
- </slaves>
- <addresses>
- <address value="192.168.20.1/24" />
- <address value="2002::20:1/64" />
- </addresses>
- </vlan>
- <vlan id="vlan30">
- <options>
- <option name="vlan_tci" value="30" />
- </options>
- <slaves>
- <slave id="test_if" />
- </slaves>
- <addresses>
- <address value="192.168.30.1/24" />
- <address value="2002::30:1/64" />
- </addresses>
- </vlan>
- </interfaces>
- </host>
- <host id="testmachine2">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <vlan id="vlan10">
- <options>
- <option name="vlan_tci" value="10" />
- </options>
- <slaves>
- <slave id="eth1" />
- </slaves>
- <addresses>
- <address value="192.168.10.2/24" />
- <address value="2002::10:2/64" />
- </addresses>
- </vlan>
- <vlan id="vlan20">
- <options>
- <option name="vlan_tci" value="20" />
- </options>
- <slaves>
- <slave id="eth1" />
- </slaves>
- <addresses>
- <address value="192.168.20.2/24" />
- <address value="2002::20:2/64" />
- </addresses>
- </vlan>
- <vlan id="vlan30">
- <options>
- <option name="vlan_tci" value="30" />
- </options>
- <slaves>
- <slave id="eth1" />
- </slaves>
- <addresses>
- <address value="192.168.30.2/24" />
- <address value="2002::30:2/64" />
- </addresses>
- </vlan>
- </interfaces>
- </host>
- </network>
-
- <task python="3_vlans_over_team.py" />
-</lnstrecipe>
diff --git a/recipes/regression_tests/phase2/3_vlans_over_team.py
b/recipes/regression_tests/phase2/3_vlans_over_team.py
deleted file mode 100644
index e9cae83..0000000
--- a/recipes/regression_tests/phase2/3_vlans_over_team.py
+++ /dev/null
@@ -1,332 +0,0 @@
-from lnst.Controller.Task import ctl
-from lnst.Controller.PerfRepoUtils import netperf_baseline_template
-from lnst.Controller.PerfRepoUtils import netperf_result_template
-
-from lnst.RecipeCommon.IRQ import pin_dev_irqs
-from lnst.RecipeCommon.PerfRepo import generate_perfrepo_comment
-
-# ------
-# SETUP
-# ------
-
-mapping_file = ctl.get_alias("mapping_file")
-perf_api = ctl.connect_PerfRepo(mapping_file)
-
-product_name = ctl.get_alias("product_name")
-
-m1 = ctl.get_host("testmachine1")
-m2 = ctl.get_host("testmachine2")
-
-m1.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-m2.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-
-# ------
-# TESTS
-# ------
-
-vlans = ["vlan10", "vlan20", "vlan30"]
-offloads = ["gro", "gso", "tso", "tx"]
-offload_settings = [ [("gro", "on"), ("gso",
"on"), ("tso", "on"), ("tx", "on")],
- [("gro", "off"), ("gso",
"on"), ("tso", "on"), ("tx", "on")],
- [("gro", "on"), ("gso",
"off"), ("tso", "off"), ("tx", "on")],
- [("gro", "on"), ("gso",
"on"), ("tso", "off"), ("tx", "off")]]
-
-ipv = ctl.get_alias("ipv")
-mtu = ctl.get_alias("mtu")
-netperf_duration = int(ctl.get_alias("netperf_duration"))
-nperf_reserve = int(ctl.get_alias("nperf_reserve"))
-nperf_confidence = ctl.get_alias("nperf_confidence")
-nperf_max_runs = int(ctl.get_alias("nperf_max_runs"))
-nperf_cpupin = ctl.get_alias("nperf_cpupin")
-nperf_cpu_util = ctl.get_alias("nperf_cpu_util")
-nperf_mode = ctl.get_alias("nperf_mode")
-nperf_num_parallel = int(ctl.get_alias("nperf_num_parallel"))
-nperf_debug = ctl.get_alias("nperf_debug")
-nperf_max_dev = ctl.get_alias("nperf_max_dev")
-pr_user_comment = ctl.get_alias("perfrepo_comment")
-
-pr_comment = generate_perfrepo_comment([m1, m2], pr_user_comment)
-
-m1_team = m1.get_interface("test_if")
-m1_team.set_mtu(mtu)
-m1_phy1 = m1.get_interface("eth1")
-m1_phy2 = m1.get_interface("eth2")
-m2_phy1 = m2.get_interface("eth1")
-m2_phy1.set_mtu(mtu)
-
-for vlan in vlans:
- vlan_if1 = m1.get_interface(vlan)
- vlan_if1.set_mtu(mtu)
- vlan_if2 = m2.get_interface(vlan)
- vlan_if2.set_mtu(mtu)
-
-if nperf_cpupin:
- # this will pin devices irqs to cpu #0
- m1.run("service irqbalance stop")
- m2.run("service irqbalance stop")
-
- for m, d in [ (m1, m1_phy1), (m1, m1_phy2), (m2, m2_phy1) ]:
- pin_dev_irqs(m, d, 0)
-
-ctl.wait(15)
-
-ping_mod = ctl.get_module("IcmpPing",
- options={
- "count" : 100,
- "interval" : 0.1
- })
-ping_mod6 = ctl.get_module("Icmp6Ping",
- options={
- "count" : 100,
- "interval" : 0.1
- })
-
-m1_vlan1 = m1.get_interface(vlans[0])
-m2_vlan1 = m2.get_interface(vlans[0])
-
-p_opts = "-L %s" % (m2_vlan1.get_ip(0))
-if nperf_cpupin and nperf_mode != "multi":
- p_opts += " -T%s,%s" % (nperf_cpupin, nperf_cpupin)
-
-p_opts6 = "-L %s -6" % (m2_vlan1.get_ip(1))
-if nperf_cpupin and nperf_mode != "multi":
- p_opts6 += " -T%s,%s" % (nperf_cpupin, nperf_cpupin)
-
-netperf_srv = ctl.get_module("Netperf",
- options={
- "role" : "server",
- "bind": m1_vlan1.get_ip(0)
- })
-netperf_srv6 = ctl.get_module("Netperf",
- options={
- "role" : "server",
- "bind": m1_vlan1.get_ip(1),
- "netperf_opts" : " -6"
- })
-netperf_cli_tcp = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server": m1_vlan1.get_ip(0),
- "duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts": p_opts,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-netperf_cli_udp = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server": m1_vlan1.get_ip(0),
- "duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts": p_opts,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-netperf_cli_tcp6 = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server": m1_vlan1.get_ip(1),
- "duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts": p_opts6,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-netperf_cli_udp6 = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server": m1_vlan1.get_ip(1),
- "duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts": p_opts6,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-if nperf_mode == "multi":
- netperf_cli_tcp.unset_option("confidence")
- netperf_cli_udp.unset_option("confidence")
- netperf_cli_tcp6.unset_option("confidence")
- netperf_cli_udp6.unset_option("confidence")
-
- netperf_cli_tcp.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_udp.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_tcp6.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_udp6.update_options({"num_parallel": nperf_num_parallel})
-
-for setting in offload_settings:
- #apply offload setting
- dev_features = ""
- for offload in setting:
- dev_features += " %s %s" % (offload[0], offload[1])
-
- m1.run("ethtool -K %s %s" % (m1_phy1.get_devname(),
- dev_features))
- m1.run("ethtool -K %s %s" % (m1_phy2.get_devname(),
- dev_features))
- m2.run("ethtool -K %s %s" % (m2_phy1.get_devname(),
- dev_features))
-
- # Ping test
- for vlan1 in vlans:
- m1_vlan1 = m1.get_interface(vlan1)
- for vlan2 in vlans:
- m2_vlan2 = m2.get_interface(vlan2)
-
- ping_mod.update_options({"addr": m2_vlan2.get_ip(0),
- "iface": m1_vlan1.get_devname()})
-
- ping_mod6.update_options({"addr": m2_vlan2.get_ip(1),
- "iface": m1_vlan1.get_ip(1)})
-
- if vlan1 == vlan2:
- # These tests should pass
- # Ping between same VLANs
- if ipv in [ 'ipv4', 'both' ]:
- m1.run(ping_mod)
-
- if ipv in [ 'ipv6', 'both' ]:
- m1.run(ping_mod6)
- else:
- # These tests should fail
- # Ping across different VLAN
- if ipv in [ 'ipv4', 'both' ]:
- m1.run(ping_mod, expect="fail")
-
- # Netperf test (both TCP and UDP)
- if ipv in [ 'ipv4', 'both' ]:
- srv_proc = m1.run(netperf_srv, bg=True)
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp
- result_tcp = perf_api.new_result("tcp_ipv4_id",
- "tcp_ipv4_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_tcp.set_parameter(offload[0], offload[1])
- result_tcp.set_parameter('netperf_server_on_vlan', vlans[0])
- result_tcp.set_parameter('netperf_client_on_vlan', vlans[0])
- result_tcp.add_tag(product_name)
- if nperf_mode == "multi":
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- netperf_baseline_template(netperf_cli_tcp, baseline)
-
- tcp_res_data = m2.run(netperf_cli_tcp,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp
- result_udp = perf_api.new_result("udp_ipv4_id",
- "udp_ipv4_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_udp.set_parameter(offload[0], offload[1])
- result_udp.set_parameter('netperf_server_on_vlan', vlans[0])
- result_udp.set_parameter('netperf_client_on_vlan', vlans[0])
- result_udp.add_tag(product_name)
- if nperf_mode == "multi":
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- netperf_baseline_template(netperf_cli_udp, baseline)
-
- udp_res_data = m2.run(netperf_cli_udp,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
- srv_proc.intr()
-
- if ipv in [ 'ipv6', 'both' ]:
- srv_proc = m1.run(netperf_srv6, bg=True)
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp ipv6
- result_tcp = perf_api.new_result("tcp_ipv6_id",
- "tcp_ipv6_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_tcp.set_parameter(offload[0], offload[1])
- result_tcp.set_parameter('netperf_server_on_vlan', vlans[0])
- result_tcp.set_parameter('netperf_client_on_vlan', vlans[0])
- result_tcp.add_tag(product_name)
- if nperf_mode == "multi":
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- netperf_baseline_template(netperf_cli_tcp6, baseline)
-
- tcp_res_data = m2.run(netperf_cli_tcp6,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp ipv6
- result_udp = perf_api.new_result("udp_ipv6_id",
- "udp_ipv6_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_udp.set_parameter(offload[0], offload[1])
- result_udp.set_parameter('netperf_server_on_vlan', vlans[0])
- result_udp.set_parameter('netperf_client_on_vlan', vlans[0])
- result_udp.add_tag(product_name)
- if nperf_mode == "multi":
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- netperf_baseline_template(netperf_cli_udp6, baseline)
-
- udp_res_data = m2.run(netperf_cli_udp6,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
- srv_proc.intr()
-
-#reset offload states
-dev_features = ""
-for offload in offloads:
- dev_features += " %s %s" % (offload, "on")
-m1.run("ethtool -K %s %s" % (m1_phy1.get_devname(), dev_features))
-m1.run("ethtool -K %s %s" % (m1_phy2.get_devname(), dev_features))
-m2.run("ethtool -K %s %s" % (m2_phy1.get_devname(), dev_features))
-
-if nperf_cpupin:
- m1.run("service irqbalance start")
- m2.run("service irqbalance start")
diff --git a/recipes/regression_tests/phase2/active_backup_double_team.README
b/recipes/regression_tests/phase2/active_backup_double_team.README
deleted file mode 100644
index b5abee5..0000000
--- a/recipes/regression_tests/phase2/active_backup_double_team.README
+++ /dev/null
@@ -1,81 +0,0 @@
-Topology:
-
- switch
- +------+
- | |
- | |
- +-------------------+ +-------------------+
- | | | |
- | | | |
- | +------+ |
- | |
- | |
- | |
- | |
- | |
- +----+---+ +----+---+
- | TEAM | | TEAM |
- +---++---+ +---++---+
- || ||
- +--++--+ +--++--+
- | | | |
- +--+-+ +-+--+ +--+-+ +-+--+
-+---|eth1|--|eth2|---+ +---|eth1|--|eth2|---+
-| +----+ +----+ | | +----+ +----+ |
-| | | |
-| | | |
-| host1 | | host2 |
-| | | |
-| | | |
-| | | |
-+--------------------+ +--------------------+
-
-Number of hosts: 2
-Host #1 description:
- Two ethernet devices, as slaves of a team interface in active-backup mode
-Host #2 description:
- Two ethernet devices, as slaves of a team interface in active-backup mode
-Test name:
- team_test.py
-Test description:
- Ping:
- + count: 100
- + interval: 0.1s
- + from both sides
- Netperf:
- + duration: 60s
- + TCP_STREAM and UDP_STREAM
- + from both sides
- Offloads:
- + TSO, GRO, GSO
- + tested both on/off variants
-
-PerfRepo integration:
- First, preparation in PerfRepo is required - you need to create Test objects
- through the web interface that properly describe the individual Netperf
- tests that this recipe runs. Don't forget to also add appropriate metrics.
- For these Netperf tests it's always:
- * throughput
- * throughput_min
- * throughput_max
- * throughput_deviation
-
- After that, to enable support for PerfRepo you need to create the file
- active_backup_double_team.mapping and define the following id mappings:
- tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
-
- To enable result comparison agains baselines you need to create a Report in
- PerfRepo that will store the baseline. Set up the Report to only contain results
- with the same hash tag and then add a new mapping to the mapping file, with
- this format:
- <some_hash> = <report_id>
-
- The hash value is automatically generated during test execution and added
- to each result stored in PerfRepo. To get the Report id you need to open
- that report in our browser and find if in the URL.
-
- When running this recipe you should also define the 'product_name' alias
- (e.g. RHEL7) in order to tag the result object in PerfRepo.
diff --git a/recipes/regression_tests/phase2/active_backup_double_team.xml
b/recipes/regression_tests/phase2/active_backup_double_team.xml
deleted file mode 100644
index 3825fb0..0000000
--- a/recipes/regression_tests/phase2/active_backup_double_team.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="mtu" value="1500" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5" />
- <alias name="nperf_mode" value="default"/>
- <alias name="nperf_num_parallel" value="2"/>
- <alias name="nperf_debug" value="0"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mapping_file"
value="active_backup_double_team.mapping" />
- <alias name="net" value="192.168.0"/>
- </define>
- <network>
- <host id="testmachine1">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <eth id="eth2" label="tnet" />
- <team id="test_if">
- <options>
- <option name="teamd_config">
- {
- "hwaddr" : "00:11:22:33:44:55",
- "runner" : {"name" :
"activebackup"}
- }
- </option>
- </options>
- <slaves>
- <slave id="eth1" />
- <slave id="eth2" />
- </slaves>
- <addresses>
- <address value="{$net}.1/24" />
- <address value="fc00:0:0:0::1/64" />
- </addresses>
- </team>
- </interfaces>
- </host>
- <host id="testmachine2">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <eth id="eth2" label="tnet" />
- <team id="test_if">
- <options>
- <option name="teamd_config">
- {
- "hwaddr" : "10:22:33:44:55:66",
- "runner" : {"name" :
"activebackup"}
- }
- </option>
- </options>
- <slaves>
- <slave id="eth1" />
- <slave id="eth2" />
- </slaves>
- <addresses>
- <address value="{$net}.2/24" />
- <address value="fc00:0:0:0::2/64" />
- </addresses>
- </team>
- </interfaces>
- </host>
- </network>
-
- <task python="team_test.py" />
-</lnstrecipe>
diff --git a/recipes/regression_tests/phase2/active_backup_team.README
b/recipes/regression_tests/phase2/active_backup_team.README
deleted file mode 100644
index fba6dc3..0000000
--- a/recipes/regression_tests/phase2/active_backup_team.README
+++ /dev/null
@@ -1,81 +0,0 @@
-Topology:
-
- switch
- +------+
- | |
- | |
- +-------------------+ +------------------+
- | | | |
- | | | |
- | +------+ |
- | |
- | |
- | |
- | |
- | |
- +----+---+ |
- | TEAM | |
- +---++---+ |
- || |
- +--++--+ |
- | | |
- +--+-+ +-+--+ +-+--+
-+---|eth1|--|eth2|---+ +-------|eth1|------+
-| +----+ +----+ | | +----+ |
-| | | |
-| | | |
-| host1 | | host2 |
-| | | |
-| | | |
-| | | |
-+--------------------+ +-------------------+
-
-Number of hosts: 2
-Host #1 description:
- Two ethernet devices, as slaves of a team interface in active-backup mode
-Host #2 description:
- One ethernet device
-Test name:
- team_test.py
-Test description:
- Ping:
- + count: 100
- + interval: 0.1s
- + from both sides
- Netperf:
- + duration: 60s
- + TCP_STREAM and UDP_STREAM
- + from both sides
- Offloads:
- + TSO, GRO, GSO
- + tested both on/off variants
-
-PerfRepo integration:
- First, preparation in PerfRepo is required - you need to create Test objects
- through the web interface that properly describe the individual Netperf
- tests that this recipe runs. Don't forget to also add appropriate metrics.
- For these Netperf tests it's always:
- * throughput
- * throughput_min
- * throughput_max
- * throughput_deviation
-
- After that, to enable support for PerfRepo you need to create the file
- active_backup_team.mapping and define the following id mappings:
- tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
-
- To enable result comparison agains baselines you need to create a Report in
- PerfRepo that will store the baseline. Set up the Report to only contain results
- with the same hash tag and then add a new mapping to the mapping file, with
- this format:
- <some_hash> = <report_id>
-
- The hash value is automatically generated during test execution and added
- to each result stored in PerfRepo. To get the Report id you need to open
- that report in our browser and find if in the URL.
-
- When running this recipe you should also define the 'product_name' alias
- (e.g. RHEL7) in order to tag the result object in PerfRepo.
diff --git a/recipes/regression_tests/phase2/active_backup_team.xml
b/recipes/regression_tests/phase2/active_backup_team.xml
deleted file mode 100644
index abf4451..0000000
--- a/recipes/regression_tests/phase2/active_backup_team.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="mtu" value="1500" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5" />
- <alias name="nperf_mode" value="default"/>
- <alias name="nperf_num_parallel" value="2"/>
- <alias name="nperf_debug" value="0"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mapping_file"
value="active_backup_team.mapping" />
- <alias name="net" value="192.168.0"/>
- </define>
- <network>
- <host id="testmachine1">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <eth id="eth2" label="tnet" />
- <team id="test_if">
- <options>
- <option name="teamd_config">
- {
- "hwaddr" : "00:11:22:33:44:55",
- "runner" : {"name" :
"activebackup"}
- }
- </option>
- </options>
- <slaves>
- <slave id="eth1" />
- <slave id="eth2" />
- </slaves>
- <addresses>
- <address value="{$net}.1/24" />
- <address value="fc00:0:0:0::1/64" />
- </addresses>
- </team>
- </interfaces>
- </host>
- <host id="testmachine2">
- <interfaces>
- <eth id="test_if" label="tnet">
- <addresses>
- <address value="{$net}.2/24" />
- <address value="fc00:0:0:0::2/64" />
- </addresses>
- </eth>
- </interfaces>
- </host>
- </network>
-
- <task python="team_test.py" />
-</lnstrecipe>
diff --git
a/recipes/regression_tests/phase2/active_backup_team_vs_active_backup_bond.README
b/recipes/regression_tests/phase2/active_backup_team_vs_active_backup_bond.README
deleted file mode 100644
index c69442b..0000000
--- a/recipes/regression_tests/phase2/active_backup_team_vs_active_backup_bond.README
+++ /dev/null
@@ -1,81 +0,0 @@
-Topology:
-
- switch
- +------+
- | |
- | |
- +-------------------+ +-------------------+
- | | | |
- | | | |
- | +------+ |
- | |
- | |
- | |
- | |
- | |
- +----+---+ +----+---+
- | TEAM | | BOND |
- +---++---+ +---++---+
- || ||
- +--++--+ +--++--+
- | | | |
- +--+-+ +-+--+ +--+-+ +-+--+
-+---|eth1|--|eth2|---+ +---|eth1|--|eth2|---+
-| +----+ +----+ | | +----+ +----+ |
-| | | |
-| | | |
-| host1 | | host2 |
-| | | |
-| | | |
-| | | |
-+--------------------+ +--------------------+
-
-Number of hosts: 2
-Host #1 description:
- Two ethernet devices, as slaves of a team interface in active-backup mode
-Host #2 description:
- Two ethernet devices, as slaves of a bond interface in active-backup mode
-Test name:
- team_test.py
-Test description:
- Ping:
- + count: 100
- + interval: 0.1s
- + from both sides
- Netperf:
- + duration: 60s
- + TCP_STREAM and UDP_STREAM
- + from both sides
- Offloads:
- + TSO, GRO, GSO
- + tested both on/off variants
-
-PerfRepo integration:
- First, preparation in PerfRepo is required - you need to create Test objects
- through the web interface that properly describe the individual Netperf
- tests that this recipe runs. Don't forget to also add appropriate metrics.
- For these Netperf tests it's always:
- * throughput
- * throughput_min
- * throughput_max
- * throughput_deviation
-
- After that, to enable support for PerfRepo you need to create the file
- active_backup_team_vs_active_backup_bond.mapping and define the following id
mappings:
- tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
-
- To enable result comparison agains baselines you need to create a Report in
- PerfRepo that will store the baseline. Set up the Report to only contain results
- with the same hash tag and then add a new mapping to the mapping file, with
- this format:
- <some_hash> = <report_id>
-
- The hash value is automatically generated during test execution and added
- to each result stored in PerfRepo. To get the Report id you need to open
- that report in our browser and find if in the URL.
-
- When running this recipe you should also define the 'product_name' alias
- (e.g. RHEL7) in order to tag the result object in PerfRepo.
diff --git a/recipes/regression_tests/phase2/active_backup_team_vs_active_backup_bond.xml
b/recipes/regression_tests/phase2/active_backup_team_vs_active_backup_bond.xml
deleted file mode 100644
index e0cb9c1..0000000
--- a/recipes/regression_tests/phase2/active_backup_team_vs_active_backup_bond.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="mtu" value="1500" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5" />
- <alias name="nperf_mode" value="default"/>
- <alias name="nperf_num_parallel" value="2"/>
- <alias name="nperf_debug" value="0"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mapping_file"
value="active_backup_team_vs_active_backup_bond.mapping" />
- <alias name="net" value="192.168.0"/>
- </define>
- <network>
- <host id="testmachine1">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <eth id="eth2" label="tnet" />
- <team id="test_if">
- <options>
- <option name="teamd_config">
- {
- "hwaddr" : "00:11:22:33:44:55",
- "runner" : {"name" :
"activebackup"}
- }
- </option>
- </options>
- <slaves>
- <slave id="eth1" />
- <slave id="eth2" />
- </slaves>
- <addresses>
- <address value="{$net}.1/24" />
- <address value="fc00:0:0:0::1/64" />
- </addresses>
- </team>
- </interfaces>
- </host>
- <host id="testmachine2">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <eth id="eth2" label="tnet" />
- <bond id="test_if">
- <options>
- <option name="mode" value="active-backup"
/>
- <option name="miimon" value="100" />
- </options>
- <slaves>
- <slave id="eth1" />
- <slave id="eth2" />
- </slaves>
- <addresses>
- <address value="{$net}.2/24" />
- <address value="fc00:0:0:0::2/64" />
- </addresses>
- </bond>
- </interfaces>
- </host>
- </network>
-
- <task python="team_test.py" />
-</lnstrecipe>
diff --git a/recipes/regression_tests/phase2/active_backup_team_vs_round_robin_bond.README
b/recipes/regression_tests/phase2/active_backup_team_vs_round_robin_bond.README
deleted file mode 100644
index 2412401..0000000
--- a/recipes/regression_tests/phase2/active_backup_team_vs_round_robin_bond.README
+++ /dev/null
@@ -1,81 +0,0 @@
-Topology:
-
- switch
- +------+
- | |
- | |
- +-------------------+ +-------------------+
- | | | |
- | | | |
- | +------+ |
- | |
- | |
- | |
- | |
- | |
- +----+---+ +----+---+
- | TEAM | | BOND |
- +---++---+ +---++---+
- || ||
- +--++--+ +--++--+
- | | | |
- +--+-+ +-+--+ +--+-+ +-+--+
-+---|eth1|--|eth2|---+ +---|eth1|--|eth2|---+
-| +----+ +----+ | | +----+ +----+ |
-| | | |
-| | | |
-| host1 | | host2 |
-| | | |
-| | | |
-| | | |
-+--------------------+ +--------------------+
-
-Number of hosts: 2
-Host #1 description:
- Two ethernet devices, as slaves of a team interface in active-backup mode
-Host #2 description:
- Two ethernet devices, as slaves of a bond interface in round-robin mode
-Test name:
- team_test.py
-Test description:
- Ping:
- + count: 100
- + interval: 0.1s
- + from both sides
- Netperf:
- + duration: 60s
- + TCP_STREAM and UDP_STREAM
- + from both sides
- Offloads:
- + TSO, GRO, GSO
- + tested both on/off variants
-
-PerfRepo integration:
- First, preparation in PerfRepo is required - you need to create Test objects
- through the web interface that properly describe the individual Netperf
- tests that this recipe runs. Don't forget to also add appropriate metrics.
- For these Netperf tests it's always:
- * throughput
- * throughput_min
- * throughput_max
- * throughput_deviation
-
- After that, to enable support for PerfRepo you need to create the file
- active_backup_team_vs_round_robin_bond.mapping and define the following id mappings:
- tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
-
- To enable result comparison agains baselines you need to create a Report in
- PerfRepo that will store the baseline. Set up the Report to only contain results
- with the same hash tag and then add a new mapping to the mapping file, with
- this format:
- <some_hash> = <report_id>
-
- The hash value is automatically generated during test execution and added
- to each result stored in PerfRepo. To get the Report id you need to open
- that report in our browser and find if in the URL.
-
- When running this recipe you should also define the 'product_name' alias
- (e.g. RHEL7) in order to tag the result object in PerfRepo.
diff --git a/recipes/regression_tests/phase2/active_backup_team_vs_round_robin_bond.xml
b/recipes/regression_tests/phase2/active_backup_team_vs_round_robin_bond.xml
deleted file mode 100644
index 983a512..0000000
--- a/recipes/regression_tests/phase2/active_backup_team_vs_round_robin_bond.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="mtu" value="1500" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5" />
- <alias name="nperf_mode" value="default"/>
- <alias name="nperf_num_parallel" value="2"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mapping_file"
value="active_backup_team_vs_round_robin_bond.mapping" />
- </define>
- <network>
- <host id="testmachine1">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <eth id="eth2" label="tnet" />
- <team id="test_if">
- <options>
- <option name="teamd_config">
- {
- "hwaddr" : "00:11:22:33:44:55",
- "runner" : {"name" :
"activebackup"}
- }
- </option>
- </options>
- <slaves>
- <slave id="eth1" />
- <slave id="eth2" />
- </slaves>
- <addresses>
- <address value="192.168.0.1/24" />
- <address value="2002::1/64" />
- </addresses>
- </team>
- </interfaces>
- </host>
- <host id="testmachine2">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <eth id="eth2" label="tnet" />
- <bond id="test_if">
- <options>
- <option name="mode" value="balance-rr"
/>
- <option name="miimon" value="100" />
- </options>
- <slaves>
- <slave id="eth1" />
- <slave id="eth2" />
- </slaves>
- <addresses>
- <address value="192.168.0.2/24" />
- <address value="2002::2/64" />
- </addresses>
- </bond>
- </interfaces>
- </host>
- </network>
-
- <task python="team_test.py" />
-</lnstrecipe>
-
-
diff --git a/recipes/regression_tests/phase2/round_robin_double_team.README
b/recipes/regression_tests/phase2/round_robin_double_team.README
deleted file mode 100644
index 0d5ad2f..0000000
--- a/recipes/regression_tests/phase2/round_robin_double_team.README
+++ /dev/null
@@ -1,81 +0,0 @@
-Topology:
-
- switch
- +------+
- | |
- | |
- +-------------------+ +-------------------+
- | | | |
- | | | |
- | +------+ |
- | |
- | |
- | |
- | |
- | |
- +----+---+ +----+---+
- | TEAM | | TEAM |
- +---++---+ +---++---+
- || ||
- +--++--+ +--++--+
- | | | |
- +--+-+ +-+--+ +--+-+ +-+--+
-+---|eth1|--|eth2|---+ +---|eth1|--|eth2|---+
-| +----+ +----+ | | +----+ +----+ |
-| | | |
-| | | |
-| host1 | | host2 |
-| | | |
-| | | |
-| | | |
-+--------------------+ +--------------------+
-
-Number of hosts: 2
-Host #1 description:
- Two ethernet devices, as slaves of a team interface in round-robin mode
-Host #2 description:
- Two ethernet devices, as slaves of a team interface in round-robin mode
-Test name:
- team_test.py
-Test description:
- Ping:
- + count: 100
- + interval: 0.1s
- + from both sides
- Netperf:
- + duration: 60s
- + TCP_STREAM and UDP_STREAM
- + from both sides
- Offloads:
- + TSO, GRO, GSO
- + tested both on/off variants
-
-PerfRepo integration:
- First, preparation in PerfRepo is required - you need to create Test objects
- through the web interface that properly describe the individual Netperf
- tests that this recipe runs. Don't forget to also add appropriate metrics.
- For these Netperf tests it's always:
- * throughput
- * throughput_min
- * throughput_max
- * throughput_deviation
-
- After that, to enable support for PerfRepo you need to create the file
- round_robin_double_team.mapping and define the following id mappings:
- tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
-
- To enable result comparison agains baselines you need to create a Report in
- PerfRepo that will store the baseline. Set up the Report to only contain results
- with the same hash tag and then add a new mapping to the mapping file, with
- this format:
- <some_hash> = <report_id>
-
- The hash value is automatically generated during test execution and added
- to each result stored in PerfRepo. To get the Report id you need to open
- that report in our browser and find if in the URL.
-
- When running this recipe you should also define the 'product_name' alias
- (e.g. RHEL7) in order to tag the result object in PerfRepo.
diff --git a/recipes/regression_tests/phase2/round_robin_double_team.xml
b/recipes/regression_tests/phase2/round_robin_double_team.xml
deleted file mode 100644
index a4cb9cb..0000000
--- a/recipes/regression_tests/phase2/round_robin_double_team.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="mtu" value="1500" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5" />
- <alias name="nperf_mode" value="default"/>
- <alias name="nperf_num_parallel" value="2"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mapping_file"
value="round_robin_double_team.mapping" />
- </define>
- <network>
- <host id="testmachine1">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <eth id="eth2" label="tnet" />
- <team id="test_if">
- <options>
- <option name="teamd_config">
- {
- "hwaddr" : "10:22:33:44:55:66",
- "runner" : {"name" :
"roundrobin"}
- }
- </option>
- </options>
- <slaves>
- <slave id="eth1" />
- <slave id="eth2" />
- </slaves>
- <addresses>
- <address value="192.168.0.1/24" />
- <address value="2002::1/64" />
- </addresses>
- </team>
- </interfaces>
- </host>
- <host id="testmachine2">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <eth id="eth2" label="tnet" />
- <team id="test_if">
- <options>
- <option name="teamd_config">
- {
- "hwaddr" : "00:11:22:33:44:55",
- "runner" : {"name" :
"roundrobin"}
- }
- </option>
- </options>
- <slaves>
- <slave id="eth1" />
- <slave id="eth2" />
- </slaves>
- <addresses>
- <address value="192.168.0.2/24" />
- <address value="2002::2/64" />
- </addresses>
- </team>
- </interfaces>
- </host>
- </network>
-
- <task python="team_test.py" />
-</lnstrecipe>
-
-
diff --git a/recipes/regression_tests/phase2/round_robin_team.README
b/recipes/regression_tests/phase2/round_robin_team.README
deleted file mode 100644
index 744cbb8..0000000
--- a/recipes/regression_tests/phase2/round_robin_team.README
+++ /dev/null
@@ -1,81 +0,0 @@
-Topology:
-
- switch
- +------+
- | |
- | |
- +-------------------+ +------------------+
- | | | |
- | | | |
- | +------+ |
- | |
- | |
- | |
- | |
- | |
- +----+---+ |
- | TEAM | |
- +---++---+ |
- || |
- +--++--+ |
- | | |
- +--+-+ +-+--+ +-+--+
-+---|eth1|--|eth2|---+ +-------|eth1|------+
-| +----+ +----+ | | +----+ |
-| | | |
-| | | |
-| host1 | | host2 |
-| | | |
-| | | |
-| | | |
-+--------------------+ +-------------------+
-
-Number of hosts: 2
-Host #1 description:
- Two ethernet devices, as slaves of a team interface in round-robin mode
-Host #2 description:
- One ethernet device
-Test name:
- team_test.py
-Test description:
- Ping:
- + count: 100
- + interval: 0.1s
- + from both sides
- Netperf:
- + duration: 60s
- + TCP_STREAM and UDP_STREAM
- + from both sides
- Offloads:
- + TSO, GRO, GSO
- + tested both on/off variants
-
-PerfRepo integration:
- First, preparation in PerfRepo is required - you need to create Test objects
- through the web interface that properly describe the individual Netperf
- tests that this recipe runs. Don't forget to also add appropriate metrics.
- For these Netperf tests it's always:
- * throughput
- * throughput_min
- * throughput_max
- * throughput_deviation
-
- After that, to enable support for PerfRepo you need to create the file
- round_robin_team.mapping and define the following id mappings:
- tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
-
- To enable result comparison agains baselines you need to create a Report in
- PerfRepo that will store the baseline. Set up the Report to only contain results
- with the same hash tag and then add a new mapping to the mapping file, with
- this format:
- <some_hash> = <report_id>
-
- The hash value is automatically generated during test execution and added
- to each result stored in PerfRepo. To get the Report id you need to open
- that report in our browser and find if in the URL.
-
- When running this recipe you should also define the 'product_name' alias
- (e.g. RHEL7) in order to tag the result object in PerfRepo.
diff --git a/recipes/regression_tests/phase2/round_robin_team.xml
b/recipes/regression_tests/phase2/round_robin_team.xml
deleted file mode 100644
index 9ff89eb..0000000
--- a/recipes/regression_tests/phase2/round_robin_team.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="mtu" value="1500" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5" />
- <alias name="nperf_mode" value="default"/>
- <alias name="nperf_num_parallel" value="2"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mapping_file"
value="round_robin_team.mapping" />
- </define>
- <network>
- <host id="testmachine1">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <eth id="eth2" label="tnet" />
- <team id="test_if">
- <options>
- <option name="teamd_config">
- {
- "hwaddr" : "00:11:22:33:44:55",
- "runner" : {"name" :
"roundrobin"}
- }
- </option>
- </options>
- <slaves>
- <slave id="eth1" />
- <slave id="eth2" />
- </slaves>
- <addresses>
- <address value="192.168.0.1/24" />
- <address value="2002::1/64" />
- </addresses>
- </team>
- </interfaces>
- </host>
- <host id="testmachine2">
- <interfaces>
- <eth id="test_if" label="tnet">
- <addresses>
- <address value="192.168.0.2/24" />
- <address value="2002::2/64" />
- </addresses>
- </eth>
- </interfaces>
- </host>
- </network>
-
- <task python="team_test.py" />
-</lnstrecipe>
diff --git a/recipes/regression_tests/phase2/round_robin_team_vs_active_backup_bond.README
b/recipes/regression_tests/phase2/round_robin_team_vs_active_backup_bond.README
deleted file mode 100644
index 1d021db..0000000
--- a/recipes/regression_tests/phase2/round_robin_team_vs_active_backup_bond.README
+++ /dev/null
@@ -1,81 +0,0 @@
-Topology:
-
- switch
- +------+
- | |
- | |
- +-------------------+ +-------------------+
- | | | |
- | | | |
- | +------+ |
- | |
- | |
- | |
- | |
- | |
- +----+---+ +----+---+
- | TEAM | | BOND |
- +---++---+ +---++---+
- || ||
- +--++--+ +--++--+
- | | | |
- +--+-+ +-+--+ +--+-+ +-+--+
-+---|eth1|--|eth2|---+ +---|eth1|--|eth2|---+
-| +----+ +----+ | | +----+ +----+ |
-| | | |
-| | | |
-| host1 | | host2 |
-| | | |
-| | | |
-| | | |
-+--------------------+ +--------------------+
-
-Number of hosts: 2
-Host #1 description:
- Two ethernet devices, as slaves of a team interface in round-robin mode
-Host #2 description:
- Two ethernet devices, as slaves of a bond interface in active-backup mode
-Test name:
- team_test.py
-Test description:
- Ping:
- + count: 100
- + interval: 0.1s
- + from both sides
- Netperf:
- + duration: 60s
- + TCP_STREAM and UDP_STREAM
- + from both sides
- Offloads:
- + TSO, GRO, GSO
- + tested both on/off variants
-
-PerfRepo integration:
- First, preparation in PerfRepo is required - you need to create Test objects
- through the web interface that properly describe the individual Netperf
- tests that this recipe runs. Don't forget to also add appropriate metrics.
- For these Netperf tests it's always:
- * throughput
- * throughput_min
- * throughput_max
- * throughput_deviation
-
- After that, to enable support for PerfRepo you need to create the file
- round_robin_team_vs_active_backup_bond.mapping and define the following id mappings:
- tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
-
- To enable result comparison agains baselines you need to create a Report in
- PerfRepo that will store the baseline. Set up the Report to only contain results
- with the same hash tag and then add a new mapping to the mapping file, with
- this format:
- <some_hash> = <report_id>
-
- The hash value is automatically generated during test execution and added
- to each result stored in PerfRepo. To get the Report id you need to open
- that report in our browser and find if in the URL.
-
- When running this recipe you should also define the 'product_name' alias
- (e.g. RHEL7) in order to tag the result object in PerfRepo.
diff --git a/recipes/regression_tests/phase2/round_robin_team_vs_active_backup_bond.xml
b/recipes/regression_tests/phase2/round_robin_team_vs_active_backup_bond.xml
deleted file mode 100644
index 0d15dda..0000000
--- a/recipes/regression_tests/phase2/round_robin_team_vs_active_backup_bond.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="mtu" value="1500" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5" />
- <alias name="nperf_mode" value="default"/>
- <alias name="nperf_num_parallel" value="2"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mapping_file"
value="round_robin_team_vs_active_backup_bond.mapping" />
- </define>
- <network>
- <host id="testmachine1">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <eth id="eth2" label="tnet" />
- <team id="test_if">
- <options>
- <option name="teamd_config">
- {
- "hwaddr" : "00:11:22:33:44:55",
- "runner" : {"name" :
"roundrobin"}
- }
- </option>
- </options>
- <slaves>
- <slave id="eth1" />
- <slave id="eth2" />
- </slaves>
- <addresses>
- <address value="192.168.0.1/24" />
- <address value="2002::1/64" />
- </addresses>
- </team>
- </interfaces>
- </host>
- <host id="testmachine2">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <eth id="eth2" label="tnet" />
- <bond id="test_if">
- <options>
- <option name="mode" value="active-backup"
/>
- <option name="miimon" value="100" />
- </options>
- <slaves>
- <slave id="eth1" />
- <slave id="eth2" />
- </slaves>
- <addresses>
- <address value="192.168.0.2/24" />
- <address value="2002::2/64" />
- </addresses>
- </bond>
- </interfaces>
- </host>
- </network>
-
- <task python="team_test.py" />
-</lnstrecipe>
-
-
diff --git a/recipes/regression_tests/phase2/round_robin_team_vs_round_robin_bond.README
b/recipes/regression_tests/phase2/round_robin_team_vs_round_robin_bond.README
deleted file mode 100644
index 774eefb..0000000
--- a/recipes/regression_tests/phase2/round_robin_team_vs_round_robin_bond.README
+++ /dev/null
@@ -1,81 +0,0 @@
-Topology:
-
- switch
- +------+
- | |
- | |
- +-------------------+ +-------------------+
- | | | |
- | | | |
- | +------+ |
- | |
- | |
- | |
- | |
- | |
- +----+---+ +----+---+
- | TEAM | | BOND |
- +---++---+ +---++---+
- || ||
- +--++--+ +--++--+
- | | | |
- +--+-+ +-+--+ +--+-+ +-+--+
-+---|eth1|--|eth2|---+ +---|eth1|--|eth2|---+
-| +----+ +----+ | | +----+ +----+ |
-| | | |
-| | | |
-| host1 | | host2 |
-| | | |
-| | | |
-| | | |
-+--------------------+ +--------------------+
-
-Number of hosts: 2
-Host #1 description:
- Two ethernet devices, as slaves of a team interface in round-robin mode
-Host #2 description:
- Two ethernet devices, as slaves of a bond interface in round-robin mode
-Test name:
- team_test.py
-Test description:
- Ping:
- + count: 100
- + interval: 0.1s
- + from both sides
- Netperf:
- + duration: 60s
- + TCP_STREAM and UDP_STREAM
- + from both sides
- Offloads:
- + TSO, GRO, GSO
- + tested both on/off variants
-
-PerfRepo integration:
- First, preparation in PerfRepo is required - you need to create Test objects
- through the web interface that properly describe the individual Netperf
- tests that this recipe runs. Don't forget to also add appropriate metrics.
- For these Netperf tests it's always:
- * throughput
- * throughput_min
- * throughput_max
- * throughput_deviation
-
- After that, to enable support for PerfRepo you need to create the file
- round_robin_team_vs_round_robin_bond.mapping and define the following id mappings:
- tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
-
- To enable result comparison agains baselines you need to create a Report in
- PerfRepo that will store the baseline. Set up the Report to only contain results
- with the same hash tag and then add a new mapping to the mapping file, with
- this format:
- <some_hash> = <report_id>
-
- The hash value is automatically generated during test execution and added
- to each result stored in PerfRepo. To get the Report id you need to open
- that report in our browser and find if in the URL.
-
- When running this recipe you should also define the 'product_name' alias
- (e.g. RHEL7) in order to tag the result object in PerfRepo.
diff --git a/recipes/regression_tests/phase2/round_robin_team_vs_round_robin_bond.xml
b/recipes/regression_tests/phase2/round_robin_team_vs_round_robin_bond.xml
deleted file mode 100644
index 4b31194..0000000
--- a/recipes/regression_tests/phase2/round_robin_team_vs_round_robin_bond.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="mtu" value="1500" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5" />
- <alias name="nperf_mode" value="default"/>
- <alias name="nperf_num_parallel" value="2"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mapping_file"
value="round_robin_team_vs_round_robin_bond.mapping" />
- </define>
- <network>
- <host id="testmachine1">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <eth id="eth2" label="tnet" />
- <team id="test_if">
- <options>
- <option name="teamd_config">
- {
- "hwaddr" : "00:11:22:33:44:55",
- "runner" : {"name" :
"roundrobin"}
- }
- </option>
- </options>
- <slaves>
- <slave id="eth1" />
- <slave id="eth2" />
- </slaves>
- <addresses>
- <address value="192.168.0.1/24" />
- <address value="2002::1/64" />
- </addresses>
- </team>
- </interfaces>
- </host>
- <host id="testmachine2">
- <interfaces>
- <eth id="eth1" label="tnet" />
- <eth id="eth2" label="tnet" />
- <bond id="test_if">
- <options>
- <option name="mode" value="balance-rr"
/>
- <option name="miimon" value="100" />
- </options>
- <slaves>
- <slave id="eth1" />
- <slave id="eth2" />
- </slaves>
- <addresses>
- <address value="192.168.0.2/24" />
- <address value="2002::2/64" />
- </addresses>
- </bond>
- </interfaces>
- </host>
- </network>
-
- <task python="team_test.py" />
-</lnstrecipe>
-
-
diff --git a/recipes/regression_tests/phase2/team_test.py
b/recipes/regression_tests/phase2/team_test.py
deleted file mode 100644
index 1aa0d0f..0000000
--- a/recipes/regression_tests/phase2/team_test.py
+++ /dev/null
@@ -1,470 +0,0 @@
-from lnst.Controller.Task import ctl
-from lnst.Controller.PerfRepoUtils import netperf_baseline_template
-from lnst.Controller.PerfRepoUtils import netperf_result_template
-
-from lnst.RecipeCommon.IRQ import pin_dev_irqs
-from lnst.RecipeCommon.PerfRepo import generate_perfrepo_comment
-
-# ------
-# SETUP
-# ------
-
-mapping_file = ctl.get_alias("mapping_file")
-perf_api = ctl.connect_PerfRepo(mapping_file)
-
-product_name = ctl.get_alias("product_name")
-
-m1 = ctl.get_host("testmachine1")
-m2 = ctl.get_host("testmachine2")
-
-m1.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-m2.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-
-# ------
-# TESTS
-# ------
-
-offloads = ["gro", "gso", "tso", "tx"]
-offload_settings = [ [("gro", "on"), ("gso",
"on"), ("tso", "on"), ("tx", "on")],
- [("gro", "off"), ("gso",
"on"), ("tso", "on"), ("tx", "on")],
- [("gro", "on"), ("gso",
"off"), ("tso", "off"), ("tx", "on")],
- [("gro", "on"), ("gso",
"on"), ("tso", "off"), ("tx", "off")]]
-
-ipv = ctl.get_alias("ipv")
-mtu = ctl.get_alias("mtu")
-netperf_duration = int(ctl.get_alias("netperf_duration"))
-nperf_reserve = int(ctl.get_alias("nperf_reserve"))
-nperf_confidence = ctl.get_alias("nperf_confidence")
-nperf_max_runs = int(ctl.get_alias("nperf_max_runs"))
-nperf_cpupin = ctl.get_alias("nperf_cpupin")
-nperf_cpu_util = ctl.get_alias("nperf_cpu_util")
-nperf_mode = ctl.get_alias("nperf_mode")
-nperf_num_parallel = int(ctl.get_alias("nperf_num_parallel"))
-nperf_debug = ctl.get_alias("nperf_debug")
-nperf_max_dev = ctl.get_alias("nperf_max_dev")
-pr_user_comment = ctl.get_alias("perfrepo_comment")
-
-pr_comment = generate_perfrepo_comment([m1, m2], pr_user_comment)
-
-test_if1 = m1.get_interface("test_if")
-test_if1.set_mtu(mtu)
-test_if2 = m2.get_interface("test_if")
-test_if2.set_mtu(mtu)
-
-if nperf_cpupin:
- m1.run("service irqbalance stop")
- m2.run("service irqbalance stop")
-
- m1_phy1 = m1.get_interface("eth1")
- m1_phy2 = m1.get_interface("eth2")
- dev_list = [(m1, m1_phy1), (m1, m1_phy2)]
-
- if test_if2.get_type() == "team":
- m2_phy1 = m2.get_interface("eth1")
- m2_phy2 = m2.get_interface("eth2")
- dev_list.extend([(m2, m2_phy1), (m2, m2_phy2)])
- else:
- dev_list.append((m2, test_if2))
-
- # this will pin devices irqs to cpu #0
- for m, d in dev_list:
- pin_dev_irqs(m, d, 0)
-
-ping_mod = ctl.get_module("IcmpPing",
- options={
- "addr" : test_if2.get_ip(0),
- "count" : 100,
- "iface" : test_if1.get_devname(),
- "interval" : 0.1
- })
-
-ping_mod6 = ctl.get_module("Icmp6Ping",
- options={
- "addr" : test_if2.get_ip(1),
- "count" : 100,
- "iface" : test_if1.get_ip(1),
- "interval" : 0.1
- })
-
-netperf_srv = ctl.get_module("Netperf",
- options = {
- "role" : "server",
- "bind" : test_if1.get_ip(0)
- })
-
-netperf_srv6 = ctl.get_module("Netperf",
- options = {
- "role" : "server",
- "bind" : test_if1.get_ip(1),
- "netperf_opts" : " -6"
- })
-
-p_opts = "-L %s" % (test_if2.get_ip(0))
-if nperf_cpupin and nperf_mode != "multi":
- p_opts += " -T%s,%s" % (nperf_cpupin, nperf_cpupin)
-
-p_opts6 = "-L %s -6" % (test_if2.get_ip(1))
-if nperf_cpupin and nperf_mode != "multi":
- p_opts6 += " -T%s,%s" % (nperf_cpupin, nperf_cpupin)
-
-netperf_cli_tcp = ctl.get_module("Netperf",
- options = {
- "role" : "client",
- "netperf_server" : test_if1.get_ip(0),
- "duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : p_opts,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-netperf_cli_udp = ctl.get_module("Netperf",
- options = {
- "role" : "client",
- "netperf_server" : test_if1.get_ip(0),
- "duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : p_opts,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-netperf_cli_tcp6 = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
- test_if1.get_ip(1),
- "duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : p_opts6,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-netperf_cli_udp6 = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
- test_if1.get_ip(1),
- "duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : p_opts6,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-if nperf_mode == "multi":
- netperf_cli_tcp.unset_option("confidence")
- netperf_cli_udp.unset_option("confidence")
- netperf_cli_tcp6.unset_option("confidence")
- netperf_cli_udp6.unset_option("confidence")
-
- netperf_cli_tcp.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_udp.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_tcp6.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_udp6.update_options({"num_parallel": nperf_num_parallel})
-
-ctl.wait(15)
-
-for setting in offload_settings:
- dev_features = ""
- for offload in setting:
- dev_features += " %s %s" % (offload[0], offload[1])
- m1.run("ethtool -K %s %s" % (test_if1.get_devname(), dev_features))
- m2.run("ethtool -K %s %s" % (test_if2.get_devname(), dev_features))
-
- if ipv in [ 'ipv4', 'both' ]:
- m1.run(ping_mod)
-
- server_proc = m1.run(netperf_srv, bg=True)
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp
- result_tcp = perf_api.new_result("tcp_ipv4_id",
- "tcp_ipv4_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_tcp.set_parameter(offload[0], offload[1])
- result_tcp.set_parameter('netperf_server', "testmachine1")
- result_tcp.set_parameter('netperf_client', "testmachine2")
- result_tcp.add_tag(product_name)
- if nperf_mode == "multi":
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- netperf_baseline_template(netperf_cli_tcp, baseline)
-
- tcp_res_data = m2.run(netperf_cli_tcp,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp
- result_udp = perf_api.new_result("udp_ipv4_id",
- "udp_ipv4_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_udp.set_parameter(offload[0], offload[1])
- result_udp.set_parameter('netperf_server', "testmachine1")
- result_udp.set_parameter('netperf_client', "testmachine2")
- result_udp.add_tag(product_name)
- if nperf_mode == "multi":
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- netperf_baseline_template(netperf_cli_udp, baseline)
-
- udp_res_data = m2.run(netperf_cli_udp,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
- server_proc.intr()
- if ipv in [ 'ipv6', 'both' ]:
- m1.run(ping_mod6)
-
- server_proc = m1.run(netperf_srv6, bg=True)
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp
- result_tcp = perf_api.new_result("tcp_ipv6_id",
- "tcp_ipv6_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_tcp.set_parameter(offload[0], offload[1])
- result_tcp.set_parameter('netperf_server', "testmachine1")
- result_tcp.set_parameter('netperf_client', "testmachine2")
- result_tcp.add_tag(product_name)
- if nperf_mode == "multi":
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- netperf_baseline_template(netperf_cli_tcp6, baseline)
-
- tcp_res_data = m2.run(netperf_cli_tcp6,
- timeout = (netperf_duration + nperf_reserve)*5)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp
- result_udp = perf_api.new_result("udp_ipv6_id",
- "udp_ipv6_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_udp.set_parameter(offload[0], offload[1])
- result_udp.set_parameter('netperf_server', "testmachine1")
- result_udp.set_parameter('netperf_client', "testmachine2")
- result_udp.add_tag(product_name)
- if nperf_mode == "multi":
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- netperf_baseline_template(netperf_cli_udp6, baseline)
-
- udp_res_data = m2.run(netperf_cli_udp6,
- timeout = (netperf_duration + nperf_reserve)*5)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
- server_proc.intr()
-
-#reset offload states
-dev_features = ""
-for offload in offloads:
- dev_features += " %s %s" % (offload, "on")
-m1.run("ethtool -K %s %s" % (test_if1.get_devname(), dev_features))
-m2.run("ethtool -K %s %s" % (test_if2.get_devname(), dev_features))
-
-ping_mod.update_options({"addr" : test_if1.get_ip(0),
- "iface" : test_if2.get_devname()})
-
-ping_mod6.update_options({"addr" : test_if1.get_ip(1),
- "iface" : test_if2.get_devname()})
-
-netperf_srv.update_options({"bind" : test_if2.get_ip(0)})
-
-netperf_srv6.update_options({"bind" : test_if2.get_ip(1)})
-
-p_opts = "-L %s" % (test_if1.get_ip(0))
-if nperf_cpupin and nperf_mode != "multi":
- p_opts += " -T%s,%s" % (nperf_cpupin, nperf_cpupin)
-
-p_opts6 = "-L %s -6" % (test_if1.get_ip(1))
-if nperf_cpupin and nperf_mode != "multi":
- p_opts6 += " -T%s,%s" % (nperf_cpupin, nperf_cpupin)
-
-netperf_cli_tcp.update_options({"netperf_server" : test_if2.get_ip(0),
- "netperf_opts" : p_opts})
-
-netperf_cli_udp.update_options({"netperf_server" : test_if2.get_ip(0),
- "netperf_opts" : p_opts})
-
-netperf_cli_tcp6.update_options({"netperf_server" : test_if2.get_ip(1),
- "netperf_opts" : p_opts6 })
-
-netperf_cli_udp6.update_options({"netperf_server" : test_if2.get_ip(1),
- "netperf_opts" : p_opts6 })
-
-for setting in offload_settings:
- dev_features = ""
- for offload in setting:
- dev_features += " %s %s" % (offload[0], offload[1])
- m1.run("ethtool -K %s %s" % (test_if1.get_devname(), dev_features))
- m2.run("ethtool -K %s %s" % (test_if2.get_devname(), dev_features))
-
- if ipv in [ 'ipv4', 'both' ]:
- m2.run(ping_mod)
-
- server_proc = m2.run(netperf_srv, bg=True)
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp
- result_tcp = perf_api.new_result("tcp_ipv4_id",
- "tcp_ipv4_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_tcp.set_parameter(offload[0], offload[1])
- result_tcp.set_parameter('netperf_server', "testmachine2")
- result_tcp.set_parameter('netperf_client', "testmachine1")
- result_tcp.add_tag(product_name)
- if nperf_mode == "multi":
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- netperf_baseline_template(netperf_cli_tcp, baseline)
-
- tcp_res_data = m1.run(netperf_cli_tcp,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp
- result_udp = perf_api.new_result("udp_ipv4_id",
- "udp_ipv4_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_udp.set_parameter(offload[0], offload[1])
- result_udp.set_parameter('netperf_server', "testmachine2")
- result_udp.set_parameter('netperf_client', "testmachine1")
- result_udp.add_tag(product_name)
- if nperf_mode == "multi":
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- netperf_baseline_template(netperf_cli_udp, baseline)
-
- udp_res_data = m1.run(netperf_cli_udp,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
- server_proc.intr()
- if ipv in [ 'ipv6', 'both' ]:
- m2.run(ping_mod6)
-
- server_proc = m2.run(netperf_srv6, bg=True)
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp
- result_tcp = perf_api.new_result("tcp_ipv6_id",
- "tcp_ipv6_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_tcp.set_parameter(offload[0], offload[1])
- result_tcp.set_parameter('netperf_server', "testmachine2")
- result_tcp.set_parameter('netperf_client', "testmachine1")
- result_tcp.add_tag(product_name)
- if nperf_mode == "multi":
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- netperf_baseline_template(netperf_cli_tcp6, baseline)
-
- tcp_res_data = m1.run(netperf_cli_tcp6,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp
- result_udp = perf_api.new_result("udp_ipv6_id",
- "udp_ipv6_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release'])
- for offload in setting:
- result_udp.set_parameter(offload[0], offload[1])
- result_udp.set_parameter('netperf_server', "testmachine2")
- result_udp.set_parameter('netperf_client', "testmachine1")
- result_udp.add_tag(product_name)
- if nperf_mode == "multi":
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- netperf_baseline_template(netperf_cli_udp6, baseline)
-
- udp_res_data = m1.run(netperf_cli_udp6,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
- server_proc.intr()
-
-#reset offload states
-dev_features = ""
-for offload in offloads:
- dev_features += " %s %s" % (offload, "on")
-m1.run("ethtool -K %s %s" % (test_if1.get_devname(), dev_features))
-m2.run("ethtool -K %s %s" % (test_if2.get_devname(), dev_features))
-
-if nperf_cpupin:
- m1.run("service irqbalance start")
- m2.run("service irqbalance start")
diff --git
a/recipes/regression_tests/phase2/virtual_ovs_bridge_2_vlans_over_active_backup_bond.README
b/recipes/regression_tests/phase2/virtual_ovs_bridge_2_vlans_over_active_backup_bond.README
deleted file mode 100644
index 20fb6ac..0000000
---
a/recipes/regression_tests/phase2/virtual_ovs_bridge_2_vlans_over_active_backup_bond.README
+++ /dev/null
@@ -1,77 +0,0 @@
-Topology:
-
- switch
- +--------+
- | |
- +-------------------------+ +--------------------------+
- | | | |
- | +---------------+ +----------------+ |
- | | | | | |
- | | +--------+ | |
- | | | |
- | | | |
- +--+-+ +--+-+ +--+-+ +--+-+
-+----+eth1+----+eth2+----+ +----+eth1+----+eth2+----+
-| +-+--+ +--+-+ | | +-+--+ +--+-+ |
-| | | | | | | |
-| | | | | | | |
-| | | | | | | |
-| +----+----------+----+ | | +----+----------+----+ |
-| | +---bond---+ | | | | +---bond---+ | |
-| | | | | | | |
-| | ovs_bridge | | | | ovs_bridge | |
-| | | | | | | |
-| | vlan10 vlan20 | | | | vlan10 vlan20 | |
-| +--+--------------+--+ | | +--+--------------+--+ |
-| | host1 | | | | host2 | |
-| | | | | | | |
-| | | | | | | |
-| +-+-+ +-+-+ | | +-+-+ +-+-+ |
-+--+tap+----------+tap+--+ +--+tap+----------+tap+--+
- +-+-+ +-+-+ +-+-+ +-+-+
- | | | |
- +-+-+ +-+-+ +-+-+ +-+-+
-+--+eth+--+ +--+eth+--+ +--+eth+--+ +--+eth+--+
-| +---+ | | +---+ | | +---+ | | +---+ |
-| | | | | | | |
-| guest1 | | guest2 | | guest3 | | guest4 |
-| | | | | | | |
-| | | | | | | |
-+---------+ +---------+ +---------+ +---------+
-
-Number of hosts: 6
-Host #1 description:
- Two ethernet devices
- Two tap devices
- One Open vSwitch bridge that connects the ethernet devices into a bond and
- uses the tap devices as access ports for vlans 10 and 20.
- Host for guest1 and guest2 virtual machines
-Host #2 description:
- Two ethernet devices
- Two tap devices
- One Open vSwitch bridge that connects the ethernet devices into a bond and
- uses the tap devices as access ports for vlans 10 and 20.
- Host for guest3 and guest4 virtual machines
-Guest #1 description:
- One ethernet device
-Guest #2 description:
- One ethernet device
-Guest #3 description:
- One ethernet device
-Guest #4 description:
- One ethernet device
-Test name:
- virtual_ovs_bridge_2_vlans_over_bond.py
-Test description:
- Set offload:
- + gso, gro, tso
- + guest ethernet devices
- Ping:
- + count: 100
- + interval: 0.1s
- + between guests in same VLANs (should pass)
- + between guests in different VLANs (should fail)
- Netperf:
- + duration: 60s
- + TCP_STREAM and UDP_STREAM
- + between guests in same VLANs
diff --git
a/recipes/regression_tests/phase2/virtual_ovs_bridge_2_vlans_over_active_backup_bond.py
b/recipes/regression_tests/phase2/virtual_ovs_bridge_2_vlans_over_active_backup_bond.py
deleted file mode 100644
index d795714..0000000
---
a/recipes/regression_tests/phase2/virtual_ovs_bridge_2_vlans_over_active_backup_bond.py
+++ /dev/null
@@ -1,381 +0,0 @@
-from lnst.Controller.Task import ctl
-from lnst.Controller.PerfRepoUtils import netperf_baseline_template
-from lnst.Controller.PerfRepoUtils import netperf_result_template
-
-from lnst.RecipeCommon.IRQ import pin_dev_irqs
-from lnst.RecipeCommon.PerfRepo import generate_perfrepo_comment
-
-# ------
-# SETUP
-# ------
-
-mapping_file = ctl.get_alias("mapping_file")
-perf_api = ctl.connect_PerfRepo(mapping_file)
-
-product_name = ctl.get_alias("product_name")
-
-# Host 1 + guests 1 and 2
-h1 = ctl.get_host("host1")
-g1 = ctl.get_host("guest1")
-g1.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-g2 = ctl.get_host("guest2")
-g2.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-
-# Host 2 + guests 3 and 4
-h2 = ctl.get_host("host2")
-g3 = ctl.get_host("guest3")
-g3.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-g4 = ctl.get_host("guest4")
-g4.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-
-# ------
-# TESTS
-# ------
-
-offloads = ["gro", "gso", "tso", "tx"]
-offload_settings = [ [("gro", "on"), ("gso",
"on"), ("tso", "on"), ("tx", "on")],
- [("gro", "off"), ("gso",
"on"), ("tso", "on"), ("tx", "on")],
- [("gro", "on"), ("gso",
"off"), ("tso", "off"), ("tx", "on")],
- [("gro", "on"), ("gso",
"on"), ("tso", "off"), ("tx", "off")]]
-
-ipv = ctl.get_alias("ipv")
-netperf_duration = int(ctl.get_alias("netperf_duration"))
-nperf_reserve = int(ctl.get_alias("nperf_reserve"))
-nperf_confidence = ctl.get_alias("nperf_confidence")
-nperf_max_runs = int(ctl.get_alias("nperf_max_runs"))
-nperf_cpu_util = ctl.get_alias("nperf_cpu_util")
-nperf_mode = ctl.get_alias("nperf_mode")
-nperf_num_parallel = int(ctl.get_alias("nperf_num_parallel"))
-nperf_debug = ctl.get_alias("nperf_debug")
-nperf_max_dev = ctl.get_alias("nperf_max_dev")
-pr_user_comment = ctl.get_alias("perfrepo_comment")
-
-pr_comment = generate_perfrepo_comment([h1, g1, g2, h2, g3, g4], pr_user_comment)
-
-h1_nic1 = h1.get_interface("nic1")
-h1_nic2 = h1.get_interface("nic2")
-h2_nic1 = h2.get_interface("nic1")
-h2_nic2 = h2.get_interface("nic2")
-g1_guestnic = g1.get_interface("guestnic")
-g2_guestnic = g2.get_interface("guestnic")
-g3_guestnic = g3.get_interface("guestnic")
-g4_guestnic = g4.get_interface("guestnic")
-
-h1.run("service irqbalance stop")
-h2.run("service irqbalance stop")
-
-# this will pin devices irqs to cpu #0
-for m, d in [ (h1, h1_nic1), (h2, h2_nic1) , (h1, h1_nic2), (h2, h2_nic2) ]:
- pin_dev_irqs(m, d, 0)
-
-
-ping_mod = ctl.get_module("IcmpPing",
- options={
- "addr" : g3_guestnic.get_ip(0),
- "count" : 100,
- "iface" : g1_guestnic.get_devname(),
- "interval" : 0.1
- })
-
-ping_mod2 = ctl.get_module("IcmpPing",
- options={
- "addr" : g2_guestnic.get_ip(0),
- "count" : 100,
- "iface" : g4_guestnic.get_ip(0),
- "interval" : 0.1
- })
-
-ping_mod6 = ctl.get_module("Icmp6Ping",
- options={
- "addr" : g3_guestnic.get_ip(1),
- "count" : 100,
- "iface" : g1_guestnic.get_devname(),
- "interval" : 0.1
- })
-
-ping_mod62 = ctl.get_module("Icmp6Ping",
- options={
- "addr" : g2_guestnic.get_ip(1),
- "count" : 100,
- "iface" : g4_guestnic.get_devname(),
- "interval" : 0.1
- })
-
-netperf_srv = ctl.get_module("Netperf",
- options={
- "role": "server",
- "bind" : g1_guestnic.get_ip(0)
- })
-
-netperf_srv6 = ctl.get_module("Netperf",
- options={
- "role" : "server",
- "bind" : g1_guestnic.get_ip(1),
- "netperf_opts" : " -6",
- })
-
-netperf_cli_tcp = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
g1_guestnic.get_ip(0),
- "duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : "-L %s" %
- (g3_guestnic.get_ip(0)),
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-netperf_cli_udp = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
g1_guestnic.get_ip(0),
- "duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : "-L %s" %
- (g3_guestnic.get_ip(0)),
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-netperf_cli_tcp6 = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
- g1_guestnic.get_ip(1),
- "duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" :
- "-L %s -6" %
(g3_guestnic.get_ip(1)),
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-netperf_cli_udp6 = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
- g1_guestnic.get_ip(1),
- "duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" :
- "-L %s -6" %
(g3_guestnic.get_ip(1)),
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-if nperf_mode == "multi":
- netperf_cli_tcp.unset_option("confidence")
- netperf_cli_udp.unset_option("confidence")
- netperf_cli_tcp6.unset_option("confidence")
- netperf_cli_udp6.unset_option("confidence")
-
- netperf_cli_tcp.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_udp.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_tcp6.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_udp6.update_options({"num_parallel": nperf_num_parallel})
-
-ping_mod_bad = ctl.get_module("IcmpPing",
- options={
- "addr" : g4_guestnic.get_ip(0),
- "count" : 100,
- "iface" : g1_guestnic.get_devname(),
- "interval" : 0.1
- })
-
-
-ping_mod_bad2 = ctl.get_module("IcmpPing",
- options={
- "addr" : g2_guestnic.get_ip(0),
- "count" : 100,
- "iface" : g3_guestnic.get_devname(),
- "interval" : 0.1
- })
-
-ping_mod6_bad = ctl.get_module("Icmp6Ping",
- options={
- "addr" : g4_guestnic.get_ip(1),
- "count" : 100,
- "iface" : g1_guestnic.get_devname(),
- "interval" : 0.1
- })
-
-ping_mod6_bad2 = ctl.get_module("Icmp6Ping",
- options={
- "addr" : g2_guestnic.get_ip(1),
- "count" : 100,
- "iface" : g3_guestnic.get_devname(),
- "interval" : 0.1
- })
-
-ctl.wait(15)
-
-for setting in offload_settings:
- dev_features = ""
- for offload in setting:
- dev_features += " %s %s" % (offload[0], offload[1])
- h1.run("ethtool -K %s %s" % (h1_nic1.get_devname(), dev_features))
- h1.run("ethtool -K %s %s" % (h1_nic2.get_devname(), dev_features))
- h2.run("ethtool -K %s %s" % (h2_nic1.get_devname(), dev_features))
- h2.run("ethtool -K %s %s" % (h2_nic2.get_devname(), dev_features))
- g1.run("ethtool -K %s %s" % (g1_guestnic.get_devname(), dev_features))
- g2.run("ethtool -K %s %s" % (g2_guestnic.get_devname(), dev_features))
- g3.run("ethtool -K %s %s" % (g3_guestnic.get_devname(), dev_features))
- g4.run("ethtool -K %s %s" % (g4_guestnic.get_devname(), dev_features))
-
- if ipv in [ 'ipv4', 'both' ]:
- g1.run(ping_mod)
- g4.run(ping_mod2)
- g1.run(ping_mod_bad, expect="fail")
- g3.run(ping_mod_bad2, expect="fail")
-
- server_proc = g1.run(netperf_srv, bg=True)
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp
- result_tcp = perf_api.new_result("tcp_ipv4_id",
- "tcp_ipv4_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release',
- r'guest\d+\.hostname',
- r'guest\d+\..*hwaddr',
- r'host\d+\..*tap\d*\.hwaddr',
- r'host\d+\..*tap\d*\.devname'])
- for offload in setting:
- result_tcp.set_parameter(offload[0], offload[1])
- result_tcp.add_tag(product_name)
- if nperf_mode == "multi":
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- netperf_baseline_template(netperf_cli_tcp, baseline)
-
- tcp_res_data = g3.run(netperf_cli_tcp,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp
- result_udp = perf_api.new_result("udp_ipv4_id",
- "udp_ipv4_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release',
- r'guest\d+\.hostname',
- r'guest\d+\..*hwaddr',
- r'host\d+\..*tap\d*\.hwaddr',
- r'host\d+\..*tap\d*\.devname'])
- for offload in setting:
- result_udp.set_parameter(offload[0], offload[1])
- result_udp.add_tag(product_name)
- if nperf_mode == "multi":
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- netperf_baseline_template(netperf_cli_udp, baseline)
-
- udp_res_data = g3.run(netperf_cli_udp,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
- server_proc.intr()
- if ipv in [ 'ipv6', 'both' ]:
- g1.run(ping_mod6)
- g4.run(ping_mod62)
- g1.run(ping_mod6_bad, expect="fail")
- g3.run(ping_mod6_bad2, expect="fail")
-
- server_proc = g1.run(netperf_srv6, bg=True)
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp ipv6
- result_tcp = perf_api.new_result("tcp_ipv6_id",
- "tcp_ipv6_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release',
- r'guest\d+\.hostname',
- r'guest\d+\..*hwaddr',
- r'host\d+\..*tap\d*\.hwaddr',
- r'host\d+\..*tap\d*\.devname'])
- for offload in setting:
- result_tcp.set_parameter(offload[0], offload[1])
- result_tcp.add_tag(product_name)
- if nperf_mode == "multi":
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- netperf_baseline_template(netperf_cli_tcp6, baseline)
-
- tcp_res_data = g3.run(netperf_cli_tcp6,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp ipv6
- result_udp = perf_api.new_result("udp_ipv6_id",
- "udp_ipv6_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release',
- r'guest\d+\.hostname',
- r'guest\d+\..*hwaddr',
- r'host\d+\..*tap\d*\.hwaddr',
- r'host\d+\..*tap\d*\.devname'])
- for offload in setting:
- result_udp.set_parameter(offload[0], offload[1])
- result_udp.add_tag(product_name)
- if nperf_mode == "multi":
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- netperf_baseline_template(netperf_cli_udp6, baseline)
-
- udp_res_data = g3.run(netperf_cli_udp6,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
- server_proc.intr()
-
-#reset offload states
-dev_features = ""
-for offload in offloads:
- dev_features += " %s %s" % (offload, "on")
-h1.run("ethtool -K %s %s" % (h1_nic1.get_devname(), dev_features))
-h1.run("ethtool -K %s %s" % (h1_nic2.get_devname(), dev_features))
-h2.run("ethtool -K %s %s" % (h2_nic1.get_devname(), dev_features))
-h2.run("ethtool -K %s %s" % (h2_nic2.get_devname(), dev_features))
-g1.run("ethtool -K %s %s" % (g1_guestnic.get_devname(), dev_features))
-g2.run("ethtool -K %s %s" % (g2_guestnic.get_devname(), dev_features))
-g3.run("ethtool -K %s %s" % (g3_guestnic.get_devname(), dev_features))
-g4.run("ethtool -K %s %s" % (g4_guestnic.get_devname(), dev_features))
-
-h1.run("service irqbalance start")
-h2.run("service irqbalance start")
diff --git
a/recipes/regression_tests/phase2/virtual_ovs_bridge_2_vlans_over_active_backup_bond.xml
b/recipes/regression_tests/phase2/virtual_ovs_bridge_2_vlans_over_active_backup_bond.xml
deleted file mode 100644
index 4f34ac5..0000000
---
a/recipes/regression_tests/phase2/virtual_ovs_bridge_2_vlans_over_active_backup_bond.xml
+++ /dev/null
@@ -1,135 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5" />
- <alias name="nperf_mode" value="default"/>
- <alias name="nperf_num_parallel" value="2"/>
- <alias name="nperf_debug" value="0"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mapping_file"
value="virtual_ovs_bridge_2_vlans_over_active_backup_bond.mapping" />
- <alias name="vlan10_net" value="192.168.10"/>
- <alias name="vlan10_tag" value="10"/>
- <alias name="vlan20_net" value="192.168.20"/>
- <alias name="vlan20_tag" value="20"/>
- </define>
- <network>
- <host id="host1">
- <interfaces>
- <eth id="nic1" label="to_switch" />
- <eth id="nic2" label="to_switch" />
- <eth id="tap1" label="to_guest1" />
- <eth id="tap2" label="to_guest2" />
- <ovs_bridge id="bridge">
- <slaves>
- <slave id="nic1"/>
- <slave id="nic2"/>
- <slave id="tap1"/>
- <slave id="tap2"/>
- </slaves>
- <vlan tag="{$vlan10_tag}">
- <slaves>
- <slave id="tap1"/>
- </slaves>
- </vlan>
- <vlan tag="{$vlan20_tag}">
- <slaves>
- <slave id="tap2"/>
- </slaves>
- </vlan>
- <bond id="bond">
- <slaves>
- <slave id="nic1"/>
- <slave id="nic2"/>
- </slaves>
- <options>
- <option name="bond_mode"
value="active-backup" />
- <option name="other_config:bond-miimon-interval"
value="100" />
- </options>
- </bond>
- </ovs_bridge>
- </interfaces>
- </host>
- <host id="guest1">
- <interfaces>
- <eth id="guestnic" label="to_guest1">
- <addresses>
- <address>{$vlan10_net}.100/24</address>
- <address>fc00:0:0:10::100/64</address>
- </addresses>
- </eth>
- </interfaces>
- </host>
- <host id="guest2">
- <interfaces>
- <eth id="guestnic" label="to_guest2">
- <addresses>
- <address>{$vlan20_net}.100/24</address>
- <address>fc00:0:0:20::100/64</address>
- </addresses>
- </eth>
- </interfaces>
- </host>
-
- <host id="host2">
- <interfaces>
- <eth id="nic1" label="to_switch"/>
- <eth id="nic2" label="to_switch"/>
- <eth id="tap1" label="to_guest3"/>
- <eth id="tap2" label="to_guest4"/>
- <ovs_bridge id="bridge">
- <slaves>
- <slave id="nic1"/>
- <slave id="nic2"/>
- <slave id="tap1"/>
- <slave id="tap2"/>
- </slaves>
- <vlan tag="{$vlan10_tag}">
- <slaves>
- <slave id="tap1"/>
- </slaves>
- </vlan>
- <vlan tag="{$vlan20_tag}">
- <slaves>
- <slave id="tap2"/>
- </slaves>
- </vlan>
- <bond id="bond">
- <slaves>
- <slave id="nic1"/>
- <slave id="nic2"/>
- </slaves>
- <options>
- <option name="bond_mode"
value="active-backup" />
- <option name="other_config:bond-miimon-interval"
value="100" />
- </options>
- </bond>
- </ovs_bridge>
- </interfaces>
- </host>
- <host id="guest3">
- <interfaces>
- <eth id="guestnic" label="to_guest3">
- <addresses>
- <address>{$vlan10_net}.101/24</address>
- <address>fc00:0:0:10::101/64</address>
- </addresses>
- </eth>
- </interfaces>
- </host>
- <host id="guest4">
- <interfaces>
- <eth id="guestnic" label="to_guest4">
- <addresses>
- <address>{$vlan20_net}.101/24</address>
- <address>fc00:0:0:20::101/64</address>
- </addresses>
- </eth>
- </interfaces>
- </host>
- </network>
-
- <task python="virtual_ovs_bridge_2_vlans_over_active_backup_bond.py"
/>
-</lnstrecipe>
diff --git a/recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_guest.README
b/recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_guest.README
deleted file mode 100644
index e14e853..0000000
--- a/recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_guest.README
+++ /dev/null
@@ -1,55 +0,0 @@
-Topology:
-
- +----------+
- | | VLAN10
- +-----------------+ switch +-----------------+
- | | | |
- | +----------+ |
- | |
- +-+-+ |
-+------|nic|------+ +-+-+
-| +-+-+ | +------|nic|------+
-| | | | +---+ |
-| +----+ | | |
-| | | | |
-| +-+---------+ | | |
-| | ovs_bridge| | | host2 |
-| +-+---------+ | | |
-| | host1 | | |
-| +-+-+ | | |
-+-|tap|-----------+ | |
- +-+-+ +-----------------+
- |
- |VLAN10
- |
- +-+-+
-+-|nic|--+
-| +---+ |
-| guest1 |
-| |
-+--------+
-
-Number of hosts: 3
-Host #1 description:
- One ethernet device
- One tap device
- One Open vSwitch bridge device, bridging ethernet and tap devices
- Host for guest1 virtual machine
-Host #2 description:
- One ethernet device with one VLAN subinterface
-Guest #1 description:
- One ethernet device with one VLAN subinterface
-Test name:
- virtual_ovs_bridge_vlan_in_guest.py
-Test description:
- Set device offload parameters:
- + gso, gro, tso
- + Guest#1 and Host#2 ethernet devices
- Ping:
- + count: 100
- + interval: 0.1s
- + between guest1's VLAN10 and host2's VLAN10
- Netperf:
- + duration: 60s
- + TCP_STREAM and UDP_STREAM
- + between guest1's VLAN10 and host2's VLAN10
diff --git a/recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_guest.py
b/recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_guest.py
deleted file mode 100644
index c96e2a6..0000000
--- a/recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_guest.py
+++ /dev/null
@@ -1,319 +0,0 @@
-from lnst.Controller.Task import ctl
-from lnst.Controller.PerfRepoUtils import netperf_baseline_template
-from lnst.Controller.PerfRepoUtils import netperf_result_template
-
-from lnst.RecipeCommon.IRQ import pin_dev_irqs
-from lnst.RecipeCommon.PerfRepo import generate_perfrepo_comment
-
-# ------
-# SETUP
-# ------
-
-mapping_file = ctl.get_alias("mapping_file")
-perf_api = ctl.connect_PerfRepo(mapping_file)
-
-product_name = ctl.get_alias("product_name")
-
-h1 = ctl.get_host("host1")
-g1 = ctl.get_host("guest1")
-
-h2 = ctl.get_host("host2")
-
-g1.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-h2.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-
-# ------
-# TESTS
-# ------
-
-offloads = ["gro", "gso", "tso", "rx",
"tx"]
-offload_settings = [ [("gro", "on"), ("gso",
"on"), ("tso", "on"), ("tx", "on"),
("rx", "on")],
- [("gro", "off"), ("gso",
"on"), ("tso", "on"), ("tx", "on"),
("rx", "on")],
- [("gro", "on"), ("gso",
"off"), ("tso", "off"), ("tx", "on"),
("rx", "on")],
- [("gro", "on"), ("gso",
"on"), ("tso", "off"), ("tx", "off"),
("rx", "on")],
- [("gro", "on"), ("gso",
"on"), ("tso", "on"), ("tx", "on"),
("rx", "off")]]
-
-ipv = ctl.get_alias("ipv")
-netperf_duration = int(ctl.get_alias("netperf_duration"))
-nperf_reserve = int(ctl.get_alias("nperf_reserve"))
-nperf_confidence = ctl.get_alias("nperf_confidence")
-nperf_max_runs = int(ctl.get_alias("nperf_max_runs"))
-nperf_cpupin = ctl.get_alias("nperf_cpupin")
-nperf_cpu_util = ctl.get_alias("nperf_cpu_util")
-nperf_mode = ctl.get_alias("nperf_mode")
-nperf_num_parallel = int(ctl.get_alias("nperf_num_parallel"))
-nperf_debug = ctl.get_alias("nperf_debug")
-nperf_max_dev = ctl.get_alias("nperf_max_dev")
-pr_user_comment = ctl.get_alias("perfrepo_comment")
-
-pr_comment = generate_perfrepo_comment([h1, g1, h2], pr_user_comment)
-
-h2_vlan10 = h2.get_interface("vlan10")
-g1_vlan10 = g1.get_interface("vlan10")
-h1_nic = h1.get_interface("nic")
-h2_nic = h2.get_interface("nic")
-g1_guestnic = g1.get_interface("guestnic")
-
-if nperf_cpupin:
- h1.run("service irqbalance stop")
- h2.run("service irqbalance stop")
-
- # this will pin devices irqs to cpu #0
- for m, d in [ (h1, h1_nic), (h2, h2_nic) ]:
- pin_dev_irqs(m, d, 0)
-
-ping_mod = ctl.get_module("IcmpPing",
- options={
- "addr" : h2_vlan10.get_ip(0),
- "count" : 100,
- "iface" : g1_vlan10.get_devname(),
- "interval" : 0.1
- })
-
-ping_mod6 = ctl.get_module("Icmp6Ping",
- options={
- "addr" : h2_vlan10.get_ip(1),
- "count" : 100,
- "iface" : g1_vlan10.get_ip(1),
- "interval" : 0.1
- })
-
-netperf_srv = ctl.get_module("Netperf",
- options={
- "role" : "server",
- "bind" : g1_vlan10.get_ip(0)
- })
-
-netperf_srv6 = ctl.get_module("Netperf",
- options={
- "role" : "server",
- "bind" : g1_vlan10.get_ip(1),
- "netperf_opts" : " -6",
- })
-
-p_opts = "-L %s" % (h2_vlan10.get_ip(0))
-if nperf_cpupin and nperf_mode != "multi":
- p_opts += " -T%s" % nperf_cpupin
-
-p_opts6 = "-L %s -6" % (h2_vlan10.get_ip(1))
-if nperf_cpupin and nperf_mode != "multi":
- p_opts6 += " -T%s" % nperf_cpupin
-
-netperf_cli_tcp = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" : g1_vlan10.get_ip(0),
- "duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : p_opts,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-netperf_cli_udp = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" : g1_vlan10.get_ip(0),
- "duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : p_opts,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-netperf_cli_tcp6 = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
- g1_vlan10.get_ip(1),
- "duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : p_opts6,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-netperf_cli_udp6 = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
- g1_vlan10.get_ip(1),
- "duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : p_opts6,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-if nperf_mode == "multi":
- netperf_cli_tcp.unset_option("confidence")
- netperf_cli_udp.unset_option("confidence")
- netperf_cli_tcp6.unset_option("confidence")
- netperf_cli_udp6.unset_option("confidence")
-
- netperf_cli_tcp.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_udp.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_tcp6.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_udp6.update_options({"num_parallel": nperf_num_parallel})
-
-ctl.wait(15)
-
-for setting in offload_settings:
- dev_features = ""
- for offload in setting:
- dev_features += " %s %s" % (offload[0], offload[1])
- h1.run("ethtool -K %s %s" % (h1_nic.get_devname(), dev_features))
- g1.run("ethtool -K %s %s" % (g1_guestnic.get_devname(), dev_features))
- h2.run("ethtool -K %s %s" % (h2_nic.get_devname(), dev_features))
-
- if ("rx", "off") in setting:
- # when rx offload is turned off some of the cards might get reset
- # and link goes down, so wait a few seconds until NIC is ready
- ctl.wait(15)
-
- if ipv in [ 'ipv4', 'both' ]:
- g1.run(ping_mod)
-
- server_proc = g1.run(netperf_srv, bg=True)
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp
- result_tcp = perf_api.new_result("tcp_ipv4_id",
- "tcp_ipv4_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release',
- r'guest\d+\.hostname',
- r'guest\d+\..*hwaddr',
- r'host\d+\..*tap\d*\.hwaddr',
- r'host\d+\..*tap\d*\.devname'])
- for offload in setting:
- result_tcp.set_parameter(offload[0], offload[1])
- result_tcp.add_tag(product_name)
- if nperf_mode == "multi":
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- netperf_baseline_template(netperf_cli_tcp, baseline)
-
- tcp_res_data = h2.run(netperf_cli_tcp,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp
- result_udp = perf_api.new_result("udp_ipv4_id",
- "udp_ipv4_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release',
- r'guest\d+\.hostname',
- r'guest\d+\..*hwaddr',
- r'host\d+\..*tap\d*\.hwaddr',
- r'host\d+\..*tap\d*\.devname'])
- for offload in setting:
- result_udp.set_parameter(offload[0], offload[1])
- result_udp.add_tag(product_name)
- if nperf_mode == "multi":
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- netperf_baseline_template(netperf_cli_udp, baseline)
-
- udp_res_data = h2.run(netperf_cli_udp,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
- server_proc.intr()
- if ipv in [ 'ipv6', 'both' ]:
- g1.run(ping_mod6)
-
- server_proc = g1.run(netperf_srv6, bg=True)
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp ipv6
- result_tcp = perf_api.new_result("tcp_ipv6_id",
- "tcp_ipv6_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release',
- r'guest\d+\.hostname',
- r'guest\d+\..*hwaddr',
- r'host\d+\..*tap\d*\.hwaddr',
- r'host\d+\..*tap\d*\.devname'])
- for offload in setting:
- result_tcp.set_parameter(offload[0], offload[1])
- result_tcp.add_tag(product_name)
- if nperf_mode == "multi":
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- netperf_baseline_template(netperf_cli_tcp6, baseline)
-
- tcp_res_data = h2.run(netperf_cli_tcp6,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp ipv6
- result_udp = perf_api.new_result("udp_ipv6_id",
- "udp_ipv6_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release',
- r'guest\d+\.hostname',
- r'guest\d+\..*hwaddr',
- r'host\d+\..*tap\d*\.hwaddr',
- r'host\d+\..*tap\d*\.devname'])
- for offload in setting:
- result_udp.set_parameter(offload[0], offload[1])
- result_udp.add_tag(product_name)
- if nperf_mode == "multi":
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- netperf_baseline_template(netperf_cli_udp6, baseline)
-
- udp_res_data = h2.run(netperf_cli_udp6,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
- server_proc.intr()
-
-#reset offload states
-dev_features = ""
-for offload in offloads:
- dev_features += " %s %s" % (offload, "on")
-h1.run("ethtool -K %s %s" % (h1_nic.get_devname(), dev_features))
-g1.run("ethtool -K %s %s" % (g1_guestnic.get_devname(), dev_features))
-h2.run("ethtool -K %s %s" % (h2_nic.get_devname(), dev_features))
-
-if nperf_cpupin:
- h1.run("service irqbalance start")
- h2.run("service irqbalance start")
diff --git a/recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_guest.xml
b/recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_guest.xml
deleted file mode 100644
index bfea7a0..0000000
--- a/recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_guest.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5" />
- <alias name="nperf_mode" value="default"/>
- <alias name="nperf_num_parallel" value="2"/>
- <alias name="nperf_debug" value="0"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mapping_file"
value="virtual_ovs_bridge_vlan_in_guest.mapping" />
- <alias name="vlan10_net" value="192.168.10"/>
- <alias name="vlan10_tag" value="10"/>
- </define>
- <network>
- <host id="host1">
- <params>
- <param name="machine_type" value="baremetal"/>
- </params>
- <interfaces>
- <eth id="nic" label="to_switch" />
- <eth id="tap" label="to_guest" />
- <ovs_bridge id="br">
- <slaves>
- <slave id="tap" />
- <slave id="nic" />
- </slaves>
- </ovs_bridge>
- </interfaces>
- </host>
- <host id="guest1">
- <interfaces>
- <eth id="guestnic" label="to_guest">
- <params>
- <param name="driver" value="virtio" />
- </params>
- </eth>
- <vlan id="vlan10">
- <options>
- <option name="vlan_tci"
value="{$vlan10_tag}" />
- </options>
- <slaves>
- <slave id="guestnic" />
- </slaves>
- <addresses>
- <address>{$vlan10_net}.10/24</address>
- <address>fc00:0:0:10::10/64</address>
- </addresses>
- </vlan>
- </interfaces>
- </host>
- <host id="host2">
- <params>
- <param name="machine_type" value="baremetal"/>
- </params>
- <interfaces>
- <eth id="nic" label="to_switch" />
- <vlan id="vlan10">
- <options>
- <option name="vlan_tci"
value="{$vlan10_tag}" />
- </options>
- <slaves>
- <slave id="nic" />
- </slaves>
- <addresses>
- <address>{$vlan10_net}.11/24</address>
- <address>fc00:0:0:10::11/64</address>
- </addresses>
- </vlan>
- </interfaces>
- </host>
- </network>
-
- <task python="virtual_ovs_bridge_vlan_in_guest.py" />
-</lnstrecipe>
diff --git a/recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_host.README
b/recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_host.README
deleted file mode 100644
index 0674251..0000000
--- a/recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_host.README
+++ /dev/null
@@ -1,58 +0,0 @@
-Topology:
-
- +----------+
- | | VLAN10
- +-----------------+ switch +--------------------+
- | | | |
- | +----------+ |
- | |
- +-+-+ |
-+------|nic|---------+ +-+-+
-| +-+-+ | +------|nic|------+
-| | | | +---+ |
-| | | | |
-| +------+-------+ | | |
-| | vlan10 | | | host2 |
-| | | | | |
-| | ovs_bridge | | | |
-| | | | | |
-| +-+------------+ | +-----------------+
-| | |
-| +-+-+ |
-+-|tap|--------------+
- +-+-+
- |
- |
- |
- +-+-+
-+-|nic|--+
-| +---+ |
-| guest1 |
-| |
-+--------+
-
-Number of hosts: 3
-Host #1 description:
- One ethernet device
- One tap device
- One Open vSwitch bridge device, bridging the tap device and the ethernet
- device, the ethernet device is used as an access port for VLAN 10
- Host for guest1 virtual machine
-Host #2 description:
- One ethernet device with one VLAN subinterface
-Guest #1 description:
- One ethernet device
-Test name:
- virtual_bridge_vlan_in_guest.py
-Test description:
- Set offload parameters:
- + gso, gro, tso
- + Guest#1 and Host#2 ethernet devices
- Ping:
- + count: 100
- + interval: 0.1s
- + between guest1's NIC and host2's VLAN10
- Netperf:
- + duration: 60s
- + TCP_STREAM and UDP_STREAM
- + between guest1's NIC and host2's VLAN10
diff --git a/recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_host.py
b/recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_host.py
deleted file mode 100644
index eaa1cab..0000000
--- a/recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_host.py
+++ /dev/null
@@ -1,319 +0,0 @@
-from lnst.Controller.Task import ctl
-from lnst.Controller.PerfRepoUtils import netperf_baseline_template
-from lnst.Controller.PerfRepoUtils import netperf_result_template
-
-from lnst.RecipeCommon.IRQ import pin_dev_irqs
-from lnst.RecipeCommon.PerfRepo import generate_perfrepo_comment
-
-# ------
-# SETUP
-# ------
-
-mapping_file = ctl.get_alias("mapping_file")
-perf_api = ctl.connect_PerfRepo(mapping_file)
-
-product_name = ctl.get_alias("product_name")
-
-h1 = ctl.get_host("host1")
-g1 = ctl.get_host("guest1")
-
-h2 = ctl.get_host("host2")
-
-g1.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-h2.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-
-# ------
-# TESTS
-# ------
-
-offloads = ["gro", "gso", "tso", "rx",
"tx"]
-offload_settings = [ [("gro", "on"), ("gso",
"on"), ("tso", "on"), ("tx", "on"),
("rx", "on")],
- [("gro", "off"), ("gso",
"on"), ("tso", "on"), ("tx", "on"),
("rx", "on")],
- [("gro", "on"), ("gso",
"off"), ("tso", "off"), ("tx", "on"),
("rx", "on")],
- [("gro", "on"), ("gso",
"on"), ("tso", "off"), ("tx", "off"),
("rx", "on")],
- [("gro", "on"), ("gso",
"on"), ("tso", "on"), ("tx", "on"),
("rx", "off")]]
-
-ipv = ctl.get_alias("ipv")
-netperf_duration = int(ctl.get_alias("netperf_duration"))
-nperf_reserve = int(ctl.get_alias("nperf_reserve"))
-nperf_confidence = ctl.get_alias("nperf_confidence")
-nperf_max_runs = int(ctl.get_alias("nperf_max_runs"))
-nperf_cpupin = ctl.get_alias("nperf_cpupin")
-nperf_cpu_util = ctl.get_alias("nperf_cpu_util")
-nperf_mode = ctl.get_alias("nperf_mode")
-nperf_num_parallel = int(ctl.get_alias("nperf_num_parallel"))
-nperf_debug = ctl.get_alias("nperf_debug")
-nperf_max_dev = ctl.get_alias("nperf_max_dev")
-pr_user_comment = ctl.get_alias("perfrepo_comment")
-
-pr_comment = generate_perfrepo_comment([h1, g1, h2], pr_user_comment)
-
-h2_vlan10 = h2.get_interface("vlan10")
-g1_guestnic = g1.get_interface("guestnic")
-h1_nic = h1.get_interface("nic")
-h2_nic = h2.get_interface("nic")
-
-if nperf_cpupin:
- h1.run("service irqbalance stop")
- h2.run("service irqbalance stop")
-
- # this will pin devices irqs to cpu #0
- for m, d in [ (h1, h1_nic), (h2, h2_nic) ]:
- pin_dev_irqs(m, d, 0)
-
-ping_mod = ctl.get_module("IcmpPing",
- options={
- "addr" : h2_vlan10.get_ip(0),
- "count" : 100,
- "iface" : g1_guestnic.get_devname(),
- "interval" : 0.1
- })
-
-ping_mod6 = ctl.get_module("Icmp6Ping",
- options={
- "addr" : h2_vlan10.get_ip(1),
- "count" : 100,
- "iface" : g1_guestnic.get_ip(1),
- "interval" : 0.1
- })
-
-netperf_srv = ctl.get_module("Netperf",
- options={
- "role" : "server",
- "bind" : g1_guestnic.get_ip(0)
- })
-
-netperf_srv6 = ctl.get_module("Netperf",
- options={
- "role" : "server",
- "bind" : g1_guestnic.get_ip(1),
- "netperf_opts" : " -6",
- })
-
-p_opts = "-L %s" % (h2_vlan10.get_ip(0))
-if nperf_cpupin and nperf_mode != "multi":
- p_opts += " -T%s" % nperf_cpupin
-
-p_opts6 = "-L %s -6" % (h2_vlan10.get_ip(1))
-if nperf_cpupin and nperf_mode != "multi":
- p_opts6 += " -T%s" % nperf_cpupin
-
-netperf_cli_tcp = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
g1_guestnic.get_ip(0),
- "duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : p_opts,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-netperf_cli_udp = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
g1_guestnic.get_ip(0),
- "duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : p_opts,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-netperf_cli_tcp6 = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
- g1_guestnic.get_ip(1),
- "duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : p_opts6,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-netperf_cli_udp6 = ctl.get_module("Netperf",
- options={
- "role" : "client",
- "netperf_server" :
- g1_guestnic.get_ip(1),
- "duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : p_opts6,
- "debug" : nperf_debug,
- "max_deviation" : nperf_max_dev
- })
-
-if nperf_mode == "multi":
- netperf_cli_tcp.unset_option("confidence")
- netperf_cli_udp.unset_option("confidence")
- netperf_cli_tcp6.unset_option("confidence")
- netperf_cli_udp6.unset_option("confidence")
-
- netperf_cli_tcp.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_udp.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_tcp6.update_options({"num_parallel": nperf_num_parallel})
- netperf_cli_udp6.update_options({"num_parallel": nperf_num_parallel})
-
-ctl.wait(15)
-
-for setting in offload_settings:
- dev_features = ""
- for offload in setting:
- dev_features += " %s %s" % (offload[0], offload[1])
- h1.run("ethtool -K %s %s" % (h1_nic.get_devname(), dev_features))
- g1.run("ethtool -K %s %s" % (g1_guestnic.get_devname(), dev_features))
- h2.run("ethtool -K %s %s" % (h2_nic.get_devname(), dev_features))
-
- if ("rx", "off") in setting:
- # when rx offload is turned off some of the cards might get reset
- # and link goes down, so wait a few seconds until NIC is ready
- ctl.wait(15)
-
- if ipv in [ 'ipv4', 'both' ]:
- g1.run(ping_mod)
-
- server_proc = g1.run(netperf_srv, bg=True)
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp
- result_tcp = perf_api.new_result("tcp_ipv4_id",
- "tcp_ipv4_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release',
- r'guest\d+\.hostname',
- r'guest\d+\..*hwaddr',
- r'host\d+\..*tap\d*\.hwaddr',
- r'host\d+\..*tap\d*\.devname'])
- for offload in setting:
- result_tcp.set_parameter(offload[0], offload[1])
- result_tcp.add_tag(product_name)
- if nperf_mode == "multi":
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- netperf_baseline_template(netperf_cli_tcp, baseline)
-
- tcp_res_data = h2.run(netperf_cli_tcp,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp
- result_udp = perf_api.new_result("udp_ipv4_id",
- "udp_ipv4_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release',
- r'guest\d+\.hostname',
- r'guest\d+\..*hwaddr',
- r'host\d+\..*tap\d*\.hwaddr',
- r'host\d+\..*tap\d*\.devname'])
- for offload in setting:
- result_udp.set_parameter(offload[0], offload[1])
- result_udp.add_tag(product_name)
- if nperf_mode == "multi":
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- netperf_baseline_template(netperf_cli_udp, baseline)
-
- udp_res_data = h2.run(netperf_cli_udp,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
- server_proc.intr()
-
- if ipv in [ 'ipv6', 'both' ]:
- g1.run(ping_mod6)
-
- server_proc = g1.run(netperf_srv6, bg=True)
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp ipv6
- result_tcp = perf_api.new_result("tcp_ipv6_id",
- "tcp_ipv6_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release',
- r'guest\d+\.hostname',
- r'guest\d+\..*hwaddr',
- r'host\d+\..*tap\d*\.hwaddr',
- r'host\d+\..*tap\d*\.devname'])
- for offload in setting:
- result_tcp.set_parameter(offload[0], offload[1])
- result_tcp.add_tag(product_name)
- if nperf_mode == "multi":
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- netperf_baseline_template(netperf_cli_tcp6, baseline)
-
- tcp_res_data = h2.run(netperf_cli_tcp6,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp ipv6
- result_udp = perf_api.new_result("udp_ipv6_id",
- "udp_ipv6_result",
- hash_ignore=[
- 'kernel_release',
- 'redhat_release',
- r'guest\d+\.hostname',
- r'guest\d+\..*hwaddr',
- r'host\d+\..*tap\d*\.hwaddr',
- r'host\d+\..*tap\d*\.devname'])
- for offload in setting:
- result_udp.set_parameter(offload[0], offload[1])
- result_udp.add_tag(product_name)
- if nperf_mode == "multi":
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- netperf_baseline_template(netperf_cli_udp6, baseline)
-
- udp_res_data = h2.run(netperf_cli_udp6,
- timeout = (netperf_duration +
nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
- server_proc.intr()
-
-#reset offload states
-dev_features = ""
-for offload in offloads:
- dev_features += " %s %s" % (offload, "on")
-h1.run("ethtool -K %s %s" % (h1_nic.get_devname(), dev_features))
-g1.run("ethtool -K %s %s" % (g1_guestnic.get_devname(), dev_features))
-h2.run("ethtool -K %s %s" % (h2_nic.get_devname(), dev_features))
-
-if nperf_cpupin:
- h1.run("service irqbalance start")
- h2.run("service irqbalance start")
diff --git a/recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_host.xml
b/recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_host.xml
deleted file mode 100644
index ea8f41a..0000000
--- a/recipes/regression_tests/phase2/virtual_ovs_bridge_vlan_in_host.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5" />
- <alias name="nperf_mode" value="default"/>
- <alias name="nperf_num_parallel" value="2"/>
- <alias name="nperf_debug" value="0"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mapping_file"
value="virtual_ovs_bridge_vlan_in_host.mapping" />
- <alias name="vlan10_net" value="192.168.10"/>
- <alias name="vlan10_tag" value="10"/>
- </define>
- <network>
- <host id="host1">
- <params>
- <param name="machine_type" value="baremetal"/>
- </params>
- <interfaces>
- <eth id="nic" label="to_switch"/>
- <eth id="tap" label="to_guest"/>
- <ovs_bridge id="ovs_br">
- <slaves>
- <slave id="tap" />
- <slave id="nic" />
- </slaves>
- <vlan tag="{$vlan10_tag}">
- <slaves>
- <slave id="tap"/>
- </slaves>
- </vlan>
- </ovs_bridge>
- </interfaces>
- </host>
- <host id="guest1">
- <interfaces>
- <eth id="guestnic" label="to_guest">
- <params>
- <param name="driver" value="virtio"/>
- </params>
- <addresses>
- <address>{$vlan10_net}.10/24</address>
- <address>fc00:0:0:10::10/64</address>
- </addresses>
- </eth>
- </interfaces>
- </host>
- <host id="host2">
- <params>
- <param name="machine_type" value="baremetal"/>
- </params>
- <interfaces>
- <eth id="nic" label="to_switch">
- </eth>
- <vlan id="vlan10">
- <options>
- <option name="vlan_tci"
value="{$vlan10_tag}" />
- </options>
- <slaves>
- <slave id="nic" />
- </slaves>
- <addresses>
- <address>{$vlan10_net}.11/24</address>
- <address>fc00:0:0:10::11/64</address>
- </addresses>
- </vlan>
- </interfaces>
- </host>
- </network>
-
- <task python="virtual_ovs_bridge_vlan_in_host.py" />
-</lnstrecipe>
diff --git a/recipes/regression_tests/phase3/2_virt_ovs_vxlan.README
b/recipes/regression_tests/phase3/2_virt_ovs_vxlan.README
deleted file mode 100644
index e7c8c90..0000000
--- a/recipes/regression_tests/phase3/2_virt_ovs_vxlan.README
+++ /dev/null
@@ -1,129 +0,0 @@
-Topology:
-
- switch
- +--------+
- | |
- +--------------------+ +----------------------+
- | | | |
- | | | |
- | | | |
- | +--------+ |
- | |
- | |
- +--+--+ +--+--+
-+---------| eth |--------+ +---------| eth |--------+
-| +-----+ | | +-----+ |
-| | | |
-| +----------------------------------------------------+ |
-| | | | | |
-| +----------+---------+ | | +----------+---------+ |
-| | vxlan | | | | vxlan | |
-| | | | | | | |
-| | ovs_bridge | | | | ovs_bridge | |
-| |tun_id tun_id| | | |tun_id tun_id| |
-| | 100 200 | | | | 100 200 | |
-| +--+--------------+--+ | | +--+--------------+--+ |
-| | host1 | | | | host2 | |
-| | | | | | | |
-| | | | | | | |
-| +-+-+ +-+-+ | | +-+-+ +-+-+ |
-+--+tap+----------+tap+--+ +--+tap+----------+tap+--+
- +-+-+ +-+-+ +-+-+ +-+-+
- | | | |
- +-+-+ +-+-+ +-+-+ +-+-+
-+--+eth+--+ +--+eth+--+ +--+eth+--+ +--+eth+--+
-| +---+ | | +---+ | | +---+ | | +---+ |
-| | | | | | | |
-| guest1 | | guest2 | | guest3 | | guest4 |
-| | | | | | | |
-| | | | | | | |
-+---------+ +---------+ +---------+ +---------+
-
-Number of hosts: 6
-Host #1 description:
- One ethernet device configured with {$net}.1/24 ip address
- Two tap devices
- One Open vSwitch bridge that separates the guests into two distinct VXLANs
- with tun_id=100 and tun_id=200. The vxlan port remote_ip points to the
- ethernet interface of Host #2.
- Host for guest1 and guest2 virtual machines
-Host #2 description:
- One ethernet device configured with {$net}.2/24 ip address
- Two tap devices
- One Open vSwitch bridge that separates the guests into two distinct VXLANs
- with tun_id=100 and tun_id=200. The vxlan port remote_ip points to the
- ethernet interface of Host #1.
- Host for guest3 and guest4 virtual machines
-Guest #1 description:
- One ethernet device configured with ip addresses:
- {$vxlan_net}.1/24
- {$vxlan_net6}::1/64
-Guest #2 description:
- One ethernet device configured with ip addresses:
- {$vxlan_net}.2/24
- {$vxlan_net6}::2/64
-Guest #3 description:
- One ethernet device configured with ip addresses:
- {$vxlan_net}.3/24
- {$vxlan_net6}::3/64
-Guest #4 description:
- One ethernet device configured with ip addresses:
- {$vxlan_net}.4/24
- {$vxlan_net6}::4/64
-Test name:
- 2_virt_ovs_vxlan.py
-Test description:
- Ping:
- + count: 100
- + interval: 0.1s
- + guest1 -> guest2 expecting FAIL
- + guest1 -> guest3 expecting PASS
- + guest1 -> guest4 expecting FAIL
- + guest2 -> guest3 expecting FAIL
- + guest2 -> guest4 expecting PASS
- + guest3 -> guest4 expecting FAIL
- Ping6:
- + count: 100
- + interval: 0.1s
- + guest1 -> guest2 expecting FAIL
- + guest1 -> guest3 expecting PASS
- + guest1 -> guest4 expecting FAIL
- + guest2 -> guest3 expecting FAIL
- + guest2 -> guest4 expecting PASS
- + guest3 -> guest4 expecting FAIL
- Netperf:
- + duration: 60s, repeated 5 times to calculate confidence
- + guest1 -> guest3 TCP_STREAM ipv4
- + guest1 -> guest3 UDP_STREAM ipv4
- + guest1 -> guest3 TCP_STREAM ipv6
- + guest1 -> guest3 UDP_STREAM ipv6
-
-PerfRepo integration:
- First, preparation in PerfRepo is required - you need to create Test objects
- through the web interface that properly describe the individual Netperf
- tests that this recipe runs. Don't forget to also add appropriate metrics.
- For these Netperf tests it's always:
- * throughput
- * throughput_min
- * throughput_max
- * throughput_deviation
-
- After that, to enable support for PerfRepo you need to create the file
- 2_virt_ovs_vxlan.mapping and define the following id mappings:
- tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
-
- To enable result comparison agains baselines you need to create a Report in
- PerfRepo that will store the baseline. Set up the Report to only contain results
- with the same hash tag and then add a new mapping to the mapping file, with
- this format:
- <some_hash> = <report_id>
-
- The hash value is automatically generated during test execution and added
- to each result stored in PerfRepo. To get the Report id you need to open
- that report in our browser and find if in the URL.
-
- When running this recipe you should also define the 'product_name' alias
- (e.g. RHEL7) in order to tag the result object in PerfRepo.
diff --git a/recipes/regression_tests/phase3/2_virt_ovs_vxlan.py
b/recipes/regression_tests/phase3/2_virt_ovs_vxlan.py
deleted file mode 100644
index 5ebaacc..0000000
--- a/recipes/regression_tests/phase3/2_virt_ovs_vxlan.py
+++ /dev/null
@@ -1,279 +0,0 @@
-from lnst.Controller.Task import ctl
-from lnst.Controller.PerfRepoUtils import perfrepo_baseline_to_dict
-from lnst.Controller.PerfRepoUtils import netperf_result_template
-
-from lnst.RecipeCommon.ModuleWrap import ping, ping6, netperf
-from lnst.RecipeCommon.IRQ import pin_dev_irqs
-from lnst.RecipeCommon.PerfRepo import generate_perfrepo_comment
-
-# ------
-# SETUP
-# ------
-
-mapping_file = ctl.get_alias("mapping_file")
-perf_api = ctl.connect_PerfRepo(mapping_file)
-
-product_name = ctl.get_alias("product_name")
-
-# hosts
-host1 = ctl.get_host("h1")
-host2 = ctl.get_host("h2")
-
-# guest machines
-guest1 = ctl.get_host("test_host1")
-guest2 = ctl.get_host("test_host2")
-guest3 = ctl.get_host("test_host3")
-guest4 = ctl.get_host("test_host4")
-
-for h in [guest1, guest2, guest3, guest4]:
- h.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-
-# ------
-# TESTS
-# ------
-
-ipv = ctl.get_alias("ipv")
-mtu = ctl.get_alias("mtu")
-netperf_duration = int(ctl.get_alias("netperf_duration"))
-nperf_reserve = int(ctl.get_alias("nperf_reserve"))
-nperf_confidence = ctl.get_alias("nperf_confidence")
-nperf_max_runs = int(ctl.get_alias("nperf_max_runs"))
-nperf_cpupin = ctl.get_alias("nperf_cpupin")
-nperf_cpu_util = ctl.get_alias("nperf_cpu_util")
-nperf_num_parallel = int(ctl.get_alias("nperf_num_parallel"))
-nperf_debug = ctl.get_alias("nperf_debug")
-nperf_max_dev = ctl.get_alias("nperf_max_dev")
-pr_user_comment = ctl.get_alias("perfrepo_comment")
-
-pr_comment = generate_perfrepo_comment([guest1, guest2, guest3, guest4],
- pr_user_comment)
-
-g1_nic = guest1.get_interface("if1")
-g2_nic = guest2.get_interface("if1")
-g3_nic = guest3.get_interface("if1")
-g4_nic = guest4.get_interface("if1")
-
-g1_nic.set_mtu(mtu)
-g2_nic.set_mtu(mtu)
-g3_nic.set_mtu(mtu)
-g4_nic.set_mtu(mtu)
-
-if nperf_cpupin:
- host1.run("service irqbalance stop")
- host2.run("service irqbalance stop")
- guest1.run("service irqbalance stop")
- guest2.run("service irqbalance stop")
- guest3.run("service irqbalance stop")
- guest4.run("service irqbalance stop")
- h1_if = host1.get_interface("if1")
- h2_if = host2.get_interface("if1")
-
- #this will pin devices irqs to cpu #0
- for m, d in [(host1, h1_if), (host2, h2_if), (guest1, g1_nic), (guest2, g2_nic),
(guest3, g3_nic), (guest4, g4_nic)]:
- pin_dev_irqs(m, d, 0)
-
-nperf_opts = ""
-if nperf_cpupin and nperf_num_parallel == 1:
- nperf_opts = " -T%s,%s" % (nperf_cpupin, nperf_cpupin)
-
-ctl.wait(15)
-
-#pings
-ping_opts = {"count": 100, "interval": 0.1}
-if ipv in ['ipv4', 'both']:
- ping((guest1, g1_nic, 0, {"scope": 0}),
- (guest2, g2_nic, 0, {"scope": 0}),
- options=ping_opts, expect="fail")
- ping((guest1, g1_nic, 0, {"scope": 0}),
- (guest3, g3_nic, 0, {"scope": 0}),
- options=ping_opts)
- ping((guest1, g1_nic, 0, {"scope": 0}),
- (guest4, g4_nic, 0, {"scope": 0}),
- options=ping_opts, expect="fail")
-
- ping((guest2, g2_nic, 0, {"scope": 0}),
- (guest3, g3_nic, 0, {"scope": 0}),
- options=ping_opts, expect="fail")
- ping((guest2, g2_nic, 0, {"scope": 0}),
- (guest4, g4_nic, 0, {"scope": 0}),
- options=ping_opts)
-
- ping((guest3, g3_nic, 0, {"scope": 0}),
- (guest4, g4_nic, 0, {"scope": 0}),
- options=ping_opts, expect="fail")
-
-if ipv in ['ipv6', 'both']:
- ping6((guest1, g1_nic, 1, {"scope": 0}),
- (guest2, g2_nic, 1, {"scope": 0}),
- options=ping_opts, expect="fail")
- ping6((guest1, g1_nic, 1, {"scope": 0}),
- (guest3, g3_nic, 1, {"scope": 0}),
- options=ping_opts)
- ping6((guest1, g1_nic, 1, {"scope": 0}),
- (guest4, g4_nic, 1, {"scope": 0}),
- options=ping_opts, expect="fail")
-
- ping6((guest2, g2_nic, 1, {"scope": 0}),
- (guest3, g3_nic, 1, {"scope": 0}),
- options=ping_opts, expect="fail")
- ping6((guest2, g2_nic, 1, {"scope": 0}),
- (guest4, g4_nic, 1, {"scope": 0}),
- options=ping_opts)
-
- ping6((guest3, g3_nic, 1, {"scope": 0}),
- (guest4, g4_nic, 1, {"scope": 0}),
- options=ping_opts, expect="fail")
-
-
-if ipv in [ 'ipv4', 'both' ]:
- # prepare PerfRepo result for tcp
- result_tcp = perf_api.new_result("tcp_ipv4_id",
- "tcp_ipv4_result",
- hash_ignore=[
- r'kernel_release',
- r'redhat_release',
- r'test_host\d+\.hostname',
- r'test_host\d+\..*hwaddr',
- r'machine_h\d+\..*ovs\d*\.hwaddr',
- r'machine_h\d+\..*tap\d*\.hwaddr',
- r'machine_h\d+\..*tap\d*\.devname'])
- result_tcp.add_tag(product_name)
- if nperf_num_parallel > 1:
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- baseline = perfrepo_baseline_to_dict(baseline)
-
- tcp_res_data = netperf((guest1, g1_nic, 0), (guest3, g3_nic, 0),
- client_opts={"duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "num_parallel" : nperf_num_parallel,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts": nperf_opts,
- "debug": nperf_debug,
- "max_deviation": nperf_max_dev},
- baseline = baseline,
- timeout = (netperf_duration + nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp
- result_udp = perf_api.new_result("udp_ipv4_id",
- "udp_ipv4_result",
- hash_ignore=[
- r'kernel_release',
- r'redhat_release',
- r'test_host\d+\.hostname',
- r'test_host\d+\..*hwaddr',
- r'machine_h\d+\..*ovs\d*\.hwaddr',
- r'machine_h\d+\..*tap\d*\.hwaddr',
- r'machine_h\d+\..*tap\d*\.devname'])
- result_udp.add_tag(product_name)
- if nperf_num_parallel > 1:
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- baseline = perfrepo_baseline_to_dict(baseline)
-
- udp_res_data = netperf((guest1, g1_nic, 0), (guest3, g3_nic, 0),
- client_opts={"duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "num_parallel" : nperf_num_parallel,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts": nperf_opts,
- "debug": nperf_debug,
- "max_deviation": nperf_max_dev},
- baseline = baseline,
- timeout = (netperf_duration + nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-if ipv in [ 'ipv6', 'both' ]:
- # prepare PerfRepo result for tcp ipv6
- result_tcp = perf_api.new_result("tcp_ipv6_id",
- "tcp_ipv6_result",
- hash_ignore=[
- r'kernel_release',
- r'redhat_release',
- r'test_host\d+\.hostname',
- r'test_host\d+\..*hwaddr',
- r'machine_h\d+\..*ovs\d*\.hwaddr',
- r'machine_h\d+\..*tap\d*\.hwaddr',
- r'machine_h\d+\..*tap\d*\.devname'])
- result_tcp.add_tag(product_name)
- if nperf_num_parallel > 1:
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- baseline = perfrepo_baseline_to_dict(baseline)
-
- tcp_res_data = netperf((guest1, g1_nic, 1), (guest3, g3_nic, 1),
- client_opts={"duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "num_parallel" : nperf_num_parallel,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : nperf_opts +
"-6",
- "debug": nperf_debug,
- "max_deviation": nperf_max_dev},
- baseline = baseline,
- timeout = (netperf_duration + nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- #prepare PerfRepo result for udp ipv6
- result_udp = perf_api.new_result("udp_ipv6_id",
- "udp_ipv6_result",
- hash_ignore=[
- r'kernel_release',
- r'redhat_release',
- r'test_host\d+\.hostname',
- r'test_host\d+\..*hwaddr',
- r'machine_h\d+\..*ovs\d*\.hwaddr',
- r'machine_h\d+\..*tap\d*\.hwaddr',
- r'machine_h\d+\..*tap\d*\.devname'])
- result_udp.add_tag(product_name)
- if nperf_num_parallel > 1:
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- baseline = perfrepo_baseline_to_dict(baseline)
-
- udp_res_data = netperf((guest1, g1_nic, 1), (guest3, g3_nic, 1),
- client_opts={"duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "num_parallel" : nperf_num_parallel,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "netperf_opts" : nperf_opts +
"-6",
- "debug": nperf_debug,
- "max_deviation": nperf_max_dev},
- baseline = baseline,
- timeout = (netperf_duration + nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
-if nperf_cpupin:
- host1.run("service irqbalance start")
- host2.run("service irqbalance start")
- guest1.run("service irqbalance start")
- guest2.run("service irqbalance start")
- guest3.run("service irqbalance start")
- guest4.run("service irqbalance start")
diff --git a/recipes/regression_tests/phase3/2_virt_ovs_vxlan.xml
b/recipes/regression_tests/phase3/2_virt_ovs_vxlan.xml
deleted file mode 100644
index 009d648..0000000
--- a/recipes/regression_tests/phase3/2_virt_ovs_vxlan.xml
+++ /dev/null
@@ -1,145 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="mtu" value="1450" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5"/>
- <alias name="nperf_num_parallel" value="1"/>
- <alias name="nperf_debug" value="0"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mapping_file"
value="2_virt_ovs_vxlan.mapping" />
- <alias name="net" value="192.168.2"/>
- <alias name="vxlan_net" value="192.168.100"/>
- <alias name="vxlan_net6" value="fc00:0:0:0"/>
- </define>
- <network>
- <host id="h1">
- <params>
- <param name="machine_type" value="baremetal"/>
- </params>
- <interfaces>
- <eth id="if1" label="n1">
- <addresses>
- <address value="{$net}.1/24"/>
- </addresses>
- </eth>
- <eth id="tap1" label="to_guest1"/>
- <eth id="tap2" label="to_guest2"/>
- <ovs_bridge id="ovs1">
- <slaves>
- <slave id="tap1">
- <options>
- <option name="ofport_request"
value="5"/>
- </options>
- </slave>
- <slave id="tap2">
- <options>
- <option name="ofport_request"
value="6"/>
- </options>
- </slave>
- </slaves>
- <tunnel id="vxlan1" type="vxlan">
- <options>
- <option name="option:remote_ip"
value="{$net}.2"/>
- <option name="option:key"
value="flow"/>
- <option name="ofport_request"
value="10"/>
- </options>
- </tunnel>
- <flow_entries>
-
<entry>table=0,in_port=5,actions=set_field:100->tun_id,output:10</entry>
-
<entry>table=0,in_port=6,actions=set_field:200->tun_id,output:10</entry>
-
<entry>table=0,in_port=10,tun_id=100,actions=output:5</entry>
-
<entry>table=0,in_port=10,tun_id=200,actions=output:6</entry>
- <entry>table=0,priority=100,actions=drop</entry>
- </flow_entries>
- </ovs_bridge>
- </interfaces>
- </host>
- <host id="test_host1">
- <interfaces>
- <eth id="if1" label="to_guest1">
- <addresses>
- <address value="{$vxlan_net}.1/24"/>
- <address value="{$vxlan_net6}::1/64"/>
- </addresses>
- </eth>
- </interfaces>
- </host>
- <host id="test_host2">
- <interfaces>
- <eth id="if1" label="to_guest2">
- <addresses>
- <address value="{$vxlan_net}.2/24"/>
- <address value="{$vxlan_net6}::2/64"/>
- </addresses>
- </eth>
- </interfaces>
- </host>
- <host id="h2">
- <params>
- <param name="machine_type" value="baremetal"/>
- </params>
- <interfaces>
- <eth id="if1" label="n1">
- <addresses>
- <address value="{$net}.2/24"/>
- </addresses>
- </eth>
- <eth id="tap1" label="to_guest3"/>
- <eth id="tap2" label="to_guest4"/>
- <ovs_bridge id="ovs2">
- <slaves>
- <slave id="tap1">
- <options>
- <option name="ofport_request"
value="5"/>
- </options>
- </slave>
- <slave id="tap2">
- <options>
- <option name="ofport_request"
value="6"/>
- </options>
- </slave>
- </slaves>
- <tunnel id="vxlan1" type="vxlan">
- <options>
- <option name="option:remote_ip"
value="{$net}.1"/>
- <option name="option:key"
value="flow"/>
- <option name="ofport_request"
value="10"/>
- </options>
- </tunnel>
- <flow_entries>
-
<entry>table=0,in_port=5,actions=set_field:100->tun_id,output:10</entry>
-
<entry>table=0,in_port=6,actions=set_field:200->tun_id,output:10</entry>
-
<entry>table=0,in_port=10,tun_id=100,actions=output:5</entry>
-
<entry>table=0,in_port=10,tun_id=200,actions=output:6</entry>
- <entry>table=0,priority=100,actions=drop</entry>
- </flow_entries>
- </ovs_bridge>
- </interfaces>
- </host>
- <host id="test_host3">
- <interfaces>
- <eth id="if1" label="to_guest3">
- <addresses>
- <address value="{$vxlan_net}.3/24"/>
- <address value="{$vxlan_net6}::3/64"/>
- </addresses>
- </eth>
- </interfaces>
- </host>
- <host id="test_host4">
- <interfaces>
- <eth id="if1" label="to_guest4">
- <addresses>
- <address value="{$vxlan_net}.4/24"/>
- <address value="{$vxlan_net6}::4/64"/>
- </addresses>
- </eth>
- </interfaces>
- </host>
- </network>
-
- <task python="2_virt_ovs_vxlan.py"/>
-</lnstrecipe>
diff --git a/recipes/regression_tests/phase3/novirt_ovs_vxlan.README
b/recipes/regression_tests/phase3/novirt_ovs_vxlan.README
deleted file mode 100644
index 8570ebd..0000000
--- a/recipes/regression_tests/phase3/novirt_ovs_vxlan.README
+++ /dev/null
@@ -1,93 +0,0 @@
-Topology:
-
- switch
- +--------+
- | |
- +--------------------+ +----------------------+
- | | | |
- | | | |
- | | | |
- | +--------+ |
- | |
- | |
- +--+--+ +--+--+
-+---------| eth |--------+ +---------| eth |--------+
-| +-----+ | | +-----+ |
-| | | |
-| +----------------------------------------------------+ |
-| | | | | |
-| +----------+---------+ | | +----------+---------+ |
-| | vxlan | | | | vxlan | |
-| | | | | | | |
-| | ovs_bridge | | | | ovs_bridge | |
-| | | | | | | |
-| | +----+ | | | | +----+ | |
-| +-------|int0|-------+ | | +-------|int0|-------+ |
-| +----+ | | +----+ |
-| | | |
-| host1 | | host2 |
-| | | |
-+------------------------+ +------------------------+
-
-Number of hosts: 6
-Host #1 description:
- One ethernet device configured with {$net}.1/24 ip address
- One Open vSwitch bridge configured with:
- * a VXLAN tunnel with remote_ip set to the ethernet interface of Host #2.
- * an 'internal' port tagged with tun_id=100 and ip addresses:
- {$vxlan_net}.1/24
- {$vxlan_net6}::1/64
-Host #2 description:
- One ethernet device configured with {$net}.2/24 ip address
- One Open vSwitch bridge configured with:
- * a VXLAN tunnel with remote_ip set to the ethernet interface of Host #1.
- * an 'internal' port tagged with tun_id=100 and ip addresses:
- {$vxlan_net}.2/24
- {$vxlan_net6}::2/64
-Test name:
- novirt_ovs_vxlan.py
-Test description:
- Ping:
- + count: 100
- + interval: 0.1s
- + host1.int0 -> host2.int0 expecting PASS
- Ping6:
- + count: 100
- + interval: 0.1s
- + host1.int0 -> host2.int0 expecting PASS
- Netperf:
- + duration: 60s, repeated 5 times to calculate confidence
- + host1.int0 -> host2.int0 TCP_STREAM ipv4
- + host1.int0 -> host2.int0 UDP_STREAM ipv4
- + host1.int0 -> host2.int0 TCP_STREAM ipv6
- + host1.int0 -> host2.int0 UDP_STREAM ipv6
-
-PerfRepo integration:
- First, preparation in PerfRepo is required - you need to create Test objects
- through the web interface that properly describe the individual Netperf
- tests that this recipe runs. Don't forget to also add appropriate metrics.
- For these Netperf tests it's always:
- * throughput
- * throughput_min
- * throughput_max
- * throughput_deviation
-
- After that, to enable support for PerfRepo you need to create the file
- novirt_ovs_vxlan.mapping and define the following id mappings:
- tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
-
- To enable result comparison agains baselines you need to create a Report in
- PerfRepo that will store the baseline. Set up the Report to only contain results
- with the same hash tag and then add a new mapping to the mapping file, with
- this format:
- <some_hash> = <report_id>
-
- The hash value is automatically generated during test execution and added
- to each result stored in PerfRepo. To get the Report id you need to open
- that report in our browser and find if in the URL.
-
- When running this recipe you should also define the 'product_name' alias
- (e.g. RHEL7) in order to tag the result object in PerfRepo.
diff --git a/recipes/regression_tests/phase3/novirt_ovs_vxlan.py
b/recipes/regression_tests/phase3/novirt_ovs_vxlan.py
deleted file mode 100644
index 5419ad9..0000000
--- a/recipes/regression_tests/phase3/novirt_ovs_vxlan.py
+++ /dev/null
@@ -1,216 +0,0 @@
-from lnst.Controller.Task import ctl
-from lnst.Controller.PerfRepoUtils import perfrepo_baseline_to_dict
-from lnst.Controller.PerfRepoUtils import netperf_result_template
-
-from lnst.RecipeCommon.ModuleWrap import ping, ping6, netperf
-from lnst.RecipeCommon.IRQ import pin_dev_irqs
-from lnst.RecipeCommon.PerfRepo import generate_perfrepo_comment
-
-# ------
-# SETUP
-# ------
-
-mapping_file = ctl.get_alias("mapping_file")
-perf_api = ctl.connect_PerfRepo(mapping_file)
-
-product_name = ctl.get_alias("product_name")
-
-# test hosts
-h1 = ctl.get_host("test_host1")
-h2 = ctl.get_host("test_host2")
-
-for h in [h1, h2]:
- h.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-
-# ------
-# TESTS
-# ------
-
-ipv = ctl.get_alias("ipv")
-mtu = ctl.get_alias("mtu")
-netperf_duration = int(ctl.get_alias("netperf_duration"))
-nperf_reserve = int(ctl.get_alias("nperf_reserve"))
-nperf_confidence = ctl.get_alias("nperf_confidence")
-nperf_max_runs = int(ctl.get_alias("nperf_max_runs"))
-nperf_cpupin = ctl.get_alias("nperf_cpupin")
-nperf_cpu_util = ctl.get_alias("nperf_cpu_util")
-nperf_num_parallel = int(ctl.get_alias("nperf_num_parallel"))
-nperf_debug = ctl.get_alias("nperf_debug")
-nperf_max_dev = ctl.get_alias("nperf_max_dev")
-pr_user_comment = ctl.get_alias("perfrepo_comment")
-
-pr_comment = generate_perfrepo_comment([h1, h2], pr_user_comment)
-
-h1_nic = h1.get_device("int0")
-h2_nic = h2.get_device("int0")
-
-h1_nic.set_mtu(mtu)
-h2_nic.set_mtu(mtu)
-
-if nperf_cpupin:
- h1.run("service irqbalance stop")
- h2.run("service irqbalance stop")
-
- # this will pin devices irqs to cpu #0
- for m, d in [(h1, h1_nic), (h2, h2_nic)]:
- pin_dev_irqs(m, d, 0)
-
-nperf_opts = ""
-if nperf_cpupin and nperf_num_parallel == 1:
- nperf_opts = " -T%s,%s" % (nperf_cpupin, nperf_cpupin)
-
-ctl.wait(15)
-
-#pings
-ping_opts = {"count": 100, "interval": 0.1}
-if ipv in [ 'ipv4', 'both' ]:
- ping((h1, h1_nic, 0, {"scope": 0}),
- (h2, h2_nic, 0, {"scope": 0}),
- options=ping_opts)
-
-if ipv in [ 'ipv6', 'both' ]:
- ping6((h1, h1_nic, 1, {"scope": 0}),
- (h2, h2_nic, 1, {"scope": 0}),
- options=ping_opts)
-
-#netperfs
-if ipv in [ 'ipv4', 'both' ]:
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp
- result_tcp = perf_api.new_result("tcp_ipv4_id",
- "tcp_ipv4_result",
- hash_ignore=[
- r'kernel_release',
- r'redhat_release',
- r'interface_ovs\d+\.hwaddr'])
- result_tcp.add_tag(product_name)
- if nperf_num_parallel > 1:
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- baseline = perfrepo_baseline_to_dict(baseline)
-
- tcp_res_data = netperf((h1, h1_nic, 0, {"scope": 0}),
- (h2, h2_nic, 0, {"scope": 0}),
- client_opts={"duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "num_parallel" : nperf_num_parallel,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "debug": nperf_debug,
- "max_deviation": nperf_max_dev,
- "netperf_opts": nperf_opts},
- baseline = baseline,
- timeout = (netperf_duration + nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp
- result_udp = perf_api.new_result("udp_ipv4_id",
- "udp_ipv4_result",
- hash_ignore=[
- r'kernel_release',
- r'redhat_release',
- r'interface_ovs\d+\.hwaddr'])
- result_udp.add_tag(product_name)
- if nperf_num_parallel > 1:
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- baseline = perfrepo_baseline_to_dict(baseline)
-
- udp_res_data = netperf((h1, h1_nic, 0, {"scope": 0}),
- (h2, h2_nic, 0, {"scope": 0}),
- client_opts={"duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "num_parallel" : nperf_num_parallel,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "debug": nperf_debug,
- "max_deviation": nperf_max_dev,
- "netperf_opts": nperf_opts},
- baseline = baseline,
- timeout = (netperf_duration + nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-if ipv in [ 'ipv6', 'both' ]:
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp ipv6
- result_tcp = perf_api.new_result("tcp_ipv6_id",
- "tcp_ipv6_result",
- hash_ignore=[
- r'kernel_release',
- r'redhat_release',
- r'interface_ovs\d+\.hwaddr'])
- result_tcp.add_tag(product_name)
- if nperf_num_parallel > 1:
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- baseline = perfrepo_baseline_to_dict(baseline)
-
- tcp_res_data = netperf((h1, h1_nic, 1, {"scope": 0}),
- (h2, h2_nic, 1, {"scope": 0}),
- client_opts={"duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "num_parallel" : nperf_num_parallel,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "debug": nperf_debug,
- "max_deviation": nperf_max_dev,
- "netperf_opts" : nperf_opts +
"-6"},
- baseline = baseline,
- timeout = (netperf_duration + nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp ipv6
- result_udp = perf_api.new_result("udp_ipv6_id",
- "udp_ipv6_result",
- hash_ignore=[
- r'kernel_release',
- r'redhat_release',
- r'interface_ovs\d+\.hwaddr'])
- result_udp.add_tag(product_name)
- if nperf_num_parallel > 1:
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- baseline = perfrepo_baseline_to_dict(baseline)
-
- udp_res_data = netperf((h1, h1_nic, 1, {"scope": 0}),
- (h2, h2_nic, 1, {"scope": 0}),
- client_opts={"duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "num_parallel" : nperf_num_parallel,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "debug": nperf_debug,
- "max_deviation": nperf_max_dev,
- "netperf_opts" : nperf_opts +
"-6"},
- baseline = baseline,
- timeout = (netperf_duration + nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
-if nperf_cpupin:
- h1.run("service irqbalance start")
- h2.run("service irqbalance start")
diff --git a/recipes/regression_tests/phase3/novirt_ovs_vxlan.xml
b/recipes/regression_tests/phase3/novirt_ovs_vxlan.xml
deleted file mode 100644
index 98f5f1b..0000000
--- a/recipes/regression_tests/phase3/novirt_ovs_vxlan.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="mtu" value="1450" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5"/>
- <alias name="nperf_num_parallel" value="1"/>
- <alias name="nperf_debug" value="0"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mapping_file"
value="novirt_ovs_vxlan.mapping" />
- <alias name="net" value="192.168.2"/>
- <alias name="vxlan_net" value="192.168.100"/>
- <alias name="vxlan_net6" value="fc00:0:0:0"/>
- </define>
- <network>
- <host id="test_host1">
- <interfaces>
- <eth id="if1" label="n1">
- <addresses>
- <address value="{$net}.1/24"/>
- </addresses>
- </eth>
- <ovs_bridge id="ovs1">
- <internal id="int0">
- <addresses>
- <address value="{$vxlan_net}.1/24"/>
- <address value="{$vxlan_net6}::1/64"/>
- </addresses>
- <options>
- <option name="ofport_request"
value="5"/>
- <option name="name" value="int0"/>
- </options>
- </internal>
- <tunnel id="vxlan1" type="vxlan">
- <options>
- <option name="option:remote_ip"
value="{$net}.2"/>
- <option name="option:key"
value="flow"/>
- <option name="ofport_request"
value="10"/>
- </options>
- </tunnel>
- <flow_entries>
-
<entry>table=0,in_port=5,actions=set_field:100->tun_id,output:10</entry>
-
<entry>table=0,in_port=10,tun_id=100,actions=output:5</entry>
- <entry>table=0,priority=100,actions=drop</entry>
- </flow_entries>
- </ovs_bridge>
- </interfaces>
- </host>
- <host id="test_host2">
- <interfaces>
- <eth id="if1" label="n1">
- <addresses>
- <address value="{$net}.2/24"/>
- </addresses>
- </eth>
- <ovs_bridge id="ovs2">
- <internal id="int0">
- <options>
- <option name="ofport_request"
value="5"/>
- <option name="name" value="int0"/>
- </options>
- <addresses>
- <address value="{$vxlan_net}.2/24"/>
- <address value="{$vxlan_net6}::2/24"/>
- </addresses>
- </internal>
- <tunnel id="vxlan1" type="vxlan">
- <options>
- <option name="option:remote_ip"
value="{$net}.1"/>
- <option name="option:key"
value="flow"/>
- <option name="ofport_request"
value="10"/>
- </options>
- </tunnel>
- <flow_entries>
-
<entry>table=0,in_port=5,actions=set_field:100->tun_id,output:10</entry>
-
<entry>table=0,in_port=10,tun_id=100,actions=output:5</entry>
- <entry>table=0,priority=100,actions=drop</entry>
- </flow_entries>
- </ovs_bridge>
- </interfaces>
- </host>
- </network>
-
- <task python="novirt_ovs_vxlan.py"/>
-</lnstrecipe>
diff --git a/recipes/regression_tests/phase3/vxlan_multicast.README
b/recipes/regression_tests/phase3/vxlan_multicast.README
deleted file mode 100644
index a354144..0000000
--- a/recipes/regression_tests/phase3/vxlan_multicast.README
+++ /dev/null
@@ -1,118 +0,0 @@
-Topology:
-
- switch
- +------+
- | |
- | |
- +-------------+ +-------------+
- | | | |
- | | | |
- | +------+ |
- | |
- | |
- +-+--+ +-+--+
-+-------|eth1|------+ +-------|eth1|------+
-|host1 +---++ | |host2 +-+--+ |
-| | | | | |
-| | | | +-----+ |
-|+-----+ +-+-+ | | |vxlan| |
-||vxlan|--+br0| | | +-----+ |
-|+-----+ +-+-+ | | |
-| | | | |
-| | | | |
-| | | | |
-| +-+-+ | | |
-+---------|tap|-----+ +-------------------+
- +-+-+
- |
- +-+--+
-+---------|eth1|----+
-|guest1 +-+--+ |
-| | |
-| +--+--+ |
-| |vxlan| |
-| +-----+ |
-| |
-+---------+---------+
-
-Number of hosts: 3
-Host #1 description:
- One ethernet device
- Tap device connecting to a guest machine
- Bridge br0 enslaving eth1 and tap devices, configured with ip address
- {$net}.1/24
- VXLAN interface on top of the bridge interface using group_ip 239.1.1.1
- configured with ip addresses:
- {$vxlan_net}.1/24
- {$vxlan_net6}::1/64
-Guest #1 description:
- One ethernet device configured with ip address {$net}.2/24
- VXLAN interface on top of the ethernet interface using group_ip 239.1.1.1
- configured with ip addresses:
- {$vxlan_net}.2/24
- {$vxlan_net6}::2/64
-Host #2 description:
- One ethernet device configured with ip address {$net}.3/24
- VXLAN interface on top of the ethernet interface using group_ip 239.1.1.1
- configured with ip addresses:
- {$vxlan_net}.3/24
- {$vxlan_net6}::3/64
-Test name:
- vxlan_test.py
-Test description:
- Ping:
- + count: 100
- + interval: 0.1s
- + host1.vxlan -> host2.vxlan expecting PASS
- + host1.vxlan -> guest1.vxlan expecting PASS
- + host2.vxlan -> host1.vxlan expecting PASS
- + host2.vxlan -> guest1.vxlan expecting PASS
- + guest1.vxlan -> host1.vxlan expecting PASS
- + guest1.vxlan -> host2.vxlan expecting PASS
- All pings are executed in parallel
- Ping6:
- + count: 100
- + interval: 0.1s
- + host1.vxlan -> host2.vxlan expecting PASS
- + host1.vxlan -> guest1.vxlan expecting PASS
- + host2.vxlan -> host1.vxlan expecting PASS
- + host2.vxlan -> guest1.vxlan expecting PASS
- + guest1.vxlan -> host1.vxlan expecting PASS
- + guest1.vxlan -> host2.vxlan expecting PASS
- All pings are executed in parallel
- Netperf:
- + duration: 60s, repeated 5 times to calculate confidence
- + host1.vxlan -> host2.vxlan TCP_STREAM ipv4
- + host1.vxlan -> host2.vxlan UDP_STREAM ipv4
- + host1.vxlan -> host2.vxlan TCP_STREAM ipv6
- + host1.vxlan -> host2.vxlan UDP_STREAM ipv6
-
-PerfRepo integration:
- First, preparation in PerfRepo is required - you need to create Test objects
- through the web interface that properly describe the individual Netperf
- tests that this recipe runs. Don't forget to also add appropriate metrics.
- For these Netperf tests it's always:
- * throughput
- * throughput_min
- * throughput_max
- * throughput_deviation
-
- After that, to enable support for PerfRepo you need to create the file
- vxlan_multicast.mapping and define the following id mappings:
- tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
-
- To enable result comparison agains baselines you need to create a Report in
- PerfRepo that will store the baseline. Set up the Report to only contain results
- with the same hash tag and then add a new mapping to the mapping file, with
- this format:
- <some_hash> = <report_id>
-
- The hash value is automatically generated during test execution and added
- to each result stored in PerfRepo. To get the Report id you need to open
- that report in our browser and find if in the URL.
-
- When running this recipe you should also define the 'product_name' alias
- (e.g. RHEL7) in order to tag the result object in PerfRepo.
diff --git a/recipes/regression_tests/phase3/vxlan_multicast.py
b/recipes/regression_tests/phase3/vxlan_multicast.py
deleted file mode 100644
index 0c29977..0000000
--- a/recipes/regression_tests/phase3/vxlan_multicast.py
+++ /dev/null
@@ -1,249 +0,0 @@
-from lnst.Controller.Task import ctl
-from lnst.Controller.PerfRepoUtils import perfrepo_baseline_to_dict
-from lnst.Controller.PerfRepoUtils import netperf_result_template
-
-from lnst.RecipeCommon.ModuleWrap import ping, ping6, netperf
-from lnst.RecipeCommon.IRQ import pin_dev_irqs
-from lnst.RecipeCommon.PerfRepo import generate_perfrepo_comment
-
-# ------
-# SETUP
-# ------
-
-mapping_file = ctl.get_alias("mapping_file")
-perf_api = ctl.connect_PerfRepo(mapping_file)
-
-product_name = ctl.get_alias("product_name")
-
-m1 = ctl.get_host("testmachine1")
-m2 = ctl.get_host("testmachine2")
-g1 = ctl.get_host("guest1")
-
-m1.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-m2.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-
-
-# ------
-# TESTS
-# ------
-
-ipv = ctl.get_alias("ipv")
-mtu = ctl.get_alias("mtu")
-netperf_duration = int(ctl.get_alias("netperf_duration"))
-nperf_reserve = int(ctl.get_alias("nperf_reserve"))
-nperf_confidence = ctl.get_alias("nperf_confidence")
-nperf_max_runs = int(ctl.get_alias("nperf_max_runs"))
-nperf_cpupin = ctl.get_alias("nperf_cpupin")
-nperf_cpu_util = ctl.get_alias("nperf_cpu_util")
-nperf_num_parallel = int(ctl.get_alias("nperf_num_parallel"))
-nperf_debug = ctl.get_alias("nperf_debug")
-nperf_max_dev = ctl.get_alias("nperf_max_dev")
-pr_user_comment = ctl.get_alias("perfrepo_comment")
-
-pr_comment = generate_perfrepo_comment([m1, m2], pr_user_comment)
-
-test_if1 = m1.get_interface("test_if")
-test_if1.set_mtu(mtu)
-test_if2 = m2.get_interface("test_if")
-test_if2.set_mtu(mtu)
-test_if3 = g1.get_interface("test_if")
-test_if3.set_mtu(mtu)
-
-if nperf_cpupin:
- m1.run("service irqbalance stop")
- m2.run("service irqbalance stop")
- g1.run("service irqbalance stop")
-
- m1_phy1 = m1.get_interface("eth1")
- m1_phy2 = m1.get_interface("tap1")
- m2_phy1 = m2.get_interface("eth1")
- g1_phy1 = g1.get_interface("eth1")
- dev_list = [(m1, m1_phy1), (m1, m1_phy2), (m2, m2_phy1), (g1, g1_phy1)]
-
- # this will pin devices irqs to cpu #0
- for m, d in dev_list:
- pin_dev_irqs(m, d, 0)
-
-nperf_opts = ""
-if nperf_cpupin and nperf_num_parallel == 1:
- nperf_opts = " -T%s,%s" % (nperf_cpupin, nperf_cpupin)
-
-ctl.wait(15)
-
-ping_opts = {"count": 100, "interval": 0.1}
-
-ipv4_endpoints = [(m1, test_if1, 0, {"scope": 0}),
- (m2, test_if2, 0, {"scope": 0}),
- (g1, test_if3, 0, {"scope": 0})]
-ipv6_endpoints = [(m1, test_if1, 1, {"scope": 0}),
- (m2, test_if2, 1, {"scope": 0}),
- (g1, test_if3, 1, {"scope": 0})]
-
-ipv4_pings = []
-for x in ipv4_endpoints:
- for y in ipv4_endpoints:
- if not x == y:
- ipv4_pings.append(ping(x, y, options=ping_opts, bg=True))
-
-for i in ipv4_pings:
- i.wait()
-
-ipv6_pings = []
-for x in ipv6_endpoints:
- for y in ipv6_endpoints:
- if not x == y:
- ipv6_pings.append(ping6(x, y, options=ping_opts, bg=True))
-
-for i in ipv6_pings:
- i.wait()
-
-ctl.wait(2)
-if ipv in [ 'ipv4', 'both' ]:
- # prepare PerfRepo result for tcp
- result_tcp = perf_api.new_result("tcp_ipv4_id",
- "tcp_ipv4_result",
- hash_ignore=[
- r'kernel_release',
- r'redhat_release',
-
r'testmachine\d+\.interface_tap\d+.hwaddr',
- r'guest\d+\.hostname',
- r'guest\d+\.interface_eth\d+\.hwaddr',
- r'test_if\.hwaddr'])
- result_tcp.add_tag(product_name)
- if nperf_num_parallel > 1:
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- baseline = perfrepo_baseline_to_dict(baseline)
-
- tcp_res_data = netperf((m1, test_if1, 0, {"scope": 0}),
- (m2, test_if2, 0, {"scope": 0}),
- client_opts={"duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "num_parallel" : nperf_num_parallel,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "debug": nperf_debug,
- "max_deviation": nperf_max_dev,
- "netperf_opts": nperf_opts},
- baseline = baseline,
- timeout = (netperf_duration + nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp
- result_udp = perf_api.new_result("udp_ipv4_id",
- "udp_ipv4_result",
- hash_ignore=[
- r'kernel_release',
- r'redhat_release',
-
r'testmachine\d+\.interface_tap\d+.hwaddr',
- r'guest\d+\.hostname',
- r'guest\d+\.interface_eth\d+\.hwaddr',
- r'test_if\.hwaddr'])
- result_udp.add_tag(product_name)
- if nperf_num_parallel > 1:
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- baseline = perfrepo_baseline_to_dict(baseline)
-
- udp_res_data = netperf((m1, test_if1, 0, {"scope": 0}),
- (m2, test_if2, 0, {"scope": 0}),
- client_opts={"duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "num_parallel" : nperf_num_parallel,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "debug": nperf_debug,
- "max_deviation": nperf_max_dev,
- "netperf_opts": nperf_opts},
- baseline = baseline,
- timeout = (netperf_duration + nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
-if ipv in [ 'ipv6', 'both' ]:
- # prepare PerfRepo result for tcp ipv6
- result_tcp = perf_api.new_result("tcp_ipv6_id",
- "tcp_ipv6_result",
- hash_ignore=[
- r'kernel_release',
- r'redhat_release',
-
r'testmachine\d+\.interface_tap\d+.hwaddr',
- r'guest\d+\.hostname',
- r'guest\d+\.interface_eth\d+\.hwaddr',
- r'test_if\.hwaddr'])
- result_tcp.add_tag(product_name)
- if nperf_num_parallel > 1:
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- baseline = perfrepo_baseline_to_dict(baseline)
-
- tcp_res_data = netperf((m1, test_if1, 1, {"scope": 0}),
- (m2, test_if2, 1, {"scope": 0}),
- client_opts={"duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "num_parallel" : nperf_num_parallel,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "debug": nperf_debug,
- "max_deviation": nperf_max_dev,
- "netperf_opts" : nperf_opts + "
-6"},
- baseline = baseline,
- timeout = (netperf_duration + nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp ipv6
- result_udp = perf_api.new_result("udp_ipv6_id",
- "udp_ipv6_result",
- hash_ignore=[
- r'kernel_release',
- r'redhat_release',
-
r'testmachine\d+\.interface_tap\d+.hwaddr',
- r'guest\d+\.hostname',
- r'guest\d+\.interface_eth\d+\.hwaddr',
- r'test_if\.hwaddr'])
- result_udp.add_tag(product_name)
- if nperf_num_parallel > 1:
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- baseline = perfrepo_baseline_to_dict(baseline)
-
- udp_res_data = netperf((m1, test_if1, 1, {"scope": 0}),
- (m2, test_if2, 1, {"scope": 0}),
- client_opts={"duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "num_parallel" : nperf_num_parallel,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "debug": nperf_debug,
- "max_deviation": nperf_max_dev,
- "netperf_opts" : nperf_opts +
"-6"},
- baseline = baseline,
- timeout = (netperf_duration + nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
-if nperf_cpupin:
- m1.run("service irqbalance start")
- m2.run("service irqbalance start")
diff --git a/recipes/regression_tests/phase3/vxlan_multicast.xml
b/recipes/regression_tests/phase3/vxlan_multicast.xml
deleted file mode 100644
index 734c854..0000000
--- a/recipes/regression_tests/phase3/vxlan_multicast.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="mtu" value="1450" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5"/>
- <alias name="nperf_num_parallel" value="1"/>
- <alias name="nperf_debug" value="0"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mapping_file" value="vxlan_multicast.mapping"
/>
- <alias name="net" value="192.168.0"/>
- <alias name="vxlan_net" value="192.168.100"/>
- <alias name="vxlan_net6" value="fc00:0:0:0"/>
- </define>
- <network>
- <host id="testmachine1">
- <params>
- <param name="machine_type" value="baremetal"/>
- </params>
- <interfaces>
- <eth id="eth1" label="tnet"/>
- <eth id="tap1" label="to_guest1"/>
- <bridge id="br0">
- <slaves>
- <slave id="eth1"/>
- <slave id="tap1"/>
- </slaves>
- <addresses>
- <address value="{$net}.1/24" />
- </addresses>
- </bridge>
- <vxlan id="test_if">
- <options>
- <option name="id" value="1"/>
- <option name="group_ip"
value="239.1.1.1"/>
- </options>
- <slaves>
- <slave id="br0"/>
- </slaves>
- <addresses>
- <address value="{$vxlan_net}.1/24" />
- <address value="{$vxlan_net6}::1/64" />
- </addresses>
- </vxlan>
- </interfaces>
- </host>
- <host id="guest1">
- <interfaces>
- <eth id="eth1" label="to_guest1">
- <addresses>
- <address value="{$net}.2/24" />
- </addresses>
- </eth>
- <vxlan id="test_if">
- <options>
- <option name="id" value="1"/>
- <option name="group_ip"
value="239.1.1.1"/>
- </options>
- <slaves>
- <slave id="eth1"/>
- </slaves>
- <addresses>
- <address value="{$vxlan_net}.2/24" />
- <address value="{$vxlan_net6}::2/64" />
- </addresses>
- </vxlan>
- </interfaces>
- </host>
- <host id="testmachine2">
- <params>
- <param name="machine_type" value="baremetal"/>
- </params>
- <interfaces>
- <eth id="eth1" label="tnet">
- <addresses>
- <address value="{$net}.3/24" />
- </addresses>
- </eth>
- <vxlan id="test_if">
- <options>
- <option name="id" value="1"/>
- <option name="group_ip"
value="239.1.1.1"/>
- </options>
- <slaves>
- <slave id="eth1"/>
- </slaves>
- <addresses>
- <address value="{$vxlan_net}.3/24" />
- <address value="{$vxlan_net6}::3/64" />
- </addresses>
- </vxlan>
- </interfaces>
- </host>
- </network>
-
- <task python="vxlan_multicast.py" />
-</lnstrecipe>
diff --git a/recipes/regression_tests/phase3/vxlan_remote.README
b/recipes/regression_tests/phase3/vxlan_remote.README
deleted file mode 100644
index 08fc8ef..0000000
--- a/recipes/regression_tests/phase3/vxlan_remote.README
+++ /dev/null
@@ -1,86 +0,0 @@
-Topology:
-
- switch
- +------+
- | |
- | |
- +-------------+ +-------------+
- | | | |
- | | | |
- | +------+ |
- | |
- | |
- +-+--+ +-+--+
-+-------|eth1|------+ +-------|eth1|------+
-| +-+--+ | | +-+--+ |
-| | | | | |
-| +-----+ | | +-----+ |
-| |vxlan| | | |vxlan| |
-| +-----+ | | +-----+ |
-| | | |
-| host1 | | host2 |
-| | | |
-| | | |
-| | | |
-+-------------------+ +-------------------+
-
-Number of hosts: 2
-Host #1 description:
- One ethernet device configured with ip address {$net}.1/24
- VXLAN interface on top of the ethernet interface using remote_ip {$net}.2
- configured with ip addresses:
- {$vxlan_net}.1/24
- {$vxlan_net6}::1/64
-Host #2 description:
- One ethernet device configured with ip address {$net}.2/24
- VXLAN interface on top of the ethernet interface using remote_ip {$net}.1
- configured with ip addresses:
- {$vxlan_net}.2/24
- {$vxlan_net6}::2/64
-Test name:
- vxlan_test.py
-Test description:
- Ping:
- + count: 100
- + interval: 0.1s
- + host1.vxlan -> host2.vxlan expecting PASS
- Ping6:
- + count: 100
- + interval: 0.1s
- + host1.vxlan -> host2.vxlan expecting PASS
- Netperf:
- + duration: 60s, repeated 5 times to calculate confidence
- + host1.vxlan -> host2.vxlan TCP_STREAM ipv4
- + host1.vxlan -> host2.vxlan UDP_STREAM ipv4
- + host1.vxlan -> host2.vxlan TCP_STREAM ipv6
- + host1.vxlan -> host2.vxlan UDP_STREAM ipv6
-
-PerfRepo integration:
- First, preparation in PerfRepo is required - you need to create Test objects
- through the web interface that properly describe the individual Netperf
- tests that this recipe runs. Don't forget to also add appropriate metrics.
- For these Netperf tests it's always:
- * throughput
- * throughput_min
- * throughput_max
- * throughput_deviation
-
- After that, to enable support for PerfRepo you need to create the file
- vxlan_remote.mapping and define the following id mappings:
- tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
- udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a
PerfRepo Test object
-
- To enable result comparison agains baselines you need to create a Report in
- PerfRepo that will store the baseline. Set up the Report to only contain results
- with the same hash tag and then add a new mapping to the mapping file, with
- this format:
- <some_hash> = <report_id>
-
- The hash value is automatically generated during test execution and added
- to each result stored in PerfRepo. To get the Report id you need to open
- that report in our browser and find if in the URL.
-
- When running this recipe you should also define the 'product_name' alias
- (e.g. RHEL7) in order to tag the result object in PerfRepo.
diff --git a/recipes/regression_tests/phase3/vxlan_remote.py
b/recipes/regression_tests/phase3/vxlan_remote.py
deleted file mode 100644
index 12050d9..0000000
--- a/recipes/regression_tests/phase3/vxlan_remote.py
+++ /dev/null
@@ -1,215 +0,0 @@
-from lnst.Controller.Task import ctl
-from lnst.Controller.PerfRepoUtils import perfrepo_baseline_to_dict
-from lnst.Controller.PerfRepoUtils import netperf_result_template
-
-from lnst.RecipeCommon.ModuleWrap import ping, ping6, netperf
-from lnst.RecipeCommon.IRQ import pin_dev_irqs
-from lnst.RecipeCommon.PerfRepo import generate_perfrepo_comment
-
-# ------
-# SETUP
-# ------
-
-mapping_file = ctl.get_alias("mapping_file")
-perf_api = ctl.connect_PerfRepo(mapping_file)
-
-product_name = ctl.get_alias("product_name")
-
-m1 = ctl.get_host("testmachine1")
-m2 = ctl.get_host("testmachine2")
-
-m1.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-m2.sync_resources(modules=["IcmpPing", "Icmp6Ping",
"Netperf"])
-
-
-# ------
-# TESTS
-# ------
-
-ipv = ctl.get_alias("ipv")
-mtu = ctl.get_alias("mtu")
-netperf_duration = int(ctl.get_alias("netperf_duration"))
-nperf_reserve = int(ctl.get_alias("nperf_reserve"))
-nperf_confidence = ctl.get_alias("nperf_confidence")
-nperf_max_runs = int(ctl.get_alias("nperf_max_runs"))
-nperf_cpupin = ctl.get_alias("nperf_cpupin")
-nperf_cpu_util = ctl.get_alias("nperf_cpu_util")
-nperf_num_parallel = int(ctl.get_alias("nperf_num_parallel"))
-nperf_debug = ctl.get_alias("nperf_debug")
-nperf_max_dev = ctl.get_alias("nperf_max_dev")
-pr_user_comment = ctl.get_alias("perfrepo_comment")
-
-pr_comment = generate_perfrepo_comment([m1, m2], pr_user_comment)
-
-test_if1 = m1.get_interface("test_if")
-test_if1.set_mtu(mtu)
-test_if2 = m2.get_interface("test_if")
-test_if2.set_mtu(mtu)
-
-if nperf_cpupin:
- m1.run("service irqbalance stop")
- m2.run("service irqbalance stop")
-
- m1_phy1 = m1.get_interface("eth")
- m2_phy1 = m2.get_interface("eth")
- dev_list = [(m1, m1_phy1), (m2, m2_phy1)]
-
- # this will pin devices irqs to cpu #0
- for m, d in dev_list:
- pin_dev_irqs(m, d, 0)
-
-nperf_opts = ""
-if nperf_cpupin and nperf_num_parallel == 1:
- nperf_opts = " -T%s,%s" % (nperf_cpupin, nperf_cpupin)
-
-ctl.wait(15)
-
-ping_opts = {"count": 100, "interval": 0.1}
-
-if ipv in [ 'ipv4', 'both' ]:
- ping((m1, test_if1, 0, {"scope": 0}),
- (m2, test_if2, 0, {"scope": 0}),
- options=ping_opts)
-
- ctl.wait(2)
-
- # prepare PerfRepo result for tcp
- result_tcp = perf_api.new_result("tcp_ipv4_id",
- "tcp_ipv4_result",
- hash_ignore=[
- r'kernel_release',
- r'redhat_release',
- r'test_if\.hwaddr'])
- result_tcp.add_tag(product_name)
- if nperf_num_parallel > 1:
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- baseline = perfrepo_baseline_to_dict(baseline)
-
- tcp_res_data = netperf((m1, test_if1, 0, {"scope": 0}),
- (m2, test_if2, 0, {"scope": 0}),
- client_opts={"duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "num_parallel" : nperf_num_parallel,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "debug": nperf_debug,
- "max_deviation": nperf_max_dev,
- "netperf_opts": nperf_opts},
- baseline = baseline,
- timeout = (netperf_duration + nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp
- result_udp = perf_api.new_result("udp_ipv4_id",
- "udp_ipv4_result",
- hash_ignore=[
- r'kernel_release',
- r'redhat_release',
- r'test_if\.hwaddr'])
- result_udp.add_tag(product_name)
- if nperf_num_parallel > 1:
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- baseline = perfrepo_baseline_to_dict(baseline)
-
- udp_res_data = netperf((m1, test_if1, 0, {"scope": 0}),
- (m2, test_if2, 0, {"scope": 0}),
- client_opts={"duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "num_parallel" : nperf_num_parallel,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "debug": nperf_debug,
- "max_deviation": nperf_max_dev,
- "netperf_opts": nperf_opts},
- baseline = baseline,
- timeout = (netperf_duration + nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
-if ipv in [ 'ipv6', 'both' ]:
- ping6((m1, test_if1, 1, {"scope": 0}),
- (m2, test_if2, 1, {"scope": 0}),
- options=ping_opts)
-
- # prepare PerfRepo result for tcp ipv6
- result_tcp = perf_api.new_result("tcp_ipv6_id",
- "tcp_ipv6_result",
- hash_ignore=[
- r'kernel_release',
- r'redhat_release',
- r'test_if\.hwaddr'])
- result_tcp.add_tag(product_name)
- if nperf_num_parallel > 1:
- result_tcp.add_tag("multithreaded")
- result_tcp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_tcp)
- baseline = perfrepo_baseline_to_dict(baseline)
-
- tcp_res_data = netperf((m1, test_if1, 1, {"scope": 0}),
- (m2, test_if2, 1, {"scope": 0}),
- client_opts={"duration" : netperf_duration,
- "testname" : "TCP_STREAM",
- "confidence" : nperf_confidence,
- "num_parallel" : nperf_num_parallel,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "debug": nperf_debug,
- "max_deviation": nperf_max_dev,
- "netperf_opts" : nperf_opts + "
-6"},
- baseline = baseline,
- timeout = (netperf_duration + nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_tcp, tcp_res_data)
- result_tcp.set_comment(pr_comment)
- perf_api.save_result(result_tcp)
-
- # prepare PerfRepo result for udp ipv6
- result_udp = perf_api.new_result("udp_ipv6_id",
- "udp_ipv6_result",
- hash_ignore=[
- r'kernel_release',
- r'redhat_release',
- r'test_if\.hwaddr'])
- result_udp.add_tag(product_name)
- if nperf_num_parallel > 1:
- result_udp.add_tag("multithreaded")
- result_udp.set_parameter('num_parallel', nperf_num_parallel)
-
- baseline = perf_api.get_baseline_of_result(result_udp)
- baseline = perfrepo_baseline_to_dict(baseline)
-
- udp_res_data = netperf((m1, test_if1, 1, {"scope": 0}),
- (m2, test_if2, 1, {"scope": 0}),
- client_opts={"duration" : netperf_duration,
- "testname" : "UDP_STREAM",
- "confidence" : nperf_confidence,
- "num_parallel" : nperf_num_parallel,
- "cpu_util" : nperf_cpu_util,
- "runs": nperf_max_runs,
- "debug": nperf_debug,
- "max_deviation": nperf_max_dev,
- "netperf_opts" : nperf_opts +
"-6"},
- baseline = baseline,
- timeout = (netperf_duration + nperf_reserve)*nperf_max_runs)
-
- netperf_result_template(result_udp, udp_res_data)
- result_udp.set_comment(pr_comment)
- perf_api.save_result(result_udp)
-
-if nperf_cpupin:
- m1.run("service irqbalance start")
- m2.run("service irqbalance start")
diff --git a/recipes/regression_tests/phase3/vxlan_remote.xml
b/recipes/regression_tests/phase3/vxlan_remote.xml
deleted file mode 100644
index 040479e..0000000
--- a/recipes/regression_tests/phase3/vxlan_remote.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<lnstrecipe>
- <define>
- <alias name="ipv" value="both" />
- <alias name="mtu" value="1450" />
- <alias name="netperf_duration" value="60" />
- <alias name="nperf_reserve" value="20" />
- <alias name="nperf_confidence" value="99,5" />
- <alias name="nperf_max_runs" value="5"/>
- <alias name="nperf_num_parallel" value="1"/>
- <alias name="nperf_debug" value="0"/>
- <alias name="nperf_max_dev" value="20%"/>
- <alias name="mapping_file" value="vxlan_remote.mapping"
/>
- <alias name="net" value="192.168.0"/>
- <alias name="vxlan_net" value="192.168.100"/>
- <alias name="vxlan_net6" value="fc00:0:0:0"/>
- </define>
- <network>
- <host id="testmachine1">
- <interfaces>
- <eth id="eth" label="tnet">
- <addresses>
- <address value="{$net}.1/24" />
- </addresses>
- </eth>
- <vxlan id="test_if">
- <options>
- <option name="id" value="1"/>
- <option name="remote_ip"
value="{$net}.2"/>
- </options>
- <slaves>
- <slave id="eth"/>
- </slaves>
- <addresses>
- <address value="{$vxlan_net}.1/24" />
- <address value="{$vxlan_net6}::1/64" />
- </addresses>
- </vxlan>
- </interfaces>
- </host>
- <host id="testmachine2">
- <interfaces>
- <eth id="eth" label="tnet">
- <addresses>
- <address value="{$net}.2/24" />
- </addresses>
- </eth>
- <vxlan id="test_if">
- <options>
- <option name="id" value="1"/>
- <option name="remote_ip"
value="{$net}.1"/>
- </options>
- <slaves>
- <slave id="eth"/>
- </slaves>
- <addresses>
- <address value="{$vxlan_net}.2/24" />
- <address value="{$vxlan_net6}::2/64" />
- </addresses>
- </vxlan>
- </interfaces>
- </host>
- </network>
-
- <task python="vxlan_remote.py" />
-</lnstrecipe>
--
2.17.0