From 2fa7bbfebc28b365ca4a5db6513c0be82aaecee8 Mon Sep 17 00:00:00 2001 From: pmikus Date: Sat, 5 Nov 2016 17:30:45 +0100 Subject: [PATCH] CSIT-468 Issue retrieving numa node of NIC Issue retrieving numa node of NIC Change-Id: Ia6f826c100a012b23e046e48fe1e505ed0c4c8e8 Signed-off-by: pmikus --- resources/libraries/python/InterfaceUtil.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/resources/libraries/python/InterfaceUtil.py b/resources/libraries/python/InterfaceUtil.py index b3d168c217..6c763134f4 100644 --- a/resources/libraries/python/InterfaceUtil.py +++ b/resources/libraries/python/InterfaceUtil.py @@ -464,9 +464,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, -- 2.16.6