diff options
author | Tim Smith <tsmith84@gmail.com> | 2020-11-23 21:17:57 -0800 |
---|---|---|
committer | Tim Smith <tsmith84@gmail.com> | 2020-11-24 08:40:13 -0800 |
commit | 9c6256d28c316c7196ac1ee3daebbe9dbc6eefd6 (patch) | |
tree | 53337cbb5d4c41902f8b7eeb0739c82df0775446 | |
parent | 115f471fb35e058d009cf86cc59f8d49c602b64f (diff) | |
download | ohai-9c6256d28c316c7196ac1ee3daebbe9dbc6eefd6.tar.gz |
Limit several of the Cloud/VM plugins to certain platforms
Running these on platforms these hypervisors / clouds don't support is pointless and in the case of scaleway it crashes on at least AIX. I went off the list of platforms these clouds / hypervisors support.
Signed-off-by: Tim Smith <tsmith@chef.io>
-rw-r--r-- | lib/ohai/plugins/digital_ocean.rb | 3 | ||||
-rw-r--r-- | lib/ohai/plugins/libvirt.rb | 2 | ||||
-rw-r--r-- | lib/ohai/plugins/linode.rb | 2 | ||||
-rw-r--r-- | lib/ohai/plugins/scaleway.rb | 2 | ||||
-rw-r--r-- | lib/ohai/plugins/virtualbox.rb | 2 | ||||
-rw-r--r-- | spec/unit/plugins/digital_ocean_spec.rb | 1 | ||||
-rw-r--r-- | spec/unit/plugins/linode_spec.rb | 1 | ||||
-rw-r--r-- | spec/unit/plugins/scaleway_spec.rb | 1 |
8 files changed, 9 insertions, 5 deletions
diff --git a/lib/ohai/plugins/digital_ocean.rb b/lib/ohai/plugins/digital_ocean.rb index d18304b6..94d123f0 100644 --- a/lib/ohai/plugins/digital_ocean.rb +++ b/lib/ohai/plugins/digital_ocean.rb @@ -49,7 +49,8 @@ Ohai.plugin(:DigitalOcean) do false end - collect_data do + # linux and freebsd is all digitalocean supports + collect_data(:linux, :freebsd) do if looks_like_digital_ocean? logger.trace("Plugin Digitalocean: looks_like_digital_ocean? == true") digital_ocean Mash.new diff --git a/lib/ohai/plugins/libvirt.rb b/lib/ohai/plugins/libvirt.rb index b3bde624..42d66e0f 100644 --- a/lib/ohai/plugins/libvirt.rb +++ b/lib/ohai/plugins/libvirt.rb @@ -89,7 +89,7 @@ Ohai.plugin(:Libvirt) do storage_data end - collect_data do + collect_data(:linux) do if virtualization[:role].eql?("host") load_libvirt begin diff --git a/lib/ohai/plugins/linode.rb b/lib/ohai/plugins/linode.rb index c1cb8ae3..8ac7d559 100644 --- a/lib/ohai/plugins/linode.rb +++ b/lib/ohai/plugins/linode.rb @@ -51,7 +51,7 @@ Ohai.plugin(:Linode) do end end - collect_data do + collect_data(:linux) do # Setup linode mash if it is a linode system if looks_like_linode? logger.trace("Plugin Linode: looks_like_linode? == true") diff --git a/lib/ohai/plugins/scaleway.rb b/lib/ohai/plugins/scaleway.rb index d6d43444..4847bb27 100644 --- a/lib/ohai/plugins/scaleway.rb +++ b/lib/ohai/plugins/scaleway.rb @@ -44,7 +44,7 @@ Ohai.plugin(:Scaleway) do false end - collect_data do + collect_data(:linux) do if looks_like_scaleway? logger.trace("Plugin Scaleway: looks_like_scaleway? == true") scaleway Mash.new diff --git a/lib/ohai/plugins/virtualbox.rb b/lib/ohai/plugins/virtualbox.rb index 60ec0213..e04b006d 100644 --- a/lib/ohai/plugins/virtualbox.rb +++ b/lib/ohai/plugins/virtualbox.rb @@ -128,7 +128,7 @@ Ohai.plugin(:Virtualbox) do logger.trace("Plugin VboxHost: Could not run '#{so_cmd}'. Skipping data") end - collect_data(:default) do + collect_data(:windows, :linux, :solaris2, :darwin) do case virtualization.dig("systems", "vbox") when "guest" logger.trace("Plugin Virtualbox: Node detected as vbox guest. Collecting guest data.") diff --git a/spec/unit/plugins/digital_ocean_spec.rb b/spec/unit/plugins/digital_ocean_spec.rb index 280668c8..ed1d55a4 100644 --- a/spec/unit/plugins/digital_ocean_spec.rb +++ b/spec/unit/plugins/digital_ocean_spec.rb @@ -35,6 +35,7 @@ describe Ohai::System, "plugin digital_ocean" do end before do + allow(plugin).to receive(:collect_os).and_return(:linux) allow(plugin).to receive(:hint?).with("digital_ocean").and_return(false) end diff --git a/spec/unit/plugins/linode_spec.rb b/spec/unit/plugins/linode_spec.rb index 75d1a933..ae5c2508 100644 --- a/spec/unit/plugins/linode_spec.rb +++ b/spec/unit/plugins/linode_spec.rb @@ -21,6 +21,7 @@ describe Ohai::System, "plugin linode" do let(:plugin) { get_plugin("linode") } before do + allow(plugin).to receive(:collect_os).and_return(:linux) plugin[:network] = { "interfaces" => { "eth0" => { diff --git a/spec/unit/plugins/scaleway_spec.rb b/spec/unit/plugins/scaleway_spec.rb index 1869322a..238cd51d 100644 --- a/spec/unit/plugins/scaleway_spec.rb +++ b/spec/unit/plugins/scaleway_spec.rb @@ -21,6 +21,7 @@ describe Ohai::System, "plugin scaleway" do let(:plugin) { get_plugin("scaleway") } before do + allow(plugin).to receive(:collect_os).and_return(:linux) allow(plugin).to receive(:hint?).with("scaleway").and_return(false) allow(plugin).to receive(:file_exist?).with("/proc/cmdline").and_return(false) end |