Introduced yaml parser as common lib
[sdc.git] / common / onap-generic-artifact-browser / onap-generic-artifact-browser-service / src / test / resources / yaml / faultRegistration.yml
1 ---
2 # registration for Fault\_vMrf\_alarm003
3 # Constants: the values of domain, eventName, priority, vfstatus
4 # , version, alarmCondition, eventSeverity, eventSourceType,
5 # faultFieldsVersion, specificProblem,
6 # Variables (to be supplied at runtime) include: eventId, lastEpochMicrosec,
7
8 # reportingEntityId, reportingEntityName, sequence, sourceId, sourceName,
9 # startEpochMicrosec
10
11 event: {presence: required, action: [ any, any, alarm003,RECO-rebuildVnf ],
12         structure: {
13           commonEventHeader: {presence: required, structure: {
14             domain: {presence: required, value: fault},
15             eventName: {presence: required, value: Fault\_vMrf\_alarm003},
16             eventId: {presence: required},
17             nfNamingCode: {value: mrfx},
18             priority: {presence: required, value: Medium},
19             reportingEntityId: {presence: required},
20             reportingEntityName: {presence: required},
21             sequence: {presence: required},
22             sourceId: {presence: required},
23             sourceName: {presence: required},
24             startEpochMicrosec: {presence: required},
25             lastEpochMicrosec: {presence: required},
26             version: {presence: required, value: 3.0}
27           }},
28           faultFields: {presence: required, structure: {
29             alarmCondition: {presence: required, value: alarm003},
30             eventSeverity: {presence: required, value: MAJOR},
31             eventSourceType: {presence: required, value: virtualNetworkFunction},
32             faultFieldsVersion: {presence: required, value: 2.0},
33             specificProblem: {presence: required, value: "Configuration file was
34                         corrupt or not present"},
35             vfStatus: {presence: required, value: "Requesting Termination"}
36           }}
37         }}
38 ---
39 # registration for clearing Fault\_vMrf\_alarm003Cleared
40 # Constants: the values of domain, eventName, priority,
41 # , version, alarmCondition, eventSeverity, eventSourceType,
42 # faultFieldsVersion, specificProblem,
43 # Variables (to be supplied at runtime) include: eventId,lastEpochMicrosec,
44 # reportingEntityId, reportingEntityName, sequence, sourceId,
45 # sourceName, startEpochMicrosec, vfStatus
46 event: {presence: required, action: [ any, any, alarm003, Clear ], structure: {
47   commonEventHeader: {presence: required, structure: {
48     domain: {presence: required, value: fault},
49     eventName: {presence: required, value: Fault\_vMrf\_alarm003Cleared},
50     eventId: {presence: required},
51     nfNamingCode: {value: mrfx},
52     priority: {presence: required, value: Medium},
53     reportingEntityId: {presence: required},
54     reportingEntityName: {presence: required},
55     sequence: {presence: required},
56     sourceId: {presence: required},
57     sourceName: {presence: required},
58     startEpochMicrosec: {presence: required},
59     lastEpochMicrosec: {presence: required},
60     version: {presence: required, value: 3.0}
61   }},
62   faultFields: {presence: required, structure: {
63     alarmCondition: {presence: required, value: alarm003},
64     eventSeverity: {presence: required, value: NORMAL},
65     eventSourceType: {presence: required, value: virtualNetworkFunction},
66     faultFieldsVersion: {presence: required, value: 2.0},
67     specificProblem: {presence: required, value: "Valid configuration file found"},
68     vfStatus: {presence: required, value: "Requesting Termination"}
69   }}
70 }}
71 ---
72 # registration for Heartbeat_vMRF
73 # Constants: the values of domain, eventName, priority, version
74 # Variables (to be supplied at runtime) include: eventId, lastEpochMicrosec,
75 # reportingEntityId, reportingEntityName, sequence, sourceId, sourceName,
76 # startEpochMicrosec
77 event: {presence: required, heartbeatAction: [3, vnfDown,RECO-rebuildVnf],
78         structure: {
79           commonEventHeader: {presence: required, structure: {
80             domain: {presence: required, value: heartbeat},
81             eventName: {presence: required, value: Heartbeat\_vMrf},
82             eventId: {presence: required},
83             nfNamingCode: {value: mrfx},
84             priority: {presence: required, value: Normal},
85             reportingEntityId: {presence: required},
86             reportingEntityName: {presence: required},
87             sequence: {presence: required},
88             sourceId: {presence: required},
89             sourceName: {presence: required},
90             startEpochMicrosec: {presence: required},
91             lastEpochMicrosec: {presence: required},
92             version: {presence: required, value: 3.0}
93           }},
94           heartbeatFields: {presence: optional, structure:{
95             heartbeatFieldsVersion: {presence: required, value: 1.0},
96             heartbeatInterval: {presence: required, range: [ 15, 300 ], default: 60 }
97           }}
98         }}
99 ---
100 # registration for Mfvs\_vMRF
101 # Constants: the values of domain, eventName, priority, version,
102 # measurementFieldsVersion, additionalMeasurements.namedArrayOfFields.name,
103 # Variables (to be supplied at runtime) include: eventId, reportingEntityName, sequence,
104 # sourceName, start/lastEpochMicrosec, measurementInterval,
105 # concurrentSessions, requestRate, numberOfMediaPortsInUse,
106 # cpuUsageArray.cpuUsage,cpuUsage.cpuIdentifier, cpuUsage.percentUsage,
107 # additionalMeasurements.namedArrayOfFields.arrayOfFields,
108 # vNicPerformance.receivedOctetsAccumulated,
109 # vNicPerformance.transmittedOctetsAccumulated,
110 # vNicPerformance.receivedTotalPacketsAccumulated,
111 # vNicPerformance.transmittedTotalPacketsAccumulated,
112 # vNicPerformance.vNicIdentifier, vNicPerformance.receivedOctetsDelta,
113 # vNicPerformance.receivedTotalPacketsDelta,
114 # vNicPerformance.transmittedOctetsDelta,
115 # vNicPerformance.transmittedTotalPacketsDelta,
116 # vNicPerformance.valuesAreSuspect, memoryUsageArray.memoryUsage,
117 # memoryUsage.memoryConfigured, memoryUsage.vmIdentifier,
118 # memoryUsage.memoryUsed, memoryUsage.memoryFree
119 event: {presence: required, structure: {
120   commonEventHeader: {presence: required, structure: {
121     domain: {presence: required, value: measurementsForVfScaling},
122     eventName: {presence: required, value: Mfvs\_vMrf},
123     eventId: {presence: required},
124     nfNamingCode: {value: mrfx},
125     priority: {presence: required, value: Normal},
126     reportingEntityId: {presence: required},
127     reportingEntityName: {presence: required},
128     sequence: {presence: required},
129     sourceId: {presence: required},
130     sourceName: {presence: required},
131     startEpochMicrosec: {presence: required},
132     lastEpochMicrosec: {presence: required},
133     version: {presence: required, value: 3.0}
134   }},
135   measurementsForVfScalingFields: {presence: required, structure: {
136     measurementFieldsVersion: {presence: required, value: 2.0},
137     measurementInterval: {presence: required, range: [ 60, 3600 ], default:300},
138     concurrentSessions: {presence: required, range: [ 0, 100000 ]},
139     requestRate: {presence: required, range: [ 0, 100000 ]},
140     numberOfMediaPortsInUse: {presence: required, range: [ 0, 100000 ]},
141     cpuUsageArray: {presence: required, array: [
142       cpuUsage: {presence: required, structure: {
143         cpuIdentifier: {presence: required},
144         percentUsage: {presence: required, range: [ 0, 100 ],
145                        action: [80, up, CpuUsageHigh, RECO-scaleOut],
146                        action: [10, down, CpuUsageLow, RECO-scaleIn]}
147       }}
148     ]},
149     memoryUsageArray: {presence: required, array: [
150       memoryUsage: {presence: required, structure: {
151         memoryConfigured: {presence: required, value: 33554432},
152         memoryFree: {presence: required, range: [ 0, 33554432 ],
153                      action: [100, down, FreeMemLow, RECO-scaleOut],
154                      action: [30198989, up, FreeMemHigh, RECO-scaleIn]},
155         memoryUsed: {presence: required, range: [ 0, 33554432 ]},
156         vmIdentifier: {presence: required}
157       }}
158     ]},
159     additionalMeasurements: {presence: required, array: [
160       namedArrayOfFields: {presence: required, structure: {
161         name: {presence: required, value: licenseUsage},
162         arrayOfFields: {presence: required, array: [
163           field: {presence: required, structure: {
164             name: {presence: required, value: G711AudioPort},
165             value: {presence: required, range: [ 0, 100000 ],
166                     units: numberOfPorts }
167           }},
168           field: {presence: required, structure: {
169             name: {presence: required, value: G729AudioPort},
170             value: {presence: required, range: [ 0, 100000 ],
171                     units: numberOfPorts }
172           }},
173           field: {presence: required, structure: {
174             name: {presence: required, value: G722AudioPort},
175             value: {presence: required, range: [ 0, 100000 ],
176                     units: numberOfPorts }
177           }},
178           field: {presence: required, structure: {
179             name: {presence: required, value: AMRAudioPort},
180             value: {presence: required, range: [ 0, 100000 ],
181                     units: numberOfPorts }
182           }},
183           field: {presence: required, structure: {
184             name: {presence: required, value: AMRWBAudioPort},
185             value: {presence: required, range: [ 0, 100000 ],
186                     units: numberOfPorts }
187           }},
188           field: {presence: required, structure: {
189             name: {presence: required, value: OpusAudioPort},
190             value: {presence: required, range: [ 0, 100000 ],
191                     units: numberOfPorts }
192           }},
193           field: {presence: required, structure: {
194             name: {presence: required, value: H263VideoPort},
195             value: {presence: required, range: [ 0, 100000 ],
196                     units: numberOfPorts }
197           }},
198           field: {presence: required, structure: {
199             name: {presence: required, value: H264NonHCVideoPort},
200             value: {presence: required, range: [ 0, 100000 ],
201                     units: numberOfPorts }
202           }},
203           field: {presence: required, structure: {
204             name: {presence: required, value: H264HCVideoPort},
205             value: {presence: required, range: [ 0, 100000 ],
206                     units: numberOfPorts }
207           }},
208           field: {presence: required, structure: {
209             name: {presence: required, value: MPEG4VideoPort},
210             value: {presence: required, range: [ 0, 100000 ],
211                     units: numberOfPorts }
212           }},
213           field: {presence: required, structure: {
214             name: {presence: required, value: VP8NonHCVideoPort},
215             value: {presence: required, range: [ 0, 100000 ],
216                     units: numberOfPorts }
217           }},
218           field: {presence: required, structure: {
219             name: {presence: required, value: VP8HCVideoPort},
220             value: {presence: required, range: [ 0, 100000 ],
221                     units: numberOfPorts }
222           }},
223           field: {presence: required, structure: {
224             name: {presence: required, value: PLC},
225             value: {presence: required, range: [ 0, 100000 ],
226                     units: numberOfPorts }
227           }},
228           field: {presence: required, structure: {
229             name: {presence: required, value: AEC},
230             value: {presence: required, range: [ 0, 100000 ],
231                     units: numberOfPorts }
232           }},
233           field: {presence: required, structure: {
234             name: {presence: required, value: NR},
235             value: {presence: required, range: [ 0, 100000 ],
236                     units: numberOfPorts }
237           }},
238           field: {presence: required, structure: {
239             name: {presence: required, value: NG},
240             value: {presence: required, range: [ 0, 100000 ],
241                     units: numberOfPorts }
242           }},
243           field: {presence: required, structure: {
244             name: {presence: required, value: NLD},
245             value: {presence: required, range: [ 0, 100000 ],
246                     units: numberOfPorts }
247           }},
248           field: {presence: required, structure: {
249             name: {presence: required, value: G711FaxPort},
250             value: {presence: required, range: [ 0, 100000 ],
251                     units: numberOfPorts }
252           }},
253           field: {presence: required, structure: {
254             name: {presence: required, value: T38FaxPort},
255             value: {presence: required, range: [ 0, 100000 ],
256                     units: numberOfPorts }
257           }},
258           field: {presence: required, structure: {
259             name: {presence: required, value: RFactor},
260             value: {presence: required, range: [ 0, 100000 ],
261                     units: numberOfPorts }
262           }},
263           field: {presence: required, structure: {
264             name: {presence: required, value: T140TextPort},
265             value: {presence: required, range: [ 0, 100000 ],
266                     units: numberOfPorts }
267           }},
268           field: {presence: required, structure: {
269             name: {presence: required, value: EVSAudioPort},
270             value: {presence: required, range: [ 0, 100000 ],
271                     units: numberOfPorts }
272           }}
273         ]}
274       }},
275       namedArrayOfFields: {presence: required, structure: {
276         name: {presence: required, value: mediaCoreUtilization},
277         arrayOfFields: {presence: required, array: [
278           field: {presence: required, structure: {
279             name: {presence: required, value: actualAvgAudio},
280             value: {presence: required, range: [ 0, 255 ],
281                     action: [80, up, AudioCoreUsageHigh, RECO-scaleOut],
282                     action: [10, down, AudioCoreUsageLow, RECO-scaleIn]}
283           }},
284           field: {presence: required, structure: {
285             name: {presence: required, value: modelAvgAudio},
286             value: {presence: required, range: [ 0, 100 ],
287                     action: [80, up, AudioCoreUsageHigh, RECO-scaleOut],
288                     action: [10, down, AudioCoreUsageLow, RECO-scaleIn]}
289           }},
290           field: {presence: required, structure: {
291             name: {presence: required, value: actualMaxAudio},
292             value: {presence: required, range: [ 0, 255 ]}
293           }},
294           field: {presence: required, structure: {
295             name: {presence: required, value: modelMaxAudio},
296             value: {presence: required, range: [ 0, 100 ]}
297           }},
298           field: {presence: required, structure: {
299             name: {presence: required, value: actualAvgVideo},
300             value: {presence: required, range: [ 0, 255 ],
301                     action: [80, up, VideoCoreUsageHigh, RECO-scaleOut],
302                     action: [10, down, VideoCoreUsageLow, RECO-scaleIn]}
303           }},
304           field: {presence: required, structure: {
305             name: {presence: required, value: modelAvgVideo},
306             value: {presence: required, range: [ 0, 100 ],
307                     action: [80, up, VideoCoreUsageHigh, RECO-scaleOut],
308                     action: [10, down, VideoCoreUsageLow, RECO-scaleIn]}
309           }},
310           field: {presence: required, structure: {
311             name: {presence: required, value: actualMaxVideo},
312             value: {presence: required, range: [ 0, 255 ]}
313           }},
314           field: {presence: required, structure: {
315             name: {presence: required, value: modelMaxVideo},
316             value: {presence: required, range: [ 0, 100 ]}
317           }},
318           field: {presence: required, structure: {
319             name: {presence: required, value: actualAvgHcVideo},
320             value: {presence: required, range: [ 0, 255 ],
321                     action: [80, up, HcVideoCoreUsageHigh, RECO-scaleOut],
322                     action: [10, down, HcVideoCoreUsageLow, RECO-scaleIn]}
323           }},
324           field: {presence: required, structure: {
325             name: {presence: required, value: modelAvgHcVideo},
326             value: {presence: required, range: [ 0, 100 ],
327                     action: [80, up, HcVideoCoreUsageHigh, RECO-scaleOut],
328                     action: [10, down, HcVideoCoreUsageLow, RECO-scaleIn]}
329           }},
330           field: {presence: required, structure: {
331             name: {presence: required, value: actualMaxHcVideo},
332             value: {presence: required, range: [ 0, 255 ]}
333           }},
334           field: {presence: required, structure: {
335             name: {presence: required, value: modelMaxHcVideo},
336             value: {presence: required, range: [ 0, 100 ]}
337           }}
338         ]}
339       }}
340     ]},
341     vNicPerformanceArray: {presence: required, array: [
342       vNicPerformance: {presence: required, structure: {
343         receivedOctetsAccumulated: {presence: required,
344                                     range: [ 0, 18446744073709551615 ]},
345         receivedTotalPacketsAccumulated: {presence: required,
346                                           range: [ 0, 18446744073709551615 ]},
347         receivedOctetsDelta: {presence: required},
348         range: [ 0, 18446744073709551615 ],
349         receivedTotalPacketsDelta: {presence: required,
350                                     range: [ 0, 18446744073709551615 ]},
351         transmittedOctetsDelta: {presence: required,
352                                  range: [ 0, 18446744073709551615 ]},
353         transmittedOctetsAccumulated: {presence: required,
354                                        range: [ 0, 18446744073709551615 ]},
355         transmittedTotalPacketsAccumulated: {presence: required,
356                                              range: [ 0, 18446744073709551615 ]},
357         transmittedTotalPacketsDelta: {presence: required,
358                                        range: [ 0, 18446744073709551615 ]},
359         valuesAreSuspect: {presence: required, value: [ true, false ]},
360         vNicIdentifier: {presence: required}
361       }}
362     ]}
363   }}
364 }}
365 ---
366 # registration for Syslog\_vMRF
367 # Constants: the values of domain, eventName, priority, lastEpochMicrosec, version,
368 # syslogFields.syslogFieldsVersion, syslogFields.syslogTag
369 # Variables include: eventId, lastEpochMicrosec, reportingEntityId, reportingEntityName,
370 # sequence, sourceId, sourceName, startEpochMicrosec,
371 # syslogFields.eventSourceHost, syslogFields.eventSourceType,
372 # syslogFields.syslogFacility, syslogFields.syslogMsg
373 event: {presence: required, structure: {
374   commonEventHeader: {presence: required, structure: {
375     domain: {presence: required, value: syslog},
376     eventName: {presence: required, value: Syslog\_vMrf},
377     eventId: {presence: required},
378     nfNamingCode: {value: mrfx},
379     priority: {presence: required, value: Normal},
380     reportingEntityId: {presence: required},
381     reportingEntityName: {presence: required},
382     sequence: {presence: required},
383     sourceId: {presence: required},
384     sourceName: {presence: required},
385     startEpochMicrosec: {presence: required},
386     lastEpochMicrosec: {presence: required},
387     version: {presence: required, value: 3.0},
388   }},
389   syslogFields: {presence: required, structure: {
390     eventSourceHost: {presence: required},
391     eventSourceType: {presence: required, value: virtualNetworkFunction},
392     syslogFacility: {presence: required, range: [16, 23]},
393     syslogSev: {presence: required, value: [ 0, 1, 2, 3, 4 ]},
394     syslogFieldsVersion: {presence: required, value: 3.0},
395     syslogMsg: {presence: required},
396     syslogTag: {presence: required, value: vMRF},
397   }}
398 }}
399 ---
400 #Rules
401 Rules: [
402   rule: {
403     trigger: CpuUsageHigh \|\| FreeMemLow \|\| AudioCoreUsageHigh \|\|
404       VideoCoreUsageHigh \|\| HcVideoCoreUsageHigh,
405     microservices: [scaleOut]
406   },
407   rule: {
408     trigger: CpuUsageLow && FreeMemHigh && AudioCoreUsageLow &&
409       VideoCoreUsageLow && HcVideoCoreUsageLow,
410     microservices: [scaleIn]
411   }
412 ]