Page tree
Skip to end of metadata
Go to start of metadata

*NOTICE*

POD 12 is used for VSPERF CI running performance test suites daily. Please book time ahead of using the POD and do not change CI SUT or traffic generator configurations unless agreed by VSPERF community (hardware and/or software test generators are used in daily jobs). Make sure that other people are not using the environment before trying to start any new tests. 


Overview

Testbed POD12 is available for OPNFV community to test and develop vswitchperf. The testbed can be accessed over OpenVPN connection, after required certificates are assigned and delivered to interested OPNFV member. See below for contact details.

 

Server / Role

IP

Server OS

Access credentials

Access method

NOTES

pod12-node3

RESERVED FOR CI DUT

10.10.120.23

Linux Centos7

user

ssh user@10.10.120.23
 

pod12-node4

Sandbox

10.10.120.24Linux Centos7opnfv
ssh user@10.10.120.24
 

Traffic Gen Windows Client

10.10.120.6

Windows 7 (VM)

vsperf_ci

vsperf_sandbox

rdesktop -u vsperf_ci -g 1024x1024 10.10.120.6
vsperf_ci is RESERVED FOR CI
vsperf_sandbox can be used for the sandbox environment pod12-node4

Traffic Gen Server/testbed2/pod3-wcp-node4

10.2.117.61

Linux Centos7

non-root account with sudo privileges. Username: opnfv

ssh, e.g.

ssh opnfv@10.2.117.59
RESERVED FOR CI
DUT/sandbox/pod3-node510.2.117.63Linux Centos7opnfv SANDBOX

Please check Intel Hosting page for details about OpenVPN setup and POD3 testbed details. In case you need credentials for OpenVPN access to POD3, contact Jack Morgan <Jack Morgan@intel.com>

SANDBOX/Node 4&5 Usage

Ixia on Traffic Gen Windows Client

It is essential, that IxNetwork TCL server is up and running (at port 8009) at Traffic Gen Windows Client machine 10.2.117.236. Otherwise vswitchperf won't be able to initiate traffic generation and tests will fail. So before testing itself, following steps must be performed:

  1. login to the machine with remote desktop, e.g. (or start Remote Desktop Connection under Accessories, and supply the credentials and options)

    rdesktop -u opnfv_1 -g 1024x1024 10.2.117.236
  2. check if IxNetwork is running - if so, there will be an Nw icon in the system tray
  3. if IxNetwork is running then proceed to DUT section below otherwise run IxNetwork by Nw icon at desktop or launch bar

IxNetwork has multiple functions. Previously mentioned TCL server is used as interface between DUT and IXIA generator. However IxNetwork also provides GUI, which shows progress of executed test, number of involved IXIA ports, etc. There is also a data miner application for inspection of test results. These results are stored in folder /temp/ixia/rfctests, which is shared with DUT over samba protocol, so vswitchperf can access and process them.

DUT - Pod12-node4

It is a Linux server where vswitchperf, vSwitch and VNF are installed. Testing itself is driven by vsperf script, which will configure chosen packet generator, vSwitch and VNF implementations, performs a test and finally collects test results.

PLEASE USE THE BOOKING CALENDAR BELOW TO RESERVE A SLOT

vswitchperf usage

Once IxNetwork TCL server is running, vswithcperf can be used together with IXIA traffic generator. Following steps should be followed to run vsperf test script:

  1. login to linux testbed, e.g.

    ssh opnfv@10.2.117.63
  2. in case, that you'll see a message that machine is booked, then please contact current user and check when machine will be free; Example of "booked" message:

      !!! Machine is currently booked by: !!!
      john.smith@opnfv.org

    Note: if there isn't any booked by message, it is still advised to check who and ps ax commands to avoid parallel vsperf invocation

  3. make a note, that machine is booked, i.e. store your email to ~/booked file, e.g.

    echo "john.smith@opnfv.org" > ~/booked
  4. enable python33 environment

      scl enable python33 bash
  5. enable vsperf virtual environment

      source ~/vsperfenv/bin/activate
  6. enter vswitchperf directory and check, that vsperf works

      cd ~/vswitchperf/
      ./vsperf --help
  7. in case, that vsperf works (usage has been shown), you could start with your testing, e.g. following command will run all available vsperf tests:

      ./vsperf --conf-file=~/vsperf-master.conf phy2phy_cont
  8. at the end of your session remove you booking note:

      rm ~/booked

vsperf manual termination

Procedure for manual termination of vsperf is following:

  1. interrupt vsperf script from console by pressing ctrl+c
  2. terminate all involved processes, e.g. in case of test with OpenVSwitch and QEMU you can do it by

      sudo pkill python; sudo pkill ovs-vswitchd;sudo pkill -f qemu;sudo pkill ovsdb-server

    Hint: There is ~/bin/vskill script, which runs kill commands listed above, so you could simply run:

      vskill

Running tests

Start by carrying out the steps specified in "vswitchperf usage".

Phy2Phy

Customize vsperf configuration to match your system:

vim /home/opnfv/vsperf-master.conf 

Example of working POD3 configuration:

# Copyright 2015-2016 Intel Corporation.
#
# 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.
    
TRAFFICGEN = 'IxNet'

RTE_TARGET = 'x86_64-native-linuxapp-gcc'
# Ixia/IxNet configuration
TRAFFICGEN_IXIA_CARD = '1'
TRAFFICGEN_IXIA_PORT1 = '5'
TRAFFICGEN_IXIA_PORT2 = '6'
TRAFFICGEN_IXIA_LIB_PATH = '/opt/ixnet/ixos-api/8.01.0.2/lib/ixTcl1.0'
#TRAFFICGEN_IXIA_LIB_PATH = '/opt/ixos/lib/ixTcl1.0'
#TRAFFICGEN_IXNET_LIB_PATH = '/opt/ixnet/IxTclNetwork'
TRAFFICGEN_IXNET_LIB_PATH = '/opt/ixnet/ixnetwork/8.01.1029.6/lib/IxTclNetwork'
#TRAFFICGEN_IXNET_LIB_PATH = '/opt/ixnet/lib/IxTclNetwork/'
# Ixia traffic generator
TRAFFICGEN_IXIA_HOST = '10.2.117.238'      # quad dotted ip address
# host where IxNetwork GUI/daemon runs
TRAFFICGEN_IXNET_MACHINE = '10.2.117.236'  # quad dotted ip address
TRAFFICGEN_IXNET_PORT = '8009' #NOTE this will be updated shortly
TRAFFICGEN_IXNET_USER = 'opnfv' #NOTE this will be updated shortly 
# paths to shared directory for IXIA_HOST and DUT (localhost)
TRAFFICGEN_IXNET_TESTER_RESULT_DIR = 'c:/ixia_results'
TRAFFICGEN_IXNET_DUT_RESULT_DIR = '/mnt/ixia_results'
WHITELIST_NICS = ['02:00.0', '02:00.1']
#VSWITCH_VANILLA_PHY_PORT_NAMES = ['ens513f0', 'ens513f1']
TEST_PARAMS = {'packet_sizes':'64'}
############################
# VNF configuration
#############################
GUEST_IMAGE = ['/home/jenkins/vloop-vnf-ubuntu-14.04_20160303.qcow2', '/home/jenkins/vloop-vnf-ubuntu-14.04_20160303.qcow2']
#GUEST_CORE_BINDING = [(8, 9), (15, 16)]
#GUEST_TESTPMD_FWD_MODE = 'mac_retry'
# release 10GB NICs from DPDK so Vanilla OVS tests can see them
import subprocess
import os
subprocess.call('sudo bash -c "echo 8192 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages"', shell=True)
subprocess.call('sudo bash -c "echo 0 > /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages"', shell=True)
subprocess.call('sudo bash -c "echo 0 > /sys/devices/system/node/node1/hugepages/hugepages-1048576kB/nr_hugepages"', shell=True)
subprocess.call('sudo ' + os.path.join(RTE_SDK_USER, 'tools/dpdk_nic_bind.py') + ' -u ' + ' '.join(WHITELIST_NICS), shell=True)
subprocess.call('sudo ' + os.path.join(RTE_SDK_USER, 'tools/dpdk_nic_bind.py') + ' -b ixgbe ' + ' '.join(WHITELIST_NICS), shell=True)
 
# remove obsolete results
subprocess.call('sudo rm -rf /mnt/ixia_results/rfctests/* 2>/dev/null', shell=True)

Run the test:

./vsperf --conf-file=../vsperf-master.conf phy2phy_tput

PVP

Run the test:

./vsperf --conf-file=../vsperf-master.conf pvp_tput

To see the full list of tests

Run the test:

./vsperf --list

To see the full list of CLI arguments

Run the test:

./vsperf --help
 
  • No labels