diff options
author | Thibaut Notteboom <tib@tibux.org> | 2013-11-19 16:15:35 +0100 |
---|---|---|
committer | Bryan McLellan <btm@opscode.com> | 2013-11-25 11:27:27 -0800 |
commit | bed2a6a69674e99abea5d79dc312592deecc577b (patch) | |
tree | 34de8366a4bbfecd914d1d6ab317dd788b2a2929 | |
parent | f7b5d7011d4363c2eda97b4634eace4fcb01977f (diff) | |
download | ohai-bed2a6a69674e99abea5d79dc312592deecc577b.tar.gz |
OHAI-525 : can now detect qemu/kvm according the cpu type
-rw-r--r-- | lib/ohai/plugins/linux/virtualization.rb | 2 | ||||
-rw-r--r-- | spec/unit/plugins/linux/virtualization_spec.rb | 16 |
2 files changed, 17 insertions, 1 deletions
diff --git a/lib/ohai/plugins/linux/virtualization.rb b/lib/ohai/plugins/linux/virtualization.rb index c6fa9492..39c1f846 100644 --- a/lib/ohai/plugins/linux/virtualization.rb +++ b/lib/ohai/plugins/linux/virtualization.rb @@ -65,7 +65,7 @@ Ohai.plugin(:Virtualization) do # It would be great if we could read pv_info in the kernel # Wait for reply to: http://article.gmane.org/gmane.comp.emulators.kvm.devel/27885 if File.exists?("/proc/cpuinfo") - if File.read("/proc/cpuinfo") =~ /QEMU Virtual CPU/ + if File.read("/proc/cpuinfo") =~ /QEMU Virtual CPU|Common KVM processor|Common 32-bit KVM processor/ virtualization[:system] = "kvm" virtualization[:role] = "guest" end diff --git a/spec/unit/plugins/linux/virtualization_spec.rb b/spec/unit/plugins/linux/virtualization_spec.rb index 2a8f076d..855833c9 100644 --- a/spec/unit/plugins/linux/virtualization_spec.rb +++ b/spec/unit/plugins/linux/virtualization_spec.rb @@ -86,6 +86,22 @@ describe Ohai::System, "Linux virtualization platform" do @plugin[:virtualization][:role].should == "guest" end + it "should set kvm guest if /proc/cpuinfo contains Common KVM processor" do + File.should_receive(:exists?).with("/proc/cpuinfo").and_return(true) + File.stub(:read).with("/proc/cpuinfo").and_return("Common KVM processor") + @plugin.run + @plugin[:virtualization][:system].should == "kvm" + @plugin[:virtualization][:role].should == "guest" + end + + it "should set kvm guest if /proc/cpuinfo contains Common 32-bit KVM processor" do + File.should_receive(:exists?).with("/proc/cpuinfo").and_return(true) + File.stub(:read).with("/proc/cpuinfo").and_return("Common 32-bit KVM processor") + @plugin.run + @plugin[:virtualization][:system].should == "kvm" + @plugin[:virtualization][:role].should == "guest" + end + it "should not set virtualization if kvm isn't there" do File.should_receive(:exists?).at_least(:once).and_return(false) @plugin.run |