diff options
author | Tim Smith <tsmith@chef.io> | 2020-11-24 10:33:06 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-24 10:33:06 -0800 |
commit | 464234c5ee61af3b378b20a450164d1dae7e5f5c (patch) | |
tree | e49d79565051cd45d027d449c5071fcc00d9d2b4 | |
parent | 8c3ded74d2a5791fd500620d348c0b6893e65591 (diff) | |
parent | a81624c0debe6ed3dbf4d4f150eacdfdb60198a3 (diff) | |
download | ohai-464234c5ee61af3b378b20a450164d1dae7e5f5c.tar.gz |
Merge pull request #1584 from chef/docker_crash
Prevent docker plugin crashes on AIX
-rw-r--r-- | lib/ohai/plugins/docker.rb | 2 | ||||
-rw-r--r-- | spec/unit/plugins/docker_spec.rb | 10 |
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 |