From 5b298958b207bb231743651a2bb95db36c68c554 Mon Sep 17 00:00:00 2001 From: Andreas Unterkircher <unterkircher@prescreen.io> Date: Mon, 23 Jul 2018 11:12:48 +0200 Subject: [PATCH] lib/facter/sensors.rb, only run the plugin for physical machines, by checking the virtual-fact=physical first --- lib/facter/sensors.rb | 66 +++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/lib/facter/sensors.rb b/lib/facter/sensors.rb index 918720d..ede5190 100644 --- a/lib/facter/sensors.rb +++ b/lib/facter/sensors.rb @@ -173,44 +173,44 @@ def load_blacklist return TRUE end -begin - if ! Facter::Core::Execution::which('sensors') - Facter.warn("Failed to locate lm-sensors 'sensors' binary!") - else - $sensor_data_raw = Facter::Core::Execution.exec('sensors -u -A') - if !has_raw_sensor_data? - Facter.warn("Failed to read RAW-data from 'sensors' binary!") - else - $blacklist = Array.new - $sensor_data = Hash.new - - if !load_blacklist() - Facter.warn('load_blacklist() failed!') - end - - if ! parse_sensor_data() || !has_sensor_data? - Facter.warn("parse_sensor_data() failed!") +Facter.add(:sensors) do + confine :kernel => 'Linux' + confine :virtual => 'physical' + setcode do + begin + if ! Facter::Core::Execution::which('sensors') + Facter.warn("Failed to locate lm-sensors 'sensors' binary!") else - Facter.debug("Result: #{$sensor_data}") - - # what $sensor_data now actually contain can be handled like this: - # - #$sensor_data.each { |chip, sensors| - # sensors.each { |sensor, data| - # data.each { |key, value| - # } - # } - #} - - Facter.add(:sensors) do - confine :kernel => 'Linux' - setcode do + $sensor_data_raw = Facter::Core::Execution.exec('sensors -u -A') + if !has_raw_sensor_data? + Facter.warn("Failed to read RAW-data from 'sensors' binary!") + else + $blacklist = Array.new + $sensor_data = Hash.new + + if !load_blacklist() + Facter.warn('load_blacklist() failed!') + end + + if ! parse_sensor_data() || !has_sensor_data? + Facter.warn("parse_sensor_data() failed!") + else + Facter.debug("Result: #{$sensor_data}") + + # what $sensor_data now actually contain can be handled like this: + # + #$sensor_data.each { |chip, sensors| + # sensors.each { |sensor, data| + # data.each { |key, value| + # } + # } + #} $sensor_data end end end + rescue LoadError => err + Facter.log_exception("Overall error ocurred: #{err}") end end -rescue LoadError => err - Facter.log_exception("Overall error ocurred: #{err}") end -- GitLab