aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-04-19Merge "sysmetrics/pidstat: monitor all threads"Sridhar Rao2-9/+43
2018-04-19vswitches/ovs: delete bridges on stopJulien Meunier2-15/+4
On stop, remove all created bridges in order to clean the working environment. Moreover, when an OVS bridge is deleted, remove also all attached ports. By the way, as the context manager of OFBridge is never used by the current test implementation and by any OVS vswitches in order to manage their creation/deletion, let's remove this dead code. JIRA: VSPERF-570 Change-Id: I7ce62d56a8a2fe7b45e693f3c2dd91e1b435567c Signed-off-by: Julien Meunier <julien.meunier@6wind.com>
2018-04-16scapy: Load default SCAPY protocolsMartin Klozik2-9/+7
After the fix of SCAPY library import, it was not possible to use some of the network protocols by T-Rex. T-Rex 2.38 uses by default SCAPY 2.3.1 for python3, but it overrides the default set of network protocols loaded by layers/all.py. VSPERF makefile was modified to restore original version of all.py from SCAPY 2.3.1 git repository. Also examples of scapy usage were updated to generate correct traffic with modified scapy version. JIRA: VSPERF-566 Change-Id: Ib9ae3c572e693e86d30eb0467ab9c812fe8f335b 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>
2018-04-11ixia: Bugfixing and burst type enhancementMartin Klozik2-20/+33
A support for proper reporting of "Burst" traffic type was added. Several bugs were fixed: * RFC2544 Throughput - end of search condition was moved to avoid situation, that another iteration is executed but its results dropped * RFC2544 Throughput - pause after each iteration was added to ensure that all frames are cleared from buffers; It improves stability of results. Also "received" values are no longer higher then "sent" values. * VSPERF will report also the number of sent and received frames * VSPERF will correctly process send and received values - they were switched on several places JIRA: VSPERF-149 JIRA: VSPERF-562 Change-Id: I8a5caa6385a1ef86aa4bf4511d2753100ed0ab14 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>
2018-04-11Merge "Doc: Documentation of Additional tools configuration."Martin Klozik3-0/+184
2018-04-11Doc: Documentation of Additional tools configuration.Sridhar K. N. Rao3-0/+184
This patch adds tools.rst under docs/testing/user/configguide. tools.rst include documentation of installing and configuring Collectors, Loadgens and LLC-Cache Management. Changed Interested to Interesting and updated barometer info. Change-Id: Id8de4d25619780636d242a04304696f4093b4c07 Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
2018-04-11Merge "trex: Add support for burst traffic type"Martin Klozik15-63/+162
2018-04-11Merge "trex: Support of SCAPY frame definition"Martin Klozik5-27/+240
2018-04-10sysmetrics/pidstat: monitor all threadsJulien Meunier2-9/+43
Since sysstat commit 52977c479d3d ("Introduce new SP_VALUE_100() macro and use it in pidstat"), pidstat can return a wrong CPU usage for all monitored PIDs. For example, if a process like ovs-vswitchd uses 2 threads, the CPU usage of each thread (TID) is equal to 100%, so the CPU usage of the main process (PID) must be equal at least to 200%. However, with this sysstat commit, the CPU usage is restricted to 100%. It is not possible to change this behavior. Now, pidstat is started in order to monitor all threads created by a process. As the output header has changed, readapt the existing code. In order to fix this issue, only the CPU usage is accumulated with all threads. For all other measures, main process should report correct values. JIRA: VSPERF-569 Change-Id: I98aa94f545d04f4de1b994c420fb5756c6f2a387 Signed-off-by: Julien Meunier <julien.meunier@6wind.com>
2018-04-10Merge "Doc: Release notes for Fraser"Martin Klozik1-0/+67
2018-04-06Doc: Release notes for FraserSridhar K. N. Rao1-0/+67
Added release-notes for Fraser. Updated SLES15 related enhancement Consolidated and sorted the changes. Change-Id: Id6ecea4b3cf3f38aa88c03bc4959b383c944f415 Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
2018-04-05Update Java to version 10 for SLE15Jose Lausuch1-1/+1
Newwer builds contain version 10 already. For version 9, additional tweaks are needed. Change-Id: Ic7d55a80ab48fb45113ee0f1ab9aaa797298b87f Signed-off-by: Jose Lausuch <jalausuch@suse.com>
2018-04-04Add sshpass lib for Suse distrosJose Lausuch3-0/+4
This patch completes https://gerrit.opnfv.org/gerrit/#/c/52191 Change-Id: I35259bdcbdb67237576d7b9b6957266c48f6309f Signed-off-by: Jose Lausuch <jalausuch@suse.com>
2018-04-04scapy: Fix scapy import in XenaMartin Klozik1-3/+0
Remove unnecessary scapy import, which is causing pylint error with recent pylint version. JIRA: VSPERF-566 Change-Id: I082de0e93242486248beaed6822a8d0f30fff7e5 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>
2018-04-03Merge "Fix packages for SLES15"Martin Klozik1-3/+3
2018-04-03Merge "python: Pylint 1.8.2 code conformity"Martin Klozik51-195/+175
2018-04-03Merge "scapy: Fix conflict of scapy libraries"Martin Klozik2-4/+23
2018-04-03Merge "ovs: Configurable arguments of ovs-*ctl"Martin Klozik2-9/+16
2018-03-30conf/testcases: add new continuous testsJulien Meunier1-0/+24
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>
2018-03-29ovs: Configurable arguments of ovs-*ctlMartin Klozik2-9/+16
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>
2018-03-26Fix packages for SLES15Jose Lausuch1-3/+3
Change-Id: Id01c4f76c146a0f0630bf1926ece48aabff0bfa1 Signed-off-by: Jose Lausuch <jalausuch@suse.com>
2018-03-26rhel_epel_fix: Fix installation of spel for sshpassChristian Trautman2-2/+6
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>
2018-03-26scapy: Fix conflict of scapy librariesMartin Klozik2-4/+23
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>
2018-03-23python: Pylint 1.8.2 code conformityRichard Elias51-195/+175
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>
2018-03-22trex: Support of SCAPY frame definitionMartin Klozik5-27/+240
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>
2018-03-22trex: Add support for burst traffic typeMartin Klozik15-63/+162
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>
2018-03-22Merge "trex: Update T-Rex to v2.38"Martin Klozik2-3/+6
2018-03-19vsperf: Performance Matrix functionality supportRichard Elias7-39/+261
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>
2018-03-19trex: Update T-Rex to v2.38Martin Klozik2-3/+6
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>
2018-03-16Merge "pylint: Add pylint into requirements.txt"Martin Klozik13-24/+5
2018-03-16Merge "trex: Tests with T-Rex in VM"Martin Klozik12-4/+230
2018-03-12pylint: Add pylint into requirements.txtMartin Klozik13-24/+5
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>
2018-03-12trex: Tests with T-Rex in VMMartin Klozik12-4/+230
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>
2018-03-07ci: Fix typo in MERGE job definitionMartin Klozik1-1/+1
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>
2018-02-28Xena_Doc_mono_install_update: Update mono install pointerChristian Trautman1-1/+1
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>
2018-02-26Merge "Trex_speed_improvement: Add logic for dealing with high speed cards"Martin Klozik4-4/+81
2018-02-23Trex_speed_improvement: Add logic for dealing with high speed cardsChristian Trautman4-4/+81
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>
2018-02-22Merge "LTD: Expand requirements of Soak/Long Duration Tests"Martin Klozik1-18/+90
2018-02-13Merge "loadgen: Support for Stressor-VMs as a Loadgen"Martin Klozik4-3/+152
2018-02-06python34_update: Updated build scripts for Centos and RHEL to python34Christian Trautman7-46/+42
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>
2018-01-31collector: Support for collectd as one of the collectors.Sridhar K. N. Rao5-1/+1079
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>
2018-01-29LTD: Expand requirements of Soak/Long Duration TestsAl Morton1-18/+90
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>
2018-01-29Merge "llc-management: Support for LLC management with RMD"Martin Klozik5-1/+292
2018-01-22bugfix: Define _EXECUTED_PIDS in config fileMartin Klozik2-5/+5
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>
2018-01-21llc-management: Support for LLC management with RMDSridhar K. N. Rao5-1/+292
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>
2018-01-21loadgen: Support for Stressor-VMs as a LoadgenSridhar K. N. Rao4-3/+152
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>
2018-01-19Merge "documentation: Traffic Capture methods"Martin Klozik2-0/+298
2018-01-19Merge "trex: Improve error handling"Martin Klozik2-3/+12
2018-01-18trex: Improve error handlingMartin Klozik2-3/+12
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>
2018-01-18ixia: Add support of LISTs in TRAFFICMartin Klozik2-0/+16
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>