added some error handling
diff --git a/bin/Barreleye.py b/bin/Barreleye.py
index 3c16c8c..436bec1 100644
--- a/bin/Barreleye.py
+++ b/bin/Barreleye.py
@@ -139,6 +139,9 @@
'properties' : {
'org.openbmc.Control': {
'poll_interval' : 3000
+ },
+ 'org.openbmc.control.Power': {
+ 'pgood_timeout' : 10000
}
}
}
diff --git a/bin/Openbmc.py b/bin/Openbmc.py
index 97d20bf..b320d52 100644
--- a/bin/Openbmc.py
+++ b/bin/Openbmc.py
@@ -19,6 +19,10 @@
'FATAL_ERROR' : 2,
'NOT_PRESENT' : 3,
}
+
+EVENT_TYPES = ['NONE','FATAL','RECOVERABLE','WARNING','SW_ERROR','INFO']
+
+
ENUMS = {
'org.openbmc.SensorIntegerThreshold.state' :
['NOT_SET','NORMAL','LOWER_CRITICAL','LOWER_WARNING','UPPER_WARNING','UPPER_CRITICAL'],
diff --git a/bin/eventlogger.py b/bin/eventlogger.py
index 6f2d165..0c4fcfc 100644
--- a/bin/eventlogger.py
+++ b/bin/eventlogger.py
@@ -3,12 +3,11 @@
import sys
import syslog
import json
-#from gi.repository import GObject
import gobject
import dbus
import dbus.service
import dbus.mainloop.glib
-
+import Openbmc
DBUS_NAME = 'org.openbmc.loggers.EventLogger'
OBJ_NAME = '/org/openbmc/loggers/EventLogger/'+sys.argv[1]
@@ -20,10 +19,16 @@
syslog.openlog('openbmc')
bus.add_signal_receiver(self.event_log_signal_handler,
- dbus_interface = "org.openbmc.EventLog", signal_name = "EventLog" )
+ dbus_interface = "org.openbmc.EventLog",
+ signal_name = "EventLog",
+ path_keyword='path')
## Signal handler
- def event_log_signal_handler(self,message):
+ def event_log_signal_handler(self,e_type,msg,path = None):
+ message = {}
+ message['object_path'] = path
+ message['e_type'] = Openbmc.EVENT_TYPES[int(e_type)]
+ message['message'] = msg
syslog.syslog(json.dumps(message))
if __name__ == '__main__':
diff --git a/bin/sensor_manager.py b/bin/sensor_manager.py
index 2e1e96a..0020a1a 100644
--- a/bin/sensor_manager.py
+++ b/bin/sensor_manager.py
@@ -22,6 +22,9 @@
bus.add_signal_receiver(self.SensorChangedHandler,
dbus_interface = 'org.openbmc.SensorValue',
signal_name = 'Changed', path_keyword='path')
+ bus.add_signal_receiver(self.SensorErrorHandler,
+ dbus_interface = 'org.openbmc.SensorValue',
+ signal_name = 'Error', path_keyword='path')
bus.add_signal_receiver(self.NormalThreshold,
dbus_interface = 'org.openbmc.SensorThreshold',
signal_name = 'Normal', path_keyword='path')
@@ -71,7 +74,11 @@
print "Unknown sensor at: "+path
return val
- ## Signal handlers
+ ## Signal handlers
+ def SensorErrorHandler(self,path = None):
+ self.initSensorEntry(path)
+ self.sensor_cache[path]['error'] = True
+
def SensorChangedHandler(self,value,units,path = None):
self.initSensorEntry(path)
self.sensor_cache[path]['value'] = value