X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2FInterfaceUtil.py;h=2980afa34972408d81598af8a926074f60aca4e0;hp=11600a1d4779b802c00a948c2704ba474ff512ae;hb=eb4515115a69f5a3fe9b2fe178110cc5ff78b73a;hpb=c3bf9f6ad20223998c1103ba3061a5e338979e2b diff --git a/resources/libraries/python/InterfaceUtil.py b/resources/libraries/python/InterfaceUtil.py index 11600a1d47..2980afa349 100644 --- a/resources/libraries/python/InterfaceUtil.py +++ b/resources/libraries/python/InterfaceUtil.py @@ -225,6 +225,9 @@ class InterfaceUtil(object): """ if_data = InterfaceUtil.vpp_get_interface_data(node, interface) + if if_data['sup_sw_if_index'] != if_data['sw_if_index']: + if_data = InterfaceUtil.vpp_get_interface_data( + node, if_data['sup_sw_if_index']) mac_data = [str(hex(item))[2:] for item in if_data['l2_address'][:6]] mac_data_nice = [] for item in mac_data: @@ -462,9 +465,23 @@ class InterfaceUtil(object): if_pci = Topology.get_interface_pci_addr(node, if_key) ssh.connect(node) cmd = "cat /sys/bus/pci/devices/{}/numa_node".format(if_pci) - (ret, out, _) = ssh.exec_command(cmd) - if ret == 0: - Topology.set_interface_numa_node(node, if_key, int(out)) + for _ in range(3): + (ret, out, _) = ssh.exec_command(cmd) + if ret == 0: + try: + numa_node = int(out) + if numa_node < 0: + raise ValueError + except ValueError: + logger.trace('Reading numa location failed for: {0}'\ + .format(if_pci)) + else: + Topology.set_interface_numa_node(node, if_key, + numa_node) + break + else: + raise RuntimeError('Update numa node failed for: {0}'\ + .format(if_pci)) @staticmethod def update_all_interface_data_on_all_nodes(nodes, skip_tg=False,