Introduction

If you are attending the NoF Tutorial session session (IEEE NoF tutorial), kindly complete the tasks in pre-requisites, before the hands-on.

Prerequisites

Environment.


   


System / SoftwareSource / Image / command /Comments
Virtualization /HypervisorOracle VirtualboxTo run VMs.
Virtual Machine Download-link

For running Test and DUTs

Create 2 VMs
Step-1
DUT and TGEN
Exchange of SSH-Keys between VMsStep-2 
Install New Version of T-RexStep-3
Install Test Automation ToolsStep-4

The Installation and configuration details are provided below. Please complete the below Steps 1, 2 3 and 4.

Step-1: Creating VMs.

  1. VM1 (DUT) : This is just a standard VM-from-ISO installation procedure. You will find many step-by-step description Ex: https://itsfoss.com/install-linux-in-virtualbox on this, including Videos (Ex: https://www.youtube.com/watch?v=QbmRXJJKsvs) . 
    1. Please ensure that number of interfaces are 4 and configured according to the table above.
  2. VM2 (TGEN): Same as above - or you can just clone it!.
    1. Please ensure that number of interfaces are 4 and configured according to the table  above.
Network

Network/Adapter Type

(Virtualbox)

Interfaces on DUTInterfaces on TGenComments
test1Internaleth3eth3Inter-VM ONLY
test2Internaleth2,eth2,Inter-VM ONLY
adminBridgedeth1eth1Communicate with VMs from Host.
InternetNATeth0eth0For Internet Access

The names of the interfaces maybe different - for example on Ubuntu it may be enp0s2/3/4...

Step-2: Exchange SSH Keys

To ensure smoother access, ensure DUT-VM can ssh to TGEN-VM without password-probe, copy the SSH public keys. The step to follow:

  1. If no identity is created yet (ex: if you don't find id_rsa.pub in ~/.ssh folder) Run ssh-keygen. It will generate the necessary identify.
  2. Use ssh-copy-id command. ssh-copy-id username_of_tgen_vm@ipaddress_of_tgen_vm

Step-3: Install New Version of T-Rex.

(a) INSTALL-TRex

sudo apt -y install zlib1g-dev build-essential python python3-distutils git clone https://github.com/cisco-system-traffic-generator/trex-core.git cd trex-core/ cd linux_dpdk ./b configure ./b build cd .. sudo cp scripts/cfg/simple_cfg.yaml /etc/trex_cfg.yaml

(b) Find PCIs
lspci | grep Eth
00:03.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)
00:08.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)
00:09.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)


(ref)

Step-4: Download and Install Test Automation Tools.

(a) Installing VSPERF on DUT-VM

Instructions to install and configure (including tuning) VSPERF can be found here 

You may have to configure hugepages before running the install script - by running following commands:

  1. mkdir -p /mnt/huge
  2. mount -t hugetlbfs nodev /mnt/huge
  3. echo "vm.nr_hugepages=64" >> /etc/sysctl.conf


(b) Download functest and x-testing on TGEN-VM

  1. sudo apt install python-virtualenv docker.io git
  2. virtualenv xtesting

  3. . xtesting/bin/activate

  4. pip install ansible

  5. ansible-galaxy install collivier.xtesting

  6. git clone https://gerrit.opnfv.org/gerrit/functest-xtesting functest-xtesting-src

(c) Download Storperf on TGEN_VM

  1. Profiling without OpenStack

(d) Other Tools

  1. docker on TGen-VM
    1. sudo apt -y install docker docker-compose

    2. sudo usermod -aG docker $USER

Handson-Sessions

Handson-Session-1: Installations check / Resolve Issues / Try Storperf 

Handson-Session-2: Try Vsperf 

Handson-Session-3: X-Testing