summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Smith <tsmith@chef.io>2020-11-24 10:33:06 -0800
committerGitHub <noreply@github.com>2020-11-24 10:33:06 -0800
commit464234c5ee61af3b378b20a450164d1dae7e5f5c (patch)
treee49d79565051cd45d027d449c5071fcc00d9d2b4
parent8c3ded74d2a5791fd500620d348c0b6893e65591 (diff)
parenta81624c0debe6ed3dbf4d4f150eacdfdb60198a3 (diff)
downloadohai-464234c5ee61af3b378b20a450164d1dae7e5f5c.tar.gz
Merge pull request #1584 from chef/docker_crash
Prevent docker plugin crashes on AIX
-rw-r--r--lib/ohai/plugins/docker.rb2
-rw-r--r--spec/unit/plugins/docker_spec.rb10
2 files changed, 7 insertions, 5 deletions
diff --git a/lib/ohai/plugins/docker.rb b/lib/ohai/plugins/docker.rb
index 92e7a5c4..425d03c2 100644
--- a/lib/ohai/plugins/docker.rb
+++ b/lib/ohai/plugins/docker.rb
@@ -48,7 +48,7 @@ Ohai.plugin(:Docker) do
docker[:swarm] = shellout_data["Swarm"]
end
- collect_data do
+ collect_data(:linux, :windows, :darwin) do
require "json" unless defined?(JSON)
if virtualization[:systems][:docker]
diff --git a/spec/unit/plugins/docker_spec.rb b/spec/unit/plugins/docker_spec.rb
index 781b1f97..5816bc37 100644
--- a/spec/unit/plugins/docker_spec.rb
+++ b/spec/unit/plugins/docker_spec.rb
@@ -78,10 +78,14 @@ expected_output = {
describe Ohai::System, "plugin docker" do
let(:plugin) { get_plugin("docker") }
+ before do
+ plugin[:virtualization] = Mash.new
+ plugin[:virtualization][:systems] = Mash.new
+ allow(plugin).to receive(:collect_os).and_return(:linux)
+ end
+
context "without docker installed" do
it "does not create a docker attribute" do
- plugin[:virtualization] = Mash.new
- plugin[:virtualization][:systems] = Mash.new
plugin.run
expect(plugin).not_to have_key(:docker)
end
@@ -89,8 +93,6 @@ describe Ohai::System, "plugin docker" do
context "with docker installed" do
it "creates a docker attribute with correct data" do
- plugin[:virtualization] = Mash.new
- plugin[:virtualization][:systems] = Mash.new
plugin[:virtualization][:systems][:docker] = "host"
allow(plugin).to receive(:shell_out).with("docker info --format '{{json .}}'").and_return(mock_shell_out(0, docker_output, ""))
plugin.run