From e7959d92d3cfd7c1ea917986e95d080f60ea4ea5 Mon Sep 17 00:00:00 2001 From: Jan Gelety Date: Tue, 16 May 2017 10:21:51 +0200 Subject: [PATCH] Fix: use pci/rescan to avoid occasional bind issue on Centos7 - 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 --- resources/libraries/python/InterfaceUtil.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/resources/libraries/python/InterfaceUtil.py b/resources/libraries/python/InterfaceUtil.py index ff9ecdede5..e5597b9065 100644 --- a/resources/libraries/python/InterfaceUtil.py +++ b/resources/libraries/python/InterfaceUtil.py @@ -348,8 +348,14 @@ class InterfaceUtil(object): ssh = SSH() ssh.connect(node) - cmd = 'lspci -vmmks {0}'.format(pci_addr) + # First rescan PCI devices in the system + cmd = 'sh -c "echo 1 > /sys/bus/pci/rescan"' + (ret_code, _, _) = ssh.exec_command_sudo(cmd) + if int(ret_code) != 0: + raise RuntimeError("'{0}' failed on '{1}'" + .format(cmd, node['host'])) + cmd = 'lspci -vmmks {0}'.format(pci_addr) (ret_code, stdout, _) = ssh.exec_command(cmd) if int(ret_code) != 0: raise RuntimeError("'{0}' failed on '{1}'" -- 2.16.6