lib/facter/architecture.rb in facter-1.7.3 vs lib/facter/architecture.rb in facter-1.7.4.rc1
- old
+ new
@@ -2,21 +2,34 @@
#
# Purpose:
# Return the CPU hardware architecture.
#
# Resolution:
-# On OpenBSD, Linux and Debian's kfreebsd, use the hardwaremodel fact.
+# On non-AIX IBM, OpenBSD, Linux and Debian's kfreebsd, use the hardwaremodel fact.
+# On AIX get the arch value from lsattr -El proc0 -a type
# Gentoo and Debian call "x86_86" "amd64".
# Gentoo also calls "i386" "x86".
#
# Caveats:
#
+require 'facter/util/architecture'
+
Facter.add(:architecture) do
setcode do
model = Facter.value(:hardwaremodel)
case model
# most linuxen use "x86_64"
+ when /IBM*/
+ case Facter.value(:operatingsystem)
+ when "AIX"
+ arch = Facter::Util::Architecture.lsattr
+ if (match = arch.match /type\s(\S+)\s/)
+ match[1]
+ end
+ else
+ model
+ end
when "x86_64"
case Facter.value(:operatingsystem)
when "Debian", "Gentoo", "GNU/kFreeBSD", "Ubuntu"
"amd64"
else