summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Zachariasen <thewyzard@hotmail.com>2018-02-06 18:05:37 -0700
committerSean Zachariasen <thewyzard@hotmail.com>2018-02-06 18:05:37 -0700
commit5ad2d2b869e7666c656772f79ef2578381ea9af7 (patch)
tree2bedc891b9c11d92801e201cc1f287a6889f9db1
parent849a4caf9926a4e11f12f9175b6f4dcd8a9ccaf1 (diff)
downloadohai-5ad2d2b869e7666c656772f79ef2578381ea9af7.tar.gz
account for snap based installations
Signed-off-by: Sean Zachariasen <thewyzard@hotmail.com>
-rw-r--r--lib/ohai/plugins/linux/virtualization.rb13
-rw-r--r--spec/unit/plugins/linux/virtualization_spec.rb11
2 files changed, 19 insertions, 5 deletions
diff --git a/lib/ohai/plugins/linux/virtualization.rb b/lib/ohai/plugins/linux/virtualization.rb
index 797ea4e5..fc64dbe2 100644
--- a/lib/ohai/plugins/linux/virtualization.rb
+++ b/lib/ohai/plugins/linux/virtualization.rb
@@ -222,10 +222,15 @@ Ohai.plugin(:Virtualization) do
Ohai::Log.debug("Plugin Virtualization: /dev/lxd/sock exists. Detecting as lxd guest")
virtualization[:system] = "lxd"
virtualization[:role] = "guest"
- elsif File.exist?("/var/lib/lxd/devlxd")
- Ohai::Log.debug("Plugin Virtualization: /var/lib/lxd/devlxd exists. Detecting as lxd host")
- virtualization[:system] = "lxd"
- virtualization[:role] = "host"
+ else
+ ["/var/lib/lxd/devlxd", "/var/snap/lxd/common/lxd/devlxd"].each do |devlxd|
+ if File.exist?(devlxd)
+ Ohai::Log.debug("Plugin Virtualization: #{devlxd} exists. Detecting as lxd host")
+ virtualization[:system] = "lxd"
+ virtualization[:role] = "host"
+ break
+ end
+ end
end
end
end
diff --git a/spec/unit/plugins/linux/virtualization_spec.rb b/spec/unit/plugins/linux/virtualization_spec.rb
index 57357b58..b581b578 100644
--- a/spec/unit/plugins/linux/virtualization_spec.rb
+++ b/spec/unit/plugins/linux/virtualization_spec.rb
@@ -40,6 +40,7 @@ describe Ohai::System, "Linux virtualization platform" do
allow(File).to receive(:exist?).with("/sys/devices/virtual/misc/kvm").and_return(false)
allow(File).to receive(:exist?).with("/dev/lxd/sock").and_return(false)
allow(File).to receive(:exist?).with("/var/lib/lxd/devlxd").and_return(false)
+ allow(File).to receive(:exist?).with("/var/snap/lxd/common/lxd/devlxd").and_return(false)
allow(File).to receive(:exist?).with("/proc/1/environ").and_return(false)
# default the which wrappers to nil
@@ -495,13 +496,21 @@ VEERTU
expect(plugin[:virtualization][:role]).to eq("guest")
end
- it "setx lxd host if /var/lib/lxd/devlxd exists" do
+ it "sets lxd host if /var/lib/lxd/devlxd exists" do
expect(File).to receive(:exist?).with("/var/lib/lxd/devlxd").and_return(true)
plugin.run
expect(plugin[:virtualization][:system]).to eq("lxd")
expect(plugin[:virtualization][:role]).to eq("host")
end
+
+ it "sets lxd host if /var/snap/lxd/common/lxd/devlxd exists" do
+ expect(File).to receive(:exist?).with("/var/snap/lxd/common/lxd/devlxd").and_return(true)
+
+ plugin.run
+ expect(plugin[:virtualization][:system]).to eq("lxd")
+ expect(plugin[:virtualization][:role]).to eq("host")
+ end
end
describe "when we are checking for lxc" do