summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Smith <tsmith@chef.io>2018-10-03 15:20:21 -0700
committerTim Smith <tsmith@chef.io>2018-10-29 21:37:37 -0700
commiteb5da488e496a5da5b30828e3621949df04e686a (patch)
tree930365993146a332e2956c3a0919d1973d3e82b3
parent678f326b6f41be8f4b0d71c8b5d45185f0be01bc (diff)
downloadohai-slim_system_mac.tar.gz
Trim out bogus data in system_profile pluginslim_system_mac
Also there's no need to rescue requiring plist since ohai depends on it. We don't do this for anything else in Ohai. Signed-off-by: Tim Smith <tsmith@chef.io>
-rw-r--r--lib/ohai/plugins/darwin/hardware.rb8
-rw-r--r--lib/ohai/plugins/darwin/system_profiler.rb38
2 files changed, 20 insertions, 26 deletions
diff --git a/lib/ohai/plugins/darwin/hardware.rb b/lib/ohai/plugins/darwin/hardware.rb
index c9c4bab0..c6f33849 100644
--- a/lib/ohai/plugins/darwin/hardware.rb
+++ b/lib/ohai/plugins/darwin/hardware.rb
@@ -34,13 +34,7 @@ Ohai.plugin(:Hardware) do
next
end
- begin
- require "plist"
- rescue LoadError => e
- # In case the plist gem isn't present, skip this plugin.
- Ohai::Log.debug("Plugin Hardware: Can't load gem: #{e}. Cannot continue.")
- next
- end
+ require "plist"
hw_hash = system_profiler("SPHardwareDataType")
hw_hash[0]["_items"][0].delete("_name")
diff --git a/lib/ohai/plugins/darwin/system_profiler.rb b/lib/ohai/plugins/darwin/system_profiler.rb
index 20798cc4..ee1ab298 100644
--- a/lib/ohai/plugins/darwin/system_profiler.rb
+++ b/lib/ohai/plugins/darwin/system_profiler.rb
@@ -20,13 +20,12 @@ Ohai.plugin(:SystemProfile) do
provides "system_profile"
collect_data(:darwin) do
- begin
- require "plist"
+ require "plist"
- system_profile Array.new
- items = Array.new
- detail_level = {
- "mini" => %w{
+ system_profile Array.new
+ items = Array.new
+ detail_level = {
+ "mini" => %w{
SPParallelATAData
SPAudioData
SPBluetoothData
@@ -52,21 +51,22 @@ SPThunderboltData
SPUSBData
SPWWANData
SPAirPortData},
- "full" => [
- "SPHardwareDataType",
- ],
- }
+ "full" => [
+ "SPHardwareDataType",
+ ],
+ }
- detail_level.each do |level, data_types|
- so = shell_out("system_profiler -xml -detailLevel #{level} #{data_types.join(' ')}")
- Plist.parse_xml(so.stdout).each do |e|
- items << e
- end
+ detail_level.each do |level, data_types|
+ so = shell_out("system_profiler -xml -detailLevel #{level} #{data_types.join(' ')}")
+ Plist.parse_xml(so.stdout).each do |e|
+ # delete some bogus timing data and then keep the rest
+ e.delete("_SPCompletionInterval")
+ e.delete("_SPResponseTime")
+ e.delete("_SPCommandLineArguments")
+ items << e
end
-
- system_profile items.sort_by { |h| h["_dataType"] }
- rescue LoadError => e
- Ohai::Log.debug("Can't load gem: #{e})")
end
+
+ system_profile ( items.sort_by { |h| h["_dataType"] } ) # rubocop: disable Lint/ParenthesesAsGroupedExpression
end
end