From 38b3b4311062d28210d6bde7101edc2488606aad Mon Sep 17 00:00:00 2001 From: Vratko Polak Date: Fri, 16 Aug 2019 15:48:02 +0200 Subject: Autogen: Create NICs for TCP suites. + Put Regenerator internal functions ourside class. + Duplicate into _default_ and _tcp_ functions. + Rework Testcase to be a single class with two factories. + Improve suite and testcase naming. Change-Id: I1f835b576c476c1a40c8c52469b1876695f9ae73 Signed-off-by: Vratko Polak (cherry picked from commit ae7dc0011f376861ba9259b7cb5166777520799c) --- .../tcp/2n1l-10ge2p1x710-eth-ip4tcphttp-cps.robot | 93 ---------------------- .../tcp/2n1l-10ge2p1x710-eth-ip4tcphttp-rps.robot | 93 ---------------------- ...ge2p1x710-eth-ip4tcphttp-wrk8u8c50con-cps.robot | 84 +++++++++++++++++++ ...ge2p1x710-eth-ip4tcphttp-wrk8u8c50con-rps.robot | 84 +++++++++++++++++++ tests/vpp/perf/tcp/regenerate_testcases.py | 18 +++++ 5 files changed, 186 insertions(+), 186 deletions(-) delete mode 100644 tests/vpp/perf/tcp/2n1l-10ge2p1x710-eth-ip4tcphttp-cps.robot delete mode 100644 tests/vpp/perf/tcp/2n1l-10ge2p1x710-eth-ip4tcphttp-rps.robot create mode 100644 tests/vpp/perf/tcp/2n1l-10ge2p1x710-eth-ip4tcphttp-wrk8u8c50con-cps.robot create mode 100644 tests/vpp/perf/tcp/2n1l-10ge2p1x710-eth-ip4tcphttp-wrk8u8c50con-rps.robot create mode 100755 tests/vpp/perf/tcp/regenerate_testcases.py (limited to 'tests') diff --git a/tests/vpp/perf/tcp/2n1l-10ge2p1x710-eth-ip4tcphttp-cps.robot b/tests/vpp/perf/tcp/2n1l-10ge2p1x710-eth-ip4tcphttp-cps.robot deleted file mode 100644 index 7dd6a5d132..0000000000 --- a/tests/vpp/perf/tcp/2n1l-10ge2p1x710-eth-ip4tcphttp-cps.robot +++ /dev/null @@ -1,93 +0,0 @@ -# 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: -# -# 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 *** - -| Library | resources.tools.wrk.wrk -| Resource | resources/libraries/robot/wrk/wrk_utils.robot -| Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/tcp/tcp_setup.robot -| ... -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV -| ... | HTTP | TCP | TCP_CPS | NIC_Intel-X710 -| ... -| Suite Setup | Setup suite single link | wrk -| Suite Teardown | Tear down suite -| Test Setup | Setup test -| Test Teardown | Tear down test -| ... -| Test Template | Local template -| ... -| Documentation | *HTTP connections per seconds.* -| ... -| ... | *[Top] Network Topologies:* TG-DUT-TG 2-node topology -| ... | with single link between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP-HTTP for TCP Host Stack -| ... | *[Cfg] DUT configuration:* -| ... | *[Ver] TG verification:* -| ... | *[Ref] Applicable standard specifications:* - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | http_static_plugin.so -| ... | hs_apps_plugin.so -| ${nic_name}= | Intel-X710 -| ${traffic_profile}= | wrk-sf-2n-ethip4tcphttp-8u8c50con-cps -| ${http_static_plugin}= | ${false} - -*** Keywords *** -| Local template -| | [Arguments] | ${phy_cores} | ${rxq}=${None} -| | ... -| | Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq} -| | Add PCI devices to all DUTs -| | :FOR | ${dut} | IN | @{duts} -| | | Import Library | resources.libraries.python.VppConfigGenerator -| | | ... | WITH NAME | ${dut} -| | | Run keyword | ${dut}.Add api segment global size | 2G -| | | Run keyword | ${dut}.Add api segment api size | 1G -| | | Run keyword | ${dut}.Add TCP preallocated connections | 1000000 -| | | Run keyword | ${dut}.Add TCP preallocated half open connections | 1000000 -| | | Run keyword | ${dut}.Add session event queue length | 1000000 -| | | Run keyword | ${dut}.Add session preallocated sessions | 1000000 -| | | Run keyword | ${dut}.Add session v4 session table buckets | 500000 -| | | Run keyword | ${dut}.Add session v4 session table memory | 1g -| | | Run keyword | ${dut}.Add session v4 halfopen table buckets | 2500000 -| | | Run keyword | ${dut}.Add session v4 halfopen table memory | 3g -| | | Run keyword | ${dut}.Add session local endpoints table buckets | 2500000 -| | | Run keyword | ${dut}.Add session local endpoints table memory | 3g -| | Apply startup configuration on all VPP DUTs -| | When Set up HTTP server with parameters on the VPP node -| | ... | ${http_static_plugin} | 31000 | 64 | 4000m -| | Then Measure connections per second | ${traffic_profile} - -*** Test Cases *** -| tc01-IMIX-1c-eth-ip4tcphttp-wrk8u8c50con-cps -| | [Documentation] -| | ... | Measure number of connections per second using wrk. -| | ... -| | [Tags] | 1C -| | phy_cores=${1} - -| tc02-IMIX-2c-eth-ip4tcphttp-wrk8u8c50con-cps -| | [Documentation] -| | ... | Measure number of connections per second using wrk. -| | ... -| | [Tags] | 2C -| | phy_cores=${2} - -| tc03-IMIX-4c-eth-ip4tcphttp-wrk8u8c50con-cps -| | [Documentation] -| | ... | Measure number of connections per second using wrk. -| | ... -| | [Tags] | 4C -| | phy_cores=${4} diff --git a/tests/vpp/perf/tcp/2n1l-10ge2p1x710-eth-ip4tcphttp-rps.robot b/tests/vpp/perf/tcp/2n1l-10ge2p1x710-eth-ip4tcphttp-rps.robot deleted file mode 100644 index b5f405d738..0000000000 --- a/tests/vpp/perf/tcp/2n1l-10ge2p1x710-eth-ip4tcphttp-rps.robot +++ /dev/null @@ -1,93 +0,0 @@ -# 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: -# -# 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 *** - -| Library | resources.tools.wrk.wrk -| Resource | resources/libraries/robot/wrk/wrk_utils.robot -| Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/tcp/tcp_setup.robot -| ... -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV -| ... | HTTP | TCP | TCP_RPS | NIC_Intel-X710 -| ... -| Suite Setup | Setup suite single link | wrk -| Suite Teardown | Tear down suite -| Test Setup | Setup test -| Test Teardown | Tear down test -| ... -| Test Template | Local template -| ... -| Documentation | *HTTP requests per seconds.* -| ... -| ... | *[Top] Network Topologies:* TG-DUT-TG 2-node topology -| ... | with single link between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP-HTTP for TCP Host Stack -| ... | *[Cfg] DUT configuration:* -| ... | *[Ver] TG verification:* -| ... | *[Ref] Applicable standard specifications:* - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | http_static_plugin.so -| ... | hs_apps_plugin.so -| ${nic_name}= | Intel-X710 -| ${traffic_profile}= | wrk-sf-2n-ethip4tcphttp-8u8c50con-rps -| ${http_static_plugin}= | ${true} - -*** Keywords *** -| Local template -| | [Arguments] | ${phy_cores} | ${rxq}=${None} -| | ... -| | Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq} -| | Add PCI devices to all DUTs -| | :FOR | ${dut} | IN | @{duts} -| | | Import Library | resources.libraries.python.VppConfigGenerator -| | | ... | WITH NAME | ${dut} -| | | Run keyword | ${dut}.Add api segment global size | 2G -| | | Run keyword | ${dut}.Add api segment api size | 1G -| | | Run keyword | ${dut}.Add TCP preallocated connections | 1000000 -| | | Run keyword | ${dut}.Add TCP preallocated half open connections | 1000000 -| | | Run keyword | ${dut}.Add session event queue length | 1000000 -| | | Run keyword | ${dut}.Add session preallocated sessions | 1000000 -| | | Run keyword | ${dut}.Add session v4 session table buckets | 500000 -| | | Run keyword | ${dut}.Add session v4 session table memory | 1g -| | | Run keyword | ${dut}.Add session v4 halfopen table buckets | 2500000 -| | | Run keyword | ${dut}.Add session v4 halfopen table memory | 3g -| | | Run keyword | ${dut}.Add session local endpoints table buckets | 2500000 -| | | Run keyword | ${dut}.Add session local endpoints table memory | 3g -| | Apply startup configuration on all VPP DUTs -| | When Set up HTTP server with parameters on the VPP node -| | ... | ${http_static_plugin} | 500000 | 4 | 4000m -| | Then Measure requests per second | ${traffic_profile} - -*** Test Cases *** -| tc01-IMIX-1c-eth-ip4tcphttp-wrk8u8c50con-rps -| | [Documentation] -| | ... | Measure number of requests per second using wrk. -| | ... -| | [Tags] | 1C -| | phy_cores=${1} - -| tc02-IMIX-2c-eth-ip4tcphttp-wrk8u8c50con-rps -| | [Documentation] -| | ... | Measure number of requests per second using wrk. -| | ... -| | [Tags] | 2C -| | phy_cores=${2} - -| tc03-IMIX-4c-eth-ip4tcphttp-wrk8u8c50con-rps -| | [Documentation] -| | ... | Measure number of requests per second using wrk. -| | ... -| | [Tags] | 4C -| | phy_cores=${4} diff --git a/tests/vpp/perf/tcp/2n1l-10ge2p1x710-eth-ip4tcphttp-wrk8u8c50con-cps.robot b/tests/vpp/perf/tcp/2n1l-10ge2p1x710-eth-ip4tcphttp-wrk8u8c50con-cps.robot new file mode 100644 index 0000000000..210ca3b288 --- /dev/null +++ b/tests/vpp/perf/tcp/2n1l-10ge2p1x710-eth-ip4tcphttp-wrk8u8c50con-cps.robot @@ -0,0 +1,84 @@ +# 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: +# +# 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 *** + +| Library | resources.tools.wrk.wrk +| Resource | resources/libraries/robot/wrk/wrk_utils.robot +| Resource | resources/libraries/robot/shared/default.robot +| Resource | resources/libraries/robot/tcp/tcp_setup.robot +| ... +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV +| ... | HTTP | TCP | TCP_CPS | NIC_Intel-X710 +| ... +| Suite Setup | Setup suite single link | wrk +| Suite Teardown | Tear down suite +| Test Setup | Setup test +| Test Teardown | Tear down test +| ... +| Test Template | Local template +| ... +| Documentation | *HTTP connections per seconds.* +| ... +| ... | *[Top] Network Topologies:* TG-DUT-TG 2-node topology +| ... | with single link between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP-HTTP for TCP Host Stack +| ... | *[Cfg] DUT configuration:* +| ... | *[Ver] TG verification:* +| ... | *[Ref] Applicable standard specifications:* + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | http_static_plugin.so +| ... | hs_apps_plugin.so +| ${nic_name}= | Intel-X710 +| ${traffic_profile}= | wrk-sf-2n-ethip4tcphttp-8u8c50con-cps +| ${http_static_plugin}= | ${false} + +*** Keywords *** +| Local template +| | [Arguments] | ${phy_cores} | ${rxq}=${None} +| | ... +| | Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq} +| | Add PCI devices to all DUTs +| | :FOR | ${dut} | IN | @{duts} +| | | Import Library | resources.libraries.python.VppConfigGenerator +| | | ... | WITH NAME | ${dut} +| | | Run keyword | ${dut}.Add api segment global size | 2G +| | | Run keyword | ${dut}.Add api segment api size | 1G +| | | Run keyword | ${dut}.Add TCP preallocated connections | 1000000 +| | | Run keyword | ${dut}.Add TCP preallocated half open connections | 1000000 +| | | Run keyword | ${dut}.Add session event queue length | 1000000 +| | | Run keyword | ${dut}.Add session preallocated sessions | 1000000 +| | | Run keyword | ${dut}.Add session v4 session table buckets | 500000 +| | | Run keyword | ${dut}.Add session v4 session table memory | 1g +| | | Run keyword | ${dut}.Add session v4 halfopen table buckets | 2500000 +| | | Run keyword | ${dut}.Add session v4 halfopen table memory | 3g +| | | Run keyword | ${dut}.Add session local endpoints table buckets | 2500000 +| | | Run keyword | ${dut}.Add session local endpoints table memory | 3g +| | Apply startup configuration on all VPP DUTs +| | When Set up HTTP server with parameters on the VPP node +| | ... | ${http_static_plugin} | 31000 | 64 | 4000m +| | Then Measure connections per second | ${traffic_profile} + +*** Test Cases *** +| tc01-IMIX-1c-eth-ip4tcphttp-wrk8u8c50con-cps +| | [Tags] | 1C +| | phy_cores=${1} + +| tc02-IMIX-2c-eth-ip4tcphttp-wrk8u8c50con-cps +| | [Tags] | 2C +| | phy_cores=${2} + +| tc03-IMIX-4c-eth-ip4tcphttp-wrk8u8c50con-cps +| | [Tags] | 4C +| | phy_cores=${4} diff --git a/tests/vpp/perf/tcp/2n1l-10ge2p1x710-eth-ip4tcphttp-wrk8u8c50con-rps.robot b/tests/vpp/perf/tcp/2n1l-10ge2p1x710-eth-ip4tcphttp-wrk8u8c50con-rps.robot new file mode 100644 index 0000000000..f8a5d82255 --- /dev/null +++ b/tests/vpp/perf/tcp/2n1l-10ge2p1x710-eth-ip4tcphttp-wrk8u8c50con-rps.robot @@ -0,0 +1,84 @@ +# 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: +# +# 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 *** + +| Library | resources.tools.wrk.wrk +| Resource | resources/libraries/robot/wrk/wrk_utils.robot +| Resource | resources/libraries/robot/shared/default.robot +| Resource | resources/libraries/robot/tcp/tcp_setup.robot +| ... +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV +| ... | HTTP | TCP | TCP_RPS | NIC_Intel-X710 +| ... +| Suite Setup | Setup suite single link | wrk +| Suite Teardown | Tear down suite +| Test Setup | Setup test +| Test Teardown | Tear down test +| ... +| Test Template | Local template +| ... +| Documentation | *HTTP requests per seconds.* +| ... +| ... | *[Top] Network Topologies:* TG-DUT-TG 2-node topology +| ... | with single link between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP-HTTP for TCP Host Stack +| ... | *[Cfg] DUT configuration:* +| ... | *[Ver] TG verification:* +| ... | *[Ref] Applicable standard specifications:* + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | http_static_plugin.so +| ... | hs_apps_plugin.so +| ${nic_name}= | Intel-X710 +| ${traffic_profile}= | wrk-sf-2n-ethip4tcphttp-8u8c50con-rps +| ${http_static_plugin}= | ${true} + +*** Keywords *** +| Local template +| | [Arguments] | ${phy_cores} | ${rxq}=${None} +| | ... +| | Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq} +| | Add PCI devices to all DUTs +| | :FOR | ${dut} | IN | @{duts} +| | | Import Library | resources.libraries.python.VppConfigGenerator +| | | ... | WITH NAME | ${dut} +| | | Run keyword | ${dut}.Add api segment global size | 2G +| | | Run keyword | ${dut}.Add api segment api size | 1G +| | | Run keyword | ${dut}.Add TCP preallocated connections | 1000000 +| | | Run keyword | ${dut}.Add TCP preallocated half open connections | 1000000 +| | | Run keyword | ${dut}.Add session event queue length | 1000000 +| | | Run keyword | ${dut}.Add session preallocated sessions | 1000000 +| | | Run keyword | ${dut}.Add session v4 session table buckets | 500000 +| | | Run keyword | ${dut}.Add session v4 session table memory | 1g +| | | Run keyword | ${dut}.Add session v4 halfopen table buckets | 2500000 +| | | Run keyword | ${dut}.Add session v4 halfopen table memory | 3g +| | | Run keyword | ${dut}.Add session local endpoints table buckets | 2500000 +| | | Run keyword | ${dut}.Add session local endpoints table memory | 3g +| | Apply startup configuration on all VPP DUTs +| | When Set up HTTP server with parameters on the VPP node +| | ... | ${http_static_plugin} | 500000 | 4 | 4000m +| | Then Measure requests per second | ${traffic_profile} + +*** Test Cases *** +| tc01-IMIX-1c-eth-ip4tcphttp-wrk8u8c50con-rps +| | [Tags] | 1C +| | phy_cores=${1} + +| tc02-IMIX-2c-eth-ip4tcphttp-wrk8u8c50con-rps +| | [Tags] | 2C +| | phy_cores=${2} + +| tc03-IMIX-4c-eth-ip4tcphttp-wrk8u8c50con-rps +| | [Tags] | 4C +| | phy_cores=${4} diff --git a/tests/vpp/perf/tcp/regenerate_testcases.py b/tests/vpp/perf/tcp/regenerate_testcases.py new file mode 100755 index 0000000000..2632018a80 --- /dev/null +++ b/tests/vpp/perf/tcp/regenerate_testcases.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python + +# 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: +# +# 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. + +from resources.libraries.python.autogen.Regenerator import Regenerator + +Regenerator().regenerate_glob("*.robot") -- cgit 1.2.3-korg