Issue #20759 has been updated by Tony Lapointe.

The following quick patch seems to works for me, although i am no ruby expert 
so, maybe someone can come up with something better :


<pre><code>
--- /usr/lib64/ruby/gems/1.9.1/gems/facter-1.7.1/lib/facter/virtual.rb_BAK      
2013-09-28 09:58:37.932245360 -0400
+++ /usr/lib64/ruby/gems/1.9.1/gems/facter-1.7.1/lib/facter/virtual.rb  
2013-09-28 09:59:43.534245360 -0400
@@ -73,9 +73,9 @@
     end
 
     if Facter::Util::Virtual.xen?
-      if FileTest.exists?("/dev/xen/evtchn")
+      if File.read("/proc/xen/capabilities").chomp=="control_d"
         result = "xen0"
-      elsif FileTest.exists?("/proc/xen")
+      else
         result = "xenu"
       end
     end
</pre></code>

On a xenU with this patch :

<pre><code>
# facter|grep virt
is_virtual => true
virtual => xenu
</pre></code>


Best regards,

Tony Lapointe

----------------------------------------
Bug #20759: Xen virtualization incorrectly detected when DomU has Dom0-capable 
kernel
https://projects.puppetlabs.com/issues/20759#change-98120

* Author: Gabor Garami
* Status: Needs More Information
* Priority: Normal
* Assignee: Gabor Garami
* Category: 
* Target version: 
* Keywords: 
* Branch: 
* Affected Facter version: 1.7.1
----------------------------------------
The problem:

The Xen virtualization detection says dom0 if domU runs a Dom0-capable kernel.

The main problem is checking existence of /dev/xen/evtchn is not enough, the 
correct detection must include checking the content of /sys/hypervisor/uuid, 
and if it isn't contains all-zero UUID, then the system is really xenU not xen0.





-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-bugs.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to