Example #1
0
    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
Example #2
0
    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
Example #3
0
    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
Example #4
0
    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