From 54abf22c353cb1f6628265a4ea1feca7424be1e1 Mon Sep 17 00:00:00 2001 From: madema Date: Wed, 8 May 2013 16:13:13 +0300 Subject: [PATCH] Fixed an error in the get_cpu_facts of the AIX class assumed proc0 as the first processor but can be different in a LPAR environment --- system/setup | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/system/setup b/system/setup index 3ff29f45c0d..e3f99d9c885 100644 --- a/system/setup +++ b/system/setup @@ -870,20 +870,30 @@ class AIX(Hardware): def get_cpu_facts(self): self.facts['processor'] = [] - rc, out, err = module.run_command("/usr/sbin/lsattr -El proc0 -a type") - data = out.split(' ') - self.facts['processor'] = data[1] - rc, out, err = module.run_command("/usr/sbin/lsattr -El proc0 -a smt_threads") - data = out.split(' ') - self.facts['processor_cores'] = int(data[1]) + + rc, out, err = module.run_command("/usr/sbin/lsdev -Cc processor") i = 0 for line in out.split('\n'): - data = line.split(':') + if 'Available' in line: + if i == 0: + data = line.split(' ') + cpudev = data[0] + i += 1 self.facts['processor_count'] = int(i) + rc, out, err = module.run_command("/usr/sbin/lsattr -El " + cpudev + " -a type") + + data = out.split(' ') + self.facts['processor'] = data[1] + + rc, out, err = module.run_command("/usr/sbin/lsattr -El " + cpudev + " -a smt_threads") + + data = out.split(' ') + self.facts['processor_cores'] = int(data[1]) + def get_memory_facts(self): pagesize = 4096 rc, out, err = module.run_command("/usr/bin/vmstat -v")