summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaire McQuin <mcquin@users.noreply.github.com>2014-10-13 16:23:43 -0700
committerClaire McQuin <mcquin@users.noreply.github.com>2014-10-13 16:23:43 -0700
commita598b6c05cfd027d3c5128133278ab51a4bc9113 (patch)
tree3738cb93bf70ccd4a1cf8406e0a5a8914a6e6c72
parent54f474a0545e43d3d9a02d39999da2328bdfddca (diff)
parentbb11ff4df7ccc877044765d3965cda118fbc01fa (diff)
downloadohai-a598b6c05cfd027d3c5128133278ab51a4bc9113.tar.gz
Merge pull request #429 from opscode/nshahzad-patch-1
Look for any number of spaces between the VxID and the value [#411]
-rw-r--r--lib/ohai/plugins/linux/virtualization.rb4
-rw-r--r--spec/unit/plugins/linux/virtualization_spec.rb20
2 files changed, 21 insertions, 3 deletions
diff --git a/lib/ohai/plugins/linux/virtualization.rb b/lib/ohai/plugins/linux/virtualization.rb
index 49d01565..73ba253a 100644
--- a/lib/ohai/plugins/linux/virtualization.rb
+++ b/lib/ohai/plugins/linux/virtualization.rb
@@ -137,7 +137,7 @@ Ohai.plugin(:Virtualization) do
# Detect Linux-VServer
if File.exists?("/proc/self/status")
proc_self_status = File.read("/proc/self/status")
- vxid = proc_self_status.match(/^(s_context|VxID): (\d+)$/)
+ vxid = proc_self_status.match(/^(s_context|VxID):\s*(\d+)$/)
if vxid and vxid[2]
virtualization[:system] = "linux-vserver"
if vxid[2] == "0"
@@ -158,7 +158,7 @@ Ohai.plugin(:Virtualization) do
# /proc/self/cgroup could have a name including alpha/digit/dashes
# <index #>:<subsystem>:/lxc/<named container id>
#
- # /proc/self/cgroup could have a non-lxc cgroup name indicating other uses
+ # /proc/self/cgroup could have a non-lxc cgroup name indicating other uses
# of cgroups. This is probably not LXC/Docker.
# <index #>:<subsystem>:/Charlie
#
diff --git a/spec/unit/plugins/linux/virtualization_spec.rb b/spec/unit/plugins/linux/virtualization_spec.rb
index 890c425d..9fb3744f 100644
--- a/spec/unit/plugins/linux/virtualization_spec.rb
+++ b/spec/unit/plugins/linux/virtualization_spec.rb
@@ -230,6 +230,24 @@ VBOX
@plugin[:virtualization][:systems]['linux-vserver'].should == "host"
end
+ it "should set Linux-VServer host if /proc/self/status contains multiple space VxID: 0" do
+ File.should_receive(:exists?).with("/proc/self/status").and_return(true)
+ File.stub(:read).with("/proc/self/status").and_return("VxID: 0")
+ @plugin.run
+ @plugin[:virtualization][:system].should == "linux-vserver"
+ @plugin[:virtualization][:role].should == "host"
+ @plugin[:virtualization][:systems]['linux-vserver'].should == "host"
+ end
+
+ it "should set Linux-VServer host if /proc/self/status contains tabbed VxID:\t0" do
+ File.should_receive(:exists?).with("/proc/self/status").and_return(true)
+ File.stub(:read).with("/proc/self/status").and_return("VxID:\t0")
+ @plugin.run
+ @plugin[:virtualization][:system].should == "linux-vserver"
+ @plugin[:virtualization][:role].should == "host"
+ @plugin[:virtualization][:systems]['linux-vserver'].should == "host"
+ end
+
it "should set Linux-VServer guest if /proc/self/status contains s_context > 0" do
File.should_receive(:exists?).with("/proc/self/status").and_return(true)
File.stub(:read).with("/proc/self/status").and_return("s_context: 2")
@@ -373,7 +391,7 @@ CGROUP
File.should_receive(:exists?).with("/proc/self/cgroup").and_return(true)
File.stub(:read).with("/proc/self/cgroup").and_return(self_cgroup)
end
-
+
it "sets lxc host if lxc-version exists" do
@plugin.stub(:lxc_version_exists?).and_return("/usr/bin/lxc-version")
@plugin.run