module tapi-fm { yang-version "1.1"; namespace "urn:onf:otcc:yang:tapi-fm"; prefix tapi-fm; import tapi-common { prefix tapi-common; revision-date 2022-11-21; } import tapi-notification { prefix tapi-notification; revision-date 2022-11-21; } import tapi-streaming { prefix tapi-streaming; revision-date 2022-11-21; } organization "ONF OTCC (Open Transport Configuration & Control) Project"; contact " Project Web: Project List: Editor: Karthik Sethuraman Andrea Mazzini Arturo Mayoral Nigel Davis Ramon Casellas "; description " This module contains TAPI Fault Management Model definitions. Source: TapiFm.uml - The TAPI YANG models included in this TAPI release are a *normative* part of the TAPI SDK. - The YANG specifications have been generated from the corresponding UML model using the [ONF EAGLE UML2YANG mapping tool] and further edited manually to comply with the [ONF IISOMI UML2YANG mapping guidelines] - Status of YANG model artifacts can be determined by referring to the corresponding UML artifacts. As described in the UML models, some artifacts are considered *experimental*, and thus the corresponding YANG artifacts. - The ONF TAPI release process does not guarantee backward compatibility of YANG models across major versions of TAPI releases. The YANG model backward compatibility criteria are outlined in section 11 of . YANG models included in this release may not be backward compatible with previous TAPI releases. Copyright (c) 2022 Open Networking Foundation (ONF). All rights reserved. License: This module is distributed under the Apache License 2.0."; revision 2022-11-21 { description "ONF Transport API version 2.4.0 RC1. Changes included in this TAPI release (v2.4.0) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } revision 2021-09-24 { description "ONF Transport API version 2.3.1. Changes included in this TAPI release (v2.3.1) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } revision 2021-08-04 { description "ONF Transport API version 2.3. Changes included in this TAPI release (v2.3) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } revision 2021-05-24 { description "ONF Transport API version 2.3 RC1. Changes included in this TAPI release (v2.3) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } revision 2020-04-23 { description "ONF Transport API version 2.1.3. Changes included in this TAPI release (v2.1.3) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } revision 2019-07-16 { description "ONF Transport API version 2.1.2. Changes included in this TAPI release (v2.1.2) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } revision 2019-03-31 { description "ONF Transport API version 2.2-RC1. Changes included in this TAPI release (v2.2) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } revision 2018-12-10 { description "ONF Transport API version 2.1.1. Changes included in this TAPI release (v2.1.1) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } revision 2018-10-16 { description "ONF Transport API version 2.1.0. Changes included in this TAPI release (v2.1.0) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } revision 2018-03-07 { description "ONF Transport API version 2.0.2 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool. Changes in this revision: "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model "; } revision 2018-02-16 { description "ONF Transport API version 2.0.1 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool. Changes in this revision: "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model "; } revision 2018-01-02 { description "ONF Transport API version 2.0.0 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool. Changes in this revision: "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model "; } augment "/tapi-common:context/tapi-notification:notification-context/tapi-notification:notification" { container alarm-info { uses alarm-info; description "none"; } description "none"; } augment "/tapi-common:context/tapi-notification:notification-context/tapi-notification:event-notification" { container detected-condition { uses detected-condition; description "none"; } description "none"; } augment "/tapi-common:context/tapi-notification:notification-context/tapi-notification:notification" { container tca-info { uses tca-info; description "none"; } description "none"; } augment "/tapi-streaming:stream-record/tapi-streaming:log-record/tapi-streaming:log-record-body/tapi-streaming:condition-detector" { container detected-condition { uses detected-condition; description "none"; } description "none"; } augment "/tapi-notification:notification" { container alarm-info { uses alarm-info; description "none"; } description "none"; } augment "/tapi-notification:event-notification" { container detected-condition { uses detected-condition; description "none"; } description "none"; } augment "/tapi-notification:notification" { container tca-info { uses tca-info; description "none"; } description "none"; } /************************** * package object-classes **************************/ grouping alarm-info { leaf alarm-name { type tapi-common:alr; description "The probable cause of the failure (detected fault). G.806: - fault: A fault is the inability of a function to perform a required action. This does not include an inability due to preventive maintenance, lack of external resources or planned actions. - fault cause: A single disturbance or fault may lead to the detection of multiple defects. - defect: The density of anomalies has reached a level where the ability to perform a required function has been interrupted. Defects are used as input for performance monitoring, the control of consequent actions and for the determination of fault causes. A fault cause is the result of a correlation process which is intended to identify the defect that is representative of the disturbance or fault that is causing the problem. - failure: The fault cause persisted long enough to consider the ability of an item to perform a required function to be terminated. The item may be considered as failed; a fault has now been detected. - alarm: A human-observable indication that draws attention to a failure (detected fault) usually giving an indication of the severity of the fault."; } leaf native-alarm-name { type string; description "The probable cause of the failure as shown by lower level controllers."; } leaf native-alarm-info { type string; description "Additional info made available by the lower level controllers."; } leaf is-transient { type boolean; description "An alarm is transient when stateless, i.e. an explicit clear notification is not foreseen."; } leaf perceived-severity { type perceived-severity-type; description "The alarm severity."; } leaf service-affecting { type service-affecting; description "The impact on the service."; } leaf alarm-category { type alarm-category; description "The alarm category, based on ITU-T X.733."; } leaf alarm-qualifier { type string; description "Further information necessary to precisely/uniquely/unambiguously identify the alarm detector. For Equipment and Processing Alarm Category, e.g. the local id of the ActualNonFieldReplaceableModule which identifies exact alarm source. For Environment Alarm Category, e.g. on the same Device instance may appear more Environmental alarm notifications with same Alarn Name. For Connectivity Alarm Category in case that same CEP instance includes e.g. both OTS and OMS monitoring layers."; } description "This class augments the Notification class with alarm related parameters. This class is deprecated in favor of DetectedCondition class, which unifies alarm and TCA related parameters."; } grouping tca-info { leaf threshold-indicator-name { type tapi-common:pm; description "PM metric name which TCA refers to."; } leaf native-threshold-indicator-name { type string; description "PM metric name which TCA refers to as shown by lower level controllers."; } leaf native-tca-info { type string; description "Additional info made available by the lower level controllers."; } leaf is-transient { type boolean; description "A threshold crossing alert is transient when stateless, i.e. an explicit clear notification is not foreseen."; } leaf perceived-tca-severity { type perceived-tca-severity; description "The threshold crossing alert severity."; } container threshold-observed-value { uses tapi-common:pm-parameter-value; description "The observed value of PM metric to which TCA refers to."; } container threshold-configured-value { uses tapi-common:pm-parameter-value; description "The configured threshold value of PM metric to which TCA refers to."; } leaf oam-job { type tapi-common:uuid; description "Reference to the OamJob instance for which the PM metric and threshold values were configured. The reference is defined as simple UUID because TapiFm does not import TapiOam. MEF 35.1: Identification of the PM Session for which the TCA Function was configured."; } leaf tca-qualifier { type string; description "Further information necessary to precisely/uniquely/unambiguously identify the TCA detector."; } container granularity-period { uses tapi-common:time-period; description "The granularity period or measurement interval time. This parameter may be necessary when the reference to the OAM Job is not included, e.g. in case the OAM job is not visible at the management interface."; } leaf tca-category { type alarm-category; description "none"; } description "This class augments the Notification class with threshold crossing alert related parameters. This class is deprecated in favor of DetectedCondition class, which unifies alarm and TCA related parameters."; } grouping detected-condition { leaf detected-condition-name { type tapi-common:dc; description "The name of the Condition, e.g. an alarm probable cause or the PM metric name which threshold crossing alert refers to. ITU-T probable cause of the failure (detected fault). G.806: - fault: A fault is the inability of a function to perform a required action. This does not include an inability due to preventive maintenance, lack of external resources or planned actions. - fault cause: A single disturbance or fault may lead to the detection of multiple defects. - defect: The density of anomalies has reached a level where the ability to perform a required function has been interrupted. Defects are used as input for performance monitoring, the control of consequent actions and for the determination of fault causes. A fault cause is the result of a correlation process which is intended to identify the defect that is representative of the disturbance or fault that is causing the problem. - failure: The fault cause persisted long enough to consider the ability of an item to perform a required function to be terminated. The item may be considered as failed; a fault has now been detected. - alarm: A human-observable indication that draws attention to a failure (detected fault) usually giving an indication of the severity of the fault."; } leaf detected-condition-native-name { type string; description "The name used for the Condition by the source of the information."; } leaf detected-condition-native-info { type string; description "Additional info of the Condition provided by the source of the information."; } leaf detected-condition-qualifier { type string; description "Further information necessary to precisely/uniquely/unambiguously identify the Condition Detector. For Equipment and Processing Alarm Category, e.g. the local id of the ActualNonFieldReplaceableModule which identifies exact alarm source. For Environment Alarm Category, e.g. on the same Device instance may appear more Environmental alarm notifications with same Alarn Name. For Connectivity Alarm Category in case that same CEP instance includes e.g. both OTS and OMS monitoring layers."; } leaf oam-job { type tapi-common:uuid; description "Reference to the OamJob instance for which the Condition detection has been configured, e.g. configuration of PM metrics and threshold values and/or of the (alarm) Conditions. The reference is defined as simple UUID because TapiFm does not import TapiOam. MEF 35.1: Identification of the PM Session for which the TCA Function was configured."; } container pm-metric-info { uses pm-metric-info; description "The PM metric information."; } container detector-info { uses detector-info; description "The detector info for alarm and TCA."; } container simple-detector { uses simple-detector; description "The simple detector state."; } description "A record of the state of a Detector where that Detector has two underling states that are of asymmetric importance. For example, an alarm or a threshold crossing alert detected on a given resource. A Condition Detector represents any monitoring component that assesses properties of something and determines from those properties what conditions are associated with the thing. For example, a thing might be 'too hot' or might be 'unreliable'."; } grouping detector-info { leaf perceived-severity { type perceived-severity-type; description "The severity of the detected Condition."; } leaf service-affecting { type service-affecting; description "The impact on the service."; } leaf is-acknowledge { type boolean; description "Information on operator acknowledgement."; } leaf detector-category { type detector-category; description "The Detector (alarm) category, based on ITU-T X.733."; } description "(Legacy) information associated to a Condition (alarm)."; } grouping simple-detector { leaf simple-detector-state { type simple-detector-state; description "The (simple) state of the Detector. The Detector state accounts for the time characteristics of the detected Condition."; } description "Information regarding the (simple) state of the Detector."; } grouping pm-metric-info { container threshold-observed-value { uses tapi-common:pm-parameter-value; description "The observed value of PM metric to which TCA refers to."; } container threshold-configured-value { uses tapi-common:pm-parameter-value; description "The configured threshold value of PM metric to which TCA refers to."; } container granularity-period { uses tapi-common:time-period; description "The granularity period or measurement interval time. This parameter may be necessary when the reference to the OAM Job is not included, e.g. in case the OAM job is not visible at the management interface."; } description "Information associated to a Threshold Crossing Alert."; } /************************** * package type-definitions **************************/ identity ALARM_CATEGORY { description "none"; } identity ALARM_CATEGORY_EQUIPMENT { base ALARM_CATEGORY; description "none"; } identity ALARM_CATEGORY_ENVIRONMENT { base ALARM_CATEGORY; description "none"; } identity ALARM_CATEGORY_CONNECTIVITY { base ALARM_CATEGORY; description "none"; } identity ALARM_CATEGORY_PROCESSING { base ALARM_CATEGORY; description "none"; } identity ALARM_CATEGORY_SECURITY { base ALARM_CATEGORY; description "none"; } identity PERCEIVED_TCA_SEVERITY { description "none"; } identity PERCEIVED_TCA_SEVERITY_WARNING { base PERCEIVED_TCA_SEVERITY; description "ITU-T G.7710/X.733/M.3100: Indication for a potential or impending service-affecting fault. Further diagnosis should be made."; } identity PERCEIVED_TCA_SEVERITY_CLEAR { base PERCEIVED_TCA_SEVERITY; description "Included only for some possible backward compatibility purpose. It should not be used to assign a severity to a failure. ITU-T G.7710: The severities 'cleared' and 'indeterminate' defined by [ITU-T X.733] are not included in Table 2, as it is assumed that these are not to be used to assign a failure."; } identity FM { base tapi-notification:NOTIFICATION_TYPE; description "none"; } identity FM_ALARM_EVENT { base FM; description "The notification of a detected condition event, specifically an alarm detected on a given resource."; } identity FM_THRESHOLD_CROSSING_ALERT { base FM; description "The notification of a detected condition event, specifically a threshold crossing alert detected on a given resource."; } identity CONDITION_TYPE { description "none"; } identity CONDITION_TYPE_ALARM { base CONDITION_TYPE; description "none"; } identity CONDITION_TYPE_TCA { base CONDITION_TYPE; description "Threshold Crossing Alert"; } identity DETECTOR_CATEGORY { description "none"; } identity DETECTOR_CATEGORY_EQUIPMENT { base DETECTOR_CATEGORY; description "none"; } identity DETECTOR_CATEGORY_ENVIRONMENT { base DETECTOR_CATEGORY; description "none"; } identity DETECTOR_CATEGORY_CONNECTIVITY { base DETECTOR_CATEGORY; description "none"; } identity DETECTOR_CATEGORY_PROCESSING { base DETECTOR_CATEGORY; description "none"; } identity DETECTOR_CATEGORY_SECURITY { base DETECTOR_CATEGORY; description "none"; } identity DETECTOR_CATEGORY_UNDEFINED { base DETECTOR_CATEGORY; description "none"; } identity SIMPLE_DETECTOR_STATE { description "none"; } identity SIMPLE_DETECTOR_STATE_ACTIVE { base SIMPLE_DETECTOR_STATE; description "The detector is indicating the operation of the monitored entity is not within acceptable bounds with respect to the specific condition measured. If INTERMITTENT is supported there may be a requirement for persisted unacceptable operation after a problem occurs before ACTIVE is declared. An alternative may be to declare INTERMITTENT. Where INTERMITTENT is supported, ACTIVE indicates the stable presence of a problem."; } identity SIMPLE_DETECTOR_STATE_CLEAR { base SIMPLE_DETECTOR_STATE; description "The detector is indicating the operation of the monitored entity is within acceptable bounds with respect to the specific condition measured."; } identity SIMPLE_DETECTOR_STATE_INTERMITTENT { base SIMPLE_DETECTOR_STATE; description "The detector is indicating the operation of the monitored entity is intermittently not within acceptable bounds with respect to the specific condition measured. INTERMITTENT support is optional. Where it is supported there may be a requirement for persisted unacceptable operation after a problem occurs before ACTIVE or INTERMITTENT is declared."; } identity SIMPLE_DETECTOR_STATE_FLEETING { base SIMPLE_DETECTOR_STATE; description "Event has a very short life (Active-Clear), hence is notified/streamed after its occurrence."; } identity SIMPLE_DETECTOR_STATE_ACTIVE_NO_EXPLICIT_CLEAR { base SIMPLE_DETECTOR_STATE; description "Same as Active, but an explicit transition to Clear is not foreseen. This e.g. applies to PM metrics which can only increase (counters), hence the 'clear' criteria is conventionally the end of a measurement period."; } typedef alarm-category { type identityref { base ALARM_CATEGORY; } description "none"; } typedef perceived-severity-type { type enumeration { enum CRITICAL { description "ITU-T G.7710/X.733/M.3100: Indication for a service-affecting condition. Immediate corrective action is required."; } enum MAJOR { description "ITU-T G.7710/X.733/M.3100: Indication for a service-affecting condition. Urgent corrective action is required."; } enum MINOR { description "ITU-T G.7710/X.733/M.3100: Indication for a non-service-affecting condition. Corrective action should be taken in order to prevent more serious fault."; } enum WARNING { description "ITU-T G.7710/X.733/M.3100: Indication for a potential or impending service-affecting fault. Further diagnosis should be made."; } enum CLEARED { description "Included only for some possible backward compatibility purpose. It should not be used to assign a severity to a failure. ITU-T G.7710: The severities 'cleared' and 'indeterminate' defined by [ITU-T X.733] are not included in Table 2, as it is assumed that these are not to be used to assign a failure."; } } description "The types of perceived severity. ITU-T G.7710: Failures may have been categorized to indicate the severity or urgency of the fault."; } typedef service-affecting { type enumeration { enum SERVICE_AFFECTING { description "The service is affected by the detected Condition."; } enum NOT_SERVICE_AFFECTING { description "The service is not affected by the detected Condition."; } enum UNKNOWN { description "The impact on the service is unknown."; } } description "The possible impact on the service."; } typedef perceived-tca-severity { type identityref { base PERCEIVED_TCA_SEVERITY; } description "The types of perceived severity of threshold crossing alerts."; } typedef fm { type identityref { base FM; } description "The list of alarm specific notification types."; } typedef condition-type { type identityref { base CONDITION_TYPE; } description "The types of the Condition."; } typedef detector-category { type identityref { base DETECTOR_CATEGORY; } description "The Detector (alarm) category, based on ITU-T X.733."; } typedef simple-detector-state { type identityref { base SIMPLE_DETECTOR_STATE; } description "The states of the detector."; } }