From 5e6145a4260ffce1c302e94b9b241851f90838e1 Mon Sep 17 00:00:00 2001 From: Vratko Polak Date: Thu, 4 Apr 2019 13:45:11 +0200 Subject: Upgrade autogen to NICs and search types + All perf suites updated, as autogen change is backward incompatible. + Only x710 -ndrpdr suites remain in git repository. + Removed retry feature of run_tests. + Renamed topology_type and traffic_type to traffic_profile. + Renamed framesize to frame_size; nic_model to nic_name. + Reordered Variables table to start with nic_name and overhead. + Fixed wrong overhead value in some cbc-sha1 suites. + Fixed some suite tags. ++ Introduced tags to distinguish suites, such as IPSECINT. + Bound crypto hardware to NIC name. + Implemented NIC limit hiding. + Also search and teardown related arguments are now hidden. + Main measurement keywords updated to new arg handling. + Max rate related keywords moved to performance_limits.robot + Teardowns unified. + Generated tests are archived. ++ Generated directory is .gitignore-d. + Regenerator raises an exception on seeing non-compatible suite. ++ Relatively helpful message should be seen in exception. + Suite and template Documentation has generated parts. +- With short NIC names only. + Autogen checker also upgraded. + Tag expressions replaced with long files to ensure analogous tests. Change-Id: I60e9a999187e7da1f60d0eb4fb02afa14682aa46 Signed-off-by: Vratko Polak --- tests/kubernetes/perf/__init__.robot | 4 - ...maclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr.robot | 159 ------------------ ...lrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr.robot | 164 ------------------ ...maclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr.robot | 166 ------------------- ...lrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr.robot | 170 ------------------- ...maclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr.robot | 180 -------------------- ...lrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr.robot | 184 --------------------- ...maclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr.robot | 166 ------------------- ...lrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr.robot | 170 ------------------- ...maclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr.robot | 180 -------------------- ...lrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr.robot | 184 --------------------- ...xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr.robot | 158 ------------------ ...ase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr.robot | 162 ------------------ ...xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr.robot | 165 ------------------ ...ase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr.robot | 169 ------------------- ...xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr.robot | 179 -------------------- ...ase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr.robot | 183 -------------------- ...xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr.robot | 165 ------------------ ...ase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr.robot | 169 ------------------- ...xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr.robot | 179 -------------------- ...ase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr.robot | 183 -------------------- ...maclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr.robot | 159 ------------------ ...lrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr.robot | 59 +++---- ...maclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr.robot | 166 ------------------- ...lrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr.robot | 59 +++---- ...maclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr.robot | 180 -------------------- ...lrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr.robot | 59 +++---- ...maclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr.robot | 166 ------------------- ...lrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr.robot | 59 +++---- ...maclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr.robot | 180 -------------------- ...lrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr.robot | 59 +++---- ...xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr.robot | 158 ------------------ ...ase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr.robot | 59 +++---- ...xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr.robot | 165 ------------------ ...ase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr.robot | 59 +++---- ...xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr.robot | 179 -------------------- ...ase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr.robot | 59 +++---- ...xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr.robot | 165 ------------------ ...ase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr.robot | 59 +++---- ...xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr.robot | 179 -------------------- ...ase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr.robot | 59 +++---- .../perf/container_memif/regenerate_testcases.py | 2 +- 42 files changed, 271 insertions(+), 5457 deletions(-) delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr.robot delete mode 100644 tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr.robot (limited to 'tests/kubernetes') diff --git a/tests/kubernetes/perf/__init__.robot b/tests/kubernetes/perf/__init__.robot index d21f2eecba..c433cc7b87 100644 --- a/tests/kubernetes/perf/__init__.robot +++ b/tests/kubernetes/perf/__init__.robot @@ -42,8 +42,6 @@ | | ... | | ... | _NOTE:_ This KW sets following suite variables: | | ... | - dcr_image - vpp-agent docker image -| | ... | - perf_pdr_loss_acceptance - Loss acceptance treshold -| | ... | - perf_pdr_loss_acceptance_type - Loss acceptance treshold type | | ... | - pkt_trace - Switch to enable packet trace for test | | ... | - dut_stats - Switch to enable DUT statistics | | ... | - uio_driver - Default UIO driver @@ -51,8 +49,6 @@ | | ... | | Set Global Variable | ${dcr_image} | | ... | /tmp/openvpp-testing/download_dir/prod_vpp_agent.tar.gz -| | Set Global Variable | ${perf_pdr_loss_acceptance} | 0.5 -| | Set Global Variable | ${perf_pdr_loss_acceptance_type} | percentage | | Set Global Variable | ${pkt_trace} | ${False} | | Set Global Variable | ${dut_stats} | ${False} | | @{plugins_to_enable}= | Create List | dpdk_plugin.so diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr.robot deleted file mode 100644 index b7c9de77f3..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr.robot +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | MRR -| ... | NIC_Intel-X520-DA2 | ETH | L2BDMACLRN | L2BDBASE | BASE | MEMIF -| ... | K8S | 1VSWITCH | 1VNF | VPP_AGENT | SFC_CONTROLLER | PARALLEL -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2BD test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 bridge domain. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with two L2 -| ... | bridge domains and MAC learning enabled. DUT1 and DUT2 tested with -| ... | 2p10GE NIC X520 Niantic by Intel. -| ... | VNF Container is connected to VSWITCH container via Memif interface. All -| ... | containers is running same VPP version. Containers are deployed with -| ... | Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* In MaxReceivedRate test TG sends traffic -| ... | at line rate and reports total received/sent packets over trial period. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\ -| | ... | trial throughput test. -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Then Traffic should pass with maximum rate -| | ... | ${max_rate}pps | ${framesize} | ${traffic_profile} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr.robot deleted file mode 100644 index f25009e771..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr.robot +++ /dev/null @@ -1,164 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X520-DA2 | ETH | L2BDMACLRN | L2BDBASE | BASE | MEMIF -| ... | K8S | 1VSWITCH | 1VNF | VPP_AGENT | SFC_CONTROLLER | PARALLEL -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| # TODO: Create teardown based on Tear down performance discovery test. -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2BD test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 bridge domain. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with two L2 -| ... | bridge domains and MAC learning enabled. DUT1 and DUT2 tested with -| ... | 2p10GE NIC X520 Niantic by Intel. -| ... | VNF Container is connected to VSWITCH container via Memif interface. All -| ... | containers is running same VPP version. Containers are deployed with -| ... | Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using MLRsearch library. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} | ${10000} -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Find NDR and PDR intervals using optimized search -| | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr.robot deleted file mode 100644 index a03dea018f..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr.robot +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | MRR -| ... | NIC_Intel-X520-DA2 | ETH | L2BDMACLRN | L2BDBASE | SCALE | MEMIF -| ... | K8S | 1VSWITCH | 2VNF | VPP_AGENT | SFC_CONTROLLER | HORIZONTAL -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2BD test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 bridge domain. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with two L2 -| ... | bridge domains and MAC learning enabled. DUT1 and DUT2 tested with -| ... | 2p10GE NIC X520 Niantic by Intel. -| ... | VNF Containers are connected to VSWITCH container via Memif interface. -| ... | All containers are running same VPP version. Containers are deployed -| ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* In MaxReceivedRate test TG sends traffic -| ... | at line rate and reports total received/sent packets over trial period. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\ -| | ... | trial throughput test. -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes VNF'2' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf2-vpp-cfg | vpp.conf=/tmp/vnf2.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Then Traffic should pass with maximum rate -| | ... | ${max_rate}pps | ${framesize} | ${traffic_profile} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr.robot deleted file mode 100644 index 0df265a832..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr.robot +++ /dev/null @@ -1,170 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X520-DA2 | ETH | L2BDMACLRN | L2BDBASE | SCALE | MEMIF -| ... | K8S | 1VSWITCH | 2VNF | VPP_AGENT | SFC_CONTROLLER | HORIZONTAL -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2BD test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 bridge domain. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with two L2 -| ... | bridge domains and MAC learning enabled. DUT1 and DUT2 tested with -| ... | 2p10GE NIC X520 Niantic by Intel. -| ... | VNF Containers are connected to VSWITCH container via Memif interface. -| ... | All containers are running same VPP version. Containers are deployed -| ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using MLRsearch library. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} | ${10000} -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes VNF'2' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf2-vpp-cfg | vpp.conf=/tmp/vnf2.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Find NDR and PDR intervals using optimized search -| | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr.robot deleted file mode 100644 index 359dd2562e..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr.robot +++ /dev/null @@ -1,180 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | MRR -| ... | NIC_Intel-X520-DA2 | ETH | L2BDMACLRN | L2BDBASE | SCALE | MEMIF -| ... | K8S | 1VSWITCH | 4VNF | VPP_AGENT | SFC_CONTROLLER | HORIZONTAL -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2BD test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 bridge domain. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with two L2 -| ... | bridge domains and MAC learning enabled. DUT1 and DUT2 tested with -| ... | 2p10GE NIC X520 Niantic by Intel. -| ... | VNF Containers are connected to VSWITCH container via Memif interface. -| ... | All containers are running same VPP version. Containers are deployed -| ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* In MaxReceivedRate test TG sends traffic -| ... | at line rate and reports total received/sent packets over trial period. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\ -| | ... | trial throughput test. -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes VNF'2' startup config on all DUTs -| | Create Kubernetes VNF'3' startup config on all DUTs -| | Create Kubernetes VNF'4' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf2-vpp-cfg | vpp.conf=/tmp/vnf2.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf3-vpp-cfg | vpp.conf=/tmp/vnf3.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf4-vpp-cfg | vpp.conf=/tmp/vnf4.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf3 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf3 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf4 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf4 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Then Traffic should pass with maximum rate -| | ... | ${max_rate}pps | ${framesize} | ${traffic_profile} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr.robot deleted file mode 100644 index 0576add678..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr.robot +++ /dev/null @@ -1,184 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X520-DA2 | ETH | L2BDMACLRN | L2BDBASE | SCALE | MEMIF -| ... | K8S | 1VSWITCH | 4VNF | VPP_AGENT | SFC_CONTROLLER | HORIZONTAL -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2BD test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 bridge domain. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with two L2 -| ... | bridge domains and MAC learning enabled. DUT1 and DUT2 tested with -| ... | 2p10GE NIC X520 Niantic by Intel. -| ... | VNF Containers are connected to VSWITCH container via Memif interface. -| ... | All containers are running same VPP version. Containers are deployed -| ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using MLRsearch library. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} | ${10000} -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes VNF'2' startup config on all DUTs -| | Create Kubernetes VNF'3' startup config on all DUTs -| | Create Kubernetes VNF'4' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf2-vpp-cfg | vpp.conf=/tmp/vnf2.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf3-vpp-cfg | vpp.conf=/tmp/vnf3.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf4-vpp-cfg | vpp.conf=/tmp/vnf4.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf3 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf3 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf4 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf4 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Find NDR and PDR intervals using optimized search -| | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr.robot deleted file mode 100644 index e02bb42be7..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr.robot +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | MRR -| ... | NIC_Intel-X520-DA2 | ETH | L2BDMACLRN | L2BDBASE | SCALE | MEMIF -| ... | K8S | 1VSWITCH | 2VNF | VPP_AGENT | SFC_CONTROLLER | CHAIN -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2BD test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 bridge domain. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with two L2 -| ... | bridge domains and MAC learning enabled. DUT1 and DUT2 tested with -| ... | 2p10GE NIC X520 Niantic by Intel. -| ... | VNF Containers are connected to VSWITCH container via Memif interface. -| ... | All containers are running same VPP version. Containers are deployed -| ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* In MaxReceivedRate test TG sends traffic -| ... | at line rate and reports total received/sent packets over trial period. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\ -| | ... | trial throughput test. -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes VNF'2' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf2-vpp-cfg | vpp.conf=/tmp/vnf2.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Then Traffic should pass with maximum rate -| | ... | ${max_rate}pps | ${framesize} | ${traffic_profile} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr.robot deleted file mode 100644 index 64b530963b..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr.robot +++ /dev/null @@ -1,170 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X520-DA2 | ETH | L2BDMACLRN | L2BDBASE | SCALE | MEMIF -| ... | K8S | 1VSWITCH | 2VNF | VPP_AGENT | SFC_CONTROLLER | CHAIN -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2BD test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 bridge domain. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with two L2 -| ... | bridge domains and MAC learning enabled. DUT1 and DUT2 tested with -| ... | 2p10GE NIC X520 Niantic by Intel. -| ... | VNF Containers are connected to VSWITCH container via Memif interface. -| ... | All containers are running same VPP version. Containers are deployed -| ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using MLRsearch library. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} | ${10000} -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes VNF'2' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf2-vpp-cfg | vpp.conf=/tmp/vnf2.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Find NDR and PDR intervals using optimized search -| | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr.robot deleted file mode 100644 index 90508ec7d5..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr.robot +++ /dev/null @@ -1,180 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | MRR -| ... | NIC_Intel-X520-DA2 | ETH | L2BDMACLRN | L2BDBASE | SCALE | MEMIF -| ... | K8S | 1VSWITCH | 4VNF | VPP_AGENT | SFC_CONTROLLER | CHAIN -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2BD test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 bridge domain. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with two L2 -| ... | bridge domains and MAC learning enabled. DUT1 and DUT2 tested with -| ... | 2p10GE NIC X520 Niantic by Intel. -| ... | VNF Containers are connected to VSWITCH container via Memif interface. -| ... | All containers are running same VPP version. Containers are deployed -| ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* In MaxReceivedRate test TG sends traffic -| ... | at line rate and reports total received/sent packets over trial period. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\ -| | ... | trial throughput test. -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes VNF'2' startup config on all DUTs -| | Create Kubernetes VNF'3' startup config on all DUTs -| | Create Kubernetes VNF'4' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf2-vpp-cfg | vpp.conf=/tmp/vnf2.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf3-vpp-cfg | vpp.conf=/tmp/vnf3.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf4-vpp-cfg | vpp.conf=/tmp/vnf4.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf3 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf3 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf4 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf4 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Then Traffic should pass with maximum rate -| | ... | ${max_rate}pps | ${framesize} | ${traffic_profile} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr.robot deleted file mode 100644 index ee61af16a6..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr.robot +++ /dev/null @@ -1,184 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X520-DA2 | ETH | L2BDMACLRN | L2BDBASE | SCALE | MEMIF -| ... | K8S | 1VSWITCH | 4VNF | VPP_AGENT | SFC_CONTROLLER | CHAIN -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2BD test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 bridge domain. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with two L2 -| ... | bridge domains and MAC learning enabled. DUT1 and DUT2 tested with -| ... | 2p10GE NIC X520 Niantic by Intel. -| ... | VNF Containers are connected to VSWITCH container via Memif interface. -| ... | All containers are running same VPP version. Containers are deployed -| ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using MLRsearch library. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} | ${10000} -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes VNF'2' startup config on all DUTs -| | Create Kubernetes VNF'3' startup config on all DUTs -| | Create Kubernetes VNF'4' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf2-vpp-cfg | vpp.conf=/tmp/vnf2.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf3-vpp-cfg | vpp.conf=/tmp/vnf3.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf4-vpp-cfg | vpp.conf=/tmp/vnf4.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf3 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf3 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf4 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf4 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Find NDR and PDR intervals using optimized search -| | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr.robot deleted file mode 100644 index bc062c7b10..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr.robot +++ /dev/null @@ -1,158 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | MRR -| ... | NIC_Intel-X520-DA2 | ETH | L2XCFWD | BASE | L2XCBASE | MEMIF -| ... | K8S | 1VSWITCH | 1VNF | VPP_AGENT | SFC_CONTROLLER | PARALLEL -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2XC test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X520 Niantic by Intel. -| ... | VNF Container is connected to VSWITCH container via Memif interface. All -| ... | containers is running same VPP version. Containers are deployed with -| ... | Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* In MaxReceivedRate test TG sends traffic -| ... | at line rate and reports total received/sent packets over trial period. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\ -| | ... | trial throughput test. -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Then Traffic should pass with maximum rate -| | ... | ${max_rate}pps | ${framesize} | ${traffic_profile} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr.robot deleted file mode 100644 index 2cfabf6cdd..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr.robot +++ /dev/null @@ -1,162 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X520-DA2 | ETH | L2XCFWD | BASE | L2XCBASE | MEMIF -| ... | K8S | 1VSWITCH | 1VNF | VPP_AGENT | SFC_CONTROLLER | PARALLEL -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2XC test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X520 Niantic by Intel. -| ... | VNF Container is connected to VSWITCH container via Memif interface. All -| ... | containers is running same VPP version. Containers are deployed with -| ... | Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using MLRsearch library. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} | ${10000} -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Find NDR and PDR intervals using optimized search -| | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr.robot deleted file mode 100644 index d976de2e2e..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr.robot +++ /dev/null @@ -1,165 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | MRR -| ... | NIC_Intel-X520-DA2 | ETH | L2XCFWD | SCALE | L2XCBASE | MEMIF -| ... | K8S | 1VSWITCH | 2VNF | VPP_AGENT | SFC_CONTROLLER | HORIZONTAL -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2XC test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X520 Niantic by Intel. -| ... | VNF Containers are connected to VSWITCH container via Memif interface. -| ... | All containers are running same VPP version. Containers are deployed -| ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* In MaxReceivedRate test TG sends traffic -| ... | at line rate and reports total received/sent packets over trial period. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\ -| | ... | trial throughput test. -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes VNF'2' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf2-vpp-cfg | vpp.conf=/tmp/vnf2.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Then Traffic should pass with maximum rate -| | ... | ${max_rate}pps | ${framesize} | ${traffic_profile} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr.robot deleted file mode 100644 index 3ed9578623..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr.robot +++ /dev/null @@ -1,169 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X520-DA2 | ETH | L2XCFWD | SCALE | L2XCBASE | MEMIF -| ... | K8S | 1VSWITCH | 2VNF | VPP_AGENT | SFC_CONTROLLER | HORIZONTAL -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2XC test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X520 Niantic by Intel. -| ... | VNF Containers are connected to VSWITCH container via Memif interface. -| ... | All containers are running same VPP version. Containers are deployed -| ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using MLRsearch library. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} | ${10000} -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes VNF'2' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf2-vpp-cfg | vpp.conf=/tmp/vnf2.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Find NDR and PDR intervals using optimized search -| | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr.robot deleted file mode 100644 index 99865838cd..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr.robot +++ /dev/null @@ -1,179 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | MRR -| ... | NIC_Intel-X520-DA2 | ETH | L2XCFWD | SCALE | L2XCBASE | MEMIF -| ... | K8S | 1VSWITCH | 4VNF | VPP_AGENT | SFC_CONTROLLER | HORIZONTAL -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2XC test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X520 Niantic by Intel. -| ... | VNF Containers are connected to VSWITCH container via Memif interface. -| ... | All containers are running same VPP version. Containers are deployed -| ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* In MaxReceivedRate test TG sends traffic -| ... | at line rate and reports total received/sent packets over trial period. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\ -| | ... | trial throughput test. -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes VNF'2' startup config on all DUTs -| | Create Kubernetes VNF'3' startup config on all DUTs -| | Create Kubernetes VNF'4' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf2-vpp-cfg | vpp.conf=/tmp/vnf2.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf3-vpp-cfg | vpp.conf=/tmp/vnf3.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf4-vpp-cfg | vpp.conf=/tmp/vnf4.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf3 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf3 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf4 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf4 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Then Traffic should pass with maximum rate -| | ... | ${max_rate}pps | ${framesize} | ${traffic_profile} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr.robot deleted file mode 100644 index bb81866132..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr.robot +++ /dev/null @@ -1,183 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X520-DA2 | ETH | L2XCFWD | SCALE | L2XCBASE | MEMIF -| ... | K8S | 1VSWITCH | 4VNF | VPP_AGENT | SFC_CONTROLLER | HORIZONTAL -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2XC test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X520 Niantic by Intel. -| ... | VNF Containers are connected to VSWITCH container via Memif interface. -| ... | All containers are running same VPP version. Containers are deployed -| ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using MLRsearch library. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} | ${10000} -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes VNF'2' startup config on all DUTs -| | Create Kubernetes VNF'3' startup config on all DUTs -| | Create Kubernetes VNF'4' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf2-vpp-cfg | vpp.conf=/tmp/vnf2.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf3-vpp-cfg | vpp.conf=/tmp/vnf3.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf4-vpp-cfg | vpp.conf=/tmp/vnf4.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf3 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf3 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf4 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf4 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Find NDR and PDR intervals using optimized search -| | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr.robot deleted file mode 100644 index a7d6d0a71d..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr.robot +++ /dev/null @@ -1,165 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | MRR -| ... | NIC_Intel-X520-DA2 | ETH | L2XCFWD | SCALE | L2XCBASE | MEMIF -| ... | K8S | 1VSWITCH | 2VNF | VPP_AGENT | SFC_CONTROLLER | CHAIN -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2XC test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X520 Niantic by Intel. -| ... | VNF Containers are connected to VSWITCH container via Memif interface. -| ... | All containers are running same VPP version. Containers are deployed -| ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* In MaxReceivedRate test TG sends traffic -| ... | at line rate and reports total received/sent packets over trial period. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\ -| | ... | trial throughput test. -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes VNF'2' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf2-vpp-cfg | vpp.conf=/tmp/vnf2.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Then Traffic should pass with maximum rate -| | ... | ${max_rate}pps | ${framesize} | ${traffic_profile} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr.robot deleted file mode 100644 index 0246cdcd4a..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr.robot +++ /dev/null @@ -1,169 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X520-DA2 | ETH | L2XCFWD | SCALE | L2XCBASE | MEMIF -| ... | K8S | 1VSWITCH | 2VNF | VPP_AGENT | SFC_CONTROLLER | CHAIN -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2XC test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X520 Niantic by Intel. -| ... | VNF Containers are connected to VSWITCH container via Memif interface. -| ... | All containers are running same VPP version. Containers are deployed -| ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using MLRsearch library. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} | ${10000} -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes VNF'2' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf2-vpp-cfg | vpp.conf=/tmp/vnf2.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Find NDR and PDR intervals using optimized search -| | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr.robot deleted file mode 100644 index 35034dc0a4..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr.robot +++ /dev/null @@ -1,179 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | MRR -| ... | NIC_Intel-X520-DA2 | ETH | L2XCFWD | SCALE | L2XCBASE | MEMIF -| ... | K8S | 1VSWITCH | 4VNF | VPP_AGENT | SFC_CONTROLLER | CHAIN -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2XC test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X520 Niantic by Intel. -| ... | VNF Containers are connected to VSWITCH container via Memif interface. -| ... | All containers are running same VPP version. Containers are deployed -| ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* In MaxReceivedRate test TG sends traffic -| ... | at line rate and reports total received/sent packets over trial period. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\ -| | ... | trial throughput test. -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes VNF'2' startup config on all DUTs -| | Create Kubernetes VNF'3' startup config on all DUTs -| | Create Kubernetes VNF'4' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf2-vpp-cfg | vpp.conf=/tmp/vnf2.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf3-vpp-cfg | vpp.conf=/tmp/vnf3.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf4-vpp-cfg | vpp.conf=/tmp/vnf4.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf3 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf3 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf4 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf4 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Then Traffic should pass with maximum rate -| | ... | ${max_rate}pps | ${framesize} | ${traffic_profile} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr.robot deleted file mode 100644 index f2bf0412b2..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x520-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr.robot +++ /dev/null @@ -1,183 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X520-DA2 | ETH | L2XCFWD | SCALE | L2XCBASE | MEMIF -| ... | K8S | 1VSWITCH | 4VNF | VPP_AGENT | SFC_CONTROLLER | CHAIN -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X520-DA2 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2XC test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X520 Niantic by Intel. -| ... | VNF Containers are connected to VSWITCH container via Memif interface. -| ... | All containers are running same VPP version. Containers are deployed -| ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using MLRsearch library. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X520-DA2 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} | ${10000} -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes VNF'2' startup config on all DUTs -| | Create Kubernetes VNF'3' startup config on all DUTs -| | Create Kubernetes VNF'4' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf2-vpp-cfg | vpp.conf=/tmp/vnf2.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf3-vpp-cfg | vpp.conf=/tmp/vnf3.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf4-vpp-cfg | vpp.conf=/tmp/vnf4.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf3 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf3 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf4 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf4 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Find NDR and PDR intervals using optimized search -| | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr.robot deleted file mode 100644 index 9310b31e42..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr.robot +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | MRR -| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | L2BDBASE | BASE | MEMIF -| ... | K8S | 1VSWITCH | 1VNF | VPP_AGENT | SFC_CONTROLLER | PARALLEL -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X710 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2BD test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 bridge domain. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with two L2 -| ... | bridge domains and MAC learning enabled. DUT1 and DUT2 tested with -| ... | 2p10GE NIC X710 by Intel. -| ... | VNF Container is connected to VSWITCH container via Memif interface. All -| ... | containers is running same VPP version. Containers are deployed with -| ... | Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* In MaxReceivedRate test TG sends traffic -| ... | at line rate and reports total received/sent packets over trial period. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X710 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\ -| | ... | trial throughput test. -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Then Traffic should pass with maximum rate -| | ... | ${max_rate}pps | ${framesize} | ${traffic_profile} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr.robot index f40b6fccca..beaff76e25 100644 --- a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr.robot +++ b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr.robot @@ -1,4 +1,4 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. +# Copyright (c) 2019 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -19,12 +19,10 @@ | ... | K8S | 1VSWITCH | 1VNF | VPP_AGENT | SFC_CONTROLLER | PARALLEL | ... | Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X710 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... +| ... | L2 | ${nic_name} | Suite Teardown | Tear down 3-node performance topology | ... +| Test Setup | Set up performance test with Ligato Kubernetes | Test Teardown | Tear down performance test with Ligato Kubernetes | ... | Test Template | Local Template @@ -36,15 +34,15 @@ | ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 bridge domain. | ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with two L2 | ... | bridge domains and MAC learning enabled. DUT1 and DUT2 tested with -| ... | 2p10GE NIC X710 by Intel. +| ... | ${nic_name}.\ | ... | VNF Container is connected to VSWITCH container via Memif interface. All | ... | containers is running same VPP version. Containers are deployed with | ... | Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using MLRsearch library. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ | ... | TG traffic profile contains two L3 flow-groups | ... | (flow-group per direction, 254 flows per flow-group) with all packets | ... | containing Ethernet header, IPv4 header with IP protocol=61 and static @@ -53,8 +51,8 @@ | ... | *[Ref] Applicable standard specifications:* RFC2544. *** Variables *** -# X710 bandwidth limit -| ${s_limit}= | ${10000000000} +| ${nic_name}= | Intel-X710 +| ${overhead}= | ${0} # SFC profile | ${sfc_profile}= | configmaps/eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral # Traffic profile: @@ -71,18 +69,16 @@ | | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ | | ... | | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). | | ... | Type: integer, string | | ... | - phy_cores - Number of physical cores. Type: integer | | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer | | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | ... -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} | ${10000} -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} +| | Set Test Variable | \${frame_size} | | ... +| | Set Max Rate And Jumbo | | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} | | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} | | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} @@ -111,53 +107,52 @@ | | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit | | Set Kubernetes PODs affinity on all DUTs | ${nodes} | | Find NDR and PDR intervals using optimized search -| | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate} *** Test Cases *** | tc01-64B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr | | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} +| | frame_size=${64} | phy_cores=${1} | tc02-64B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr | | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} +| | frame_size=${64} | phy_cores=${2} | tc03-64B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr | | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} +| | frame_size=${64} | phy_cores=${4} | tc04-1518B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr | | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} +| | frame_size=${1518} | phy_cores=${1} | tc05-1518B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr | | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} +| | frame_size=${1518} | phy_cores=${2} | tc06-1518B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr | | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} +| | frame_size=${1518} | phy_cores=${4} | tc07-9000B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr | | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} +| | frame_size=${9000} | phy_cores=${1} | tc08-9000B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr | | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} +| | frame_size=${9000} | phy_cores=${2} | tc09-9000B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr | | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} +| | frame_size=${9000} | phy_cores=${4} | tc10-IMIX-1c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr | | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} +| | frame_size=IMIX_v4_1 | phy_cores=${1} | tc11-IMIX-2c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr | | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} +| | frame_size=IMIX_v4_1 | phy_cores=${2} | tc12-IMIX-4c-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr | | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} +| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr.robot deleted file mode 100644 index f57d86c8e5..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr.robot +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | MRR -| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | L2BDBASE | SCALE | MEMIF -| ... | K8S | 1VSWITCH | 2VNF | VPP_AGENT | SFC_CONTROLLER | HORIZONTAL -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X710 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2BD test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 bridge domain. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with two L2 -| ... | bridge domains and MAC learning enabled. DUT1 and DUT2 tested with -| ... | 2p10GE NIC X710 by Intel. -| ... | VNF Containers are connected to VSWITCH container via Memif interface. -| ... | All containers are running same VPP version. Containers are deployed -| ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* In MaxReceivedRate test TG sends traffic -| ... | at line rate and reports total received/sent packets over trial period. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X710 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\ -| | ... | trial throughput test. -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes VNF'2' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf2-vpp-cfg | vpp.conf=/tmp/vnf2.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Then Traffic should pass with maximum rate -| | ... | ${max_rate}pps | ${framesize} | ${traffic_profile} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr.robot index 8ad6082194..c71b450d71 100644 --- a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr.robot +++ b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr.robot @@ -1,4 +1,4 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. +# Copyright (c) 2019 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -19,12 +19,10 @@ | ... | K8S | 1VSWITCH | 2VNF | VPP_AGENT | SFC_CONTROLLER | HORIZONTAL | ... | Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X710 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... +| ... | L2 | ${nic_name} | Suite Teardown | Tear down 3-node performance topology | ... +| Test Setup | Set up performance test with Ligato Kubernetes | Test Teardown | Tear down performance test with Ligato Kubernetes | ... | Test Template | Local Template @@ -36,15 +34,15 @@ | ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 bridge domain. | ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with two L2 | ... | bridge domains and MAC learning enabled. DUT1 and DUT2 tested with -| ... | 2p10GE NIC X710 by Intel. +| ... | ${nic_name}.\ | ... | VNF Containers are connected to VSWITCH container via Memif interface. | ... | All containers are running same VPP version. Containers are deployed | ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using MLRsearch library. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ | ... | TG traffic profile contains two L3 flow-groups | ... | (flow-group per direction, 254 flows per flow-group) with all packets | ... | containing Ethernet header, IPv4 header with IP protocol=61 and static @@ -53,8 +51,8 @@ | ... | *[Ref] Applicable standard specifications:* RFC2544. *** Variables *** -# X710 bandwidth limit -| ${s_limit}= | ${10000000000} +| ${nic_name}= | Intel-X710 +| ${overhead}= | ${0} # SFC profile | ${sfc_profile}= | configmaps/eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz # Traffic profile: @@ -71,18 +69,16 @@ | | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ | | ... | | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). | | ... | Type: integer, string | | ... | - phy_cores - Number of physical cores. Type: integer | | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer | | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | ... -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} | ${10000} -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} +| | Set Test Variable | \${frame_size} | | ... +| | Set Max Rate And Jumbo | | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} | | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} | | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} @@ -118,53 +114,52 @@ | | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit | | Set Kubernetes PODs affinity on all DUTs | ${nodes} | | Find NDR and PDR intervals using optimized search -| | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate} *** Test Cases *** | tc01-64B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} +| | frame_size=${64} | phy_cores=${1} | tc02-64B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} +| | frame_size=${64} | phy_cores=${2} | tc03-64B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} +| | frame_size=${64} | phy_cores=${4} | tc04-1518B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} +| | frame_size=${1518} | phy_cores=${1} | tc05-1518B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} +| | frame_size=${1518} | phy_cores=${2} | tc06-1518B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} +| | frame_size=${1518} | phy_cores=${4} | tc07-9000B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} +| | frame_size=${9000} | phy_cores=${1} | tc08-9000B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} +| | frame_size=${9000} | phy_cores=${2} | tc09-9000B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} +| | frame_size=${9000} | phy_cores=${4} | tc10-IMIX-1c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} +| | frame_size=IMIX_v4_1 | phy_cores=${1} | tc11-IMIX-2c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} +| | frame_size=IMIX_v4_1 | phy_cores=${2} | tc12-IMIX-4c-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} +| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr.robot deleted file mode 100644 index ea45abba83..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr.robot +++ /dev/null @@ -1,180 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | MRR -| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | L2BDBASE | SCALE | MEMIF -| ... | K8S | 1VSWITCH | 4VNF | VPP_AGENT | SFC_CONTROLLER | HORIZONTAL -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X710 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2BD test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 bridge domain. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with two L2 -| ... | bridge domains and MAC learning enabled. DUT1 and DUT2 tested with -| ... | 2p10GE NIC X710 by Intel. -| ... | VNF Containers are connected to VSWITCH container via Memif interface. -| ... | All containers are running same VPP version. Containers are deployed -| ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* In MaxReceivedRate test TG sends traffic -| ... | at line rate and reports total received/sent packets over trial period. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X710 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\ -| | ... | trial throughput test. -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes VNF'2' startup config on all DUTs -| | Create Kubernetes VNF'3' startup config on all DUTs -| | Create Kubernetes VNF'4' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf2-vpp-cfg | vpp.conf=/tmp/vnf2.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf3-vpp-cfg | vpp.conf=/tmp/vnf3.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf4-vpp-cfg | vpp.conf=/tmp/vnf4.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf3 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf3 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf4 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf4 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Then Traffic should pass with maximum rate -| | ... | ${max_rate}pps | ${framesize} | ${traffic_profile} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr.robot index 4edc40e311..66cdeeb3c0 100644 --- a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr.robot +++ b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr.robot @@ -1,4 +1,4 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. +# Copyright (c) 2019 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -19,12 +19,10 @@ | ... | K8S | 1VSWITCH | 4VNF | VPP_AGENT | SFC_CONTROLLER | HORIZONTAL | ... | Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X710 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... +| ... | L2 | ${nic_name} | Suite Teardown | Tear down 3-node performance topology | ... +| Test Setup | Set up performance test with Ligato Kubernetes | Test Teardown | Tear down performance test with Ligato Kubernetes | ... | Test Template | Local Template @@ -36,15 +34,15 @@ | ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 bridge domain. | ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with two L2 | ... | bridge domains and MAC learning enabled. DUT1 and DUT2 tested with -| ... | 2p10GE NIC X710 by Intel. +| ... | ${nic_name}.\ | ... | VNF Containers are connected to VSWITCH container via Memif interface. | ... | All containers are running same VPP version. Containers are deployed | ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using MLRsearch library. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ | ... | TG traffic profile contains two L3 flow-groups | ... | (flow-group per direction, 254 flows per flow-group) with all packets | ... | containing Ethernet header, IPv4 header with IP protocol=61 and static @@ -53,8 +51,8 @@ | ... | *[Ref] Applicable standard specifications:* RFC2544. *** Variables *** -# X710 bandwidth limit -| ${s_limit}= | ${10000000000} +| ${nic_name}= | Intel-X710 +| ${overhead}= | ${0} # SFC profile | ${sfc_profile}= | configmaps/eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz # Traffic profile: @@ -71,18 +69,16 @@ | | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ | | ... | | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). | | ... | Type: integer, string | | ... | - phy_cores - Number of physical cores. Type: integer | | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer | | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | ... -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} | ${10000} -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} +| | Set Test Variable | \${frame_size} | | ... +| | Set Max Rate And Jumbo | | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} | | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} | | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} @@ -132,53 +128,52 @@ | | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit | | Set Kubernetes PODs affinity on all DUTs | ${nodes} | | Find NDR and PDR intervals using optimized search -| | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate} *** Test Cases *** | tc01-64B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} +| | frame_size=${64} | phy_cores=${1} | tc02-64B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} +| | frame_size=${64} | phy_cores=${2} | tc03-64B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} +| | frame_size=${64} | phy_cores=${4} | tc04-1518B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} +| | frame_size=${1518} | phy_cores=${1} | tc05-1518B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} +| | frame_size=${1518} | phy_cores=${2} | tc06-1518B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} +| | frame_size=${1518} | phy_cores=${4} | tc07-9000B-1c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} +| | frame_size=${9000} | phy_cores=${1} | tc08-9000B-2c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} +| | frame_size=${9000} | phy_cores=${2} | tc09-9000B-4c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} +| | frame_size=${9000} | phy_cores=${4} | tc10-IMIX-1c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} +| | frame_size=IMIX_v4_1 | phy_cores=${1} | tc11-IMIX-2c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} +| | frame_size=IMIX_v4_1 | phy_cores=${2} | tc12-IMIX-4c-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} +| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr.robot deleted file mode 100644 index dcb66b7544..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr.robot +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | MRR -| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | L2BDBASE | SCALE | MEMIF -| ... | K8S | 1VSWITCH | 2VNF | VPP_AGENT | SFC_CONTROLLER | CHAIN -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X710 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2BD test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 bridge domain. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with two L2 -| ... | bridge domains and MAC learning enabled. DUT1 and DUT2 tested with -| ... | 2p10GE NIC X710 by Intel. -| ... | VNF Containers are connected to VSWITCH container via Memif interface. -| ... | All containers are running same VPP version. Containers are deployed -| ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* In MaxReceivedRate test TG sends traffic -| ... | at line rate and reports total received/sent packets over trial period. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X710 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\ -| | ... | trial throughput test. -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes VNF'2' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf2-vpp-cfg | vpp.conf=/tmp/vnf2.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Then Traffic should pass with maximum rate -| | ... | ${max_rate}pps | ${framesize} | ${traffic_profile} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr.robot index 5228c0a5bf..5b69c974da 100644 --- a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr.robot +++ b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr.robot @@ -1,4 +1,4 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. +# Copyright (c) 2019 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -19,12 +19,10 @@ | ... | K8S | 1VSWITCH | 2VNF | VPP_AGENT | SFC_CONTROLLER | CHAIN | ... | Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X710 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... +| ... | L2 | ${nic_name} | Suite Teardown | Tear down 3-node performance topology | ... +| Test Setup | Set up performance test with Ligato Kubernetes | Test Teardown | Tear down performance test with Ligato Kubernetes | ... | Test Template | Local Template @@ -36,15 +34,15 @@ | ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 bridge domain. | ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with two L2 | ... | bridge domains and MAC learning enabled. DUT1 and DUT2 tested with -| ... | 2p10GE NIC X710 by Intel. +| ... | ${nic_name}.\ | ... | VNF Containers are connected to VSWITCH container via Memif interface. | ... | All containers are running same VPP version. Containers are deployed | ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using MLRsearch library. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ | ... | TG traffic profile contains two L3 flow-groups | ... | (flow-group per direction, 254 flows per flow-group) with all packets | ... | containing Ethernet header, IPv4 header with IP protocol=61 and static @@ -53,8 +51,8 @@ | ... | *[Ref] Applicable standard specifications:* RFC2544. *** Variables *** -# X710 bandwidth limit -| ${s_limit}= | ${10000000000} +| ${nic_name}= | Intel-X710 +| ${overhead}= | ${0} # SFC profile | ${sfc_profile}= | configmaps/eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain # Traffic profile: @@ -71,18 +69,16 @@ | | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ | | ... | | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). | | ... | Type: integer, string | | ... | - phy_cores - Number of physical cores. Type: integer | | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer | | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | ... -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} | ${10000} -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} +| | Set Test Variable | \${frame_size} | | ... +| | Set Max Rate And Jumbo | | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} | | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} | | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} @@ -118,53 +114,52 @@ | | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit | | Set Kubernetes PODs affinity on all DUTs | ${nodes} | | Find NDR and PDR intervals using optimized search -| | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate} *** Test Cases *** | tc01-64B-1c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} +| | frame_size=${64} | phy_cores=${1} | tc02-64B-2c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} +| | frame_size=${64} | phy_cores=${2} | tc03-64B-4c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} +| | frame_size=${64} | phy_cores=${4} | tc04-1518B-1c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} +| | frame_size=${1518} | phy_cores=${1} | tc05-1518B-2c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} +| | frame_size=${1518} | phy_cores=${2} | tc06-1518B-4c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} +| | frame_size=${1518} | phy_cores=${4} | tc07-9000B-1c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} +| | frame_size=${9000} | phy_cores=${1} | tc08-9000B-2c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} +| | frame_size=${9000} | phy_cores=${2} | tc09-9000B-4c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} +| | frame_size=${9000} | phy_cores=${4} | tc10-IMIX-1c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr | | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} +| | frame_size=IMIX_v4_1 | phy_cores=${1} | tc11-IMIX-2c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr | | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} +| | frame_size=IMIX_v4_1 | phy_cores=${2} | tc12-IMIX-4c-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr | | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} +| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr.robot deleted file mode 100644 index 1edab03d01..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr.robot +++ /dev/null @@ -1,180 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | MRR -| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | L2BDBASE | SCALE | MEMIF -| ... | K8S | 1VSWITCH | 4VNF | VPP_AGENT | SFC_CONTROLLER | CHAIN -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X710 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2BD test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 bridge domain. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with two L2 -| ... | bridge domains and MAC learning enabled. DUT1 and DUT2 tested with -| ... | 2p10GE NIC X710 by Intel. -| ... | VNF Containers are connected to VSWITCH container via Memif interface. -| ... | All containers are running same VPP version. Containers are deployed -| ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* In MaxReceivedRate test TG sends traffic -| ... | at line rate and reports total received/sent packets over trial period. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X710 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\ -| | ... | trial throughput test. -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes VNF'2' startup config on all DUTs -| | Create Kubernetes VNF'3' startup config on all DUTs -| | Create Kubernetes VNF'4' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf2-vpp-cfg | vpp.conf=/tmp/vnf2.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf3-vpp-cfg | vpp.conf=/tmp/vnf3.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf4-vpp-cfg | vpp.conf=/tmp/vnf4.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf3 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf3 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf4 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf4 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Then Traffic should pass with maximum rate -| | ... | ${max_rate}pps | ${framesize} | ${traffic_profile} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr.robot index d3974b2c0d..5c7bbf7e56 100644 --- a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr.robot +++ b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr.robot @@ -1,4 +1,4 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. +# Copyright (c) 2019 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -19,12 +19,10 @@ | ... | K8S | 1VSWITCH | 4VNF | VPP_AGENT | SFC_CONTROLLER | CHAIN | ... | Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X710 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... +| ... | L2 | ${nic_name} | Suite Teardown | Tear down 3-node performance topology | ... +| Test Setup | Set up performance test with Ligato Kubernetes | Test Teardown | Tear down performance test with Ligato Kubernetes | ... | Test Template | Local Template @@ -36,15 +34,15 @@ | ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 bridge domain. | ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with two L2 | ... | bridge domains and MAC learning enabled. DUT1 and DUT2 tested with -| ... | 2p10GE NIC X710 by Intel. +| ... | ${nic_name}.\ | ... | VNF Containers are connected to VSWITCH container via Memif interface. | ... | All containers are running same VPP version. Containers are deployed | ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using MLRsearch library. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ | ... | TG traffic profile contains two L3 flow-groups | ... | (flow-group per direction, 254 flows per flow-group) with all packets | ... | containing Ethernet header, IPv4 header with IP protocol=61 and static @@ -53,8 +51,8 @@ | ... | *[Ref] Applicable standard specifications:* RFC2544. *** Variables *** -# X710 bandwidth limit -| ${s_limit}= | ${10000000000} +| ${nic_name}= | Intel-X710 +| ${overhead}= | ${0} # SFC profile | ${sfc_profile}= | configmaps/eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain # Traffic profile: @@ -71,18 +69,16 @@ | | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ | | ... | | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). | | ... | Type: integer, string | | ... | - phy_cores - Number of physical cores. Type: integer | | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer | | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | ... -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} | ${10000} -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} +| | Set Test Variable | \${frame_size} | | ... +| | Set Max Rate And Jumbo | | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} | | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} | | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} @@ -132,53 +128,52 @@ | | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit | | Set Kubernetes PODs affinity on all DUTs | ${nodes} | | Find NDR and PDR intervals using optimized search -| | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate} *** Test Cases *** | tc01-64B-1c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} +| | frame_size=${64} | phy_cores=${1} | tc02-64B-2c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} +| | frame_size=${64} | phy_cores=${2} | tc03-64B-4c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} +| | frame_size=${64} | phy_cores=${4} | tc04-1518B-1c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} +| | frame_size=${1518} | phy_cores=${1} | tc05-1518B-2c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} +| | frame_size=${1518} | phy_cores=${2} | tc06-1518B-4c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} +| | frame_size=${1518} | phy_cores=${4} | tc07-9000B-1c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} +| | frame_size=${9000} | phy_cores=${1} | tc08-9000B-2c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} +| | frame_size=${9000} | phy_cores=${2} | tc09-9000B-4c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} +| | frame_size=${9000} | phy_cores=${4} | tc10-IMIX-1c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr | | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} +| | frame_size=IMIX_v4_1 | phy_cores=${1} | tc11-IMIX-2c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr | | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} +| | frame_size=IMIX_v4_1 | phy_cores=${2} | tc12-IMIX-4c-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr | | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} +| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr.robot deleted file mode 100644 index 9a22101d25..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr.robot +++ /dev/null @@ -1,158 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | MRR -| ... | NIC_Intel-X710 | ETH | L2XCFWD | BASE | L2XCBASE | MEMIF -| ... | K8S | 1VSWITCH | 1VNF | VPP_AGENT | SFC_CONTROLLER | PARALLEL -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X710 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2XC test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X710 by Intel. -| ... | VNF Container is connected to VSWITCH container via Memif interface. All -| ... | containers is running same VPP version. Containers are deployed with -| ... | Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* In MaxReceivedRate test TG sends traffic -| ... | at line rate and reports total received/sent packets over trial period. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X710 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\ -| | ... | trial throughput test. -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Then Traffic should pass with maximum rate -| | ... | ${max_rate}pps | ${framesize} | ${traffic_profile} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-mrr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr.robot index c2704876d2..06771d233d 100644 --- a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr.robot +++ b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr.robot @@ -1,4 +1,4 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. +# Copyright (c) 2019 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -19,12 +19,10 @@ | ... | K8S | 1VSWITCH | 1VNF | VPP_AGENT | SFC_CONTROLLER | PARALLEL | ... | Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X710 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... +| ... | L2 | ${nic_name} | Suite Teardown | Tear down 3-node performance topology | ... +| Test Setup | Set up performance test with Ligato Kubernetes | Test Teardown | Tear down performance test with Ligato Kubernetes | ... | Test Template | Local Template @@ -35,15 +33,15 @@ | ... | with single links between nodes. | ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect. | ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X710 by Intel. +| ... | connect. DUT1 and DUT2 tested with ${nic_name}.\ | ... | VNF Container is connected to VSWITCH container via Memif interface. All | ... | containers is running same VPP version. Containers are deployed with | ... | Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using MLRsearch library. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ | ... | TG traffic profile contains two L3 flow-groups | ... | (flow-group per direction, 254 flows per flow-group) with all packets | ... | containing Ethernet header, IPv4 header with IP protocol=61 and static @@ -52,8 +50,8 @@ | ... | *[Ref] Applicable standard specifications:* RFC2544. *** Variables *** -# X710 bandwidth limit -| ${s_limit}= | ${10000000000} +| ${nic_name}= | Intel-X710 +| ${overhead}= | ${0} # SFC profile | ${sfc_profile}= | configmaps/eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral # Traffic profile: @@ -70,18 +68,16 @@ | | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ | | ... | | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). | | ... | Type: integer, string | | ... | - phy_cores - Number of physical cores. Type: integer | | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer | | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | ... -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} | ${10000} -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} +| | Set Test Variable | \${frame_size} | | ... +| | Set Max Rate And Jumbo | | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} | | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} | | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} @@ -110,53 +106,52 @@ | | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit | | Set Kubernetes PODs affinity on all DUTs | ${nodes} | | Find NDR and PDR intervals using optimized search -| | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate} *** Test Cases *** | tc01-64B-1c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr | | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} +| | frame_size=${64} | phy_cores=${1} | tc02-64B-2c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr | | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} +| | frame_size=${64} | phy_cores=${2} | tc03-64B-4c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr | | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} +| | frame_size=${64} | phy_cores=${4} | tc04-1518B-1c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr | | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} +| | frame_size=${1518} | phy_cores=${1} | tc05-1518B-2c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr | | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} +| | frame_size=${1518} | phy_cores=${2} | tc06-1518B-4c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr | | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} +| | frame_size=${1518} | phy_cores=${4} | tc07-9000B-1c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr | | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} +| | frame_size=${9000} | phy_cores=${1} | tc08-9000B-2c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr | | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} +| | frame_size=${9000} | phy_cores=${2} | tc09-9000B-4c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr | | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} +| | frame_size=${9000} | phy_cores=${4} | tc10-IMIX-1c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr | | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} +| | frame_size=IMIX_v4_1 | phy_cores=${1} | tc11-IMIX-2c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr | | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} +| | frame_size=IMIX_v4_1 | phy_cores=${2} | tc12-IMIX-4c-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr | | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} +| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr.robot deleted file mode 100644 index db9a99a922..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr.robot +++ /dev/null @@ -1,165 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | MRR -| ... | NIC_Intel-X710 | ETH | L2XCFWD | SCALE | L2XCBASE | MEMIF -| ... | K8S | 1VSWITCH | 2VNF | VPP_AGENT | SFC_CONTROLLER | HORIZONTAL -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X710 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2XC test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X710 by Intel. -| ... | VNF Containers are connected to VSWITCH container via Memif interface. -| ... | All containers are running same VPP version. Containers are deployed -| ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* In MaxReceivedRate test TG sends traffic -| ... | at line rate and reports total received/sent packets over trial period. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X710 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\ -| | ... | trial throughput test. -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes VNF'2' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf2-vpp-cfg | vpp.conf=/tmp/vnf2.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Then Traffic should pass with maximum rate -| | ... | ${max_rate}pps | ${framesize} | ${traffic_profile} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-mrr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr.robot index 6486f91bd3..350db05e96 100644 --- a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr.robot +++ b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr.robot @@ -1,4 +1,4 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. +# Copyright (c) 2019 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -19,12 +19,10 @@ | ... | K8S | 1VSWITCH | 2VNF | VPP_AGENT | SFC_CONTROLLER | HORIZONTAL | ... | Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X710 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... +| ... | L2 | ${nic_name} | Suite Teardown | Tear down 3-node performance topology | ... +| Test Setup | Set up performance test with Ligato Kubernetes | Test Teardown | Tear down performance test with Ligato Kubernetes | ... | Test Template | Local Template @@ -35,15 +33,15 @@ | ... | with single links between nodes. | ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect. | ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X710 by Intel. +| ... | connect. DUT1 and DUT2 tested with ${nic_name}.\ | ... | VNF Containers are connected to VSWITCH container via Memif interface. | ... | All containers are running same VPP version. Containers are deployed | ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using MLRsearch library. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ | ... | TG traffic profile contains two L3 flow-groups | ... | (flow-group per direction, 254 flows per flow-group) with all packets | ... | containing Ethernet header, IPv4 header with IP protocol=61 and static @@ -52,8 +50,8 @@ | ... | *[Ref] Applicable standard specifications:* RFC2544. *** Variables *** -# X710 bandwidth limit -| ${s_limit}= | ${10000000000} +| ${nic_name}= | Intel-X710 +| ${overhead}= | ${0} # SFC profile | ${sfc_profile}= | configmaps/eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz # Traffic profile: @@ -70,18 +68,16 @@ | | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ | | ... | | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). | | ... | Type: integer, string | | ... | - phy_cores - Number of physical cores. Type: integer | | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer | | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | ... -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} | ${10000} -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} +| | Set Test Variable | \${frame_size} | | ... +| | Set Max Rate And Jumbo | | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} | | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} | | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} @@ -117,53 +113,52 @@ | | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit | | Set Kubernetes PODs affinity on all DUTs | ${nodes} | | Find NDR and PDR intervals using optimized search -| | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate} *** Test Cases *** | tc01-64B-1c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} +| | frame_size=${64} | phy_cores=${1} | tc02-64B-2c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} +| | frame_size=${64} | phy_cores=${2} | tc03-64B-4c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} +| | frame_size=${64} | phy_cores=${4} | tc04-1518B-1c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} +| | frame_size=${1518} | phy_cores=${1} | tc05-1518B-2c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} +| | frame_size=${1518} | phy_cores=${2} | tc06-1518B-4c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} +| | frame_size=${1518} | phy_cores=${4} | tc07-9000B-1c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} +| | frame_size=${9000} | phy_cores=${1} | tc08-9000B-2c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} +| | frame_size=${9000} | phy_cores=${2} | tc09-9000B-4c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} +| | frame_size=${9000} | phy_cores=${4} | tc10-IMIX-1c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} +| | frame_size=IMIX_v4_1 | phy_cores=${1} | tc11-IMIX-2c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} +| | frame_size=IMIX_v4_1 | phy_cores=${2} | tc12-IMIX-4c-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} +| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr.robot deleted file mode 100644 index 7867645f69..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr.robot +++ /dev/null @@ -1,179 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | MRR -| ... | NIC_Intel-X710 | ETH | L2XCFWD | SCALE | L2XCBASE | MEMIF -| ... | K8S | 1VSWITCH | 4VNF | VPP_AGENT | SFC_CONTROLLER | HORIZONTAL -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X710 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2XC test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X520 Niantic by Intel. -| ... | VNF Containers are connected to VSWITCH container via Memif interface. -| ... | All containers are running same VPP version. Containers are deployed -| ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* In MaxReceivedRate test TG sends traffic -| ... | at line rate and reports total received/sent packets over trial period. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X710 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\ -| | ... | trial throughput test. -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes VNF'2' startup config on all DUTs -| | Create Kubernetes VNF'3' startup config on all DUTs -| | Create Kubernetes VNF'4' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf2-vpp-cfg | vpp.conf=/tmp/vnf2.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf3-vpp-cfg | vpp.conf=/tmp/vnf3.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf4-vpp-cfg | vpp.conf=/tmp/vnf4.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf3 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf3 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf4 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf4 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Then Traffic should pass with maximum rate -| | ... | ${max_rate}pps | ${framesize} | ${traffic_profile} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-mrr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr.robot index fd946e4244..0d8916151f 100644 --- a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr.robot +++ b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr.robot @@ -1,4 +1,4 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. +# Copyright (c) 2019 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -19,12 +19,10 @@ | ... | K8S | 1VSWITCH | 4VNF | VPP_AGENT | SFC_CONTROLLER | HORIZONTAL | ... | Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X710 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... +| ... | L2 | ${nic_name} | Suite Teardown | Tear down 3-node performance topology | ... +| Test Setup | Set up performance test with Ligato Kubernetes | Test Teardown | Tear down performance test with Ligato Kubernetes | ... | Test Template | Local Template @@ -35,15 +33,15 @@ | ... | with single links between nodes. | ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect. | ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X520 Niantic by Intel. +| ... | connect. DUT1 and DUT2 tested with ${nic_name}.\ | ... | VNF Containers are connected to VSWITCH container via Memif interface. | ... | All containers are running same VPP version. Containers are deployed | ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using MLRsearch library. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ | ... | TG traffic profile contains two L3 flow-groups | ... | (flow-group per direction, 254 flows per flow-group) with all packets | ... | containing Ethernet header, IPv4 header with IP protocol=61 and static @@ -52,8 +50,8 @@ | ... | *[Ref] Applicable standard specifications:* RFC2544. *** Variables *** -# X710 bandwidth limit -| ${s_limit}= | ${10000000000} +| ${nic_name}= | Intel-X710 +| ${overhead}= | ${0} # SFC profile | ${sfc_profile}= | configmaps/eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz # Traffic profile: @@ -70,18 +68,16 @@ | | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ | | ... | | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). | | ... | Type: integer, string | | ... | - phy_cores - Number of physical cores. Type: integer | | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer | | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | ... -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} | ${10000} -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} +| | Set Test Variable | \${frame_size} | | ... +| | Set Max Rate And Jumbo | | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} | | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} | | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} @@ -131,53 +127,52 @@ | | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit | | Set Kubernetes PODs affinity on all DUTs | ${nodes} | | Find NDR and PDR intervals using optimized search -| | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate} *** Test Cases *** | tc01-64B-1c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} +| | frame_size=${64} | phy_cores=${1} | tc02-64B-2c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} +| | frame_size=${64} | phy_cores=${2} | tc03-64B-4c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} +| | frame_size=${64} | phy_cores=${4} | tc04-1518B-1c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} +| | frame_size=${1518} | phy_cores=${1} | tc05-1518B-2c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} +| | frame_size=${1518} | phy_cores=${2} | tc06-1518B-4c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} +| | frame_size=${1518} | phy_cores=${4} | tc07-9000B-1c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} +| | frame_size=${9000} | phy_cores=${1} | tc08-9000B-2c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} +| | frame_size=${9000} | phy_cores=${2} | tc09-9000B-4c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} +| | frame_size=${9000} | phy_cores=${4} | tc10-IMIX-1c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} +| | frame_size=IMIX_v4_1 | phy_cores=${1} | tc11-IMIX-2c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} +| | frame_size=IMIX_v4_1 | phy_cores=${2} | tc12-IMIX-4c-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr | | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} +| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr.robot deleted file mode 100644 index d0f3e75f09..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr.robot +++ /dev/null @@ -1,165 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | MRR -| ... | NIC_Intel-X710 | ETH | L2XCFWD | SCALE | L2XCBASE | MEMIF -| ... | K8S | 1VSWITCH | 2VNF | VPP_AGENT | SFC_CONTROLLER | CHAIN -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X710 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2XC test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X710 by Intel. -| ... | VNF Containers are connected to VSWITCH container via Memif interface. -| ... | All containers are running same VPP version. Containers are deployed -| ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* In MaxReceivedRate test TG sends traffic -| ... | at line rate and reports total received/sent packets over trial period. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X710 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\ -| | ... | trial throughput test. -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes VNF'2' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf2-vpp-cfg | vpp.conf=/tmp/vnf2.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Then Traffic should pass with maximum rate -| | ... | ${max_rate}pps | ${framesize} | ${traffic_profile} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-mrr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr.robot index ae124b3031..b3344f210c 100644 --- a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr.robot +++ b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr.robot @@ -1,4 +1,4 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. +# Copyright (c) 2019 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -19,12 +19,10 @@ | ... | K8S | 1VSWITCH | 2VNF | VPP_AGENT | SFC_CONTROLLER | CHAIN | ... | Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X710 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... +| ... | L2 | ${nic_name} | Suite Teardown | Tear down 3-node performance topology | ... +| Test Setup | Set up performance test with Ligato Kubernetes | Test Teardown | Tear down performance test with Ligato Kubernetes | ... | Test Template | Local Template @@ -35,15 +33,15 @@ | ... | with single links between nodes. | ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect. | ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X710 by Intel. +| ... | connect. DUT1 and DUT2 tested with ${nic_name}.\ | ... | VNF Containers are connected to VSWITCH container via Memif interface. | ... | All containers are running same VPP version. Containers are deployed | ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using MLRsearch library. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ | ... | TG traffic profile contains two L3 flow-groups | ... | (flow-group per direction, 254 flows per flow-group) with all packets | ... | containing Ethernet header, IPv4 header with IP protocol=61 and static @@ -52,8 +50,8 @@ | ... | *[Ref] Applicable standard specifications:* RFC2544. *** Variables *** -# X710 bandwidth limit -| ${s_limit}= | ${10000000000} +| ${nic_name}= | Intel-X710 +| ${overhead}= | ${0} # SFC profile | ${sfc_profile}= | configmaps/eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain # Traffic profile: @@ -70,18 +68,16 @@ | | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ | | ... | | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). | | ... | Type: integer, string | | ... | - phy_cores - Number of physical cores. Type: integer | | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer | | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | ... -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} | ${10000} -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} +| | Set Test Variable | \${frame_size} | | ... +| | Set Max Rate And Jumbo | | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} | | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} | | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} @@ -117,53 +113,52 @@ | | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit | | Set Kubernetes PODs affinity on all DUTs | ${nodes} | | Find NDR and PDR intervals using optimized search -| | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate} *** Test Cases *** | tc01-64B-1c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} +| | frame_size=${64} | phy_cores=${1} | tc02-64B-2c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} +| | frame_size=${64} | phy_cores=${2} | tc03-64B-4c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} +| | frame_size=${64} | phy_cores=${4} | tc04-1518B-1c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} +| | frame_size=${1518} | phy_cores=${1} | tc05-1518B-2c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} +| | frame_size=${1518} | phy_cores=${2} | tc06-1518B-4c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} +| | frame_size=${1518} | phy_cores=${4} | tc07-9000B-1c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} +| | frame_size=${9000} | phy_cores=${1} | tc08-9000B-2c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} +| | frame_size=${9000} | phy_cores=${2} | tc09-9000B-4c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} +| | frame_size=${9000} | phy_cores=${4} | tc10-IMIX-1c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr | | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} +| | frame_size=IMIX_v4_1 | phy_cores=${1} | tc11-IMIX-2c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr | | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} +| | frame_size=IMIX_v4_1 | phy_cores=${2} | tc12-IMIX-4c-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr | | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} +| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr.robot deleted file mode 100644 index a68169a83f..0000000000 --- a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr.robot +++ /dev/null @@ -1,179 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/performance/performance_setup.robot -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | MRR -| ... | NIC_Intel-X710 | ETH | L2XCFWD | SCALE | L2XCBASE | MEMIF -| ... | K8S | 1VSWITCH | 4VNF | VPP_AGENT | SFC_CONTROLLER | CHAIN -| ... -| Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X710 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... -| Suite Teardown | Tear down 3-node performance topology -| ... -| Test Teardown | Tear down performance test with Ligato Kubernetes -| ... -| Test Template | Local Template -| ... -| Documentation | *RFC2544: Pkt throughput L2XC test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X710 by Intel. -| ... | VNF Containers are connected to VSWITCH container via Memif interface. -| ... | All containers are running same VPP version. Containers are deployed -| ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* In MaxReceivedRate test TG sends traffic -| ... | at line rate and reports total received/sent packets over trial period. -| ... | TG traffic profile contains two L3 flow-groups -| ... | (flow-group per direction, 254 flows per flow-group) with all packets -| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static -| ... | payload. MAC addresses are matching MAC addresses of the TG node -| ... | interfaces. -| ... | *[Ref] Applicable standard specifications:* RFC2544. - -*** Variables *** -# X710 bandwidth limit -| ${s_limit}= | ${10000000000} -# SFC profile -| ${sfc_profile}= | configmaps/eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain -# Traffic profile: -| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254 -# CPU settings -| ${system_cpus}= | ${1} -| ${vswitch_cpus}= | ${5} -| ${vnf_cpus}= | ${2} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs Container orchestrated config. -| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\ -| | ... | trial throughput test. -| | ... -| | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} -| | ... -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} -| | ... -| | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} -| | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} -| | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} -| | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} -| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Create Kubernetes VSWITCH startup config on all DUTs -| | ... | ${phy_cores} | ${rxq} | ${jumbo} -| | Create Kubernetes VNF'1' startup config on all DUTs -| | Create Kubernetes VNF'2' startup config on all DUTs -| | Create Kubernetes VNF'3' startup config on all DUTs -| | Create Kubernetes VNF'4' startup config on all DUTs -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vswitch-vpp-cfg | vpp.conf=/tmp/vswitch.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf1-vpp-cfg | vpp.conf=/tmp/vnf1.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf2-vpp-cfg | vpp.conf=/tmp/vnf2.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf3-vpp-cfg | vpp.conf=/tmp/vnf3.conf -| | Create Kubernetes CM from file on all DUTs | ${nodes} | csit -| | ... | name=vnf4-vpp-cfg | vpp.conf=/tmp/vnf4.conf -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf1 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf2 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf3 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf3 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf4 -| | Apply Kubernetes resource on node | ${dut2} -| | ... | pods/contiv-vnf.yaml | $$VNF$$=vnf4 -| | Apply Kubernetes resource on node | ${dut1} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut1_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut1_if2_name} -| | Apply Kubernetes resource on node | ${dut2} -| | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} -| | ... | $$VSWITCH_IF1$$=${dut2_if1_name} -| | ... | $$VSWITCH_IF2$$=${dut2_if2_name} -| | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit -| | Set Kubernetes PODs affinity on all DUTs | ${nodes} -| | Then Traffic should pass with maximum rate -| | ... | ${max_rate}pps | ${framesize} | ${traffic_profile} - -*** Test Cases *** -| tc01-64B-1c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} - -| tc02-64B-2c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} - -| tc03-64B-4c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} - -| tc04-1518B-1c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} - -| tc05-1518B-2c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} - -| tc06-1518B-4c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} - -| tc07-9000B-1c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} - -| tc08-9000B-2c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} - -| tc09-9000B-4c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} - -| tc10-IMIX-1c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} - -| tc11-IMIX-2c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} - -| tc12-IMIX-4c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-mrr -| | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr.robot b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr.robot index b0369fb3b6..6072680664 100644 --- a/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr.robot +++ b/tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr.robot @@ -1,4 +1,4 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. +# Copyright (c) 2019 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -19,12 +19,10 @@ | ... | K8S | 1VSWITCH | 4VNF | VPP_AGENT | SFC_CONTROLLER | CHAIN | ... | Suite Setup | Set up 3-node performance topology with DUT's NIC model -| ... | L2 | Intel-X710 -| ... -| Test Setup | Set up performance test with Ligato Kubernetes -| ... +| ... | L2 | ${nic_name} | Suite Teardown | Tear down 3-node performance topology | ... +| Test Setup | Set up performance test with Ligato Kubernetes | Test Teardown | Tear down performance test with Ligato Kubernetes | ... | Test Template | Local Template @@ -35,15 +33,15 @@ | ... | with single links between nodes. | ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect. | ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- -| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X710 by Intel. +| ... | connect. DUT1 and DUT2 tested with ${nic_name}.\ | ... | VNF Containers are connected to VSWITCH container via Memif interface. | ... | All containers are running same VPP version. Containers are deployed | ... | with Kubernetes. Configuration is applied by vnf-agent. -| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop -| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop -| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage -| ... | of packets transmitted. NDR and PDR are discovered for different -| ... | Ethernet L2 frame sizes using MLRsearch library. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ | ... | TG traffic profile contains two L3 flow-groups | ... | (flow-group per direction, 254 flows per flow-group) with all packets | ... | containing Ethernet header, IPv4 header with IP protocol=61 and static @@ -52,8 +50,8 @@ | ... | *[Ref] Applicable standard specifications:* RFC2544. *** Variables *** -# X710 bandwidth limit -| ${s_limit}= | ${10000000000} +| ${nic_name}= | Intel-X710 +| ${overhead}= | ${0} # SFC profile | ${sfc_profile}= | configmaps/eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain # Traffic profile: @@ -70,18 +68,16 @@ | | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ | | ... | | ... | *Arguments:* -| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). | | ... | Type: integer, string | | ... | - phy_cores - Number of physical cores. Type: integer | | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer | | ... -| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None} +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | ... -| | Set Test Variable | ${framesize} -| | Set Test Variable | ${min_rate} | ${10000} -| | ${max_rate} | ${jumbo} = | Get Max Rate And Jumbo -| | ... | ${s_limit} | ${framesize} +| | Set Test Variable | \${frame_size} | | ... +| | Set Max Rate And Jumbo | | ${dut1_if1_name}= | Get interface name | ${dut1} | ${dut1_if1} | | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} | | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} @@ -131,53 +127,52 @@ | | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit | | Set Kubernetes PODs affinity on all DUTs | ${nodes} | | Find NDR and PDR intervals using optimized search -| | ... | ${framesize} | ${traffic_profile} | ${min_rate} | ${max_rate} *** Test Cases *** | tc01-64B-1c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 64B | 1C -| | framesize=${64} | phy_cores=${1} +| | frame_size=${64} | phy_cores=${1} | tc02-64B-2c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 64B | 2C -| | framesize=${64} | phy_cores=${2} +| | frame_size=${64} | phy_cores=${2} | tc03-64B-4c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 64B | 4C -| | framesize=${64} | phy_cores=${4} +| | frame_size=${64} | phy_cores=${4} | tc04-1518B-1c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 1518B | 1C -| | framesize=${1518} | phy_cores=${1} +| | frame_size=${1518} | phy_cores=${1} | tc05-1518B-2c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 1518B | 2C -| | framesize=${1518} | phy_cores=${2} +| | frame_size=${1518} | phy_cores=${2} | tc06-1518B-4c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 1518B | 4C -| | framesize=${1518} | phy_cores=${4} +| | frame_size=${1518} | phy_cores=${4} | tc07-9000B-1c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 9000B | 1C -| | framesize=${9000} | phy_cores=${1} +| | frame_size=${9000} | phy_cores=${1} | tc08-9000B-2c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 9000B | 2C -| | framesize=${9000} | phy_cores=${2} +| | frame_size=${9000} | phy_cores=${2} | tc09-9000B-4c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr | | [Tags] | 9000B | 4C -| | framesize=${9000} | phy_cores=${4} +| | frame_size=${9000} | phy_cores=${4} | tc10-IMIX-1c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr | | [Tags] | IMIX | 1C -| | framesize=IMIX_v4_1 | phy_cores=${1} +| | frame_size=IMIX_v4_1 | phy_cores=${1} | tc11-IMIX-2c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr | | [Tags] | IMIX | 2C -| | framesize=IMIX_v4_1 | phy_cores=${2} +| | frame_size=IMIX_v4_1 | phy_cores=${2} | tc12-IMIX-4c-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr | | [Tags] | IMIX | 4C -| | framesize=IMIX_v4_1 | phy_cores=${4} +| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/kubernetes/perf/container_memif/regenerate_testcases.py b/tests/kubernetes/perf/container_memif/regenerate_testcases.py index 5fabf8b89d..2632018a80 100755 --- a/tests/kubernetes/perf/container_memif/regenerate_testcases.py +++ b/tests/kubernetes/perf/container_memif/regenerate_testcases.py @@ -1,6 +1,6 @@ #!/usr/bin/env python -# Copyright (c) 2018 Cisco and/or its affiliates. +# Copyright (c) 2019 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: -- cgit 1.2.3-korg