summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Smith <tsmith84@gmail.com>2015-11-26 20:46:38 -0800
committerTim Smith <tsmith84@gmail.com>2015-11-26 20:46:38 -0800
commitebeb43911a65a39ab0b5ffb49e2f9eae7dfe61f4 (patch)
tree92d0fb235f24425a4c463b68335314de832eee13
parenta963d49231c0c83d4088e3dcd24e364f5e8c0d51 (diff)
downloadohai-ebeb43911a65a39ab0b5ffb49e2f9eae7dfe61f4.tar.gz
Use systems format for virtualization host / guests
Also don't create the virtualization mash if it already exists. The main non-platform virtualization plugin may have already dropped off data here
-rw-r--r--lib/ohai/plugins/bsd/virtualization.rb8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/ohai/plugins/bsd/virtualization.rb b/lib/ohai/plugins/bsd/virtualization.rb
index 608c0230..c199036f 100644
--- a/lib/ohai/plugins/bsd/virtualization.rb
+++ b/lib/ohai/plugins/bsd/virtualization.rb
@@ -20,7 +20,8 @@ Ohai.plugin(:Virtualization) do
provides 'virtualization'
collect_data(:freebsd, :openbsd, :netbsd, :dragonflybsd) do
- virtualization Mash.new
+ virtualization Mash.new unless virtualization
+ virtualization[:systems] = Mash.new unless virtualization[:systems]
so = shell_out("sysctl -n security.jail.jailed")
if so.stdout.split($/)[0].to_i == 1
@@ -35,9 +36,11 @@ Ohai.plugin(:Virtualization) do
when /vboxdrv/
virtualization[:system] = 'vbox'
virtualization[:role] = 'host'
+ virtualization[:systems][:vbox] = 'host'
when /vboxguest/
virtualization[:system] = 'vbox'
virtualization[:role] = 'guest'
+ virtualization[:systems][:vbox] = 'guest'
end
end
@@ -46,6 +49,7 @@ Ohai.plugin(:Virtualization) do
if (so.stdout || '').lines.count >= 1
virtualization[:system] = 'jail'
virtualization[:role] = 'host'
+ virtualization[:systems][:jail] = 'host'
end
# KVM Host support for FreeBSD is in development
@@ -57,6 +61,7 @@ Ohai.plugin(:Virtualization) do
if so.stdout.split($INPUT_RECORD_SEPARATOR)[0] =~ /QEMU Virtual CPU|Common KVM processor|Common 32-bit KVM processor/
virtualization[:system] = 'kvm'
virtualization[:role] = 'guest'
+ virtualization[:systems][:kvm] = 'guest'
end
# http://www.dmo.ca/blog/detecting-virtualization-on-linux
@@ -68,6 +73,7 @@ Ohai.plugin(:Virtualization) do
if so.stdout =~ /Version: VS2005R2/
virtualization[:system] = 'virtualserver'
virtualization[:role] = 'guest'
+ virtualization[:systems][:virtualserver] = 'guest'
else
virtualization[:system] = 'virtualpc'
virtualization[:role] = 'guest'