diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/facter/operatingsystem.rb | 9 | ||||
-rw-r--r-- | lib/facter/operatingsystemrelease.rb | 12 |
2 files changed, 20 insertions, 1 deletions
diff --git a/lib/facter/operatingsystem.rb b/lib/facter/operatingsystem.rb index 1675909..25eeb00 100644 --- a/lib/facter/operatingsystem.rb +++ b/lib/facter/operatingsystem.rb @@ -32,6 +32,8 @@ Facter.add(:operatingsystem) do end elsif FileTest.exists?("/etc/arch-release") "Arch" + elsif FileTest.exists?("/etc/vmware-release") + "VMWareESX" elsif FileTest.exists?("/etc/redhat-release") txt = File.read("/etc/redhat-release") if txt =~ /centos/i @@ -63,6 +65,13 @@ Facter.add(:operatingsystem) do end Facter.add(:operatingsystem) do + confine :kernel => "VMkernel" + setcode do + "ESXi" + end +end + +Facter.add(:operatingsystem) do # Default to just returning the kernel as the operating system setcode do Facter[:kernel].value end end diff --git a/lib/facter/operatingsystemrelease.rb b/lib/facter/operatingsystemrelease.rb index ac9be65..da1b76a 100644 --- a/lib/facter/operatingsystemrelease.rb +++ b/lib/facter/operatingsystemrelease.rb @@ -84,6 +84,16 @@ Facter.add(:operatingsystemrelease) do end Facter.add(:operatingsystemrelease) do + confine :operatingsystem => %w{VMwareESX} + setcode do + release = Facter::Util::Resolution.exec('vmware -v') + if release =~ /VMware ESX .*?(\d.*)/ + $1 + end + end +end + +Facter.add(:operatingsystemrelease) do confine :operatingsystem => %w{Slamd64} setcode do releasefile = Facter::Util::Resolution.exec('cat /etc/slamd64-version') @@ -96,5 +106,5 @@ Facter.add(:operatingsystemrelease) do end Facter.add(:operatingsystemrelease) do - setcode do Facter[:kernelrelease].value end + setcode do Facter[:kernelrelease].value end end |