X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2FInterfaceUtil.py;h=2980afa34972408d81598af8a926074f60aca4e0;hp=b3d168c21749b3ff9d6b8361bc6b5ea54781a6b4;hb=eb4515115a69f5a3fe9b2fe178110cc5ff78b73a;hpb=6bfae6634aa26c2e88dddf49d91245d880b0222b diff --git a/resources/libraries/python/InterfaceUtil.py b/resources/libraries/python/InterfaceUtil.py index b3d168c217..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: @@ -262,8 +265,6 @@ class InterfaceUtil(object): for item in data: item["netmask"] = convert_ipv4_netmask_prefix( item["prefix_length"]) - # VAT returns addresses with reversed byte order (VPP-132) - item["ip"] = ".".join(item["ip"].split(".")[::-1]) return data @staticmethod @@ -464,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,