aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python/InterfaceUtil.py
diff options
context:
space:
mode:
authorpmikus <pmikus@cisco.com>2016-11-05 17:30:45 +0100
committerpmikus <pmikus@cisco.com>2016-11-07 08:23:00 +0100
commit2fa7bbfebc28b365ca4a5db6513c0be82aaecee8 (patch)
tree027b7cb47eb5ee7f5a3f98e31a53a08a63e61511 /resources/libraries/python/InterfaceUtil.py
parent8184e3073bc98a85709380f55fd18f0c01ac9cf3 (diff)
CSIT-468 Issue retrieving numa node of NIC
Issue retrieving numa node of NIC Change-Id: Ia6f826c100a012b23e046e48fe1e505ed0c4c8e8 Signed-off-by: pmikus <pmikus@cisco.com>
Diffstat (limited to 'resources/libraries/python/InterfaceUtil.py')
-rw-r--r--resources/libraries/python/InterfaceUtil.py20
1 files 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,