rfc-8632

A YANG Data Model for Alarm Management

S. Vallin, M. Bjorklund
date2019-09 streamIETF areartg wgccamp statusPROPOSED STANDARD pages82 canonicalhttps://www.rfc-editor.org/rfc/rfc8632 doi10.17487/RFC8632 errataview
This document defines a YANG module for alarm management. It includes functions for alarm-list management, alarm shelving, and notifications to inform management systems. There are also operations to manage the operator state of an alarm and administrative alarm procedures. The module carefully maps to relevant alarm standards.

Extracted elements (29)

design-rationale §3.1

Alarms are modeled as states on resources rather than as discrete notifications, so that 'link-down' and 'link-up' notifications are treated as two events updating the same 'link-alarm' state. This eliminates ambiguity in alarm/clear correlation present in X.733 and 3GPP Alarm IRP.

yang

design-rationale §3.6

The recommended practice is to raise a single alarm on the root-cause resource and enumerate affected resources in the impacted-resource leaf-list, rather than generating separate alarms per affected resource. This limits alarm volume and directs operators to the actionable resource.

yang

design-rationale §2

X.733 mapping concepts are kept in a separate companion module (ietf-alarms-x733) rather than the core model, in order to keep the core model small and easy to understand while still allowing systems that require X.733 compliance to support it.

yang

design-rationale §3.2

YANG identities are used for alarm-type-id because they are hierarchical and distributed, enabling vendors and SDOs to define their own alarm type hierarchies without a central registry. A string qualifier is added for alarm types not fully known at design time (e.g., user-configurable digital inputs).

yang

interoperability-note §7

A companion module (ietf-alarms-x733, Section 7) provides explicit field mappings to ITU-T X.733, including event-type, probable-cause, specific-problem, backed-up-status, backup-object, trend-indication, threshold-information, and correlated-notifications.

yang

interoperability-note §5

The ietf-alarms model maps to RFC 8348 (ietf-hardware): al:resource corresponds to hardware component list entries, al:is-cleared maps to no bits set in hw:alarm-state, al:perceived-severity maps to corresponding severity bits, and al:operator-state 'ack' maps to hw:under-repair.

yang, netconf

normative-requirement §4.2 MUST

A server MUST implement the alarm inventory, and the mechanism whereby dynamic alarm types are added using the alarm-type qualifier MUST populate this list, enabling controlled alarm procedures in the client.

yang, netconf

normative-requirement §3.5 SHOULD

A server SHOULD describe its alarm retention policy: how long it retains cleared/closed alarms before they are manually purged or auto-removed.

yang

normative-requirement §4.6 MUST

If an alarm matches a configured alarm-severity-assignment-profile, it MUST use the configured severity level(s) instead of the system default, and this override MUST also be reflected in the alarm inventory.

yang

normative-requirement §3.3 MUST

If the alarming resource exists in the YANG data tree, an instance-identifier MUST be used with the full path to the object to identify the resource.

yang

normative-requirement §6 SHOULD

Implementations SHOULD strive to detect the cleared state for all alarm types; the alarm-inventory will-clear leaf MUST be set to false only when no cleared state is logically possible or instrumentation is missing.

yang

normative-requirement §4.1.1 MUST

Shelved alarms MUST appear in the /alarms/shelved-alarms/shelved-alarm list; non-matching alarms MUST appear in /alarms/alarm-list/alarm. The server MUST maintain state changes (e.g., severity) for shelved alarms and MUST NOT send notifications for them.

yang

normative-requirement §4 MUST

The alarm-list and alarm-inventory MUST be implemented by any system supporting this module. All other data model features (operator-actions, alarm-shelving, alarm-history, alarm-summary, alarm-profile, severity-assignment) are conditional YANG features.

yang, netconf

normative-requirement §6 MUST

The alarm-text leaf MUST contain enough information for an operator to understand the problem and how to resolve it. If the string contains structure, that format should be clearly documented.

yang

normative-requirement §6 MUST NOT

The base alarm-type-id identity is abstract and MUST NOT be used for alarms or appear in the alarm inventory; it serves only as a base for derived concrete alarm-type identities.

yang

normative-requirement §6 MUST

The entry with the latest timestamp in the status-change list MUST correspond to the 'is-cleared', 'perceived-severity', and 'alarm-text' leaves of the alarm. The /alarm-list/alarm/last-changed MUST be set to the same value as the time of the state change.

yang

protocol-element §3.4

An alarm instance is uniquely identified by the three-leaf key (resource, alarm-type-id, alarm-type-qualifier). All notifications sharing these three values are considered updates to the same alarm instance, removing ambiguity in alarm/clear correlation.

yang, netconf

protocol-element §3.6

Each alarm may optionally carry root-cause-resource (leaf-list, feature root-cause-analysis), impacted-resource (leaf-list, feature service-impact-analysis), and related-alarm (list, feature alarm-correlation) to support analysis without mandating it.

yang

protocol-element §6

Operator state is a union of writable states (none, ack, closed) and server-assigned states (shelved, un-shelved). Operators close alarms but cannot clear them; only the underlying instrumentation can clear an alarm via is-cleared.

yang

protocol-element §4.2

The alarm inventory (/alarms/alarm-inventory) lists all possible concrete alarm types with fields: alarm-type-id, alarm-type-qualifier, resource (optional), will-clear (boolean, mandatory), severity-level (leaf-list), and description (mandatory).

yang, netconf

protocol-element §4.1

The notify-status-changes control leaf governs notification generation: all-state-changes (default), raise-and-clear only, or severity-level (changes crossing a configured severity threshold, with clears always sent). This implements ITU-T Alarm Report Control.

yang, netconf

protocol-element §4.7

The purge-alarms action deletes alarms from the alarm list matching a filter on clearance status, age (seconds/minutes/hours/days/weeks), severity (below/is/above), and operator state. The compress-alarms action removes all status-change history entries except the most recent.

yang

protocol-element §6

The resource typedef is a union of instance-identifier (for YANG-modeled objects), yang:object-identifier (for SNMP objects), string (for distinguished names, CIM paths, etc.), and yang:uuid. Server precedence follows the union order.

yang, snmp

protocol-element §6

The severity typedef enumerates five ordered levels: indeterminate (2), warning (3), minor (4), major (5), and critical (6), drawn from ITU-T X.733. Clearance is a separate boolean 'is-cleared' flag; 'cleared' is not a severity value.

yang

registry §8

This document registers two YANG modules in the IANA 'YANG Module Names' registry: 'ietf-alarms' with namespace 'urn:ietf:params:xml:ns:yang:ietf-alarms', and 'ietf-alarms-x733' with namespace 'urn:ietf:params:xml:ns:yang:ietf-alarms-x733'.

yang, registry

security-consideration §9

The ietf-alarms module contains writable nodes (alarm shelving, alarm profiles, control parameters, set-operator-state) that could be misused to suppress or reclassify alarms, hiding network faults. Implementations must enforce access control per RFC 8341 (NACM) or equivalent.

yang, security, netconf

security-consideration §9

The purge-alarms and compress-alarms actions are destructive and irreversible, permanently deleting alarm history that may be needed for fault analysis or audit. Access to these operations must be restricted to authorized administrative roles.

yang, security

state-machine §3.5.2

Operator alarm lifecycle: none → ack → closed (operator-set via set-operator-state action); shelved/un-shelved are server-assigned on shelf configuration changes. Purge-alarms removes the alarm entry from the list entirely (administrative transition).

yang

state-machine §3.5.1

Resource alarm lifecycle: raised (is-cleared=false, with perceived-severity) → severity-changed (same key, new severity/text) → cleared (is-cleared=true) → re-raised. Only instrumentation drives transitions; each change appends an entry to the status-change list if alarm-history is supported.

yang