Package org.onosproject.alarm
Interface Alarm
-
- All Known Implementing Classes:
DefaultAlarm
public interface Alarm
Representation of an Alarm. At a given instant there can be only one alarm with the same deviceId + description + source combination.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
Alarm.SeverityLevel
Represents the severity level on an alarm, as per ITU-T X.733 specifications.
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description boolean
acknowledged()
Returns a flag to indicate if this alarm has been acknowledged.java.lang.String
assignedUser()
Returns the user to whom this alarm is assigned; this is for future use and always returns null in this release.default boolean
cleared()
Returns a flag to indicate if this alarm has been cleared.java.lang.String
description()
Returns a description of alarm.DeviceId
deviceId()
The device to which this alarm is related.AlarmId
id()
Returns the unique alarm id within this ONOS instance.boolean
manuallyClearable()
Returns a flag to indicate if this alarm is manually-cleared by a user action within ONOS.boolean
serviceAffecting()
Returns true if alarm is service affecting Note: Whilst X.733 combines service-affecting state with severity (where severities of critical and major are deemed service-affecting) ONOS keeps these attributes separate.Alarm.SeverityLevel
severity()
Returns the severity.AlarmEntityId
source()
Returns an entity within the context of this alarm's device.java.lang.Long
timeCleared()
Returns the time when cleared.long
timeRaised()
Returns the time when raised.long
timeUpdated()
Returns time at which the alarm was updated most recently, due to some change in the device, or ONOS.
-
-
-
Method Detail
-
id
AlarmId id()
Returns the unique alarm id within this ONOS instance.- Returns:
- alarm identifier
-
deviceId
DeviceId deviceId()
The device to which this alarm is related.- Returns:
- a device id
-
description
java.lang.String description()
Returns a description of alarm.It may encapsulate Event Type as described by ITU Recommendation X.736 ITU, Quoting https://tools.ietf.org/html/rfc3877 these include: other, communicationsAlarm, qualityOfServiceAlarm, processingErrorAlarm, equipmentAlarm, environmentalAlarm, integrityViolation, operationalViolation, physicalViolation, securityServiceOrMechanismViolation, timeDomainViolation
It may encapsulate Probable Cause as described by ITU Recommendation X.736 ITU, Quoting https://www.iana.org/assignments/ianaitualarmtc-mib/ianaitualarmtc-mib these include : aIS, callSetUpFailure, degradedSignal, farEndReceiverFailure, framingError, and hundreds more constants.
It may encapsulate a vendor-specific description of the underlying fault.
- Returns:
- description of alarm
-
source
AlarmEntityId source()
Returns an entity within the context of this alarm's device. It may be null if deviceId sufficiently identifies the location. As an example, the source may indicate a port number- Returns:
- source of alarm within the alarm's referenced Device.
-
timeRaised
long timeRaised()
Returns the time when raised.- Returns:
- time when raised, in milliseconds since start of epoch
-
timeUpdated
long timeUpdated()
Returns time at which the alarm was updated most recently, due to some change in the device, or ONOS. If the alarm has been cleared, this is the time at which the alarm was cleared.- Returns:
- time when last updated, in milliseconds since start of epoch
-
timeCleared
java.lang.Long timeCleared()
Returns the time when cleared. Null indicated no clear time, i.e. the alarm is still active.- Returns:
- time when cleared, in milliseconds since start of epoch or null if uncleared.
-
severity
Alarm.SeverityLevel severity()
Returns the severity. Note, that cleared alarms may have EITHER SeverityLevel = CLEARED, or may be not present; both scenarios should be handled.- Returns:
- severity of the alarm
-
serviceAffecting
boolean serviceAffecting()
Returns true if alarm is service affecting Note: Whilst X.733 combines service-affecting state with severity (where severities of critical and major are deemed service-affecting) ONOS keeps these attributes separate.- Returns:
- whether service affecting (true indicates it is)
-
acknowledged
boolean acknowledged()
Returns a flag to indicate if this alarm has been acknowledged. All alarms are unacknowledged until and unless an ONOS user takes action to indicate so.- Returns:
- whether alarm is currently acknowledged (true indicates it is)
-
cleared
default boolean cleared()
Returns a flag to indicate if this alarm has been cleared. All alarms are not cleared until and unless an ONOS user or app takes action to indicate so.- Returns:
- whether alarm is currently cleared (true indicates it is)
-
manuallyClearable
boolean manuallyClearable()
Returns a flag to indicate if this alarm is manually-cleared by a user action within ONOS. Some stateless events e.g. backup-failure or upgrade-failure, may be mapped by ONOS to alarms, and these may be deemed manually- clearable. The more typical case is that an alarm represents a persistent fault on or related to a device and such alarms are never manually clearable, i.e. a configuration or operational state must occur for the alarm to clear.- Returns:
- whether it may be cleared by a user action (true indicates it is)
-
assignedUser
java.lang.String assignedUser()
Returns the user to whom this alarm is assigned; this is for future use and always returns null in this release. It is anticipated that in future ONOS releases, the existing JAAS user/key/role configuration will be extended to include a mechanism whereby some groups of users may allocate alarms to other users for bookkeeping and administrative purposes, and that ONOS will additionally provide a REST based mechanism, to retrieve from JAAS, the set of users to whom alarm assignment is possible for the current user.- Returns:
- the assigned user; always null in this release.
-
-