summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Asuncion <jose.asuncion@gmail.com>2017-10-06 17:11:35 -0700
committerJose Asuncion <jose.asuncion@gmail.com>2017-10-06 17:14:03 -0700
commite7fdf126030a0edbb874e95dccb26f374e25a824 (patch)
treee39dd3456c484cf505b2060f15efbb43abdca5e8
parent1dd9f211c5c18e8abb3a7b3547cfaab90c069732 (diff)
downloadohai-e7fdf126030a0edbb874e95dccb26f374e25a824.tar.gz
also check for lxc-start
Signed-off-by: Jose Asuncion <jeunito@gmail.com>
-rw-r--r--lib/ohai/plugins/linux/virtualization.rb2
-rw-r--r--spec/unit/plugins/linux/virtualization_spec.rb18
2 files changed, 14 insertions, 6 deletions
diff --git a/lib/ohai/plugins/linux/virtualization.rb b/lib/ohai/plugins/linux/virtualization.rb
index db8a1eb3..d745bd49 100644
--- a/lib/ohai/plugins/linux/virtualization.rb
+++ b/lib/ohai/plugins/linux/virtualization.rb
@@ -22,7 +22,7 @@ Ohai.plugin(:Virtualization) do
provides "virtualization"
def lxc_version_exists?
- which("lxc-version")
+ which("lxc-version") || which("lxc-start")
end
def nova_exists?
diff --git a/spec/unit/plugins/linux/virtualization_spec.rb b/spec/unit/plugins/linux/virtualization_spec.rb
index ab236a4d..eb67e89b 100644
--- a/spec/unit/plugins/linux/virtualization_spec.rb
+++ b/spec/unit/plugins/linux/virtualization_spec.rb
@@ -42,7 +42,8 @@ describe Ohai::System, "Linux virtualization platform" do
allow(File).to receive(:exist?).with("/var/lib/lxd/devlxd").and_return(false)
# default the which wrappers to nil
- allow(plugin).to receive(:lxc_version_exists?).and_return(false)
+ allow(plugin).to receive(:which).with("lxc-version").and_return(nil)
+ allow(plugin).to receive(:which).with("lxc-start").and_return(nil)
allow(plugin).to receive(:nova_exists?).and_return(false)
end
@@ -577,7 +578,15 @@ CGROUP
end
it "sets lxc host if lxc-version exists" do
- allow(plugin).to receive(:lxc_version_exists?).and_return("/usr/bin/lxc-version")
+ allow(plugin).to receive(:which).with("lxc-start").and_return("/usr/bin/lxc-version")
+ plugin.run
+ expect(plugin[:virtualization][:system]).to eq("lxc")
+ expect(plugin[:virtualization][:role]).to eq("host")
+ expect(plugin[:virtualization][:systems][:lxc]).to eq("host")
+ end
+
+ it "sets lxc host if lxc-start exists" do
+ allow(plugin).to receive(:which).with("lxc-start").and_return("/usr/bin/lxc-start")
plugin.run
expect(plugin[:virtualization][:system]).to eq("lxc")
expect(plugin[:virtualization][:role]).to eq("host")
@@ -585,7 +594,7 @@ CGROUP
end
it "does not set the old virtualization attributes if they are already set" do
- allow(plugin).to receive(:lxc_version_exists?).and_return("/usr/bin/lxc-version")
+ allow(plugin).to receive(:which).with("lxc-version").and_return("/usr/bin/lxc-version")
plugin[:virtualization] = Mash.new
plugin[:virtualization][:system] = "the cloud"
plugin[:virtualization][:role] = "cumulonimbus"
@@ -594,8 +603,7 @@ CGROUP
expect(plugin[:virtualization][:role]).not_to eq("host")
end
- it "does not set lxc host if lxc-version does not exist" do
- allow(plugin).to receive(:lxc_version_exists?).and_return(false)
+ it "does not set lxc host if neither lxc-version nor lxc-start exists" do
plugin.run
expect(plugin[:virtualization][:system]).to be_nil
expect(plugin[:virtualization][:role]).to be_nil