aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpmikus <pmikus@cisco.com>2020-09-23 12:44:06 +0000
committerPeter Mikus <pmikus@cisco.com>2020-09-23 13:26:27 +0000
commit844698802b99b67237250fd31e416081680354c0 (patch)
tree90c4902032ae35d2038cb445ed072a79c314d1c2
parent49a7f2b2830d7684f19508afc53f04288aae241e (diff)
FIX: Race condition
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
-rw-r--r--resources/libraries/python/DUTSetup.py12
-rw-r--r--resources/libraries/robot/shared/interfaces.robot2
2 files changed, 14 insertions, 0 deletions
diff --git a/resources/libraries/python/DUTSetup.py b/resources/libraries/python/DUTSetup.py
index 28b36266cf..396029a04f 100644
--- a/resources/libraries/python/DUTSetup.py
+++ b/resources/libraries/python/DUTSetup.py
@@ -430,6 +430,18 @@ class DUTSetup:
)
@staticmethod
+ def pci_driver_unbind_list(node, *pci_addrs):
+ """Unbind PCI devices from current driver on node.
+
+ :param node: DUT node.
+ :param pci_addrs: PCI device addresses.
+ :type node: dict
+ :type pci_addrs: list
+ """
+ for pci_addr in pci_addrs:
+ DUTSetup.pci_driver_unbind(node, pci_addr)
+
+ @staticmethod
def pci_driver_bind(node, pci_addr, driver):
"""Bind PCI device to driver on node.
diff --git a/resources/libraries/robot/shared/interfaces.robot b/resources/libraries/robot/shared/interfaces.robot
index cd14e8937e..4fdc1ee0a6 100644
--- a/resources/libraries/robot/shared/interfaces.robot
+++ b/resources/libraries/robot/shared/interfaces.robot
@@ -117,6 +117,8 @@
| | ${index}= | Get Index From List | ${TEST TAGS} | DPDK
| | Run Keyword If | ${index} >= 0 | Return From Keyword
| | FOR | ${dut} | IN | @{duts}
+| | | Stop VPP Service | ${nodes['${dut}']}
+| | | PCI Driver Unbind List | ${nodes['${dut}']} | @{${dut}_pf_pci}
| | | Run keyword | ${dut}.Add DPDK Dev | @{${dut}_pf_pci}
| | | Run Keyword If | ${dpdk_no_tx_checksum_offload}
| | | ... | ${dut}.Add DPDK No Tx Checksum Offload