diff options
author | Steven Hajducko <sjmh@phase2.net> | 2008-06-19 11:02:31 -0700 |
---|---|---|
committer | Steven Hajducko <sjmh@phase2.net> | 2008-06-19 11:02:31 -0700 |
commit | 2ac29aca6a4ef80ac7753e89322eac217f6176a6 (patch) | |
tree | bd640f193c6b29f53a0edfbfa166c228248c538b | |
parent | 0b0892d382a78b3a69a97d6b3820e0a101665b8f (diff) | |
download | facter-2ac29aca6a4ef80ac7753e89322eac217f6176a6.tar.gz facter-2ac29aca6a4ef80ac7753e89322eac217f6176a6.tar.xz facter-2ac29aca6a4ef80ac7753e89322eac217f6176a6.zip |
Added processorcount and type facts to AIX
tickets/1.5/1375
Signed-off-by: Steven Hajducko <sjmh@phase2.net>
-rw-r--r-- | lib/facter/processor.rb | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/facter/processor.rb b/lib/facter/processor.rb index 5e8e42e..afc604e 100644 --- a/lib/facter/processor.rb +++ b/lib/facter/processor.rb @@ -37,3 +37,38 @@ if Facter.value(:kernel) == "Linux" end end end + +if Facter.value(:kernel) == "AIX" + processor_num = -1 + processor_list = {} + Thread::exclusive do + procs = Facter::Util::Resolution.exec('lsdev -Cc processor') + procs.each do |proc| + if proc =~ /^proc(\d+)/ + processor_num = $1.to_i + # Not retrieving the frequency since AIX 4.3.3 doesn't support the + # attribute and some people still use the OS. + proctype = Facter::Util::Resolution.exec('lsattr -El proc0 -a type') + if proctype =~ /^type\s+(\S+)\s+/ + processor_list["processor#{processor_num}"] = $1 + end + end + end + end + + Facter.add("ProcessorCount") do + confine :kernel => :aix + setcode do + processor_list.length.to_s + end + end + + processor_list.each do |proc, desc| + Facter.add(proc) do + confine :kernel => :aix + setcode do + desc + end + end + end +end |