diff options
author | Theodore Nordsieck <theo@opscode.com> | 2013-09-09 19:19:49 -0700 |
---|---|---|
committer | Theodore Nordsieck <theo@opscode.com> | 2013-09-11 16:13:24 -0700 |
commit | bef09bea84be795d537b2371d0424d45cb425970 (patch) | |
tree | ed3bb5972d82ac0b3358606c9b04c830436f3db6 | |
parent | 7b9c92c7651943b63add89c1d0c4f5299c38a000 (diff) | |
download | ohai-bef09bea84be795d537b2371d0424d45cb425970.tar.gz |
Converted plugins/netbsd/virtualization to Mixlib::ShellOut.
-rw-r--r-- | lib/ohai/plugins/netbsd/virtualization.rb | 55 |
1 files changed, 27 insertions, 28 deletions
diff --git a/lib/ohai/plugins/netbsd/virtualization.rb b/lib/ohai/plugins/netbsd/virtualization.rb index 328bc4bf..d9534e94 100644 --- a/lib/ohai/plugins/netbsd/virtualization.rb +++ b/lib/ohai/plugins/netbsd/virtualization.rb @@ -27,40 +27,39 @@ Ohai.plugin do # Detect KVM/QEMU from cpu, report as KVM # hw.model: QEMU Virtual CPU version 0.9.1 - if from("sysctl -n hw.model") =~ /QEMU Virtual CPU/ + so = shell_out("sysctl -n hw.model") + if so.stdout.split($/)[0] =~ /QEMU Virtual CPU/ virtualization[:system] = "kvm" virtualization[:role] = "guest" end # http://www.dmo.ca/blog/detecting-virtualization-on-linux if File.exists?("/usr/pkg/sbin/dmidecode") - popen4("dmidecode") do |pid, stdin, stdout, stderr| - stdin.close - found_virt_manufacturer = nil - found_virt_product = nil - stdout.each do |line| - case line - when /Manufacturer: Microsoft/ - found_virt_manufacturer = "microsoft" - when /Product Name: Virtual Machine/ - found_virt_product = "microsoft" - when /Version: 5.0/ - if found_virt_manufacturer == "microsoft" && found_virt_product == "microsoft" - virtualization[:system] = "virtualpc" - virtualization[:role] = "guest" - end - when /Version: VS2005R2/ - if found_virt_manufacturer == "microsoft" && found_virt_product == "microsoft" - virtualization[:system] = "virtualserver" - virtualization[:role] = "guest" - end - when /Manufacturer: VMware/ - found_virt_manufacturer = "vmware" - when /Product Name: VMware Virtual Platform/ - if found_virt_manufacturer == "vmware" - virtualization[:system] = "vmware" - virtualization[:role] = "guest" - end + so = shell_out("dmidecode") + found_virt_manufacturer = nil + found_virt_product = nil + so.stdout.lines do |line| + case line + when /Manufacturer: Microsoft/ + found_virt_manufacturer = "microsoft" + when /Product Name: Virtual Machine/ + found_virt_product = "microsoft" + when /Version: 5.0/ + if found_virt_manufacturer == "microsoft" && found_virt_product == "microsoft" + virtualization[:system] = "virtualpc" + virtualization[:role] = "guest" + end + when /Version: VS2005R2/ + if found_virt_manufacturer == "microsoft" && found_virt_product == "microsoft" + virtualization[:system] = "virtualserver" + virtualization[:role] = "guest" + end + when /Manufacturer: VMware/ + found_virt_manufacturer = "vmware" + when /Product Name: VMware Virtual Platform/ + if found_virt_manufacturer == "vmware" + virtualization[:system] = "vmware" + virtualization[:role] = "guest" end end end |