diff options
author | Sean Zachariasen <thewyzard@hotmail.com> | 2018-02-06 18:05:37 -0700 |
---|---|---|
committer | Sean Zachariasen <thewyzard@hotmail.com> | 2018-02-06 18:05:37 -0700 |
commit | 5ad2d2b869e7666c656772f79ef2578381ea9af7 (patch) | |
tree | 2bedc891b9c11d92801e201cc1f287a6889f9db1 | |
parent | 849a4caf9926a4e11f12f9175b6f4dcd8a9ccaf1 (diff) | |
download | ohai-5ad2d2b869e7666c656772f79ef2578381ea9af7.tar.gz |
account for snap based installations
Signed-off-by: Sean Zachariasen <thewyzard@hotmail.com>
-rw-r--r-- | lib/ohai/plugins/linux/virtualization.rb | 13 | ||||
-rw-r--r-- | spec/unit/plugins/linux/virtualization_spec.rb | 11 |
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 |