diff options
author | John Ferlito <johnf@inodes.org> | 2010-02-14 18:07:43 +1100 |
---|---|---|
committer | Paul Nasrat <pnasrat@googlemail.com> | 2010-03-08 22:45:21 +0000 |
commit | 62b6773a63bb96273fbcb6f79bec524fb67df075 (patch) | |
tree | 161713a1c697aed6e319a67638be17401e3285eb /lib | |
parent | dca615c98b864d75e2ac5899d98d04a2bd979eba (diff) | |
download | facter-62b6773a63bb96273fbcb6f79bec524fb67df075.tar.gz facter-62b6773a63bb96273fbcb6f79bec524fb67df075.tar.xz facter-62b6773a63bb96273fbcb6f79bec524fb67df075.zip |
Add kvm support to virtual fact
Based on initial patch by James Turnbull
Diffstat (limited to 'lib')
-rw-r--r-- | lib/facter/util/virtual.rb | 17 | ||||
-rw-r--r-- | lib/facter/virtual.rb | 6 |
2 files changed, 22 insertions, 1 deletions
diff --git a/lib/facter/util/virtual.rb b/lib/facter/util/virtual.rb index 0c3fb73..ca7c367 100644 --- a/lib/facter/util/virtual.rb +++ b/lib/facter/util/virtual.rb @@ -40,4 +40,21 @@ module Facter::Util::Virtual FileTest.exists?(f) end end + + def self.kvm? + if FileTest.exists?("/proc/cpuinfo") + txt = File.read("/proc/cpuinfo") + return true if txt =~ /QEMU Virtual CPU/ + end + return false + end + + def self.kvm_type + # TODO Tell the difference between kvm and qemu + # Can't work out a way to do this at the moment that doesn't + # require a special binary + "kvm" + end + + end diff --git a/lib/facter/virtual.rb b/lib/facter/virtual.rb index 78413a9..3f02003 100644 --- a/lib/facter/virtual.rb +++ b/lib/facter/virtual.rb @@ -34,6 +34,10 @@ Facter.add("virtual") do end end + if Facter::Util::Virtual.kvm? + result = Facter::Util::Virtual.kvm_type() + end + if result == "physical" output = Facter::Util::Resolution.exec('lspci') if not output.nil? @@ -72,7 +76,7 @@ Facter.add("is_virtual") do setcode do case Facter.value(:virtual) - when "xenu", "openvzve", "vmware" + when "xenu", "openvzve", "vmware", "kvm" true else false |