def _raise_alarm(self, current_severity): """Raise a port alarm""" if current_severity == fm_constants.FM_ALARM_SEVERITY_CLEAR: collectd.error("%s %s raise alarm called with clear severity" % (PLUGIN, self.bridge_name)) return True if self.severity != current_severity: if self.name: name = ":".join([self.bridge_name, self.name]) else: name = self.bridge_name self.timestamp = datetime.datetime.now() if manage_alarm(name, LEVEL_PORT, ALARM_ACTION_RAISE, current_severity, self.alarm_id, self.timestamp) is True: self.severity = current_severity if self.name: collectd.info("%s %s %s %s port alarm raised" % (PLUGIN, self.bridge_name, self.name, pc.get_severity_str(current_severity))) else: collectd.info("%s %s %s port alarm raised" % (PLUGIN, self.bridge_name, pc.get_severity_str(current_severity))) return True else: return False else: return True
def raise_iface_alarm(self, severity): """ Raise an interface alarm """ if severity == fm_constants.FM_ALARM_SEVERITY_CLEAR: collectd.error("%s %s raise alarm called with clear severity" % (PLUGIN, self.name)) return True if self.severity != severity: if manage_alarm(self.name, self.name, LEVEL_IFACE, ALARM_ACTION_RAISE, severity, self.alarm_id, self.timestamp) is False: self.severity = severity collectd.info("%s %s %s %s interface alarm raised" % (PLUGIN, self.name, self.alarm_id, pc.get_severity_str(severity))) return False else: return True else: return False
def _clear_alarm(self): """Clear a port alarm""" if self.severity != fm_constants.FM_ALARM_SEVERITY_CLEAR: if self.name: name = ":".join([self.bridge_name, self.name]) else: name = self.bridge_name if manage_alarm(name, LEVEL_PORT, ALARM_ACTION_CLEAR, fm_constants.FM_ALARM_SEVERITY_CLEAR, self.alarm_id, self.timestamp) is True: collectd.info("%s %s %s %s port alarm cleared" % (PLUGIN, self.name, self.alarm_id, pc.get_severity_str(self.severity))) self.severity = fm_constants.FM_ALARM_SEVERITY_CLEAR return True else: return False else: return True
def clear_iface_alarm(self): """Clear an interface alarm""" if self.severity != fm_constants.FM_ALARM_SEVERITY_CLEAR: if manage_alarm( self.name, self.name, LEVEL_IFACE, ALARM_ACTION_CLEAR, fm_constants.FM_ALARM_SEVERITY_CLEAR, self.alarm_id, self.timestamp) is False: collectd.info("%s %s %s %s interface alarm cleared" % (PLUGIN, self.name, self.alarm_id, pc.get_severity_str(self.severity))) self.severity = fm_constants.FM_ALARM_SEVERITY_CLEAR return False else: return True else: return False