Code Review
/
csit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
vpp_device: bind to vfio-pci before running tests
[csit.git]
/
resources
/
libraries
/
python
/
DUTSetup.py
diff --git
a/resources/libraries/python/DUTSetup.py
b/resources/libraries/python/DUTSetup.py
index
5040223
..
c7a5602
100644
(file)
--- a/
resources/libraries/python/DUTSetup.py
+++ b/
resources/libraries/python/DUTSetup.py
@@
-408,11
+408,11
@@
class DUTSetup:
# sriov is not supported and we want 0 VFs
# no need to do anything
return
# sriov is not supported and we want 0 VFs
# no need to do anything
return
- else:
-
raise RuntimeError(
-
f"Can't configure {numvfs} VFs on {pf_pci_addr} device "
-
f"on {node[u'host']} since it doesn't support SR-IOV."
-
)
+
+ raise RuntimeError(
+ f"Can't configure {numvfs} VFs on {pf_pci_addr} device "
+ f"on {node[u'host']} since it doesn't support SR-IOV."
+ )
pci = pf_pci_addr.replace(u":", r"\:")
command = f"sh -c \"echo {numvfs} | " \
pci = pf_pci_addr.replace(u":", r"\:")
command = f"sh -c \"echo {numvfs} | " \
@@
-444,16
+444,21
@@
class DUTSetup:
)
@staticmethod
)
@staticmethod
- def
pci_driver_unbind_list(node
, *pci_addrs):
- """Unbind PCI devices from
curren
t driver on node.
+ def
unbind_pci_devices_from_other_driver(node, driver
, *pci_addrs):
+ """Unbind PCI devices from
driver other than inpu
t driver on node.
:param node: DUT node.
:param node: DUT node.
+ :param driver: Driver to not unbind from. If None or empty string,
+ will attempt to unbind from the current driver.
:param pci_addrs: PCI device addresses.
:type node: dict
:param pci_addrs: PCI device addresses.
:type node: dict
+ :type driver: str
:type pci_addrs: list
"""
for pci_addr in pci_addrs:
:type pci_addrs: list
"""
for pci_addr in pci_addrs:
- DUTSetup.pci_driver_unbind(node, pci_addr)
+ if not driver or \
+ DUTSetup.get_pci_dev_driver(node, pci_addr) != driver:
+ DUTSetup.pci_driver_unbind(node, pci_addr)
@staticmethod
def pci_driver_bind(node, pci_addr, driver):
@staticmethod
def pci_driver_bind(node, pci_addr, driver):
@@
-572,10
+577,9
@@
class DUTSetup:
# the directory doesn't exist which means the device is not bound
# to any driver
return None
# the directory doesn't exist which means the device is not bound
# to any driver
return None
- else:
- cmd = f"basename $(readlink -f {driver_path})"
- ret_val, _ = exec_cmd_no_error(node, cmd)
- return ret_val.strip()
+ cmd = f"basename $(readlink -f {driver_path})"
+ ret_val, _ = exec_cmd_no_error(node, cmd)
+ return ret_val.strip()
@staticmethod
def verify_kernel_module(node, module, force_load=False):
@staticmethod
def verify_kernel_module(node, module, force_load=False):
@@
-677,7
+681,7
@@
class DUTSetup:
)
# workaround to avoid installation of vpp-api-python
exec_cmd_no_error(
)
# workaround to avoid installation of vpp-api-python
exec_cmd_no_error(
- node,
u
"rm -f {vpp_pkg_dir}vpp-api-python.deb",
+ node,
f
"rm -f {vpp_pkg_dir}vpp-api-python.deb",
timeout=120, sudo=True
)
exec_cmd_no_error(
timeout=120, sudo=True
)
exec_cmd_no_error(
@@
-694,7
+698,7
@@
class DUTSetup:
)
# workaround to avoid installation of vpp-api-python
exec_cmd_no_error(
)
# workaround to avoid installation of vpp-api-python
exec_cmd_no_error(
- node,
u
"rm -f {vpp_pkg_dir}vpp-api-python.rpm",
+ node,
f
"rm -f {vpp_pkg_dir}vpp-api-python.rpm",
timeout=120, sudo=True
)
exec_cmd_no_error(
timeout=120, sudo=True
)
exec_cmd_no_error(