aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python/InterfaceUtil.py
AgeCommit message (Collapse)AuthorFilesLines
2019-10-30Framework: Add show log as tear down actionPeter Mikus1-0/+3
+ We can see what is happening when debug level is increased + Big caveat of VPP is that it does not allow to configure default global level. Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I5ea1a618161cdb3170cab022d7451e52271f83c0
2019-10-25ADD: Mellanox RDMA interface supportPeter Mikus1-3/+54
+ Add functions for creating rdma interface + Fix traffic generator Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I81787b72ff5ee926ed652d350888c4f86da766f1
2019-10-04FIX: use int of sw_if_index in call of sw_interface_set_flags apiJan Gelety1-1/+1
- it will avoid situation that corresponding port is not up and its sw_if_index value in topology file is None that is interpreted as 0 in vpp api so it set flag for local0 interface Change-Id: I9145077d787ddde50a29bcd4091035e95077f946 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-08-20Interface API cleanupJan Gelety1-30/+110
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-14FIX: Remove eth_avf and portX_vifY interfaces from topo in TC/TS tear downJan Gelety1-3/+3
Change-Id: I90901c4ab14dfa76dc3e1f786a4b986479e0ba47 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-08-14DO_NOT_MERGE CSIT-1194 - Framework easy pylint improvementsMiroslav Los1-1/+1
- 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-07FIX: PylintPeter Mikus1-4/+2
- my bad Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I8c1f57f6b648b99338f3f6a6ff9ec943082e9bc4
2019-08-07CSIT-1473: Migrate Tap library from VAT to PAPIJan Gelety1-132/+79
Change-Id: Ibf4a4839c2e8b799b03eebd9dffae891d8f00dd4 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-08-06Add: Dot1Q + L2BD + GBPPeter Mikus1-2/+7
Change-Id: I0050f715011ecfa92b3ee88b301809a56abb7946 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-07-29Fix logic error in AVF compatibility checkVratko Polak1-3/+4
Change-Id: I7f1b47725648c8c26e21f42c305395ad620beea6 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-07-26Change: AVF can run also on i40evfPeter Mikus1-2/+2
Change-Id: I375b7c9f8fe81428cb16fea35128bddec089da1b Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-07-24NF_density dot1qip4udpvxlanPeter Mikus1-5/+32
+ NF_density compatible + Baseline VM tests compatible + Scalability NxM - 3n variant is missing in VXLAN and DOT1Q due to requests to have it asymmetrical - TODO Change-Id: Ia817d7be00622b594b451bc07756240d1a379e04 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-07-17Use PapiSocketProvider for most PAPI callsVratko Polak1-23/+23
Ticket: CSIT-1541 Ticket: VPP-1722 Ticket: CSIT-1546 + Increase timeout to hide x520 slownes of show hardware detail. - Install sshpass and update ssh client in virl bootstrap. + Added TODOs to remove when CSIT-1546 is fixed. + Enable default socksvr on any startup conf. + Improve OptionString init and repr. - The non-socket executor still kept for stats. + Remove everything unrelated to stats from non-socket executor. - Remove some debug-loooking calls to avoid failures. TODO: Introduce proper parsing to the affected keywords. + Reduce logging from PAPI code to level INFO. - Needs https://gerrit.fd.io/r/20660 to fully work. + Change default values for LocalExecution.run() + Return code check enabled by default. Code is more readable when rc!=0 is allowed explicitly, and the test code will now detect unexpected failures. + Logging disabled by default. Output XML is large already. Important logging can be enabled explicitly. + Restore alphabetical order in common.sh functions. Change-Id: I05882cb6b620ad14638f7404b5ad38c7a5de9e6c Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-07-12PapiExecutor always verifiesVratko Polak1-151/+102
Do not support returning unverified replies anymore. Basically, ".get_replies().verify_replies()" is now just ".get_replies()". This allows fairly large simplifications both at call sites and in PapiExecutor.py + Rename get_dumps to get_details. + Introduce get_reply and get_sw_if_index. + Rename variables holding get_*() value, + e.g. get_stats() value is stored to variable named "stats". + Rename "item" of subsequent loop to hint the type instead. + Rename "details" function argument to "verbose". + Process reply details in place, instead of building new list. - Except hybrid blocks which can return both list or single item. - Except human readable text building blocks. + Rename most similar names to sw_if_index. - Except "vpp_sw_index" and some function names. + Use single run_cli_cmd from PapiExecutor. + Do not chain methods over multiple lines. + Small space gain is not worth readability loss. + Include minor code and docstrings improvement. + Add some TODOs. Change-Id: Ib2110a3d2101a74d5837baab3a58dc46aafc6ce3 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-07-10Tolerate failures when setting MTUVratko Polak1-3/+8
Because some NICs are known to not allow jumbo frames. Change-Id: I45fe636e3a880c6640922468c170f50e85dd2ba2 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-07-09CSIT-1539 Aligning FUNC/PERF keywords - Phase IIIPeter Mikus1-0/+2
Change-Id: Ibd3e99390bf004173d3d126946b95ffe9ba8f196 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-06-19FIX: VXLAN scale testsJan Gelety1-293/+7
Change-Id: I9287d5ed6d7876b98add3fb3d523e9764094843b Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-06-25Align suite/test teardown/setupPeter Mikus1-3/+0
+ Phase II - aligning FUNC/PERF setup. + 2n/3n compatibility of suite setup. + Same structure of testcase for DEV/PERF. + DEVICE tests are now running VPP startup config in same way as PERF. + DEVICE is using COREKEEPER! - DEVICE tests are running topology compute twice for backward compatibility. TODO to remove. - Still phase III needed to align TAGS, LIBRARIES and remove OLD setup phase. Change-Id: Ib6e1b0ebf4abebf3cbe73b4fda5cac953c2a7270 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-06-18CSIT-1459: Migrate IP libraries from VAT to PAPIJan Gelety1-144/+0
Change-Id: Id84cf9c3afd53260b5bbf658a6a3870aa0c91333 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-06-14Add hsw drivers to topology and check against AVFVratko Polak1-0/+5
Change-Id: Ifcc1dcdb3a0b4a7c62e4a41e5b3d016b276e93be Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-05-31CSIT-1468: InterfaceUtil migration from VAT to PAPIJan Gelety1-486/+855
Change-Id: I0062710d58996be767a852dc00545fedd60a5c72 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-05-15Update of VPP_STABLE_VER files + quick fix for gre create tunnelJan Gelety1-19/+33
- use new vpp ref build - ubuntu 16.04: 19.08-rc0~212-gf6c7aec~b7060 - use new vpp ref build - ubuntu 18.04: 19.08-rc0~212-gf6c7aec95 - use new vpp ref build - centos7: 19.08-rc0~212_gf6c7aec~b6916 Change-Id: Ifd042fae1a46b07a5f463309f2b9cceb8054412f Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-04-17Clean up traffic_profile vs osi_layerVratko Polak1-7/+4
The two types were not well distinguished before. Error introduced in: https://gerrit.fd.io/r/#/c/17811/84/resources/libraries/robot/performance/performance_setup.robot@255 Error hotfixed in: https://gerrit.fd.io/r/#/c/18847/4/resources/libraries/robot/shared/default.robot@109 + Rename some arguments and improve method docstrings. Newly introduced argument name osi_layer should be dissimilar enough. Change-Id: Ie0f6f97dc010fc6477f09c54574970f1d15462e2 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-04-11Add notes for traffic_type argumentVratko Polak1-0/+2
To make this gerrit comment permanently visible in code: https://gerrit.fd.io/r/#/c/17811/50/resources/libraries/python/InterfaceUtil.py@1335 Change-Id: I2b763d88fcc8186c9479a0f0c3336d8eeb8aed95 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-04-08Upgrade autogen to NICs and search typesVratko Polak1-4/+6
+ All perf suites updated, as autogen change is backward incompatible. + Only x710 -ndrpdr suites remain in git repository. + Removed retry feature of run_tests. + Renamed topology_type and traffic_type to traffic_profile. + Renamed framesize to frame_size; nic_model to nic_name. + Reordered Variables table to start with nic_name and overhead. + Fixed wrong overhead value in some cbc-sha1 suites. + Fixed some suite tags. ++ Introduced tags to distinguish suites, such as IPSECINT. + Bound crypto hardware to NIC name. + Implemented NIC limit hiding. + Also search and teardown related arguments are now hidden. + Main measurement keywords updated to new arg handling. + Max rate related keywords moved to performance_limits.robot + Teardowns unified. + Generated tests are archived. ++ Generated directory is .gitignore-d. + Regenerator raises an exception on seeing non-compatible suite. ++ Relatively helpful message should be seen in exception. + Suite and template Documentation has generated parts. +- With short NIC names only. + Autogen checker also upgraded. + Tag expressions replaced with long files to ensure analogous tests. Change-Id: I60e9a999187e7da1f60d0eb4fb02afa14682aa46 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-03-27CSIT-1460: Add VPP-stats to PAPI ProviderTibor Frank1-3/+4
Change-Id: I2665700a4948c481585d66c987f94af748f102c3 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2019-03-06CSIT-1450: PAPI executorVratko Polak1-48/+28
Change-Id: I4c756cc4b29901184594a728f6184c30cadd9c1a Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-02-08FIX: Memif APIPeter Mikus1-2/+8
Change-Id: If755c06935a525c7a312e63f32f6035f08fdb893 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-02-04CSIT-1411 Implement manual rx-placement override for bug in VPPPeter Mikus1-0/+109
Change-Id: Ie3d2b1f40a607ce5190ccfea6a372bc072d0a3b9 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2018-10-25CSIT-1339 Create initial l2xc testPeter Mikus1-6/+11
- L2XC ping ICMPv4/ICMPv6 test Change-Id: I1c1708e8c1050f140a02d56012f63b683fc3eec1 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2018-10-10Add VXLAN scale perf testsJan Gelety1-25/+258
Jira: CSIT-1273 Change-Id: Ic2a41661c158384a5aaa7d4e73f30ffca13ddf82 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2018-10-02CSIT-1325 - FIX: AVF tests failing on unbindPeter Mikus1-1/+1
Currently there is and issue when consecutive AVF suites are trying to initialize AVF and bind VF to vfio-pci driver, there seems to be race condition if VPP has already VFs allocated. This patch should introduce safer contstrain to disable VPP prior AVF init. Change-Id: Id8839200f19d9e7a18d161b660cfb1e43a8ca379 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2018-09-06fix CSIT broken issue when numa_node value is -1 on single Socket platformYulong Pei1-2/+5
Single Socket platform e.g. Intel Atom cpu based SOC platform with Ubuntu 16.04.4(kernel 4.13.0-36-generic) or Centos 7.5 (kernel 3.10.0-862.el7), value of /sys/bus/pci/devices/<pci_device_id>/numa_node is -1, this will break CSIT performance test running, but for this kind of SOC platform, it can consider that is not NUMA based platform, numa_node=-1 is reasonable, so fix it at CSIT side, when numa_node=1 and the system's NUMA node count is 1, set numa_node=0. DPDK also did it as this way. Change-Id: I9ac23d3cece2f1489e38f05b50a462bb2ad9f661 Signed-off-by: Yulong Pei <yulong.pei@intel.com>
2018-09-05CSIT-1205 Create AVF driver testPeter Mikus1-13/+165
- Add L1 KWs for SR-IOV handling (init Vfs, remove Vfs, ...) - Cleanup L1 KWs for SR-IOV bind/unbind/pci_get/... - Add L2 KWs for Test Setup/Teardown, L2patch, Create AVF interface - Add sample L2patch test fox x710, xxv710 Change-Id: If17077877455a14043617d8ea0d06cbe47b469e3 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2018-09-05Fix various pylint violationsVratko Polak1-5/+4
+ SchedUtils.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + VatHistory.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + VppCounters.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + Memif.py: ++ Do not use `len(SEQUENCE)` to determine if a sequence is empty ++ Either all return statements in a function should return an expression, or none of them should. ++ Update :return: on possible None. + Classify.py: Unnecessary "else" after "return" + ContainerUtils.py: Useless super delegation in method '__init__' + CpuUtils.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + DropRateSearch.py: Either all return statements in a function should return an expression, or none of them should. + IPv4NodeAddress.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty ++ Also improve docstrings. + IPv4Setup.py: Useless super delegation in method '__init__' + IPv6Setup.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty ++ Also improve docstrings. + IPv6Setup.py: standard import "from ipaddress import IPv6Network" should be placed before "from robot.api import logger" + MacSwap.py: Trailing newlines + NATUtil.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + NodePath.py: Unnecessary "else" after "return" + Tap.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + topology.py: Either all return statements in a function should return an expression, or none of them should. + topology.py: Unnecessary "else" after "return" ++ Do not use `len(SEQUENCE)` to determine if a sequence is empty ++ Improve docstrings + DUTSetup.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty ++ Also do not compare int(ret_code) just to access zero-ness. + ssh.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + InterfaceUtil.py: Unnecessary "else" after "return" Change-Id: Iba4244aa79661ee7df15fed5c7c6dbf04dfa88b2 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2018-09-04Fix pylint part 1Peter Mikus1-5/+5
- Decrease pylint errors. Part: easy Change-Id: I452e5b5a11e9b78c03cd173a3848babe21b93c73 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2018-07-27FIX: Interface up handlingPeter Mikus1-5/+5
- Increase timeout when trying to check interface (this is useful if there are multiple interfaces and dump command take more than TIMEOUT/NR_IF which is happening quite often). - Reverse the order of applying MTU and interface UP to try to prevent API overload during interface initialization phase. Change-Id: I4e8623963d15b3c0d202172b4c58c43a972bb9cb Signed-off-by: Peter Mikus <pmikus@cisco.com> (cherry picked from commit 584345da4f7330f7517e5defd894b4995c2b57b0)
2018-07-25Add MTU handling into perf testsPeter Mikus1-0/+47
- Add ability to configure MTU on interfaces. Put the MTU into configuration keywors for all perf testcases. Change-Id: I364b4bc26b26f2f66f350949c0aaa2a2aa675682 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2018-06-22CSIT-1043: Execute pci rescan only if neededjuraj.linkes1-44/+3
Pci rescan is a rather invasive process, which is why it should be executed only if needed. This patch moves the pci rescan after pci device driver discovery, rescanning the devices for further attemps at driver discovery. Change-Id: I29c939b44c3f67371416a99c711e057f711ba9b4 Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
2018-06-01VPP link bonding - lacp modeJan Gelety1-5/+96
CSIT-1072 CSIT-1083 CSIT-1084 Change-Id: Icaf0e09af633d301306a84251f47822e95b411a2 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2018-05-31DPDK link bonding: xor modeJan Gelety1-0/+23
CSIT-1073 CSIT-1074 CSIT-1077 Change-Id: I248e079021c30988210fd792b32d5afdca71aadb Signed-off-by: Jan Gelety <jgelety@cisco.com>
2018-05-04Fix various pylint 1.5.4 warningsVratko Polak1-4/+2
+ DUTSetup.py:424 Else clause on loop without a break statement + InterfaceUtil.py:400 Else clause on loop without a break statement + QemuUtils.py:564 Wrong continued indentation + SetupDPDKTest.py: Locally enabling broad-except + VatExecutor.py: Catching too general exception Exception + ssh.py:95 No exception type(s) specified. + HTTPRequest.py: Tolerate HTTPCodes.OK + multiple: Drop ":returns: None" from docstrings. There are still several warnings present: - R0902(too-many-instance-attributes) - R0912(too-many-branches) - R0913(too-many-arguments) - R0914(too-many-locals) - R0915(too-many-statements) - R0401(cyclic-import) And there are multiple blocks of similar lines, mainly across various Setup*Test.py files: - R0801(duplicate-code) Change-Id: I582575cb52b85d69d268e6374852f6e74bb71052 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2018-04-25Fix warnings reported by gen_doc.shVratko Polak1-23/+24
+ Docstring warnings fixed. + Multiline param descriptions indented by 4 spaces. - Except the PacketVerifier.py one - I have tried several quote-like blocks, nothing works. - Rst warnings not fixed. - How can I fix them? They refer to temporarily created files. + Other improvements: + Python lines no longer than 80 characters. + :return: -> :returns: + Notes before params. + :raises + closing colon after exception class. + Description is a sentence. + Present tense in conditional sentences. + Bumped copyright year in edited files. Change-Id: I462c194eeecb666dc146e26858486a07c990be9b Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2017-11-10CSIT-843: Update actual topology in case of new/updated/deleted interfaceJan Gelety1-13/+35
Change-Id: I6adfe86bd0b9cdf3d194a1b871e52481c333d8e7 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2017-10-23FIX: IPSec tunnel interfaceJan Gelety1-0/+23
- add following line per interface tunnel: set int unnum <ipsec> use <interface> Change-Id: Iff75f27b7cf25f3d24eea92366b1fd4a718c253b Signed-off-by: Jan Gelety <jgelety@cisco.com>
2017-10-12CSIT-748 vnf-agent integrationPeter Mikus1-0/+41
CSIT-773 Implement RF keywords for k8s - Implementation of Test Suite Setup for Ligato vnf-agent testing - Implementation of KubernetesUtil for controlling kubectl - Yaml templates for L2XC topology with 1cswitch and 1cnf - Yaml templates for L2BD topology with 1cswitch and 1cnf - ligato bootstrap script for creating vnf-agent image Change-Id: Iebefde0eb984a27a0afcdf29fe549ca4edf8a61e Signed-off-by: Peter Mikus <pmikus@cisco.com>
2017-07-26Fix pylint errorsTibor Frank1-1/+1
Change-Id: I9b8d69978ee35bf7610cdfd372135ce3515eec96 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2017-06-06VIRL lspci fixPeter Mikus1-19/+27
Change-Id: I884b56c5cc2e0d5f40c0e9d0b5fb7356dc3b4028 Signed-off-by: pmikus <pmikus@cisco.com>
2017-05-17Fix: use pci/rescan to avoid occasional bind issue on Centos7Jan Gelety1-1/+7
- rarelly binding of one of TG interfaces fails with "No such device" error; usage of rescan should avoid such situations Change-Id: Icbeb48ea6f8adb863e6517d4a35d6aca4238309a Signed-off-by: Jan Gelety <jgelety@cisco.com>