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-03 15:20:21 -0700
commitff3cafa5d8850c7aaea9b9714b15a8256168120a (patch)
treefc1c4f164b18e044aacd24b77d5fda8485a6f13f
parent54c256ca65bec2f33648cf6b7a7c6c7ec41d125b (diff)
downloadohai-mac.tar.gz
Trim out bogus data in system_profile pluginmac
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 c522090f..dab7957d 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.
- logger.trace("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 61000474..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"] } ) # rubocop: disable Lint/ParenthesesAsGroupedExpression
- rescue LoadError => e
- logger.trace("Can't load gem: #{e})")
end
+
+ system_profile ( items.sort_by { |h| h["_dataType"] } ) # rubocop: disable Lint/ParenthesesAsGroupedExpression
end
end