diff options
author | Theodore Nordsieck <theo@opscode.com> | 2013-09-10 08:52:35 -0700 |
---|---|---|
committer | Theodore Nordsieck <theo@opscode.com> | 2013-09-11 16:13:24 -0700 |
commit | 66af6fd4046e3f341cf6ee54a290accd66983fb0 (patch) | |
tree | 576008501e4d76099f1cd839df9b554d93676a37 | |
parent | b371021d5d1c415e9e9502cfe17886cf2c016fe6 (diff) | |
download | ohai-66af6fd4046e3f341cf6ee54a290accd66983fb0.tar.gz |
Converted plugins/openbsd/virtualization to Mixlib::ShellOut.
-rw-r--r-- | lib/ohai/plugins/openbsd/virtualization.rb | 56 |
1 files changed, 27 insertions, 29 deletions
diff --git a/lib/ohai/plugins/openbsd/virtualization.rb b/lib/ohai/plugins/openbsd/virtualization.rb index a74f6228..142fa648 100644 --- a/lib/ohai/plugins/openbsd/virtualization.rb +++ b/lib/ohai/plugins/openbsd/virtualization.rb @@ -27,44 +27,42 @@ 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/local/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 end end end - |