summaryrefslogtreecommitdiffstats
path: root/lib/facter/virtual.rb
diff options
context:
space:
mode:
authorJiri Kubicek <jiri.kubicek@kraxnet.cz>2010-07-25 03:44:41 +0200
committerJiri Kubicek <jiri.kubicek@kraxnet.cz>2010-07-26 00:36:21 +0200
commit82286e44cf91e2e8305ba03e7e183ff98593099f (patch)
treed72b43275d32cc42b554b95dde6f5416ed64f3de /lib/facter/virtual.rb
parent1bd2ca29d8fd7d11e75096ceeeb704fe887cad31 (diff)
downloadfacter-82286e44cf91e2e8305ba03e7e183ff98593099f.tar.gz
facter-82286e44cf91e2e8305ba03e7e183ff98593099f.tar.xz
facter-82286e44cf91e2e8305ba03e7e183ff98593099f.zip
Fix #4352 - Support for detecting virtuals (jails) on FreeBSD
There was no support for detecting FreeBSD jails as a virtual in facter. This patch detects jail by getting "security.jail.jailed" kernel state via sysctl. Signed-off-by: Jiri Kubicek <jiri.kubicek@kraxnet.cz>
Diffstat (limited to 'lib/facter/virtual.rb')
-rw-r--r--lib/facter/virtual.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/facter/virtual.rb b/lib/facter/virtual.rb
index c6d0f22..c14a715 100644
--- a/lib/facter/virtual.rb
+++ b/lib/facter/virtual.rb
@@ -38,6 +38,10 @@ Facter.add("virtual") do
result = Facter::Util::Virtual.kvm_type()
end
+ if Facter.value(:kernel)=="FreeBSD"
+ result = "jail" if Facter::Util::Virtual.jail?
+ end
+
if result == "physical"
output = Facter::Util::Resolution.exec('lspci')
if not output.nil?
@@ -76,7 +80,7 @@ Facter.add("is_virtual") do
setcode do
case Facter.value(:virtual)
- when "xenu", "openvzve", "vmware", "kvm", "vserver"
+ when "xenu", "openvzve", "vmware", "kvm", "vserver", "jail"
true
else
false