[Spytest] Add multi-DUT testbed deployment support#1848
[Spytest] Add multi-DUT testbed deployment support#1848lolyu merged 5 commits intosonic-net:masterfrom
Conversation
d229da2 to
3684895
Compare
4ca6401 to
5308c1b
Compare
ansible/library/conn_graph_facts.py
Outdated
There was a problem hiding this comment.
Wonder how the vlan used to connect DUTs are configured. If DUT1 has port 0 connected to DUT2 port 0, then both should have the same vlan id. Also, vlans in trunk interfaces all the way up to the server will need to be updated.
There was a problem hiding this comment.
The ports between DUTs are direct connections, this patch aims to connect PTF containers through fanout switches. The VLAN trunk interfaces connecting to the server is configured in playbook fanout_connect.yml.
'fullmesh' describes the topology used for sytest, which supports
multi-DUTs definition.
`"0.1"` means connecting the second port('1') of the first DUT('0') to
the PTF container.
Signed-off-by: Longxiang Lyu <lolv@microsoft.com>
|
@yxieca please help review, thanks! |
|
Please fill in the required information as much as you have: Approach |
Updated, thanks. |
1. Add an argument `hosts` to pass a list of DUTs to the module. 2. When the inquiring target is a list of DUTs, make the returns nested consisting of the corresponding return for each DUT. Signed-off-by: Longxiang Lyu <lolv@microsoft.com>
1. Modified module `vlan_port` to support multiple DUTs that will return `dut_fp_ports` consisting of lists of vlan virtual devices for each DUT. 2. Modified module `vm_topology` to support multiple DUTs that it will inject the vlan virtual devices(listed in `dut_fp_ports`, specified by the `host_interfaces` in topology file) into PTF container. 3. Other changes to adapt to that `dut_name` might be a string of multiple DUTs separated by comma. Signed-off-by: Longxiang Lyu <lolv@microsoft.com>
Signed-off-by: Longxiang Lyu <lolv@microsoft.com>
54d58a4 to
6006c2d
Compare
e51fe09 to
6bea4d8
Compare
Modified `rootfanout_connect.yml` to support assigning vlans from multiple DUTs to the root fanout trunk port that is connected to the vm server. Signed-off-by: Longxiang Lyu <lolv@microsoft.com>
|
@yxieca, I've made some changes that before calling |
d29a49a [ACL] Match TCP protocol while matching TCP_FLAG (sonic-net#1854) 2569ad9 Fix sFlow sampling-rate and admin-state (sonic-net#1728) 8908a8f Change rif_rates.lua and port_rates.lua scripts to calculate rates correct (sonic-net#1848) b42c2fb [VS Test] Skip flaky tests (sonic-net#1875) Signed-off-by: bingwang <bingwang@microsoft.com>
* 647f01f 2021-09-30 | [fstrim] limit smartctl execution time to 30 seconds (sonic-net#1850) (HEAD -> 202012, github/202012) [Ying Xie] * 371970e 2021-09-30 | [202012][show techsupport] address show techsupport return none zero code issue (sonic-net#1847) [Ying Xie] * 81a8386 2021-09-30 | Disable pfcwd forward action config for cisco-8000. (sonic-net#1848) [Alpesh Patel] Signed-off-by: Ying Xie <ying.xie@microsoft.com>
88a38f7 Ignore ALREADY_EXIST error in FDB creation (sonic-net#1815) b1c23f3 Change rif_rates.lua and port_rates.lua scripts to calculate rates correct (sonic-net#1848) Update sonic-utilities submodule with cbc25d6 [config reload] Call systemctl reset-failed for snmp,telemetry,mgmt-framework services (sonic-net#1773) 04dcd07 Improve config error handling on version_info (sonic-net#1760) e567a60 Load the database global_db. (sonic-net#1752) c15fb8f [sfputil] Gracefully handle improper 'specification_compliance' field (sonic-net#1741) 39350f8 [dhcp_relay] Update CLI reference document and add a new API for ip address type (sonic-net#1717) 18f13c6 [sonic-package-manager] switch from poetry-semver to semantic_version due to bugs found in poetry-semver (sonic-net#1710) b16724a [voq][chassis] VOQ cli show commands implementation (sonic-net#1689) 9427cd6 [debug dump util] Match Infrastructure (sonic-net#1666) d9fb39b [route_check] Filter out VNET routes (sonic-net#1612)
Description of PR
In the full-mesh topology used in
Spytest,DUTs are directly-connected while the traffic generationports are connected through fanout switches with the use of
PTF. This patch aims to automate theprocess of the following steps:
PTFcontainer on the target server.PTFcontainer created.Signed-off-by: Longxiang Lyu lolv@microsoft.com
Summary:
Fixes # (issue)
Type of change
Approach
What is the motivation for this PR?
DUTs and thePTFcontainer.How did you do it?
fullmeshto support the definition of connections between multipleDUTs and thePTFcontainer.0.1means to connect the second port('1') from the firstDUT('0').testbed.csvshould contain an entry like the following to describe the testbed.hoststoconn_graph_factsansible module to support parsing connection graphfor multiple
DUTs.device_vlan_listwill return a list of lists for the VLAN IDs of eachDUTdevice_vlan_list: [[201, 202, 203, 204], [205, 206, 207, 208], [209, 210, 211, 212], [213, 214, 215, 216]]vlan_portinside rolevm_setto create vlan ports based on the nesteddevice_vlan_list.DUTdut_fp_ports: [['p4p1.201', 'p4p1.202', 'p4p1.203', 'p4p1.204'], ['p4p1.205', 'p4p1.206', 'p4p1.207', 'p4p1.208'], ['p4p1.209', 'p4p1.210', 'p4p1.211', 'p4p1.212'], ['p4p1.213', 'p4p1.214', 'p4p1.215', 'p4p1.216']]vm_topologyto insert the vlan ports into thePTFcontainer based on the nesteddut_fp_portsand topo file.host_interfacesinside topo file will be the indexes to choose the ports fromdut_fp_ports.0.1will choose the second port(p4p1.202) in the firstDUT(['p4p1.201', 'p4p1.202', 'p4p1.203', 'p4p1.204'])How did you verify/test it?
Any platform specific information?
Supported testbed topology if it's a new test case?
Documentation