aboutsummaryrefslogtreecommitdiffstats
path: root/tools
AgeCommit message (Collapse)AuthorFilesLines
2020-10-15Merge "Tools: Add monitoring analysis jupyter notebook"Sridhar Rao3-0/+2341
2020-10-14Merge changes from topic "tools-patch1"Sridhar Rao42-0/+5246
* changes: Docs: Add monitoring cluster related documentation Tools: Add K8s monitoring cluster
2020-09-17Tools: Add K8s monitoring clusterAditya Srivastava47-0/+5321
This patch adds k8s monitoring cluster deployment using ansible for both client and server side. Also adds scripts (ansible roles) to clean (remove) the K8S cluster completely. Signed-off-by: Aditya Srivastava <adityasrivastava301199@gmail.com> Change-Id: I1115869c0a3e72a20047b31994f3d27e5fdae6c6
2020-09-04LMA: Deployment of LMA solution.(ansible)adi050937-0/+2802
Ansible playbooks for LMA deployment Signed-off-by: Adarsh Yadav <adiyadav0509@gmail.com> Change-Id: I3ab71e139bc1668577506fb996105a834a9c3c65
2020-08-24Tools: Add monitoring analysis jupyter notebookAditya Srivastava3-0/+2341
This patch adds 2 monitoring jupyter notebooks and 1 notebook combining both logs and metrics causation analysis. Causation analysis: Finds anomalies in logs and fetchs and analyses metrics in a delta time range of that timestamp. Analysis-Monitoring-K8S: Fetches metrics from prometheus to analyse them Analysis-Monitoring-Local: Data folder containing csv files of metrics is given, analysis is performed on that data. Signed-off-by: Aditya Srivastava <adityasrivastava301199@gmail.com> Change-Id: I8833f5155b3184f697fac5270c69e0df02d2986b
2020-07-22Merge "TOOLS: Ansible Playbook for Deployed Kubernetes Cluster."Sridhar Rao31-0/+1621
2020-07-21TOOLS: Ansible Playbook for Deployed Kubernetes Cluster.EmanueleUrselli31-0/+1621
This patch adds ansible playbooks for cluster deployment. Change-Id: Icf58b0ad0dec7098bff14c3f3c6666c35c242081 Signed-off-by: Emanuele Urselli <urselliemanuele@icloud.com> Signed-off-by: Parth Yadav<parthyadav3105@gmail.com>
2020-07-15PKT_GEN: Trex with Loss-Verificationopensource-tnbt1-0/+14
This patch adds binary-search loss verification to t-rex. Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com> Change-Id: Ie9b66f3149d4363840455ec1530885b23c3fc183
2020-05-24Tools: Dockerfile to run VSPERF in a Container.opensource-tnbt1-0/+37
This patch adds a dockerfile to run VSPERF in a container. This version can run VSPERF in Trafficgen mode ONLY. Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com> Change-Id: Ie5300b52c7358854c3facf65185ec03f2a5e0dc7
2020-04-03Ixia Live ResultsAncuta Enache1-20/+56
This patch collects Ixia live results and copy the results file from generator machine to local server 1. Traffic Item Statistics are collected during traffic running 2. Results file is copied from traffic generator machine to local server 3. Fixed pylint errors and made b2b test running working 4. Replacing sleeping times with traffic state verifications JIRA: VSPERF-609 Signed-off-by: Ancuta Enache <ancuta.enache@keysight.com> Change-Id: I351c3a5435a71acfd1b6bc85bc6c0731d2529cd8
2020-02-26Merge "Support: Container Metrics collection and Visualization"Sridhar Rao3-0/+1526
2020-02-19Support: Container Metrics collection and VisualizationParth Yadav3-0/+1526
A. Collector: Add cAdvisor Collector This patch adds supports for Container Metrics collection using cAdvisor. The collector: 1. Pushes metrics to InfluxDB storage 2. Stores metrics locally in Result Dir 3. Implements print_results() for metric summary 4. Is configurable from 05_collector.conf B. Docker: Grafana Dashboard This patch also adds JSON file for Grafana Dashboard for Container Metrics Signed-off-by: Parth Yadav <parth.yadav@ramanujan.du.ac.in> Change-Id: I7c39d4e1a7a46d3a499a241e618bd0da7eed53a8
2020-01-15Tools: Jupyter Notebook Bug-fixes and Update.opensource-tnbt3-19/+23
Separate volume for Jupyter Data is created. Results will be stored in that volume. Notebook is updated to use the volume. Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com> Change-Id: I2a359d64cf3d4281686d4d3c3d6f3ee6587c1e13
2019-12-01Tools: Deployment and TestControl ContainersSridhar K. N. Rao35-0/+4085
This patch add containerization of VSPERF support. The patch facilitates creation of 4 containers: 1. Interactive Deployment 2. Auto Deployment 3. Interactive TestControl 4. Auto TestControl. The patch also includes a minimal client to work with interactive containers. The docs folder provides detailed documentation. Fixed pylint errors in libs folder. Removed proto built python files, and added the build process in prepare.sh. Stability improvements for Auto versions of deployment and testcontrol. Enhance client with 'mode' feature, where client can run either to do only deploy/only test or both. Add sample configuration file for client Fixed few typos - as suggested by AL. JIRA: VSPERF-594 Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com> Change-Id: Id40b02960f71a7f9183d9a53955e2483117fb9e2
2019-08-07Merge "Docker: VSPERF Results Container."Sridhar Rao11-0/+1452
2019-07-30Docker: VSPERF Results Container.Sridhar K. N. Rao11-0/+1452
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>
2019-07-29Merge "CONFIG: VSPERF Config-file Generation Wizard."Sridhar Rao3-0/+972
2019-06-12CONFIG: VSPERF Config-file Generation Wizard.Sridhar K. N. Rao3-0/+972
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>
2019-05-27pkt_gen: Bug-fix in Spirent testcenter parameter ordering.Sridhar K. N. Rao1-2/+4
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>
2019-03-29Collector: Add Multi-command collector.Sridhar K. N. Rao2-0/+155
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>
2019-03-19Merge "pkt_gen: STC- Live Results Support"Sridhar Rao2-4/+132
2019-02-20pkt_gen: STC- Live Results SupportSridhar K. N. Rao2-4/+132
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>
2019-02-20pkt_gen: T-Rex Live ResultsSridhar K. N. Rao1-1/+66
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>
2019-02-15Merge "pkt_gen: STC - Imix Genome Support"Sridhar Rao2-5/+50
2019-01-21pkt_gen: STC - Imix Genome SupportSridhar K. N. Rao2-5/+50
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>
2018-12-05loadgen: Affinitize Stressor-VM Threads.Sridhar K. N. Rao1-1/+40
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>
2018-11-03Results: Default latency-histrogram with Spirent TestCenterSridhar K. N. Rao2-5/+101
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>
2018-07-27Collectd: Additional metrics storing optionsSridhar K. N. Rao1-3/+32
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>
2018-06-18Xena_Flow_Fix: Fixes multistream of greater than 64k valuesChristian Trautman3-71/+203
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>
2018-04-19Merge "sysmetrics/pidstat: monitor all threads"Sridhar Rao2-9/+43
2018-04-11ixia: Bugfixing and burst type enhancementMartin Klozik1-10/+15
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 "trex: Add support for burst traffic type"Martin Klozik8-52/+102
2018-04-11Merge "trex: Support of SCAPY frame definition"Martin Klozik1-26/+84
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-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 "python: Pylint 1.8.2 code conformity"Martin Klozik20-82/+72
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 Elias20-82/+72
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 Klozik1-26/+84
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 Klozik8-52/+102
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-19vsperf: Performance Matrix functionality supportRichard Elias1-0/+4
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-02-26Merge "Trex_speed_improvement: Add logic for dealing with high speed cards"Martin Klozik1-4/+49
2018-02-23Trex_speed_improvement: Add logic for dealing with high speed cardsChristian Trautman1-4/+49
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-13Merge "loadgen: Support for Stressor-VMs as a Loadgen"Martin Klozik2-0/+133
2018-01-31collector: Support for collectd as one of the collectors.Sridhar K. N. Rao3-0/+1051
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-29Merge "llc-management: Support for LLC management with RMD"Martin Klozik2-0/+215
2018-01-22bugfix: Define _EXECUTED_PIDS in config fileMartin Klozik1-5/+2
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. Rao2-0/+215
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. Rao2-0/+133
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 "trex: Improve error handling"Martin Klozik1-3/+8