summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/facter/hardwaremodel.rb5
-rw-r--r--lib/facter/id.rb2
-rw-r--r--lib/facter/ipaddress.rb20
-rw-r--r--lib/facter/kernelrelease.rb5
-rw-r--r--lib/facter/macaddress.rb23
-rw-r--r--lib/facter/uniqueid.rb2
6 files changed, 55 insertions, 2 deletions
diff --git a/lib/facter/hardwaremodel.rb b/lib/facter/hardwaremodel.rb
index 8cc53f0..b69848d 100644
--- a/lib/facter/hardwaremodel.rb
+++ b/lib/facter/hardwaremodel.rb
@@ -1,3 +1,8 @@
Facter.add(:hardwaremodel) do
setcode 'uname -m'
end
+
+ Facter.add(:hardwaremodel) do
+ confine :operatingsystem => :aix
+ setcode 'lsattr -El proc0 -a type|cut -f2 -d" "'
+ end
diff --git a/lib/facter/id.rb b/lib/facter/id.rb
index e66745f..99f822c 100644
--- a/lib/facter/id.rb
+++ b/lib/facter/id.rb
@@ -1,4 +1,4 @@
Facter.add(:id) do
- confine :operatingsystem => %w{Solaris Linux Fedora RedHat CentOS SuSE Debian Gentoo}
+ confine :operatingsystem => %w{Solaris Linux Fedora RedHat CentOS SuSE Debian Gentoo AIX}
setcode "whoami"
end
diff --git a/lib/facter/ipaddress.rb b/lib/facter/ipaddress.rb
index cd6dbcf..cf80c0c 100644
--- a/lib/facter/ipaddress.rb
+++ b/lib/facter/ipaddress.rb
@@ -129,3 +129,23 @@
ip
end
end
+
+ Facter.add(:ipaddress) do
+ confine :kernel => %w{AIX}
+ setcode do
+ ip = nil
+ output = %x{/usr/sbin/ifconfig -a}
+
+ output.split(/^\S/).each { |str|
+ if str =~ /inet ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/
+ tmp = $1
+ unless tmp =~ /127\./
+ ip = tmp
+ break
+ end
+ end
+ }
+
+ ip
+ end
+ end
diff --git a/lib/facter/kernelrelease.rb b/lib/facter/kernelrelease.rb
index 9766ad9..8c6ac57 100644
--- a/lib/facter/kernelrelease.rb
+++ b/lib/facter/kernelrelease.rb
@@ -1,3 +1,8 @@
Facter.add(:kernelrelease) do
setcode 'uname -r'
end
+
+ Facter.add(:kernelrelease) do
+ confine :kernel => :aix
+ setcode 'oslevel -s'
+ end
diff --git a/lib/facter/macaddress.rb b/lib/facter/macaddress.rb
index 647f39d..f42f8a1 100644
--- a/lib/facter/macaddress.rb
+++ b/lib/facter/macaddress.rb
@@ -40,3 +40,26 @@
ether
end
end
+
+ Facter.add(:macaddress) do
+ confine :kernel => %w{AIX}
+ setcode do
+ ether = []
+ ip = nil
+ output = %x{/usr/sbin/ifconfig -a}
+ output.each { |str|
+ if str =~ /([a-z]+\d+): flags=/
+ devname = $1
+ unless devname =~ /lo0/
+ output2 = %x{/usr/bin/entstat #{devname}}
+ output2.each { |str2|
+ if str2 =~ /^Hardware Address: (\w{1,2}:\w{1,2}:\w{1,2}:\w{1,2}:\w{1,2}:\w{1,2})/
+ ether.push($1)
+ end
+ }
+ end
+ end
+ }
+ ether[0]
+ end
+ end
diff --git a/lib/facter/uniqueid.rb b/lib/facter/uniqueid.rb
index b5726a0..2eae3cc 100644
--- a/lib/facter/uniqueid.rb
+++ b/lib/facter/uniqueid.rb
@@ -1,4 +1,4 @@
Facter.add(:uniqueid) do
setcode 'hostid', '/bin/sh'
- confine :operatingsystem => %w{Solaris Linux Fedora RedHat CentOS SuSE Debian Gentoo}
+ confine :operatingsystem => %w{Solaris Linux Fedora RedHat CentOS SuSE Debian Gentoo AIX}
end