X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2FInterfaceUtil.py;h=e5597b90655573f3d3ce23a858fb1882457a68ae;hp=793f908a7a40c32b441cb8d0f11acb89aa1d9cc1;hb=e7959d92d3cfd7c1ea917986e95d080f60ea4ea5;hpb=8c1bb6ac0c8253ee203d120c1a8f035c47293d9e diff --git a/resources/libraries/python/InterfaceUtil.py b/resources/libraries/python/InterfaceUtil.py index 793f908a7a..e5597b9065 100644 --- a/resources/libraries/python/InterfaceUtil.py +++ b/resources/libraries/python/InterfaceUtil.py @@ -261,8 +261,14 @@ class InterfaceUtil(object): :rtype: list """ - sw_if_index = Topology.convert_interface_reference( - node, interface, "sw_if_index") + try: + sw_if_index = Topology.convert_interface_reference( + node, interface, "sw_if_index") + except RuntimeError: + if isinstance(interface, basestring): + sw_if_index = InterfaceUtil.get_sw_if_index(node, interface) + else: + raise with VatTerminal(node) as vat: response = vat.vat_terminal_exec_cmd_from_template( @@ -342,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}'"