diff options
author | Bob Dean <radean@hotmail.com> | 2016-12-14 13:21:27 -0500 |
---|---|---|
committer | Bob Dean <radean@hotmail.com> | 2016-12-15 08:02:06 -0500 |
commit | d2c62978e336c57aaf8f8c024d255d9d13da0e2f (patch) | |
tree | 530fc79380017a2e1073cf6b2fc1bbc0be9b42be | |
parent | 9d9fa6e91f7377fd2676cd83e85ba935faec7746 (diff) | |
download | ohai-d2c62978e336c57aaf8f8c024d255d9d13da0e2f.tar.gz |
conditional to better identify hyper-v systms
Signed-off-by: Bob Dean <radean@hotmail.com>
-rw-r--r-- | lib/ohai/plugins/windows/virtualization.rb | 8 | ||||
-rw-r--r-- | spec/unit/plugins/windows/virtualization_spec.rb | 22 |
2 files changed, 16 insertions, 14 deletions
diff --git a/lib/ohai/plugins/windows/virtualization.rb b/lib/ohai/plugins/windows/virtualization.rb index cffc5d24..ac36b05a 100644 --- a/lib/ohai/plugins/windows/virtualization.rb +++ b/lib/ohai/plugins/windows/virtualization.rb @@ -45,9 +45,11 @@ Ohai.plugin(:Virtualization) do virtualization[:role] = "guest" virtualization[:systems][:kvm] = "guest" when "American Megatrends Inc." - virtualization[:system] = "hyper-v" - virtualization[:role] = "guest" - virtualization[:systems][:hyperv] = "guest" + if bios[0]["version"] =~ /VRTUAL -/ + virtualization[:system] = "hyper-v" + virtualization[:role] = "guest" + virtualization[:systems][:hyperv] = "guest" + end when "Xen" virtualization[:system] = "xen" virtualization[:role] = "guest" diff --git a/spec/unit/plugins/windows/virtualization_spec.rb b/spec/unit/plugins/windows/virtualization_spec.rb index b8883217..c3ac04ab 100644 --- a/spec/unit/plugins/windows/virtualization_spec.rb +++ b/spec/unit/plugins/windows/virtualization_spec.rb @@ -175,7 +175,7 @@ describe Ohai::System, "Windows virtualization platform" do context "when running on hyper-v" do it "system is hyper-v" do - allow_any_instance_of(WmiLite::Wmi).to receive(:instances_of).with("Win32_BIOS").and_return([{ "bioscharacteristics" => [4,7,9,11,12,14,15,16,17,19,22,23,24,25,26,27,28,29,30,34,36,37,40], + allow_any_instance_of(WmiLite::Wmi).to receive(:instances_of).with("Win32_BIOS").and_return([{ "bioscharacteristics" => [4, 7, 9, 11, 12, 14, 15, 16, 17, 19, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 36, 37, 40], "biosversion" => ["VRTUAL - 4001628, BIOS Date: 04/28/16 13:00:17 Ver: 09.00.06, BIOS Date: 04/28/16 13:00:17 Ver: 09.00.06"], "buildnumber" => nil, "codeset" => nil, @@ -202,10 +202,10 @@ describe Ohai::System, "Windows virtualization platform" do "targetoperatingsystem" => 0, "version" => "VRTUAL - 4001628", }]) - plugin.run - expect(plugin[:virtualization][:system]).to eq("hyper-v") - expect(plugin[:virtualization][:role]).to eq("guest") - expect(plugin[:virtualization][:systems][:hyperv]).to eq("guest") + plugin.run + expect(plugin[:virtualization][:system]).to eq("hyper-v") + expect(plugin[:virtualization][:role]).to eq("guest") + expect(plugin[:virtualization][:systems][:hyperv]).to eq("guest") end end @@ -215,13 +215,13 @@ describe Ohai::System, "Windows virtualization platform" do "manufacturer" => "Xen", "name" => "Revision: 1.221", "serialnumber" => "ec2b487f-d9ed-7d17-c7c0-1d4599d6c1da", - "version" => "Xen - 0" + "version" => "Xen - 0", }]) - plugin.run - expect(plugin[:virtualization][:system]).to eq("xen") - expect(plugin[:virtualization][:role]).to eq("guest") - expect(plugin[:virtualization][:systems][:xen]).to eq("guest") - end + plugin.run + expect(plugin[:virtualization][:system]).to eq("xen") + expect(plugin[:virtualization][:role]).to eq("guest") + expect(plugin[:virtualization][:systems][:xen]).to eq("guest") + end end context "when running on a hardware system" do |