From 39494c01b49cafd893982d74e030b9b96b5fa821 Mon Sep 17 00:00:00 2001 From: Jing Zhang Date: Thu, 25 May 2017 18:41:00 -0400 Subject: Integrate vsperf in Tgen mode Problem: Running Vsperf in Tgen mode is supported but the integration is not complete at the code level i.e. not ready-to-use, and dpdk loopback is not supported inside the VM. Solution: (1) Completely automates VM image generation and supports 1G huge pages. (2) Adds a new test scenario VsperfDPDK for testpmd based loopback inside the VM. Update 1-2: Fixed "line too long" issues not reported by local run_tests.sh (why?) Update 3: Per comment change to use SSH.from_node() and add unit test cases Update 4: Add more unit test cases for coverage and ready the code for merge JIRA: YARDSTICK-661 Change-Id: Iea3014d4c83e1b0c079019a4ed27771d40a7eed8 Signed-off-by: Jing Zhang --- tests/vsperf/pvp_rfc2544_throughput_dpdk.yaml | 91 +++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 tests/vsperf/pvp_rfc2544_throughput_dpdk.yaml (limited to 'tests/vsperf/pvp_rfc2544_throughput_dpdk.yaml') diff --git a/tests/vsperf/pvp_rfc2544_throughput_dpdk.yaml b/tests/vsperf/pvp_rfc2544_throughput_dpdk.yaml new file mode 100644 index 000000000..0b3e5a876 --- /dev/null +++ b/tests/vsperf/pvp_rfc2544_throughput_dpdk.yaml @@ -0,0 +1,91 @@ +# Copyright 2017 Nokia +# +# 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. + +# VSPERF specific configuration file for execution of RFC2544 throughput +# traffic. Traffic executed by traffic generator is forwarded directly +# between interfaces connected to the traffic generator. So test will only +# benchmark the performance of OVS external bridge at controller node. +# Details about supported test options and test case execution can be +# found in VSPERF documentation: +# +# http://artifacts.opnfv.org/vswitchperf/docs/userguide/yardstick.html + +schema: "yardstick:task:0.1" + +scenarios: +{% for multistream in [1, 1000] %} +- + type: VsperfDPDK + options: + testname: 'pvp_tput' + traffic_type: 'rfc2544_throughput' + multistream: {{multistream}} + frame_size: 64 + test_params: 'TRAFFICGEN_DURATION=60;' + trafficgen_port1: 'ens4' + trafficgen_port2: 'ens5' + conf_file: '~/vsperf-yardstick.conf' + moongen_helper_file: '~/moongen.py' + moongen_host_ip: '10.5.201.151' + moongen_port1_mac: '8c:dc:d4:ae:7c:5c' + moongen_port2_mac: '8c:dc:d4:ae:7c:5d' + trafficgen_port1_nw: 'test2' + trafficgen_port2_nw: 'test3' + + host: vsperf.demo + + runner: + type: Sequence + scenario_option_name: frame_size + sequence: + - 64 + - 128 + - 256 + - 512 + - 1024 + - 1280 + - 1518 + + sla: + # The throughput SLA (or any other SLA) cannot be set to a meaningful + # value without knowledge of the server and networking environment, + # possibly including prior testing in that environment to establish + # a baseline SLA level under well-understood circumstances. + metrics: 'throughput_rx_fps' + throughput_rx_fps: 500000 + action: monitor +{% endfor %} + +context: + name: demo + image: yardstick-vsperf-server + flavor: vsperf-flavor + user: ubuntu + + placement_groups: + pgrp1: + policy: "availability" + + servers: + vsperf: + floating_ip: true + placement: "pgrp1" + + networks: + test: + cidr: '10.0.1.0/24' + test2: + cidr: '10.0.2.0/24' + test3: + cidr: '10.0.3.0/24' -- cgit 1.2.3-korg