diff options
author | James Turnbull <james@lovedthanlost.net> | 2009-05-02 21:40:22 +1000 |
---|---|---|
committer | James Turnbull <james@lovedthanlost.net> | 2009-05-10 21:50:54 +1000 |
commit | 8e4a68983ca7605f7fdf9ea441c26eef9ff6b42e (patch) | |
tree | 9da4215877b1463ff7c69d8c7e7b26a9b95ad433 /lib/facter/virtual.rb | |
parent | 636a91de9304caf32d179b7de5ca6dca296a7f2c (diff) | |
download | facter-8e4a68983ca7605f7fdf9ea441c26eef9ff6b42e.tar.gz facter-8e4a68983ca7605f7fdf9ea441c26eef9ff6b42e.tar.xz facter-8e4a68983ca7605f7fdf9ea441c26eef9ff6b42e.zip |
Fixes #2169 Correctly recognises dom0 and domUs
Diffstat (limited to 'lib/facter/virtual.rb')
-rw-r--r-- | lib/facter/virtual.rb | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/lib/facter/virtual.rb b/lib/facter/virtual.rb index 3ad6f8a..78e5485 100644 --- a/lib/facter/virtual.rb +++ b/lib/facter/virtual.rb @@ -18,17 +18,21 @@ Facter.add("virtual") do end end - Thread::exclusive do - if FileTest.exists?("/proc/xen/capabilities") && FileTest.readable?("/proc/xen/capabilities") - txt = File.read("/proc/xen/capabilities") - if txt =~ /control_d/i - result = "xen0" - else - result = "xenu" - end - end + # new Xen domains have this in dom0 not domu :( + if FileTest.exists?("/proc/sys/xen/independent_wallclock") + result = "xenu" end - + if FileTest.exists?("/sys/bus/xen") + result = "xenu" + end + + if FileTest.exists?("/proc/xen/capabilities") + txt = File.read("/proc/xen/capabilities") + if txt =~ /control_d/i + result = "xen0" + end + end + if result == "physical" output = Facter::Util::Resolution.exec('lspci') if not output.nil? |