aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python/DUTSetup.py
AgeCommit message (Collapse)AuthorFilesLines
2023-10-13fix(pylint): DUTSetuppmikus1-6/+4
Signed-off-by: Peter Mikus <peter.mikus@protonmail.ch> Change-Id: Ibe13acbd104e780f42e104755db026dcdd478f62
2023-08-15fix(core): Pylint leftoverspmikus1-2/+2
Signed-off-by: pmikus <peter.mikus@protonmail.ch> Change-Id: I8d3e93f61ba7929b79da386fbfcece992fea7324
2023-08-11feat(core): QAT initialization refactorpmikus1-3/+5
Signed-off-by: pmikus <peter.mikus@protonmail.ch> Change-Id: Idc91da55ab0b5c6b8eb53e8b4ce4da18a1ae891c
2023-07-27fix(core): QAT initializationpmikus1-84/+1
Signed-off-by: pmikus <peter.mikus@protonmail.ch> Change-Id: I28af64b7d39a97bbb84f9d987a3f5d3a2d02701b
2023-06-16Add cryptodev device 4xxxYulong Pei1-2/+7
QAT_4xxx is integrated QAT device on SPR platform. Signed-off-by: xinfeng zhao <xinfengx.zhao@intel.com> Signed-off-by: Yulong Pei <yulong.pei@intel.com> Change-Id: If1d4b3d72a2c66855ac8c1c42516f0cb78bdfab2
2023-05-10feat(infra): Remove system.d dependencypmikus1-57/+0
Signed-off-by: pmikus <peter.mikus@protonmail.ch> Change-Id: Icb7b6124dcba7bb57c18ceb91120284f6fe02c2e
2023-05-05fix(core): Docker detectionpmikus1-7/+11
Signed-off-by: pmikus <peter.mikus@protonmail.ch> Change-Id: I976f96410b06b4f4d7500b03b1f5dd54486bbf42
2023-05-05fix(core): Add vpp log pathpmikus1-0/+3
Signed-off-by: pmikus <peter.mikus@protonmail.ch> Change-Id: I76e47610a0caa8af8e48a295ce08e799280404be
2023-05-05fix(core): Code stylingpmikus1-16/+20
Signed-off-by: pmikus <peter.mikus@protonmail.ch> Change-Id: I76907c214cfae76c3d101ebd14813fd3a77504f8
2023-04-19fix(core): wrong to unbind driver if pci device in unbinded driver stateYulong Pei1-2/+4
Signed-off-by: Yulong Pei <yulong.pei@intel.com> Change-Id: I7515bf952f8b6dbae180726da6a8bd4821c7af26
2023-02-13Fix issue in csit hoststack testYulong Pei1-27/+10
1. ABTool.py, fix error in parsing the return result of ab 2. DUTSetup.py, add sleep to wait for the program to start Signed-off-by: Peng Lu <pengx.lu@intel.com> Signed-off-by: Xinfeng Zhao <xinfengx.zhao@intel.com> Signed-off-by: Yulong Pei <yulong.pei@intel.com> Change-Id: I1cffa28d8492bcc27ae188f1e084b80afad60502
2022-09-30Add VPP wireguard async mode test suiteYulong Pei1-3/+6
Add VPP wireguard async mode test suite to use QAT device for crypto. Also change keyword ipsechw to cryptohw in suite_setup.robot since currently crypto device is not only used by IPSec. Signed-off-by: Yulong Pei <yulong.pei@intel.com> Signed-off-by: xinfeng zhao <xinfengx.zhao@intel.com> Change-Id: Ibdadb3b09c04b7181415ffd4a248abddc6289075
2021-11-08vpp_device: bind to vfio-pci before running testsJuraj Linkeš1-3/+8
In rare cases, binding the whole /dev/vfio folder will result in unusable VFs: notice dpdk EAL: Cannot open /dev/vfio/151: Device or resource busy [0], section 4.3.1. provides some clues as to what's going on and how to avoid the failure. Mounting /dev/vfio reset the file descriptors of all devices under /dev/vfio. Vfio-pci creates a device when an interface is bound to it. The rare failure then occurs when /dev/vfio is mounted while a process is using the file descriptors result in that process using invalid file descriptors (or file descriptors belonging to a different VF). Fix the issue by binding i40e and ice VFs to vfio-pci before containers are created and make sure that the VFs are not unbound later in testing. Only bind DUT VFs since the TG uses the kernel driver. [0]: https://connect.redhat.com/sites/default/files/2021-03/Cloud Native Network Function Requirements.pdf Ticket: CSIT-1794 Change-Id: I83db91b29d16669fb034b141ad247f6f796fdf64 Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
2021-10-13DUTSetup: FIX Format symbolxizhanx1-2/+2
Signed-off-by: xizhanx <xix.zhang@intel.com> Change-Id: Ic6ccc206632023297d35d0020397e8fd5706ea1c
2021-10-08fix(Pylint): Small fixespmikus1-9/+8
+ Just few obvious one Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I9bbac293a56d6b2943bef03cb3b8943e967dae6b
2021-08-02FIX: init_interface driver and sr-iovJuraj Linkeš1-47/+25
Add checks for not unbinding a driver that is not bound and not trying to remove VFs from interfaces not supporting SR-IOV. Change-Id: Iae7ce37aabeadbb541fe9eac8b83b4ee18d028e6 Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
2021-06-10FIX: Pylint reducepmikus1-1/+1
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I909942dbb920df7f0fe15c0c92cda92c3cd8d8ad
2020-09-23FIX: Race conditionpmikus1-0/+12
avf tests works, but vfio-pci tests are following, the interfaces must be in down state (ideally unbind, as vpp cannot pick them). Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I77af85ec4239059a5455ef68683ca129548bd7bd
2020-09-22Framework: Heapsize configurationpmikus1-1/+1
- https://gerrit.fd.io/r/c/vpp/+/28829 - https://gerrit.fd.io/r/c/vpp/+/28896 - ip6 to be added later Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: I7b03b8ace5c5c7582d4a2f66bfd788a3ec80a916
2020-01-28perf: hoststack iperf3 test tuningDave Wallace1-11/+11
Change-Id: I53425f57fe9ecef9cff2c94642cc7cb24537a961 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2020-01-24Attempt to fix journalctlPeter Mikus1-3/+3
- AWK - ECHO - pipe + Much simpler Change-Id: I4876f4eae68c96571dc38fd21e53ba269f5f888e Signed-off-by: Peter Mikus <pmikus@cisco.com>
2020-01-20FIX: Hugepages should be detected also from overcommitPeter Mikus1-147/+69
Change-Id: I36ec9d61f775791ad0632a579c4921889d1f5acf Signed-off-by: Peter Mikus <pmikus@cisco.com>
2020-01-15Hoststack perf infrastructure refactoringDave Wallace1-16/+66
- DUT only topology (hoststack test apps are co-located with vpp) - Make vpp app specific keywords generic where applicable - Add IP4 Prefix to topology file - Support running wrk in linux namespace - Refactor namespace cleanup - Remove redundant namespace creation code - Refactor test/keyword dirs: tcp -> hoststack - Add hoststack utility keywords - Refactor wrk suite setup/teardown - Update tests with recent perf infra changes Change-Id: Ia1cf07978d579393eef94923819a87c8c1f36f34 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-12-13FIX: eth interfaces need numa_node information in topology fileJan Gelety1-1/+1
Change-Id: I9a3c6947da8ab5033e29b39833c97bcdafdc3ca9 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-12-11Introduce VPP-IPsec container tests.Ludovit Mikula1-2/+2
Change-Id: Ie64d662e81879bd52785e0188450d998bf056bda Signed-off-by: Ludovit Mikula <ludovit.mikula@pantheon.tech>
2019-12-09FIX: integer divisionsJan Gelety1-1/+1
Change-Id: I28caf62f418bf18601cd379603d03c307e3ba9c8 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-12-05Improve quoting of asterisksVratko Polak1-1/+1
When quoted, the asterisks are understood as literal characters. When unquoted, so they act as globs patterns. When used to match files already present in the filesystem, the asterisks should be unquoted. When used to match a package name (not a file), the asterisks should be quoted to prevent the bash expansion, as programs such as apt-get and yum do their own expasion afterwards. Unquoted asterisks for matching package names may happen to work when there are no files to match the bash expansion, but quoted asterisks are sure to avoid accidents. Also, we want an asterisk both before and after "vpp", due to package names such as libvppinfra-dev and python3-vpp-api. Change-Id: I657a24c24a71d865915aba201bd0d3276cb33281 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-11-28Python3: resources and librariesJan Gelety1-236/+255
Change-Id: I1392c06b1d64f62b141d24c0d42a8e36913b15e2 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-11-11FIX: Paths for new Docker imagesPeter Mikus1-2/+1
Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: Ia39ff6445e4029a78d008d5690661610a1e9ed50
2019-05-15FIX: Remove old restart sequence - HoneycombPeter Mikus1-3/+4
Change-Id: I12865ea4f48c1902e80e67463fff4cf481a2e24c Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-05-09Remove old VPP Restart sequencePeter Mikus1-30/+4
Change-Id: I7f71a9709ad55ce03d73e23cc8a9f5064947ed51 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-05-07Fix typos in DUTsetup.pyVratko Polak1-2/+2
Change-Id: I7fb255c26bfb62a273844b3753aa37b742835045 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-05-06CSIT-1493 VPP restart handling codePeter Mikus1-1/+39
Change-Id: Ibe52125089f39e0ff17ec607a3ed00c61d52ab8c Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-03-28Add ipsec crypto test for Denverton platformYulong Pei1-7/+21
add ipsec cryto test to support Denverton hardware crypto device C3xxx. replace HW_cryptodev keyword to HW_DH895xcc or HW_C3xxx, or add more other hardware crypto device type support in the future. Change-Id: I181bca4095757fde7ca45ab3856273ac5930d902 Signed-off-by: Yulong Pei <yulong.pei@intel.com>
2019-03-04Rename to Constants.pyVratko Polak1-1/+1
Motivation: Make the constants available also for Robot. Restraint: Robotframework user guide says: Because variable files are always imported using a file system path, creating them as classes has some restrictions: Python classes must have the same name as the module they are located. Change-Id: I638ef3fe045db132e366de2e2699638b8637e45e Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-02-25FIX: VPP PIDs can also be separated by spaces not only by line breaksJan Gelety1-6/+4
Change-Id: I6a5e8732be224927aa965cdf6b93998aa8699639 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2019-02-04CSIT-1416 Remove installation of vpp from containersPeter Mikus1-0/+23
Use parent system (Host, Container) installation of VPP. This will save the internet bandwith by skip installing of prerequisites packages. It will also skip dpkg install and simplify the process of initializing VPP inside container. Previosly initialization of VPP in container takes about 55s. With this patch it is reduced to 2-3s. This patch removes the bloated VOLUME creation between container sidecars (a.k.a nested container) and fixes the hugepage allocation. Change-Id: Ifa2be532edb77354657e1b84568bdc34993b00d0 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-01-28CSIT-1403 Implement multichain configuration for l2bd with memif/ip4.Peter Mikus1-6/+7
Change-Id: Ia87156b2ba826eb0a9a93d756b9765c7373ca6ce Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-01-24CSIT-1407 FIX vpp install after VPP changesPeter Mikus1-57/+20
Change-Id: I9148f6de75c3100f827eedec48c4c0ccb343bc54 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2018-09-28CSIT-1321 Add IP4base tests using AVF driverPeter Mikus1-9/+18
Change-Id: I960c2b4170efa06597851853cfc15bda1c60fe94 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2018-09-19CSIT-1291 Improve service handling with container detectionPeter Mikus1-164/+82
Change-Id: Iaeac10676f46e0267041afee927bc6e3201146b2 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2018-09-05CSIT-1205 Create AVF driver testPeter Mikus1-107/+217
- 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-18/+19
+ 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-08-20Refactor VHOST codePeter Mikus1-0/+166
CSIT-1164 Create VM vhost tests for 2-node topology CSIT-1173 Implement VM vhost KWs for 2-node topology - Cleanup QemuUtils.py Library (PEP8, some TODOs, readability, multi queue, ring size, qemu version detection) - Cleanup VHOST KWs perf (Unify running QEMU on N-node topology) - Add ability to configure Queues, Hyperthreading, automatically compute number of CPU for VM/Testpmd and RXQ for Testpmd workload. - Partial cleanup of configuration KWs (l2xc, l2bd) for 2-node - Create IPv4 2-node KW Change-Id: I8aae1355bafa651de715cd438fe706c443ea1d88 Signed-off-by: Peter Mikus <pmikus@cisco.com>
2018-07-03CSIT-1046 Make uio driver configurable from topofilesPeter Mikus1-0/+13
Currently we are configuring uio_driver from global variable. This may not be suitable for various topologies where we need different driver per TB. This patch is suppose to put uio_driver into topology files. Change-Id: I56af0697e8b2359ccb126151217976408720c1ba Signed-off-by: Peter Mikus <pmikus@cisco.com>
2018-07-02Compatibility fixes with Ubuntu 18.04Peter Mikus1-4/+18
Currently we are using ip:port socket to for VPP to listen for incoming connections. There is only one place in code this socket is used for detection if VPP is responding after restart. This patch is supposed to change ip:port to sock:file which is default preffered way in VPP. This way we can start using vppctl. netcat on the other side with ip:port remains hanged in console for infinite time not returning back. There is also need to check whether uio_module is loaded and eventually load it. As uio_pci_generic is not working there, we will fallback to main igb_uio (uio_pci_generic being only lightweight subset of igb_uio). This patch also add additional verbose output to console during setup to better understand if failure happens during copy/extract/setup. Change-Id: I0b8a3b76dce3316496a3ad928f58718b6e73057d Signed-off-by: Peter Mikus <pmikus@cisco.com>
2018-06-22CSIT-1043: Execute pci rescan only if neededjuraj.linkes1-7/+24
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-05-04Fix various pylint 1.5.4 warningsVratko Polak1-2/+1
+ 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-4/+4
+ 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>
2018-04-23CSIT-1009: SRv6 proxy testsJan Gelety1-0/+1
- SRv6 with endpoint to SR-unaware Service Function via static proxy - SRv6 with endpoint to SR-unaware Service Function via dynamic proxy - SRv6 with endpoint to SR-unaware Service Function via masquerading proxy Change-Id: I6a6062cb41d810bf9e27dacfd866181bfde4c693 Signed-off-by: Jan Gelety <jgelety@cisco.com>