Bronze use case: Health-Check
In the Bronze release, the following use case will be supported by SMO supporting O1 interface.
Health-Check Use Case (entire use case)
O1 Managed Function (O-CU/O-DU/O-RU) Health-Check (Flow #4) (focus on O1 interface)
For the part "O1 MF health status retrieval" a common yang module is required. O-RAN Alliance WG4 developed a yang module for this purpose called "o-ran-fm.yang".
In order to give all the O-RAN Alliance working groups and O-RAN-SC project the flexibility to define the alarms/faults needed for their domain, yang provides mechanisms to add items to an extensible enum - called identities.
Those yang capabilities will be exposed by NetConf-Servers to NetConf-Client(s) on SMO in the NetConf Hello-Message so that SMO can learn the supported alarms by each of the different components.
Instructions how to create such yang are described in https://tools.ietf.org/html/rfc8632 - see "Appendix A. Vendor-Specific Alarm Types Example" and think of "O-RAN-Managed-Function-Specific" instead of "Vendor-Specific".
Matti Hiltunen Thoralf Czichy Former user (Deleted) salvatore.scarpina Zhimin Yuan (Deactivated) : Please comment
Related YANG data modules in scp/oam/modeling.
AlarmList
Under discussion with O-RAN Alliance - the alarm-list compared to RFC8632
...
ro alarm-list
| +--ro number-of-alarms? yang:gauge32
| +--ro last-changed? yang:date-and-time
| +--ro alarm* [resource alarm-type-id alarm-type-qualifier]
| | +--ro resource resource
| | +--ro alarm-type-id alarm-type-id
| | +--ro alarm-type-qualifier alarm-type-qualifier
| | +--ro alt-resource* resource
| | +--ro related-alarm* [resource alarm-type-id alarm-type-qualifier] {alarm-correlation}?
| | | +--ro resource -> /alarms/alarm-list/alarm/resource
| | | +--ro alarm-type-id -> /alarms/alarm-list/alarm[resource=current()/../resource]/alarm-type-id
| | | +--ro alarm-type-qualifier -> /alarms/alarm-list/alarm[resource=current()/../resource][alarm-type-id=current()/../alarm-type-id]/alarm-type-qualifier
| | +--ro impacted-resource* resource {service-impact-analysis}?
| | +--ro root-cause-resource* resource {root-cause-analysis}?
| | +--ro time-created yang:date-and-time
| | +--ro is-cleared boolean
| | +--ro last-raised yang:date-and-time
| | +--ro last-changed yang:date-and-time
| | +--ro perceived-severity severity
| | +--ro alarm-text alarm-text
| | +--ro status-change* [time] {alarm-history}?
| | | +--ro time yang:date-and-time
| | | +--ro perceived-severity severity-with-clear
| | | +--ro alarm-text alarm-text
| | +--ro operator-state-change* [time] {operator-actions}?
| | | +--ro time yang:date-and-time
| | | +--ro operator string
| | | +--ro state operator-state
| | | +--ro text? string
| | +---x set-operator-state {operator-actions}?
| | | +---w input
| | | +---w state writable-operator-state
| | | +---w text? string
| | +---n operator-action {operator-actions}?
| | +-- time yang:date-and-time
| | +-- operator string
| | +-- state operator-state
| | +-- text? string
| +---x purge-alarms
| | +---w input
| | | +---w alarm-clearance-status enumeration
| | | +---w older-than!
| | | | +---w (age-spec)?
| | | | +--:(seconds)
| | | | | +---w seconds? uint16
| | | | +--:(minutes)
| | | | | +---w minutes? uint16
| | | | +--:(hours)
| | | | | +---w hours? uint16
| | | | +--:(days)
| | | | | +---w days? uint16
| | | | +--:(weeks)
| | | | +---w weeks? uint16
| | | +---w severity!
| | | | +---w (sev-spec)?
| | | | +--:(below)
| | | | | +---w below? severity
| | | | +--:(is)
| | | | | +---w is? severity
| | | | +--:(above)
| | | | +---w above? severity
| | | +---w operator-state-filter! {operator-actions}?
| | | +---w state? operator-state
| | | +---w user? string
| | +--ro output
| | +--ro purged-alarms? uint32
| +---x compress-alarms {alarm-history}?
| +---w input
| | +---w resource? resource-match
| | +---w alarm-type-id? -> /alarms/alarm-list/alarm/alarm-type-id
| | +---w alarm-type-qualifier? -> /alarms/alarm-list/alarm/alarm-type-qualifier
| +--ro output
| +--ro compressed-alarms? uint32
...
Mapping YANG to VES
VES format:
VES | NetConf Alarm |
---|---|
ves:eventSeverity | severity |
ves:eventSeverity = NORMAL | is-cleared = true |
ves:faultFields:alarmCondition | yang-model namespace + ":" + alarm-type-id |
ves:faultFields:alarmAdditionalInformation | description of alarm-type-id |