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 :
--- /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
On a xenU with this patch :
# facter|grep virt
is_virtual => true
virtual => xenu
Best regards,
Tony Lapointe
----------------------------------------
Bug #20759: Xen virtualization incorrectly detected when DomU has Dom0-capable
kernel
https://projects.puppetlabs.com/issues/20759#change-98119
* 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.