summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Dean <radean@hotmail.com>2016-12-14 13:21:27 -0500
committerBob Dean <radean@hotmail.com>2016-12-15 08:02:06 -0500
commitd2c62978e336c57aaf8f8c024d255d9d13da0e2f (patch)
tree530fc79380017a2e1073cf6b2fc1bbc0be9b42be
parent9d9fa6e91f7377fd2676cd83e85ba935faec7746 (diff)
downloadohai-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.rb8
-rw-r--r--spec/unit/plugins/windows/virtualization_spec.rb22
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