Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
|
|
Add new tests with continuous stream (multiple streams and VLAN) in
order to measure the throughput of a vSwitch at the line rate.
JIRA: VSPERF-568
Change-Id: I0e302ab611ba417cfb0a752e49de3212cb773a24
Signed-off-by: Julien Meunier <julien.meunier@6wind.com>
|
|
This patch introduces new configuration parameters OVS_OFCTL_ARGS,
OVS_VSCTL_ARGS and OVS_APPCTL_ARGS, which specify default arguments
passed to respective ovs-*ctl tools. So user can specify default
arguments passed to these tools inside configuration file, testcase
parameters or by --test-params option. For example OVS_OFCTL_ARGS
can be modified to use different OpenFlow version by default.
JIRA: VSPERF-567
Change-Id: Ie7448ea94a54b8044af12d0246d66514e057b7dc
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>
|
|
Change-Id: Id01c4f76c146a0f0630bf1926ece48aabff0bfa1
Signed-off-by: Jose Lausuch <jalausuch@suse.com>
|
|
RHEL does not have an epel-release package available from default repos.
Removes this install to use fedora epel release to allow sshpass to install
correctly.
Change-Id: Ie313857420cb4eb2342128b5d11e769670ae70a0
Signed-off-by: Christian Trautman <ctrautma@redhat.com>
|
|
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>
|
|
Updated master Python scripts to conform to the newer pylint
1.8.2 standard.
JIRA: VSPERF-563
Change-Id: I19305a008a2e22c2f4841aa83fed85fbdc2d549c
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>
|
|
T-Rex implementation in vsperf was improved to support:
* SCAPY frame definition, so additional network protocols
can be generated by T-Rex and sent towards DUT
* VLAN configuration defined by TRAFFIC['vlan']
* enable or disable L2, L3, L4 and VLAN protocols
as configured by TRAFFIC dictionary
VSPERF documentation was updated with examples of SCAPY
frame definition usage.
JIRA: VSPERF-565
Change-Id: Iff9baba47a1e83d321f6ba3c1c482965b9882241
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>
|
|
Support for burst traffic type was added into T-Rex. This
traffic type is useful for tests, where a limited number
of frames should be sent through DUT.
JIRA: VSPERF-562
Change-Id: I03b7150e66a0210cce91b20c751b8624c16f951b
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>
|
|
|
|
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>
|