diff options
| author | Jiri Kubicek <jiri.kubicek@kraxnet.cz> | 2010-07-25 03:44:41 +0200 |
|---|---|---|
| committer | Jiri Kubicek <jiri.kubicek@kraxnet.cz> | 2010-07-26 00:36:21 +0200 |
| commit | 82286e44cf91e2e8305ba03e7e183ff98593099f (patch) | |
| tree | d72b43275d32cc42b554b95dde6f5416ed64f3de /lib | |
| parent | 1bd2ca29d8fd7d11e75096ceeeb704fe887cad31 (diff) | |
| download | facter-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')
| -rw-r--r-- | lib/facter/util/virtual.rb | 3 | ||||
| -rw-r--r-- | lib/facter/virtual.rb | 6 |
2 files changed, 8 insertions, 1 deletions
diff --git a/lib/facter/util/virtual.rb b/lib/facter/util/virtual.rb index 80f4e2c..900375f 100644 --- a/lib/facter/util/virtual.rb +++ b/lib/facter/util/virtual.rb @@ -57,5 +57,8 @@ module Facter::Util::Virtual "kvm" end + def self.jail? + Facter::Util::Resolution.exec("/sbin/sysctl -n security.jail.jailed") == "1" + end end 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 |
