Support of WG4 OpenFronthaul Management-Plane VES
[scp/oam/modeling.git] / data-model / yang / published / o-ran / ru-fh / o-ran-fm@2022-08-15.yang
1 module o-ran-fm {
2   yang-version 1.1;
3   namespace "urn:o-ran:fm:1.0";
4   prefix "o-ran-fm";
5
6   import ietf-yang-types {
7     prefix yang;
8     revision-date 2013-07-15;
9   }
10
11   organization "O-RAN Alliance";
12
13   contact
14     "www.o-ran.org";
15
16   description
17     "This module defines alarm reporting mechanism.
18
19     Copyright 2021 the O-RAN Alliance.
20
21     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
22     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23     IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24     ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
25     LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26     CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27     SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28     INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29     CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31     POSSIBILITY OF SUCH DAMAGE.
32
33     Redistribution and use in source and binary forms, with or without
34     modification, are permitted provided that the following conditions are met:
35
36     * Redistributions of source code must retain the above copyright notice,
37     this list of conditions and the above disclaimer.
38     * Redistributions in binary form must reproduce the above copyright notice,
39     this list of conditions and the above disclaimer in the documentation
40     and/or other materials provided with the distribution.
41     * Neither the Members of the O-RAN Alliance nor the names of its
42     contributors may be used to endorse or promote products derived from
43     this software without specific prior written permission.";
44
45   revision "2022-08-15" {
46     description
47       "version 10.0.0
48
49       1) removed min-elements 1 from affected-objects list
50       2) added identifier to affected-objects list
51       3) added new additional-information list";
52
53     reference "ORAN-WG4.M.0-v10.00";
54   }
55
56   revision "2022-04-18" {
57     description
58       "version 9.0.0
59
60       1) added feature HISTORICAL-ALARM-LIST
61       2) added corresponding  historical-alarm-list container";
62
63     reference "ORAN-WG4.M.0-v09.00";
64   }
65
66
67   revision "2021-12-01" {
68     description
69       "version 8.0.0
70
71       1) typographical corrections in descriptions.
72       2) add new leafs probable-cause, specific-problem, proposed-repair-actions
73          and alarm-type";
74
75     reference "ORAN-WG4.M.0-v08.00";
76   }
77
78   revision "2021-03-22" {
79     description
80       "version 1.1.0
81
82       1) typographical corrections in descriptions.";
83
84     reference "ORAN-WG4.M.0-v01.00";
85   }
86
87   revision "2019-02-04" {
88     description
89       "version 1.0.0
90
91       1) imported model from xRAN
92       2) changed namespace and reference from xran to o-ran";
93
94     reference "ORAN-WG4.M.0-v01.00";
95   }
96
97   feature HISTORICAL-ALARM-LIST {
98     description
99       "O-RU supports Historical Alarm List to keep a historical
100        record of alarms events over M-plane.";
101   }
102
103   grouping alarm {
104     description
105       "Grouping which can uniquely identify alarm";
106
107     leaf fault-id {
108       type uint16;
109       mandatory true;
110
111       description
112         "Fault specific Id that identifies the fault.";
113     }
114
115     leaf fault-source {
116       type string {
117         length "1..255";
118       }
119       mandatory true;
120
121       description
122         "Represents the Object or source that is suspected to be faulty.
123         If the fault source is external and can not be represented by an object in the model, external alarm source info should be set as the value.
124         If the fault source can be represented by an object in the model, the YANG instance-identifier should be set as the value";
125     }
126
127     list affected-objects {
128
129       leaf name {
130         type string {
131           length "1..255";
132         }
133
134        mandatory true;
135         description
136           "Represents the Object or source that is suspected to be affected by this fault.";
137       }
138
139       leaf identifier {
140         type yang:xpath1.0;
141         description "An optional parameter used to indicate a YANG instance-identifier for the affected
142         object. Used when the object or source is represented in the object model.";
143       }
144
145       max-elements 100;
146
147       description
148         "List of affected-objects";
149     }
150
151     leaf fault-severity {
152       type enumeration {
153         enum CRITICAL {
154           description
155             "Critical alarm means that this device is not able to perform any further service";
156         }
157         enum MAJOR {
158           description
159             "Major alarm appeared on the device";
160         }
161         enum MINOR {
162           description
163             "Minor alarm appeared on the device";
164         }
165         enum WARNING {
166           description
167             "Warning is being reported by the device";
168         }
169       }
170       mandatory true;
171
172       description
173         "Fault severity defines the severity level of the fault. A notification, whose fault severity has the value 'warning',
174         is a special type of alarm notification. For these alarm notifications,
175         the Master Agent does not expect to receive a clear alarm notification.";
176     }
177
178     leaf is-cleared {
179       type boolean;
180       mandatory true;
181
182       description
183         "Fault state determines the type of the event. Not used if faultSeverity is WARNING.";
184     }
185
186     leaf fault-text {
187       type string {
188         length "0..255";
189       }
190
191       description
192         "Textual description of the fault.";
193     }
194
195     leaf probable-cause {
196       type string {
197         length "0..255";
198       }
199       description
200         "Probable cause of an alarm as defined in ITU-T Rec. X.733.
201         It qualifies alarm and provides further information than alarm-type.
202
203         The value of the probable cause strings are not standardized in this YANG model.
204
205         An O-RU shall populate this leaf, if the fault-text string does not indicate
206         the probable cause.";
207     }
208
209     leaf specific-problem {
210       type string {
211         length "0..255";
212       }
213       description
214         "An optional leaf providing further qualification on the alarm than probable-cause,
215          as defined in ITU-T Recommendation X.733 ";
216     }
217
218     leaf proposed-repair-actions {
219       type string {
220         length "0..255";
221       }
222       description
223         "Optional leaf, used if the cause is known and the O-RU can suggest one or
224         more solutions to fix the problem causing the alarm as defined in ITU-T Rec. X. 733";
225     }
226
227     leaf event-time {
228       type yang:date-and-time;
229       mandatory true;
230
231       description
232         "Timestamp to indicate the time when the fault is detected/cleared.";
233     }
234
235     list additional-information {
236          key "identifier";
237          description
238            "This parameter allows the inclusion of an additional
239             information set in the alarm.  It is a series of data
240             structures, each of which contains  items of
241             information: an identifier,
242             and the problem information. Refer to RFC8632.";
243          leaf identifier {
244            type string;
245            description
246              "Identifies the data type of the information parameter.";
247          }
248          leaf information {
249            type string;
250            description
251              "Additional information about the alarm.";
252          }
253        }
254
255     leaf alarm-type {
256       type enumeration {
257         enum COMMUNICATIONS-ALARM {
258           description
259             "See Table 12.2.1.4.4.6-1 in 3GPP 28.532 for description";
260         }
261         enum PROCESSING-ERROR-ALARM {
262           description
263             "See Table 12.2.1.4.4.6-1 in 3GPP 28.532 for description";
264         }
265         enum ENVIRONMENTAL-ALARM {
266           description
267             "See Table 12.2.1.4.4.6-1 in 3GPP 28.532 for description";
268         }
269         enum QUALITY-OF-SERVICE-ALARM {
270           description
271             "See Table 12.2.1.4.4.6-1 in 3GPP 28.532 for description";
272         }
273         enum EQUIPMENT-ALARM {
274           description
275             "See Table 12.2.1.4.4.6-1 in 3GPP 28.532 for description";
276         }
277         enum INTEGRITY-VIOLATION {
278           description
279             "See Table 12.2.1.4.4.6-1 in 3GPP 28.532 for description";
280         }
281         enum OPERATIONAL-VIOLATION {
282           description
283             "See Table 12.2.1.4.4.6-1 in 3GPP 28.532 for description";
284         }
285         enum PHYSICAL-VIOLATION {
286           description
287             "See Table 12.2.1.4.4.6-1 in 3GPP 28.532 for description";
288         }
289         enum SECURITY-SERVICE-OR-MECHANISM-VIOLATION {
290           description
291             "See Table 12.2.1.4.4.6-1 in 3GPP 28.532 for description";
292         }
293         enum TIME-DOMAIN-VIOLATION {
294           description
295             "See Table 12.2.1.4.4.6-1 in 3GPP 28.532 for description";
296         }
297       }
298       description
299         "An optional alarm type that can be used with vendor specific alarms.
300         See Table 12.2.1.4.4.6-1 in 3GPP 28.532 for definitions.
301
302         WG4 common O-RU alarms have pre-defined alarm types, see Annex A of
303         O-RAN.WG4.MP.O";
304     }
305   }
306
307   container active-alarm-list {
308     list active-alarms {
309       uses alarm;
310
311       description
312         "List of currently active alarms";
313     }
314     config false;
315
316     description
317       "List of currently active alarms. An alarm is removed from this table when the state transitions to clear.";
318   }
319
320   container historical-alarm-list {
321     if-feature HISTORICAL-ALARM-LIST;
322     description
323       "an optional container to notify the event subscriber of historical alarms information. When the O-RU
324        is reset, the alarm entries from historical-alarm-list will be purged. O-RU vendor can make this
325        list persistent optionally.";
326
327     list historical-alarms {
328       uses alarm;
329
330       config false;
331       description
332         "List of historical alarm events. This list only captures the alarm events when <is-cleared>=TRUE.";
333     }
334
335   }
336
337   notification alarm-notif {
338     uses alarm;
339
340     description
341       "Notification sent on initial alarm creation, as well as any time the alarm changes state, including clear";
342   }
343 }