Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
This patch adds docker-compose.yml and related config files
for creating a results container. The container hosts following
services:
1. Barometer Grafana.
2. Barometer Influxdb.
2. ELK Stack.
3. OPNFV TestAPI.
4. Jupyter Notebook with VSPERF testresults-analysis.
Removed dashboard files, which can be obtained from barometer-grafana.
Added comment in tools.rst under pre-deployment
Retained only vpserf-cases and vsperf in cases.json and projects.json
Changed barometer-influxdb to influxdb:latest.
Added README.md file.
Added environment variable setting to disable token for jupyter
JIRA: VSPERF-602
Change-Id: I37a1391a1f34f834ce0d46def75a9f3454e09772
Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
|
|
|
|
This patch adds a tool create config file.
When run, the wizard asks user a set of questions.
A config file, named vsperf.conf, will be created.
Fix some pylint Issues.
JIRA: VSPERF-603
Change-Id: I1b800d8384cb3c0883b7f3859a9df77bb874b7b8
Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
|
|
This patch provides a fix to parameter ordering for imix and live
results. 2 line changes.
JIRA: VSPERF-598
Change-Id: I329b67114d780e0bcc73b128aeafe6e0f25b0621
Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
|
|
This patch adds support to run following commands as 'collector'
1. collectd
2. PROX IRQ Latency
3. CROND (currently to collect ovs-port's CPU-mapping information)
4. Filebeat (send logs to elasticsearch)
Fixed pylint issues
Added description to control prox-runrapid. The use of 'stop' file.
Added a print in print_results.
JIRA: VSPERF-599
Change-Id: I583325ef14ddb0b292e8abddef1518d24b5e52d8
Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
|
|
|
|
This patch adds live-results reporting from STC traffic generator.
STC reports per-port stream results every second. The results are
written to two different files in results folder.
Added configuration filename for stc-liveresults
JIRA: VSPERF-598
Change-Id: I37de6b5f544355e9e0dd42936328551b59afe065
Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
|
|
This patch add live-results from T-Rex TGen.
T-Rex, when live-results enabled, will dump per-second flow-stats
into the results-folder.
Fixed few pylint issues.
JIRA: VSPERF-524
Change-Id: I0caee49c5b34582bbcefbe217028e9e50d40da71
Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
|
|
|
|
This patch adds Imix-Genome support to STC.
1. Imix, of type genome, is included in traffic configuration.
2. The genome is converted to appropriated weights and pkt-sizes.
3. Throughput test is run with imix-configuration.
4. genome configuration is added to results.
5. Added Reporting of Average-Frame-Size - if IMIX is configured.
6. Updated genome comments
7. Clarified the reference to RFC 6985.
JIRA: VSPERF-521
Change-Id: I813efb66338ee1d1320a01ce5e0834180461120c
Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
|
|
This patch affinitizes stressor-vm threads.
The code is reused from vnfs/qemu/qemu.py
Change-Id: I4a525b133bf0799a06d0961379961cfcc89c357a
Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
|
|
The patch adds support to provide Latency histogram from Spirent traffic
generator.
1. 03_traffic.conf: Enable histogram, and set type (default)
2. testcenter.py: If histogram enabled, call the script with right flag.
3. testcenter-rfc2544-rest.py: configure and write histogram to a
separte file in the default results folder.
4. Fix PyLint Errors
5. Adding a patch to test the 'build-error-fix'. Increased the
MAX_MEMSEG of in DPDK-config to 1024
6. Adding MAX_MEMSEG configuration at common_base didn't work.
7. Included packet sizes in the output.
8. Included description under spirent TGen
9. Removed MAX_MEMSEG configuration.
Change-Id: I7787c1768d7ac650f0ce581f17ec78df7a964e31
JIRA: VSPERF-522
Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
|
|
In this patch, following options are added for collectd-metrics storing
1. Collect all the metrics written by collectd into csv file - a tar.gz
file is created. The timestamp is retained in the tar.gz file.
2. Selected metrics are written into a log file.
3. Fix Pylint errors
4. Terminate collectd by PID.
JIRA: VSPERF-588
Change-Id: Ib4d89d3dd6c622066fa0296b4415515fdca12252
Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
|
|
Adds calculations to deal with values greater than 64k by doing
a square root of the multistream value and using two mods
to create the closet possible value that will work within the
current implementation of multistream in VSPerf.
JIRA: VSPERF-575
Change-Id: I9dab4bbac094a394a11ed74fe2cd88fbe7079fc7
Signed-off-by: Christian Trautman <ctrautma@redhat.com>
|
|
|
|
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>
|
|
|
|
|
|
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>
|
|
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>
|
|
|
|
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>
|
|
|
|
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>
|
|
|
|
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>
|
|
|
|
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>
|
|
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>
|
|
- 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>
|
|
|
|
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>
|
|
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>
|
|
|
|
|
|
VSPERF verifies if PATHS to the tools (vSwitch, VNF, etc.)
are valid. This check was modified to take into the account
tools required by selected testcase. It will help to avoid
runtime errors triggered by missing tools, which
are not essential for testcase execution.
Change-Id: Ifcfea983cad1bdbc8c1f08c7a0281001005410df
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>
|
|
|
|
Currently all tools are loaded via loader utility, except load_gen.
Load_gens were loaded directly through component_factory.
This patch adds support to load load_gens through loader utility.
The changes are as follows:
1. Configuration changes:The common.conf include configuration of
directory. testcases.conf includes changes to load configuration,
where tool is no more part of the load-configuration. The
custom.conf has configuration of LOADGEN to be used - this configuration
replaces the earlier 'tool' configuration parameter.
2. loader_utility_changes: In loader.py, loadgen_loader is
defined, which is used in new get_loadgen function.
3. component_factory changes: in create_loadgen, similar
to other tools, the function just retuns the object of loadgen_class.
4. Renaming of Dummy load_gen: Loader fails to load properly a dummy
loadgen due to name-clash with dummy in pkt_gen. To avoid this name clash
dummy is renamed to dummyloadgen.
5. testcase changes: create_loadgen is now called with output of
loader's get_loadgen_class.
6. Fixed Pylint Errors and extra-space at the end.
7. Included CLI options support for --loadgen and --list-loadgens.
Thanks to Martin K.
8. Added the missing loadgen parameter in testcases.conf.
9. Fixed the missing comma error.
10. Added CI change in build-vsperf.sh
11. Fixed configuration reading in stress/stress.py
JIRA: VSPERF-533
Change-Id: I3fbb259618825a12fef55320a748a4f02509190b
Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
|