Age | Commit message (Collapse) | Author | Files | Lines |
|
T-Rex requires a modified version of SCAPY library for python3
to function properly. It doesn't work with vanilla version of
scapy-python3 module, which is installed within vsperf environment by
pip for Xena. Currently vanilla scapy is imported by Xena and
enforced to T-Rex too, which causes following issues:
* missing implementation of Dot1AD causes failures
* broken multistream feature in T-Rex
VSPERF loads all Traffic Generator classes and thus all
imports performed at module level are performed. The solution
would be to import SCAPY module by Xena only in case, that Xena
traffic generator is really used. Please see JIRA for additional
information.
JIRA: VSPERF-566
Change-Id: I8018bc0126e752cc9f966252d17dadb6a5554b37
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
|
|
|
|
The patch expands the vsperf --test-params argument with list
functionality, which enables running multiple tests with different
parameters. If more tests are run then parameters provided, the
last parameters will be reused. Example:
./vsperf --test-params "['','TRAFFICGEN_PKTSIZE = (64,)']"
phy2phy_cont phy2phy_cont
CUMULATIVE_PARAMS if true, instead of using the default settings,
each test will take the parameters of the previous test before
applying it's own.
The patch also adds the vsperf --matrix argument which analyzes and
compares the results of all the tests run, printing it as a table,
as well as saving it into a file in the results directory.
MATRIX_METRIC metric used by Performance Matrix to compare tests.
JIRA: VSPERF-554
Change-Id: I71530ddf110890612236a7e57039f249609c835b
Signed-off-by: Richard Elias <richardx.elias@intel.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
|
|
Default API version of T-Rex was changed to v2.38. T-Rex related
documentation was updated to inform user, that the same version
of T-Rex must be used for both server and client.
JIRA: VSPERF-564
Change-Id: Ib1bedde683efafa84a6069b55daa0507700dbb30
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
Reviewed-by: Richard Elias <richardx.elias@intel.com>
|
|
|
|
|
|
Pylint installation was part of vsperf installation scripts, which is
not following vsperf generic approach to add all required python
packages into requirements.txt. It also means, that the same
version of pylint is used for verification of all patches at given
server. This is causing issues in case, that different versions
of pylint are required to verify vsperf code, e.g. older version
might be required to verify patches of previous OPNFV release.
Pylint with exact version number was added into requirements.txt,
so correct version of pylint is used for verification of vspef code.
JIRA: VSPERF-563
Change-Id: I48c9cacd87f016e6047ed965728d3b8d63e6461f
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
Reviewed-by: Richard Elias <richardx.elias@intel.com>
|
|
Patch introduces a set of testcases with T-Rex running inside VM.
JIRA: VSPERF-560
Change-Id: I5b0a0220a2d72428ae1210ee9590d39abdfb9c1d
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Signed-off-by: RadoslawX Glombiowski <radoslawx.glombiowski@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
|
|
Fix of the typo in the name of pylint check function.
Change-Id: Ie67c95715bd3fda76b2ae47ac8bb48807ffc58c5
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
|
|
Mono Version 5.10 breaks mono execution of Xena2544.exe.
Fix Xena install notes to point to a working version of Mono(5.8)
when setting up to use Xena2544.exe.
JIRA:VSPERF-561
Change-Id: I3bbfaaeef55fc465cba943eb8b1a31abe2faba1f
Signed-off-by: Christian Trautman <ctrautma@redhat.com>
|
|
|
|
Adds configuration options and logic to detect maximum supported
speed of T-Rex server side cards.
1. Adds logic to pull maximum supported speed from port info
2. Adds forcable option to have user specify maximum speed
3. If logic cannot detect speed from port_info because it is
not available or the forcable option is not set it will
assume 10G speeds.
4. Tested on Intel XXV25G and Mellanox ConnectX-5 cards
5. Added packet structure logging to show packet info for
better debugging capabilities
6. Adds core mask to take advantage of multiple cores if
server is started with more than default number of cores
7. Adds packets lost logging to RFC2544 Throughput testing
JIRA: VSPERF-559
Change-Id: I7fcfda7ccc408c30830950ee3668e01b8624c20a
Signed-off-by: Christian Trautman <ctrautma@redhat.com>
|
|
|
|
|
|
Recent patch update to collectd requires new packages that must
have python34 as a minimum version available. This updates the
build scripts for Centos and RHEL to use scl enabled python34.
1. Adds needed packages to build correctly for Centos and RHEL
2. Changes repo location to pull scl enabled python34
3. Modifies enablement of scl to new package string
4. Updates documentation to reflect change
JIRA: VSPERF-558
Change-Id: I52257ecfc6abc2112c30137c1de3ced272f21066
Signed-off-by: Christian Trautman <ctrautma@redhat.com>
|
|
The changes include:
1. Configuration in 05_collector.conf. User can specify the
metrics that are of their interest and also fine tune the same.
2. collectd_bucky.py: This is derived from python_bucky library.
Formal approval for reuse is obtained.
3. collectd.py: This is the main file that receives the samples,
stores the required ones, plots the values and saves the values in
a data-file in results folder.
4. Fixed some pylint errors
5. Added required libraries to requirements.txt. hashlib is supported by
default. However, matplotlib and numpy required
6. added __init__.py to overcome import errors.
7. Crypto needs pycrypto module
8. Builtin filter function usage return bad-builtin pylint warning.
Rewrite to remove filter function.
9. Added support for reporting the ovs processes statistics.
10. Import order corrected according to pylint
11. Fixed copyright issues, removed python-3 checking, enhance to
include VPP and qemu processes.
12. Removed pylint disables.
13. Added documentaion to describe sample information
14. Added @staticmethod to remove disable-no-self-use.
15. Fixed year in Copyright.
16. Updated print_results function to print the process values.
17. Removed example values form INTELRDT_XKEYS in conf file
18. Removed use of len(SEQUENCE) in loop and renamed data to pdata to
avoid name clashes
19. Fixed issue with requirements.txt
Note: A separate documentation covering all external tools will be
provided.
JIRA: VSPERF-505
Change-Id: Ieedcbe7b92e8933263d34df12b1e24be8447b524
Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
|
|
In Project discussion on Jan 17, 2018 including review of RFC 8204,
we identified the following five areas to improve the Soak tests.
See the JIRA ticket for details.
JIRA: VSPERF-557
Change-Id: I5314c283a383c57d99863fcf7262c4f28e1c12a8
Signed-off-by: Al Morton <acmorton@att.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
Reviewed-by: Richard Elias <richardx.elias@intel.com>
|
|
|
|
Add definition of internal _EXECUTED_PIDS list into generic
configuration file.
JIRA: VSPERF-556
Change-Id: I6c237cb563c0a37bf806561d1f841587796399b8
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
|
|
This patch adds support for LLC-Last level cache
management using RMD. The changes include:
1. 08_llcmanagement.conf: The configuration file to define cache
allocation policy.
2. testcase.py: To trigger llc-allocation and cleanup before and
after the test, respectively.
3. llc_management/rmd.py: The main file the performs the llc
allocation and cleanup.
4. llc_management/resthttp.py: Generic utility to call rest APIs,
with http.
5. Fixed a build error due to change in name mismatch.
6. Fixed pylint errors. Override built-in function error.
7. Added empty __init__.py to avoid import errors
8. Fixed deprecated functions errors
9. Fixed copyright issues, removed python-3 checking.
10. Removed pylint disables.
11. resthttp.py is already part of stcrestclient used in
tools/pkt_gen/testcenter/ scripts. Hence, deleted from the source.
12. Year update from the license
13. Fixed some testcases.py collision issue
JIRA: VSPERF-544
Change-Id: I7cbd155dd66f5a0cef544751841e71b95c9b6821
Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
|
|
This patch adds support for stressor-VMs as a loadgen in VSPERF.
The changes include:
1. 07_loadgen.conf: User can specify the stressor-VM specific
configuration. It includes, image-name, path, nics, memory, etc.
2. loadgen/stressorvm/stressor_vm.py: This file implement ILoadGenerator
interface. It implements all the necessary APIs for starting and
stopping the loads.
3. Fixed Pylint Error
4. Removed the network device configuration from qemu-system-x86_64
command as stessor-vm mostly focus on CPU and memory stressing.
5. Moved the creation of loadgen after the VNFs are setup in
testcase.py.
6. Fixed copyright issues.
7. Removed python-3 checking. Improved exception handling
8. Set Default loadgen as DummyLoadGen
9. Improved OSError Printing with directory name and error
10. Update the year in license. 2017-2018.
JIRA: VSPERF-504
Change-Id: Iad6c0780c184f8e36eddcbcae2a580f41118e8dc
Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
|
|
|
|
|
|
Print an error message in case, that vsperf is not able
to connect to the T-Rex server. User is instructed
to check if T-Rex server is up and running.
Change-Id: I70c6d27fa8331921d43e25c5eaa3638ded6c015b
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Jose Lausuch <jalausuch@suse.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
|
|
The control script for Ixia (i.e. Ixia and IxNet classes)
is written in TCL and thus VSPERF must translate TRAFFIC
dictionary into TCL notation. The method for data type
conversion was updated to correctly process new 'capture'
settings, which uses python lists for tx and rx capture
ports definition.
JIRA: VSPERF-556
Change-Id: I639942b11ea11ce1b443a2a2e99c3da6619ba569
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
Reviewed-by: Richard Elias <richardx.elias@intel.com>
|
|
Created new chapter on Traffic Capture and added short descriptions and explanation for each of the three methods currently supported by VSPERF. Subchapters include Traffic Capture in the VM, Traffic for testing NICs with Hardware acceleration and Traffic Capture on the Trraffic Generator.
JIRA: VSPERF-556
Change-Id: I280c54aa73961e0bbb61b40e8fe476bd3e92ff7d
Signed-off-by: Richard Elias <richardx.elias@intel.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
|
|
A support of traffic capture was added into T-Rex.
It allows to write a functional tests, which will
verify proper vSwitch functionality by inspection
of packets received by T-Rex.
A testcase example was added into integration
testcases.
JIRA: VSPERF-556
Change-Id: I5ad28479ca2ec29760b68f24510af1a6d74866ae
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
Reviewed-by: Richard Elias <richardx.elias@intel.com>
|
|
Traffic can be captured also at DUT side. Two options are supported by
vsperf:
1) Traffic is captured inside VM after it has been processed
by vSwitch. This can be used for verification of vSwitch frame
modification functionality, including HW offloading at ingress side.
2) Another NIC under the test (NIC2) is added into standard VSPERF DUT
setup. Traffic is then forwarded from TGen through NIC and vSwitch
to NIC2 and then over patch cable back to NIC2, the vSwitch, NIC and
to the traffic generator. This setup supports also verification of HW
offloading at egress side of NIC2 and thus it can be used for validation
of smart NICS.
Both options above are traffic generator agnostic if compared to direct
support of traffic capture by traffic generator. This patch introduces
example testcases for both options.
Detailed documentation will be pushed as a standalone patch.
JIRA: VSPERF-556
Change-Id: I23e12e45768ae4dbe9442f74d8391c3d5b2c7895
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Richard Elias <richardx.elias@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
|
|
In case that vSwitch can't add required number of physical
ports, then error message should be printed. Previous implementation
was not consistent. Thus error handling has been united across
all vswitches and message explicitly states the cause of the failure.
NOTE: A better solution would be a refactoring of all vSwitch
classes to follow VPP port handling and to move port related
structures and physical port check into parent vswitch class.
JIRA: VSPERF-555
Change-Id: Id09a61432ea93e261f563254829348ac61f5dc8a
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Jose Lausuch <jalausuch@suse.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
|
|
|
|
|
|
Added a mention of the default Python3 location used by virtualenv
creation script after Python3 enforcement patch(/usr/bin/python3).
Also added a paragraph warning of held-back kernel package version and
DNF/APT/YUM configuration preventing modification of kernel packages.
JIRA: MSP-10754
Change-Id: I1ba630cf85af4d99cc2cbed40163a9137b95c390
Signed-off-by: Richard Elias <richardx.elias@intel.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
Reviewed-by: Ian Stokes <ian.stokes@intel.com>
|
|
|
|
- Adds T-Rex verification step as implemented by other trafficgens
- Adds check in rfc2544 loop for if no packets are received to fail test
immediately
- Refactors the trial code to support the verification option
- Adds trial_run function
- Removed unused line speed configuration setting
JIRA: VSPERF-553
Change-Id: Ie324fe8fb6bf79fe0dc337b91af2bf83e901a8ab
Signed-off-by: Christian Trautman <ctrautma@redhat.com>
|
|
In order to support execution of SW traffic generator inside VM,
we have to postpone the call of connect() method from traffic controller.
Currently it is called during initialization phase, when VMs are not
active and thus connect() would always fail. This patch moves the call
of connect() inside configure() method, which is called later when VMs
are up and running.
This modification allows to configure VM to VM scenario, where 1st VM is
running a loopback application and 2nd one executes one of supported SW
traffic generators, i.e. T-Rex or MoonGen.
Change-Id: Ifeb659aadaa2e1cd5975564965e1719c1e72a12e
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
|
|
Change-Id: I555fea7514475153ae74b6f3d2ab2df1c30bb1aa
Signed-off-by: Jose Lausuch <jalausuch@suse.com>
|
|
Fixes pathing issue with virtual environment creation caused by
commit 21b23522861e364daf150cd997c5d60851847ef2
Change-Id: Ia2c0c44da898e40e122571e477301343d047f974
Signed-off-by: Christian Trautman <ctrautma@redhat.com>
|
|
|
|
This patch aims at adding support for Tumbleweed, which is
a rolling release. That means that the VERSION_ID is not fixed
and can't be mapped to a directory e.g
- VERSION_ID="20171120"
- VERSION_ID="20171121"
Change-Id: I99c9a4f1042c22b73879e954147c54c87b6a8b21
Signed-off-by: Jose Lausuch <jalausuch@suse.com>
|
|
|
|
Adds packet learning option which is available on other
Traffic generators as a feature. This adds this feature to the
Trex implementation inside of VSPerf.
JIRA: VSPERF-547
Change-Id: Iaf4d0721b22eb780c25e29295c112d4fcb47b22c
Signed-off-by: Christian Trautman <ctrautma@redhat.com>
|
|
This patch adds support of access to VMs deployed automatically
by deployment scenario (e.g. pvp, pvvp4, etc.). It also modifies
filter for checking output of executed commands to correctly
handle different end of line encodings (i.e. \n vs. \n\r).
JIRA: VSPERF-539
Change-Id: Ifc796d992b90e316bad5853aaefce79e439e294d
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
|
|
It was reported that virtualenv-3.x sometimes uses python2.7 instead of
python3. This update of the python virtual environment creation scripts,
enforces the use of python3 from /usr/bin/python3.
The scripts were tested on fresh installations of each currently
supported Linux OS.
JIRA:VSPERF-551
Change-Id: If909dd9578a3c42b14c1a3e4f9ed7b07a675fb58
Signed-off-by: Richard Elias <richardx.elias@intel.com>
Reviewed-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
|
|
Default versions of DPDK, OVS, VPP and QEMU have been
updated.
VPP socket file configuration is mandatory for VPP 17.10.
Change-Id: I3465161ae9ba9b50dfd90bb19d84f128c72d44ea
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
|
|
Datapath must be removed before vswitch termination.
JIRA: VSPERF-548
Change-Id: I7408ddc1b21e2bc02a44785dca07d9c026bc28c1
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
|
|
|
|
|
|
|
|
In case of SRIOV path to the bind-tool must be known before
NIC driver is re-initialized. It means before TestCase.__init__()
is called.
Change-Id: Ib6fdba233e665144510dd492462c0a21aa19ed71
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
|
|
Adds packet count totals for transmit and receive to reporting
at the end of test execution.
JIRA: VSPERF-546
Change-Id: I51027fae109d0ea794c0db03f5781ddb2fcbb941
Signed-off-by: Christian Trautman <ctrautma@redhat.com>
|