Skip to content

Commit

Permalink
Merge pull request #639 from ndpgroup/rhev_virt_detect
Browse files Browse the repository at this point in the history
Add detection for RHEV (on Linux guests) to virtualization plugin
  • Loading branch information
tas50 committed Nov 25, 2015
2 parents 4d467a0 + f6231c7 commit 128595d
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 1 deletion.
2 changes: 2 additions & 0 deletions CHANGELOG.md
@@ -1,6 +1,8 @@
# Ohai Changelog

## Unreleased
* [**James Flemer, NDP LLC**](https://github.com/jflemer-ndp):
- Add detection for RHEV (on Linux guests) to virtualization plugin
* [**Shahul Khajamohideen**](https://github.com/sh9189):
- Fixes Windows :CPU plugin inconsistencies with other platforms: modifies
`cpu[:total]` to return total number of logical processors, adds `cpu[:cores]`
Expand Down
2 changes: 1 addition & 1 deletion lib/ohai/plugins/linux/virtualization.rb
Expand Up @@ -146,7 +146,7 @@ def docker_exists?
virtualization[:system] = "openstack"
virtualization[:role] = "guest"
virtualization[:systems][:openstack] = "guest"
when /Manufacturer: QEMU|Product Name: KVM/
when /Manufacturer: QEMU|Product Name: (KVM|RHEV)/
virtualization[:system] = "kvm"
virtualization[:role] = "guest"
virtualization[:systems][:kvm] = "guest"
Expand Down
19 changes: 19 additions & 0 deletions spec/unit/plugins/linux/virtualization_spec.rb
Expand Up @@ -246,6 +246,25 @@
expect(plugin[:virtualization][:systems][:kvm]).to eq("guest")
end

it "sets kvm guest if dmidecode detects RHEV" do
kvm_dmidecode=<<-RHEV
System Information
Manufacturer: Red Hat
Product Name: RHEV Hypervisor
Version: 6.7-20150911.0.el6ev
Serial Number: 00000000-0000-0000-0000-000000000000
UUID: E7F1DC93-3DA1-4EC3-A6AB-F6904BA87985
Wake-up Type: Power Switch
SKU Number: Not Specified
Family: Red Hat Enterprise Linux
RHEV
allow(plugin).to receive(:shell_out).with("dmidecode").and_return(mock_shell_out(0, kvm_dmidecode, ""))
plugin.run
expect(plugin[:virtualization][:system]).to eq("kvm")
expect(plugin[:virtualization][:role]).to eq("guest")
expect(plugin[:virtualization][:systems][:kvm]).to eq("guest")
end

it "should run dmidecode and not set virtualization if nothing is detected" do
allow(plugin).to receive(:shell_out).with("dmidecode").and_return(mock_shell_out(0, "", ""))
plugin.run
Expand Down

0 comments on commit 128595d

Please sign in to comment.