aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python/InterfaceUtil.py
AgeCommit message (Collapse)AuthorFilesLines
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>
2017-04-03HC Test: revert to using restconf over httpselias1-2/+8
- use http instead of https for restconf connection - add missing import to proxyARP robot library - use VAT interface dump to identify interfaces in VAT ip address dump Change-Id: Ic381ff3f9b56a6c633382450559134f5389956c2 Signed-off-by: selias <samelias@cisco.com>
2017-03-30HC Test: address and cleanup test failuresselias1-1/+3
Change-Id: If3c570dbc5036915fdc68ade7a9ccc45ad21299e Signed-off-by: selias <samelias@cisco.com>
2017-02-24CSIT-522 HC Test: tests for secondary IP addressselias1-0/+23
- fix and update ipv4 and ipv6 tests - add tests for ipv6 neighbor and vrf-id - add tests for secondary IP address on ipv4, ipv6 Change-Id: I1e422e61108493a63a65ad91f649e69dfff0842f Signed-off-by: selias <samelias@cisco.com>
2017-02-22The interface must be assigned to the VRF and then given a prefixNeale Ranns1-4/+8
Change-Id: I6a2fc503989576f806413ae98845e3e3676889b8 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-02-10CSIT-518: Add testpmd numa awarenessTibor Frank1-44/+88
Change-Id: I982834de1fbe71cf5303808ea58d4b58e530ffcb Signed-off-by: Tibor Frank <tifrank@cisco.com>
2017-01-17VIRL test: Replace IP probe for VXLAN testMatej Klotton1-0/+3
Change-Id: Ic16f91beabdc2ac2e19ccc65c04790d36c15d477 Signed-off-by: Matej Klotton <mklotton@cisco.com>
2016-11-22Remove workaround for ip_address_dumpselias1-2/+0
As of change https://gerrit.fd.io/r/3816, ip_address_dump returns IP addresses properly. Change-Id: If3b4a32e5166bd517beaa2ddb35262c406b1dcea Signed-off-by: selias <samelias@cisco.com>
2016-11-07CSIT-468 Issue retrieving numa node of NICpmikus1-3/+17
Issue retrieving numa node of NIC Change-Id: Ia6f826c100a012b23e046e48fe1e505ed0c4c8e8 Signed-off-by: pmikus <pmikus@cisco.com>
2016-11-04CSIT-457: Address Honeycomb test failuresselias1-0/+2
- tag all not-implemented features with EXPECTED_FAILING - add workarounds for known issues with VAT dump commands - replace hardcoded test data with parametrized - separate IP neighbor and IP address into two test cases - support unordered lists with compare_data_structures keyword Change-Id: I2c683162325cee720ba496489787fa50e9c72b8c Signed-off-by: selias <samelias@cisco.com>
2016-09-05CSIT-229: ip4-lispgpe-ip4Tibor Frank1-0/+22
- main fib, - vrf, - phy2lisp Change-Id: Ic9bacef4574dc07b25041c4cd0653825a65c94fb Signed-off-by: Tibor Frank <tifrank@cisco.com>
2016-08-25CSIT-237: VPN routed forwarding (VRF) - baseline for IPv6Zdeno Olsovsky1-2/+7
Change-Id: I5c3053c692df29255a1da22a66f7ac282e3d5624 Signed-off-by: Zdeno Olsovsky <zolsovsk@cisco.com>
2016-08-08CSIT-338 PCI numa_node discoveryMiroslav Miklus1-1/+28
Allow to discover PCI - numa node relationship. Change-Id: I04a445e42b3cbbf450b990ebbc2c83ac313815f1 Signed-off-by: Miroslav Miklus <mmiklus@cisco.com>
2016-07-26CSIT-106 Vpp config - use only test-related interfacesMiroslav Miklus1-2/+4
Current behaviour is to add all interfaces from topology, we only want to add interfaces from computed path. Change-Id: I9c5d4e765dbe399ee06dd13f0d25c48d3d8e5127 Signed-off-by: Miroslav Miklus <mmiklus@cisco.com>
2016-07-22CSIT-158: Tap interface testsZdeno Olsovsky1-0/+20
Change-Id: I30a4562ea5fca9b839d854118243daa70378b0ae Signed-off-by: Zdeno Olsovsky <zolsovsk@cisco.com>