aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python
AgeCommit message (Collapse)AuthorFilesLines
2019-09-24Add support for HDRhistogramVratko Polak1-2/+2
+ Enable hdrh in trex server. + Append hdrh coded output after min/avg/max/. + Read (not show nor decode) hdrh value in PAL. + Also, remove old ndrpdrdisc code. Change-Id: I99d99f10386a621772b5419ca1f36080fa15aca7 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-09-24Reconf tests: Fix async measurementsVratko Polak1-9/+38
TRex does not zero the server counters. It copies the values to use as reference, and subtracts them when asked for results. But the reference is stored in the client (not the server). And CSIT uses different scripts to start and stop async traffic, which means different clients. This patch introduces a workaround. Async start will return xstats objects to use as reference, and async stop will use the objects to compute the correct results. The xstats objects are stored in TrafficGenerator instance. Sync measurement does not export the counters, to shorten logs. Other improvements: + Make stop_traffic_on_tg return measurement results directly. + Rename --async to --async_start as "async" is reserved in Python 3.7 + Minor pylint, docstring and typo fixes. Change-Id: I5fc56a0763afb7d62cfa7c0651f96b6867de3e15 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-09-19CSIT-1597 API cleanup: copJan Gelety1-40/+31
cover API changes in VPP: https://gerrit.fd.io/r/c/vpp/+/21458 Change-Id: I596cfcd192bf48b0d0a91b1953746a484e2c9793 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-09-18Fix errors found by pylintVratko Polak2-7/+6
Change-Id: I0c2bee5a1ff8ad29e47c4f947388e7b97dd17fff Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-09-17Update CRC list and support 21997/7Vratko Polak4-20/+26
- Attempt to repair IPsec LispGpe perf suite. + Collection name to reflect the current stable vpp. + Add messages found in CSIT L1 keywords. - Uncommented (instead of deleted) untestable messages. Reasons: - Honeycomb. - Messages used by unused keywords. + Listed reasons. Honeycomb not mentioned if both reasons apply. + Delete CRC items for commands not found in keywords anymore. + Add CRCs from .json.api files (as teardown is hard to execute). + Define and restore alphabetical order. + Add hints to find used API commands (not entirely reliable). + Move used commands to "cmd = " form so hints find them. + Argument to run_cli_command changed from "cmd" to "cli_cmd". + Except also struct.error where IOError is excepted. Change-Id: I61058dbe1e33296908aabd0c13433bb16cfa6adf Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-09-13FIX: Pylint + Container mountPeter Mikus3-11/+15
- Mount is affecting only LXC container Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I84140ea5e48120792fc84182a97eb7d06c954a84
2019-09-13CRC checker: Sort and indent dict outputVratko Polak1-15/+18
Also, use double quotes, so the dict is shown not only as a valid Python code, but also a valid JSON. This should make it easier to handle big CRC changes such as: https://logs.fd.io/production/vex-yul-rot-jenkins-1 /vpp-csit-verify-api-crc-master/646/console.log.gz + Log indented message about CRC conflict to console even on failure, as in the exception, endlines are escaped. Change-Id: If4fe3003f612d4b0c156004a0aa2dab088e50723 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-09-12Support unidirection in all searchesVratko Polak1-29/+54
+ Rename bool unidirection to int traffic_directions. + Rename "untagged" to "initial" for bandwidth calculation. + Fix latency measurement for unidirectional traffic. + Remove duplicate colon in soak test message. + Edit PAL to accept both forms. + Fix minor documentation issues. Change-Id: I6c76f2dc090ae493f2fbd7e9ccd45229d2306dea Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-09-12Skip CRC checking by defaultVratko Polak1-1/+1
During https://gerrit.fd.io/r/c/ci-management/+/21955 we decided this new default is more convenient for development. Change-Id: I07f10cbb586e79f6ac714ad635dda35561c07125 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-09-12TRex: 2.61Peter Mikus2-5/+3
- HDRhistogram can be rebased and used in separate patch. Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: Ic7ce752344c6e1791af7cf7b7effde65ac2be680
2019-09-11Revert "API cleanup: tap" and bump stable_vppVratko Polak1-34/+22
The VPP change got a temporary -1, as other change has higher priority. Bumping stable VPP version, so this passes verify right away. This reverts commit ae62a4348f7de53cfb91a5ae25a10723d5f9b398. Change-Id: If2813b0e41451a3a9e7f8b1512521cf508ac92c7 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-09-11CSIT-1597 API cleanup: tapJan Gelety1-22/+34
cover API changes in VPP: https://gerrit.fd.io/r/c/vpp/+/21706 Change-Id: I16b3e3e29e7e7491cd19c067e8f3d8ced4947852 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-09-11CSIT-1597: API cleanup: bondJan Gelety1-44/+36
Change-Id: I7c2a29cfe48eee521cce5fcc3506cef39d51d37b Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-09-11Ansible: Trex installationPeter Mikus1-7/+0
Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I5ab8fe05074a842301a511bbd3ab5e67f8d1a9f0
2019-09-10Refactor getting telemetryPeter Mikus5-204/+230
+ Ability to get stats from CNF via SocketPAPI - Remove obsolete functions Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I4d1b32a7279244592be96644e4f8a530c4f29a15
2019-09-04API cleanup: memifJan Gelety1-5/+8
Change-Id: I4a2d4719dfa7c993c54b278a0093ea833307bb87 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-09-06Read environment variables in Constants.pyVratko Polak3-18/+121
Instead of using EnsureGlobalVariable, which is clunky to use from Python. As a consequence, all caps variables from Constants.py are used directly and tests/__init__.robot and robot_enhancements.robot are deleted. + Rename the CRC global kill switch based on ci-man review. Change-Id: I10723792475bc83352bf8c3b7f7946ecf885a194 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-09-05Allow CRC checking to be controlled via env varVratko Polak1-2/+15
The plan is to override the default in some (but not all) jobs. The csit-vpp jobs shall do the checking, but vpp-csit jobs shall not (except api-crc job of course) in order to confirm benign changes. Change-Id: If59d17991de3fb0e847113a87e0533a8ee62af7f Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-09-05FIX: Use vhost macs when testpmd_mac forwarding used in VMJan Gelety1-5/+13
Change-Id: I291c3dc852e7c1bde6fb6102a9168cfec9992682 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-09-04Clarify why 9000B tests are skipped for IPsecVratko Polak1-1/+2
Ticket: VPP-1207 Change-Id: I506b4a24dfa6b10578407b261926f37215a714f4 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-08-27Delete unused SR keywordsVratko Polak1-80/+1
Trim both Python (L1) and Robot (L2) keywords, as no test performs SR related deletions. Change-Id: Ic76d870c3f58e927ea222b350e149d0770985072 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-08-27- Removed 9000B test cases from ipsec test suites.Ludovit Mikula1-0/+3
- Added new traffic profiles. Signed-off-by: Ludovit Mikula <ludovit.mikula@pantheon.tech> Change-Id: Ie06b7a1cf4d9df403d098b7a495219fd95e5869e
2019-08-27Stop using SSH() in TrafficGenerator.pyVratko Polak2-49/+34
This is a partial fix for: Ticket: CSIT-1434 and should fix one pylint violation. Many files to remove SSH() from remain. + Use -E (together with previous -S) in ssh.py when sudo=True. Needed in some cases, no downsides expected. Change-Id: Ie2ad03b3c656a4d3965a61a1e5435276f99a28c0 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-08-23Introduce reconfig suites, for dot1q+ip4+vxlanVratko Polak2-74/+165
Ticket: CSIT-1551 + Config copied from other suites. + Layer keywords prepared for additional chains. + Renamed "create" argument to "vlan_per_chain". + TrafficGenerator result extraction improvements. + Also unified TG type and subtype checking. + Throughput estimated as PDR for zero PLR. + Actual Qemu start is skipped. + Parse xstats instead of stats in trex stop scipt. - Because stats are unconditionally cleared on each script connect. + Remember start values to get better ReceiveMeasurementResult at stop. + Expose loss count and time as appropriate test message. + Autogen support. + Multiple chain amounts and core densities. - Only 1 additional chain. + Proper TAGs. Documented. + Clarified min framesize tags are for TG-DUT. + Added a TODO concerning overhead values. + Added 118B tag. + Robot performance keywords improvements. + Added missing return value documentation. + Frame size as required test variable, not an explicit argument. + MLRsearch keyword to store result (not into test message). - TODO: De-duplicate: main keyword to measure, minor to set test message. - But implementation uses the fact default arguments are different. + Keywords for starting and stopping background traffic. - No checks whether start-stop pair is complete. + Multiple minor indentation and logging improvements. - Missing / TODOs: - Support also vlan_per_chain=True? - Support dot1q without vxlan? - Support also deletion? - How to package config steps so -reconf can be generated from -ndrpdr? Change-Id: If0270697f9ffa837c34ef802917220a53f156703 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-08-23Improve PLRsearch yet againVratko Polak5-50/+166
Logic improvements for rls1908 and post-pylint fixes: + Reduce search time to 30 minutes. + Use average instead alternating loads. + Rework log/exp avg/stdev from two estimates. + Introduce and use pessimistic variance of dual trackers. + Introduce safe_exp to use when None does not skip code. + Use dot relative imports (instead of disabling pylint). + Complete docstrings for simpler functions. + Append docstrings to named tuples. + Somewhat unify docstrings related to the same arguments. + Slightly improve intentation. + State named tuples as rtype where used. + Add returns and rtype to __repr__ where missing. + Return what docstring say (or update them). + Explicit copying for vector and matrix values. Change-Id: I884c68b4839c5df5e8bef95e463666599603a0ff Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-08-21Framework: simplify CpuUtilsMiroslav Los1-34/+26
Signed-off-by: Miroslav Los <miroslav.los@pantheon.tech> Change-Id: I7682d802f405070e34f72bc4a80cbe6a63b03619
2019-08-20Interface API cleanupJan Gelety5-97/+214
CSIT code alignment with API changes in VPP introduced by patch https://gerrit.fd.io/r/c/vpp/+/18361 Change-Id: Ib0357bba79f55d297ef1086fbf3b760caca16cdb Signed-off-by: Jan Gelety <jgelety@cisco.com> Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-08-19Autogen: Create NICs for TCP suites.Vratko Polak4-257/+281
+ Put Regenerator internal functions ourside class. + Duplicate into _default_ and _tcp_ functions. + Rework Testcase to be a single class with two factories. + Improve suite and testcase naming. Change-Id: I1f835b576c476c1a40c8c52469b1876695f9ae73 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-08-19Framework: MLRSearch refactor of ndrpdrMiroslav Los1-100/+179
Signed-off-by: Miroslav Los <miroslav.los@pantheon.tech> Change-Id: I86bc69f8b2f38b58cb3eb030bec7d0ce5c79d040
2019-08-19Framework: Refactor complex functions in PLRSearchMiroslav Los2-49/+68
Signed-off-by: Miroslav Los <miroslav.los@pantheon.tech> Change-Id: Ie2f19a2e3b37e8d85656ab31ece59b89c76bea25
2019-08-19Write DPDK version to logTibor Frank1-1/+1
Change-Id: Ia9ec0d420c8db9e71234f74e4013c21d039931b2 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2019-08-14FIX: Remove eth_avf and portX_vifY interfaces from topo in TC/TS tear downJan Gelety2-4/+33
Change-Id: I90901c4ab14dfa76dc3e1f786a4b986479e0ba47 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-08-15Add testbed info to output_info.xmlTibor Frank1-2/+3
Change-Id: I2ff45926a754647c1be6263cf8e5e0c7cbfedfef Signed-off-by: Tibor Frank <tifrank@cisco.com>
2019-08-15Reduce disabled pylint to address them not hidePeter Mikus5-27/+10
+ Fixed Qemu - Broad Exception should be addressed - Policer is about to be refactored - Drop search to be refactored Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I97eb992497ff6334057bf82a0f413387706e17fd
2019-08-15FIX: VM startup after socket movePeter Mikus1-1/+0
+ Still workaround for VPP bug not creating dir at startup Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I8b87ac70e5f85d538a25058dcb5453f89e21498f
2019-08-14VAT-to-PAPI: Fix HTTP/TCP testsDave Wallace2-27/+37
Change-Id: Ie728bc73eb7429d246e82dd195fc63191c3ac51d Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-08-14DO_NOT_MERGE CSIT-1194 - Framework easy pylint improvementsMiroslav Los7-14/+16
- force a python2 environment in tox for pylint - let pylint load some compiled modules for member checking - allow locally enabled pylint rules - ignore bad enum names - ignore complexity for code to be refactored by other tickets - broad excepts are acceptable sometimes Signed-off-by: Miroslav Los <miroslav.los@pantheon.tech> Change-Id: If4c3a1b85e8609f074e1de8ce91fc9c4fedbeb38
2019-08-14Revert "Disable CRC checking at runtime"Vratko Polak3-49/+56
Needed to verify CSIT expects the correct CRCs. This reverts commit d541b2b7d99651b53bd21ff75cd5fdacf8472a98. This reverts commit 2dd27f5a638b5231c0f074ca61e6b67fed9d1faf. + Some pylint related improvements since then. + Less and better documented caching to class fields. + Global kill switch in Constants. Change-Id: Id459800744cd93c578eab9c2e84cb9528235b064 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-08-14Add show memory to show_vpp_statisticsVratko Polak1-0/+13
https://lists.fd.io/g/csit-dev/message/2867 Change-Id: I8934218f2ccac9a458cec37e71e403db7d49281c Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-08-13PAL: Get DPDK VersionTibor Frank1-8/+12
- Needed for trending Change-Id: I3d576e39d6e3b91821050fbd4a8a95380275797b Signed-off-by: Tibor Frank <tifrank@cisco.com>
2019-08-13FIX: Vhost tests in latest VPP nightlyPeter Mikus1-0/+1
Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I26ec27b00e5cd48143a2389f2ff41ed876a7a013
2019-08-13Add testbed info to output_info.xmlTibor Frank1-1/+3
- Needed for trending Change-Id: I59fc115ce62d1ad839e7c8a39c74af0497b9012d Signed-off-by: Tibor Frank <tifrank@cisco.com>
2019-08-07FIX: macip_acl_rule needs binary mac dataJan Gelety1-2/+2
Change-Id: I0d26b2b31f0ce7497c91b4ae965f9cc45a66ef0c Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-08-09Bump VPP stable version: socksvrVratko Polak3-4/+8
VPP changed the default socket path in: https://gerrit.fd.io/r/c/vpp/+/21100 Instead of "default", explicit value is used now. It coincides with VPP default one, and is stored in Constants.py (except documentation). The file name for robot side forwarded socket remains, as the path leading to is is different anyway. Change-Id: I0058d16794a3cd04411640c2c8d5fd4ee8cb997d Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-08-08Fix: Deep-copy arguments in papi executorsVratko Polak1-4/+9
Without this, it is not safe to re-use the original argument dicts with additional edits for subsequent commands. Change-Id: Ib4f67d09e6bf7438dfdf7669263957a42c8d4dbe Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-08-07FIX: PylintPeter Mikus5-80/+71
- my bad Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I8c1f57f6b648b99338f3f6a6ff9ec943082e9bc4
2019-08-07FIX: IPsecUtil - create IP object separately in ever iterationJan Gelety1-33/+24
- if we are trying to update ip field of already existing IP object in more iterations of e.g. ip_route_add_del the PapiExecutor uses value from last iteration for all iterations so it ends up in creation of ip route only for one IP not for all required IPs Change-Id: I5ffa622e2a06d0c5c71720d2cf743a4c2104ab79 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-08-07FIX: Remove PAPI_MAX_API_BULKJan Gelety3-11/+0
- it's not needed anymore as PapiSocketExecutor is used Change-Id: Ia9fad1d18991821d14e9261d27f7f26fca03c14a Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-08-07CSIT-1473: Migrate Tap library from VAT to PAPIJan Gelety2-250/+170
Change-Id: Ibf4a4839c2e8b799b03eebd9dffae891d8f00dd4 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-08-06Add: Dot1Q + L2BD + GBPPeter Mikus4-7/+372
Change-Id: I0050f715011ecfa92b3ee88b301809a56abb7946 Signed-off-by: Peter Mikus <pmikus@cisco.com>