CSIT-1438: Remove Denverton from Report
[csit.git] / docs / report / vpp_functional_tests / test_environment.rst
index 9907264..96c9093 100644 (file)
@@ -1,70 +1,71 @@
 Test Environment
 ================
 
-CSIT functional tests are currently executed in FD.IO VIRL testbed. The physical
-VIRL testbed infrastructure consists of three VIRL hosts:
-
-- All hosts are Cisco UCS C240-M4 (2x Intel(R) Xeon(R) CPU E5-2699 v3 @2.30GHz,
-  18c, 512GB RAM)
+CSIT VPP functional tests are executed in FD.io VIRL testbeds. The
+physical VIRL testbed infrastructure consists of three VIRL servers:
 
 - tb4-virl1:
 
   - Status: Production
   - OS: Ubuntu 16.04.2
-  - STD server version 0.10.32.16
-  - UWM server version 0.10.32.16
+  - VIRL STD server version: 0.10.32.16
+  - VIRL UWM server version: 0.10.32.16
 
 - tb4-virl2:
 
   - Status: Production
   - OS: Ubuntu 16.04.2
-  - STD server version 0.10.32.16
-  - UWM server version 0.10.32.16
+  - VIRL STD server version: 0.10.32.16
+  - VIRL UWM server version: 0.10.32.16
 
 - tb4-virl3:
 
-  - Status: Testing
+  - Status: Production
   - OS: Ubuntu 16.04.2
-  - STD server version 0.10.32.19
-  - UWM server version 0.10.32.19
+  - VIRL STD server version: 0.10.32.19
+  - VIRL UWM server version: 0.10.32.19
 
-Whenever a patch is submitted to gerrit for review, parallel VIRL simulations
-are started to reduce the time of execution of all functional tests. The number
-of parallel VIRL simulations is equal to number of test groups defined by
-TEST_GROUPS variable in :file:`csit/bootstrap.sh` file. The VIRL host to run
-VIRL simulation is selected based on least load algorithm per VIRL simulation.
+- VIRL hosts: Cisco UCS C240-M4, each with 2x Intel Xeon E5-2699
+  v3 (2.30 GHz, 18c), 512GB RAM.
 
-Every VIRL simulation uses the same three-node - Traffic Generator (TG node) and
-two Systems Under Test (SUT1 and SUT2) - "double-ring" topology. The appropriate
-pre-built VPP packages built by Jenkins for the patch under review are then
-installed on the two SUTs, along with their :file:`/etc/vpp/startup.conf` file,
-in all VIRL simulations.
+Whenever a patch is submitted to gerrit for review, parallel VIRL
+simulations are started to reduce the time of execution of all
+functional tests. The number of parallel VIRL simulations is equal to a
+number of test groups defined by TEST_GROUPS variable in
+:file:`csit/bootstrap.sh` file. VIRL host to run VIRL simulation is
+selected based on least load algorithm per VIRL simulation.
 
-SUT Configuration - VIRL Guest VM
----------------------------------
+Every VIRL simulation uses the same three-node logical ring topology -
+Traffic Generator (TG node) and two Systems Under Test (SUT1 and SUT2).
+The appropriate pre-built VPP packages built by Jenkins for the patch
+under review are then installed on the two SUTs, along with their
+:file:`/etc/vpp/startup.conf` file, in all VIRL simulations.
 
-Configurations of the SUT VMs is defined in `VIRL topologies directory`_
+SUT Settings - VIRL Guest VM
+----------------------------
 
-- List of SUT VM interfaces:::
+SUT VMs' settings are defined in `VIRL topologies directory`_
+
+- List of SUT VM interfaces:
 
     <interface id="0" name="GigabitEthernet0/4/0"/>
     <interface id="1" name="GigabitEthernet0/5/0"/>
     <interface id="2" name="GigabitEthernet0/6/0"/>
     <interface id="3" name="GigabitEthernet0/7/0"/>
 
-- Number of 2MB hugepages: 1024
+- Number of 2MB hugepages: 1024.
 
-- Maximum number of memory map areas: 20000
+- Maximum number of memory map areas: 20000.
 
-- Kernel Shared Memory Max: 2147483648 (vm.nr_hugepages * 2 * 1024 * 1024)
+- Kernel Shared Memory Max: 2147483648 (vm.nr_hugepages * 2 * 1024 * 1024).
 
-SUT Configuration - VIRL Guest OS Linux
----------------------------------------
+SUT Settings - VIRL Guest OS Linux
+----------------------------------
 
-In CSIT terminology, the VM operating system for both SUTs that |vpp-release| has
-been tested with, is the following:
+In CSIT terminology, the VM operating system for both SUTs that |vpp-release|
+has been tested with, is the following:
 
-#. **Ubuntu VIRL image**
+#. Ubuntu VIRL image
 
    This image implies Ubuntu 16.04.1 LTS, current as of yyyy-mm-dd (that is,
    package versions are those that would have been installed by a
@@ -77,7 +78,7 @@ been tested with, is the following:
    A replica of this VM image can be built by running the :command:`build.sh`
    script in CSIT repository.
 
-#. **CentOS VIRL image**
+#. CentOS VIRL image
 
    This image implies Centos 7.4-1711, current as of yyyy-mm-dd (that is,
    package versions are those that would have been installed by a
@@ -90,7 +91,7 @@ been tested with, is the following:
    A replica of this VM image can be built by running the :command:`build.sh`
    script in CSIT repository.
 
-#. **Nested VM image**
+#. Nested VM image
 
    In addition to the "main" VM image, tests which require VPP to communicate to
    a VM over a vhost-user interface, utilize a "nested" VM image.
@@ -104,22 +105,26 @@ been tested with, is the following:
    "nested" image are included in CSIT GIT repository, and the image can be
    rebuilt using the "build.sh" script at `VIRL nested`_.
 
-DUT Configuration - VPP
------------------------
+DUT Settings - VPP
+------------------
 
 Every System Under Test runs VPP SW application in Linux user-mode as a Device
 Under Test (DUT) node.
 
-**DUT port configuration**
+DUT Port Configuration
+~~~~~~~~~~~~~~~~~~~~~~
 
 Port configuration of DUTs is defined in topology file that is generated per
 VIRL simulation based on the definition stored in `VIRL topologies directory`_.
 
-Example of DUT nodes configuration:::
+Example of DUT nodes configuration:
+
+::
 
     DUT1:
         type: DUT
         host: "10.30.51.157"
+        arch: x86_64
         port: 22
         username: cisco
         honeycomb:
@@ -176,6 +181,7 @@ Example of DUT nodes configuration:::
       DUT2:
         type: DUT
         host: "10.30.51.156"
+        arch: x86_64
         port: 22
         username: cisco
         honeycomb:
@@ -230,42 +236,94 @@ Example of DUT nodes configuration:::
             pci_address: "0000:00:07.0"
             link: link6
 
-**VPP Version**
+VPP Version
+~~~~~~~~~~~
 
 |vpp-release|
 
-**VPP Installed Packages - Ubuntu**
+VPP Installed Packages - Ubuntu
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
 ::
 
-    $ dpkg -l vpp\*
     Desired=Unknown/Install/Remove/Purge/Hold
     | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
     |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
     ||/ Name           Version       Architecture Description
-    +++-==============-=============-============-=================================================
-    ii  vpp                                 18.07-release                              amd64        Vector Packet Processing--executables
-    ii  vpp-dbg                             18.07-release                              amd64        Vector Packet Processing--debug symbols
-    ii  vpp-dev                             18.07-release                              amd64        Vector Packet Processing--development support
-    ii  vpp-dpdk-dkms                       18.05-vpp2                                 amd64        DPDK Development Package for VPP - Kernel Modules
-    ii  vpp-lib                             18.07-release                              amd64        Vector Packet Processing--runtime libraries
-    ii  vpp-plugins                         18.07-release                              amd64        Vector Packet Processing--runtime plugins
-
-**VPP Installed Packages - Centos**
+    +++-==============-=============-============-=============================================
+    ii  vpp            19.01-release amd64        Vector Packet Processing--executables
+    ii  vpp-api-python 19.01-release amd64        VPP Python API bindings
+    ii  vpp-dbg        19.01-release amd64        Vector Packet Processing--debug symbols
+    ii  vpp-dev        19.01-release amd64        Vector Packet Processing--development support
+    ii  vpp-lib        19.01-release amd64        Vector Packet Processing--runtime libraries
+    ii  vpp-plugins    19.01-release amd64        Vector Packet Processing--runtime plugins
+
+VPP Installed Packages - Centos
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
 ::
 
     $ rpm -qai vpp*
+    Name        : vpp-selinux-policy
+    Version     : 19.01
+    Release     : release
+    Architecture: x86_64
+    Install Date: Thu 31 Jan 2019 07:16:34 AM EST
+    Group       : System Environment/Base
+    Size        : 102213
+    License     : ASL 2.0
+    Signature   : (none)
+    Source RPM  : vpp-19.01-release.src.rpm
+    Build Date  : Wed 30 Jan 2019 06:04:06 PM EST
+    Build Host  : ed28282db47e
+    Relocations : (not relocatable)
+    Summary     : VPP Security-Enhanced Linux (SELinux) policy
+    Description :
+    This package contains a tailored VPP SELinux policy
+    Name        : vpp-plugins
+    Version     : 19.01
+    Release     : release
+    Architecture: x86_64
+    Install Date: Thu 31 Jan 2019 07:16:37 AM EST
+    Group       : System Environment/Libraries
+    Size        : 84873573
+    License     : ASL 2.0
+    Signature   : (none)
+    Source RPM  : vpp-19.01-release.src.rpm
+    Build Date  : Wed 30 Jan 2019 06:04:06 PM EST
+    Build Host  : ed28282db47e
+    Relocations : (not relocatable)
+    Summary     : Vector Packet Processing--runtime plugins
+    Description :
+    This package contains VPP plugins
+    Name        : vpp-api-python
+    Version     : 19.01
+    Release     : release
+    Architecture: x86_64
+    Install Date: Thu 31 Jan 2019 07:16:34 AM EST
+    Group       : Development/Libraries
+    Size        : 163624
+    License     : ASL 2.0
+    Signature   : (none)
+    Source RPM  : vpp-19.01-release.src.rpm
+    Build Date  : Wed 30 Jan 2019 06:04:06 PM EST
+    Build Host  : ed28282db47e
+    Relocations : (not relocatable)
+    Summary     : VPP api python bindings
+    Description :
+    This package contains the python bindings for the vpp api
     Name        : vpp
-    Version     : 18.07
+    Version     : 19.01
     Release     : release
     Architecture: x86_64
-    Install Date: Tue 31 Jul 2018 02:59:45 AM EDT
+    Install Date: Thu 31 Jan 2019 07:16:34 AM EST
     Group       : Unspecified
-    Size        : 2396993
+    Size        : 2522340
     License     : ASL 2.0
     Signature   : (none)
-    Source RPM  : vpp-18.07-release.src.rpm
-    Build Date  : Mon 30 Jul 2018 08:20:19 PM EDT
-    Build Host  : c3de88e7d43c
+    Source RPM  : vpp-19.01-release.src.rpm
+    Build Date  : Wed 30 Jan 2019 06:04:06 PM EST
+    Build Host  : ed28282db47e
     Relocations : (not relocatable)
     Summary     : Vector Packet Processing
     Description :
@@ -274,17 +332,17 @@ Example of DUT nodes configuration:::
     vpp_api_test - vector packet engine API test tool
     vpp_json_test - vector packet engine JSON test tool
     Name        : vpp-lib
-    Version     : 18.07
+    Version     : 19.01
     Release     : release
     Architecture: x86_64
-    Install Date: Tue 31 Jul 2018 02:59:45 AM EDT
+    Install Date: Thu 31 Jan 2019 07:16:34 AM EST
     Group       : System Environment/Libraries
-    Size        : 27134058
+    Size        : 12203613
     License     : ASL 2.0
     Signature   : (none)
-    Source RPM  : vpp-18.07-release.src.rpm
-    Build Date  : Mon 30 Jul 2018 08:20:19 PM EDT
-    Build Host  : c3de88e7d43c
+    Source RPM  : vpp-19.01-release.src.rpm
+    Build Date  : Wed 30 Jan 2019 06:04:06 PM EST
+    Build Host  : ed28282db47e
     Relocations : (not relocatable)
     Summary     : VPP libraries
     Description :
@@ -294,34 +352,18 @@ Example of DUT nodes configuration:::
     vlib - vector processing library
     vlib-api - binary API library
     vnet -  network stack library
-    Name        : vpp-selinux-policy
-    Version     : 18.07
-    Release     : release
-    Architecture: x86_64
-    Install Date: Tue 31 Jul 2018 02:59:44 AM EDT
-    Group       : System Environment/Base
-    Size        : 86709
-    License     : ASL 2.0
-    Signature   : (none)
-    Source RPM  : vpp-18.07-release.src.rpm
-    Build Date  : Mon 30 Jul 2018 08:20:19 PM EDT
-    Build Host  : c3de88e7d43c
-    Relocations : (not relocatable)
-    Summary     : VPP Security-Enhanced Linux (SELinux) policy
-    Description :
-    This package contains a tailored VPP SELinux policy
     Name        : vpp-devel
-    Version     : 18.07
+    Version     : 19.01
     Release     : release
     Architecture: x86_64
-    Install Date: Tue 31 Jul 2018 02:59:47 AM EDT
+    Install Date: Thu 31 Jan 2019 07:16:38 AM EST
     Group       : Development/Libraries
-    Size        : 11452203
+    Size        : 12835399
     License     : ASL 2.0
     Signature   : (none)
-    Source RPM  : vpp-18.07-release.src.rpm
-    Build Date  : Mon 30 Jul 2018 08:20:19 PM EDT
-    Build Host  : c3de88e7d43c
+    Source RPM  : vpp-19.01-release.src.rpm
+    Build Date  : Wed 30 Jan 2019 06:04:06 PM EST
+    Build Host  : ed28282db47e
     Relocations : (not relocatable)
     Summary     : VPP header files, static libraries
     Description :
@@ -333,29 +375,14 @@ Example of DUT nodes configuration:::
     vnet - devices, classify, dhcp, ethernet flow, gre, ip, etc.
     vpp-api
     vppinfra
-    Name        : vpp-plugins
-    Version     : 18.07
-    Release     : release
-    Architecture: x86_64
-    Install Date: Tue 31 Jul 2018 02:59:47 AM EDT
-    Group       : System Environment/Libraries
-    Size        : 52282610
-    License     : ASL 2.0
-    Signature   : (none)
-    Source RPM  : vpp-18.07-release.src.rpm
-    Build Date  : Mon 30 Jul 2018 08:20:19 PM EDT
-    Build Host  : c3de88e7d43c
-    Relocations : (not relocatable)
-    Summary     : Vector Packet Processing--runtime plugins
-    Description :
-    This package contains VPP plugins
 
-**VPP Startup Configuration**
+VPP Startup Configuration
+~~~~~~~~~~~~~~~~~~~~~~~~~
 
 VPP startup configuration is common for all test cases except test cases related
 to SW Crypto device.
 
-**Default**
+**Common Configuration**
 
 ::
 
@@ -431,7 +458,7 @@ to SW Crypto device.
     }
 
     # dpdk {
-        ## Change default settings for all intefaces
+        ## Change default settings for all interfaces
         # dev default {
             ## Number of receive queues, enables RSS
             ## Default is 1
@@ -455,6 +482,15 @@ to SW Crypto device.
         ## Whitelist specific interface by specifying PCI address
         # dev 0000:02:00.0
 
+        ## Blacklist specific device type by specifying PCI vendor:device
+            ## Whitelist entries take precedence
+        # blacklist 8086:10fb
+
+        ## Set interface name
+        # dev 0000:02:00.1 {
+        #      name eth0
+        # }
+
         ## Whitelist specific interface by specifying PCI address and in
         ## addition specify custom parameters for this interface
         # dev 0000:02:00.1 {
@@ -475,7 +511,7 @@ to SW Crypto device.
         ## uio_pci_generic or auto (default)
         # uio-driver vfio-pci
 
-        ## Disable mutli-segment buffers, improves performance but
+        ## Disable multi-segment buffers, improves performance but
         ## disables Jumbo MTU support
         # no-multi-seg
 
@@ -496,7 +532,7 @@ to SW Crypto device.
 
     # plugins {
         ## Adjusting the plugin path depending on where the VPP plugins are
-        #      path /home/bms/vpp/build-root/install-vpp-native/vpp/lib64/vpp_plugins
+        #      path /ws/vpp/build-root/install-vpp-native/vpp/lib/vpp_plugins
 
         ## Disable all plugins by default and then selectively enable specific plugins
         # plugin default { disable }
@@ -508,10 +544,7 @@ to SW Crypto device.
         # plugin acl_plugin.so { disable }
     # }
 
-        ## Alternate syntax to choose plugin path
-        # plugin_path /home/bms/vpp/build-root/install-vpp-native/vpp/lib64/vpp_plugins
-
-**SW Crypto Device**
+**SW Crypto Device Configuration**
 
 ::
 
@@ -534,15 +567,16 @@ to SW Crypto device.
       vdev cryptodev_aesni_mb_pmd,socket_id=0
     }
 
-TG Configuration
-----------------
+TG Settings - Scapy
+-------------------
 
 Traffic Generator node is VM running the same OS Linux as SUTs. Ports of this
 VM are used as source (Tx) and destination (Rx) ports for the traffic.
 
 Traffic scripts of test cases are executed on this VM.
 
-**TG VM configuration**
+TG VM Configuration
+~~~~~~~~~~~~~~~~~~~
 
 Configuration of the TG VMs is defined in `VIRL topologies directory`_.
 
@@ -557,7 +591,8 @@ Configuration of the TG VMs is defined in `VIRL topologies directory`_.
     <interface id="4" name="eth5"/>
     <interface id="5" name="eth6"/>
 
-**TG node port configuration**
+TG Port Configuration
+~~~~~~~~~~~~~~~~~~~~~
 
 Port configuration of TG is defined in topology file that is generated per VIRL
 simulation based on the definition stored in `VIRL topologies directory`_.
@@ -567,6 +602,7 @@ Example of TG node configuration:::
     TG:
         type: TG
         host: "10.30.51.155"
+        arch: x86_64
         port: 22
         username: cisco
         priv_key: |
@@ -620,8 +656,9 @@ Example of TG node configuration:::
             link: link5
             driver: virtio-pci
 
-**Traffic generator**
+Traffic Generator
+~~~~~~~~~~~~~~~~~
 
-Functional tests utilize Scapy as a traffic generator. There was used Scapy
-v2.3.1 for |vpp-release| tests.
+Functional tests utilize Scapy as a traffic generator. Scapy v2.3.1 is
+used for |vpp-release| tests.