From 3d46f10a74b1852e57761e25be986a16ed1fed9e Mon Sep 17 00:00:00 2001 From: Ivan Ponomarev Date: Fri, 4 Mar 2016 18:34:16 +0300 Subject: [PATCH] Getting numanode from all possible structure - Setup xpath to getting NUMANode Closes-Bug: #1552342 Change-Id: I01361093edd816d210774b1ea9f98c32d4250c4f --- agent | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/agent b/agent index 7f758b5..d2f3e0f 100755 --- a/agent +++ b/agent @@ -898,13 +898,13 @@ class NodeAgent topology = {:numa_nodes => [], :supported_hugepages => supported_hugepages, :distances => nil} - doc.elements.each('/topology/object/distances/') do |dist| + doc.elements.each('//distances/') do |dist| topology[:distances] = dist.elements.collect{|v| v.attributes['value']} .each_slice(dist.attributes['nbobjs'].to_i).to_a end - numa_node = "/topology/object/object[@type='NUMANode']" - element = doc.elements[numa_node] ? numa_node : "/topology/object[@type='Machine']" + numa_node = "//object[@type='NUMANode']" + element = doc.elements["//object[@type='NUMANode']"] ? numa_node : "//object[@type='Machine']" doc.elements.each(element) do |numa| @@ -912,10 +912,10 @@ class NodeAgent struct[:id] = numa.attributes['os_index'].to_i struct[:memory] = numa.attributes['local_memory'].to_i - numa.elements.each("object/object/object[@type='PU']") do |pu| + numa.elements.each("#{numa.xpath}//[@type='PU']") do |pu| struct[:cpus] << pu.attributes['os_index'].to_i end - numa.elements.each("object/object/object[@type='PCIDev']") do |pcidev| + numa.elements.each("#{numa.xpath}//[@type='PCIDev']") do |pcidev| struct[:pcidevs] << pcidev.attributes['pci_busid'] end topology[:numa_nodes] << struct