summaryrefslogtreecommitdiffstats
path: root/common/onap-generic-artifact-browser/onap-generic-artifact-browser-service/src/test/resources/yaml/faultRegistration.yml
blob: 447af5e46972e358637dee467a68f2c5f9d78325 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
---
# registration for Fault\_vMrf\_alarm003
# Constants: the values of domain, eventName, priority, vfstatus
# , version, alarmCondition, eventSeverity, eventSourceType,
# faultFieldsVersion, specificProblem,
# Variables (to be supplied at runtime) include: eventId, lastEpochMicrosec,

# reportingEntityId, reportingEntityName, sequence, sourceId, sourceName,
# startEpochMicrosec

event: {presence: required, action: [ any, any, alarm003,RECO-rebuildVnf ],
        structure: {
          commonEventHeader: {presence: required, structure: {
            domain: {presence: required, value: fault},
            eventName: {presence: required, value: Fault\_vMrf\_alarm003},
            eventId: {presence: required},
            nfNamingCode: {value: mrfx},
            priority: {presence: required, value: Medium},
            reportingEntityId: {presence: required},
            reportingEntityName: {presence: required},
            sequence: {presence: required},
            sourceId: {presence: required},
            sourceName: {presence: required},
            startEpochMicrosec: {presence: required},
            lastEpochMicrosec: {presence: required},
            version: {presence: required, value: 3.0}
          }},
          faultFields: {presence: required, structure: {
            alarmCondition: {presence: required, value: alarm003},
            eventSeverity: {presence: required, value: MAJOR},
            eventSourceType: {presence: required, value: virtualNetworkFunction},
            faultFieldsVersion: {presence: required, value: 2.0},
            specificProblem: {presence: required, value: "Configuration file was
                        corrupt or not present"},
            vfStatus: {presence: required, value: "Requesting Termination"}
          }}
        }}
---
# registration for clearing Fault\_vMrf\_alarm003Cleared
# Constants: the values of domain, eventName, priority,
# , version, alarmCondition, eventSeverity, eventSourceType,
# faultFieldsVersion, specificProblem,
# Variables (to be supplied at runtime) include: eventId,lastEpochMicrosec,
# reportingEntityId, reportingEntityName, sequence, sourceId,
# sourceName, startEpochMicrosec, vfStatus
event: {presence: required, action: [ any, any, alarm003, Clear ], structure: {
  commonEventHeader: {presence: required, structure: {
    domain: {presence: required, value: fault},
    eventName: {presence: required, value: Fault\_vMrf\_alarm003Cleared},
    eventId: {presence: required},
    nfNamingCode: {value: mrfx},
    priority: {presence: required, value: Medium},
    reportingEntityId: {presence: required},
    reportingEntityName: {presence: required},
    sequence: {presence: required},
    sourceId: {presence: required},
    sourceName: {presence: required},
    startEpochMicrosec: {presence: required},
    lastEpochMicrosec: {presence: required},
    version: {presence: required, value: 3.0}
  }},
  faultFields: {presence: required, structure: {
    alarmCondition: {presence: required, value: alarm003},
    eventSeverity: {presence: required, value: NORMAL},
    eventSourceType: {presence: required, value: virtualNetworkFunction},
    faultFieldsVersion: {presence: required, value: 2.0},
    specificProblem: {presence: required, value: "Valid configuration file found"},
    vfStatus: {presence: required, value: "Requesting Termination"}
  }}
}}
---
# registration for Heartbeat_vMRF
# Constants: the values of domain, eventName, priority, version
# Variables (to be supplied at runtime) include: eventId, lastEpochMicrosec,
# reportingEntityId, reportingEntityName, sequence, sourceId, sourceName,
# startEpochMicrosec
event: {presence: required, heartbeatAction: [3, vnfDown,RECO-rebuildVnf],
        structure: {
          commonEventHeader: {presence: required, structure: {
            domain: {presence: required, value: heartbeat},
            eventName: {presence: required, value: Heartbeat\_vMrf},
            eventId: {presence: required},
            nfNamingCode: {value: mrfx},
            priority: {presence: required, value: Normal},
            reportingEntityId: {presence: required},
            reportingEntityName: {presence: required},
            sequence: {presence: required},
            sourceId: {presence: required},
            sourceName: {presence: required},
            startEpochMicrosec: {presence: required},
            lastEpochMicrosec: {presence: required},
            version: {presence: required, value: 3.0}
          }},
          heartbeatFields: {presence: optional, structure:{
            heartbeatFieldsVersion: {presence: required, value: 1.0},
            heartbeatInterval: {presence: required, range: [ 15, 300 ], default: 60 }
          }}
        }}
---
# registration for Mfvs\_vMRF
# Constants: the values of domain, eventName, priority, version,
# measurementFieldsVersion, additionalMeasurements.namedArrayOfFields.name,
# Variables (to be supplied at runtime) include: eventId, reportingEntityName, sequence,
# sourceName, start/lastEpochMicrosec, measurementInterval,
# concurrentSessions, requestRate, numberOfMediaPortsInUse,
# cpuUsageArray.cpuUsage,cpuUsage.cpuIdentifier, cpuUsage.percentUsage,
# additionalMeasurements.namedArrayOfFields.arrayOfFields,
# vNicPerformance.receivedOctetsAccumulated,
# vNicPerformance.transmittedOctetsAccumulated,
# vNicPerformance.receivedTotalPacketsAccumulated,
# vNicPerformance.transmittedTotalPacketsAccumulated,
# vNicPerformance.vNicIdentifier, vNicPerformance.receivedOctetsDelta,
# vNicPerformance.receivedTotalPacketsDelta,
# vNicPerformance.transmittedOctetsDelta,
# vNicPerformance.transmittedTotalPacketsDelta,
# vNicPerformance.valuesAreSuspect, memoryUsageArray.memoryUsage,
# memoryUsage.memoryConfigured, memoryUsage.vmIdentifier,
# memoryUsage.memoryUsed, memoryUsage.memoryFree
event: {presence: required, structure: {
  commonEventHeader: {presence: required, structure: {
    domain: {presence: required, value: measurementsForVfScaling},
    eventName: {presence: required, value: Mfvs\_vMrf},
    eventId: {presence: required},
    nfNamingCode: {value: mrfx},
    priority: {presence: required, value: Normal},
    reportingEntityId: {presence: required},
    reportingEntityName: {presence: required},
    sequence: {presence: required},
    sourceId: {presence: required},
    sourceName: {presence: required},
    startEpochMicrosec: {presence: required},
    lastEpochMicrosec: {presence: required},
    version: {presence: required, value: 3.0}
  }},
  measurementsForVfScalingFields: {presence: required, structure: {
    measurementFieldsVersion: {presence: required, value: 2.0},
    measurementInterval: {presence: required, range: [ 60, 3600 ], default:300},
    concurrentSessions: {presence: required, range: [ 0, 100000 ]},
    requestRate: {presence: required, range: [ 0, 100000 ]},
    numberOfMediaPortsInUse: {presence: required, range: [ 0, 100000 ]},
    cpuUsageArray: {presence: required, array: [
      cpuUsage: {presence: required, structure: {
        cpuIdentifier: {presence: required},
        percentUsage: {presence: required, range: [ 0, 100 ],
                       action: [80, up, CpuUsageHigh, RECO-scaleOut],
                       action: [10, down, CpuUsageLow, RECO-scaleIn]}
      }}
    ]},
    memoryUsageArray: {presence: required, array: [
      memoryUsage: {presence: required, structure: {
        memoryConfigured: {presence: required, value: 33554432},
        memoryFree: {presence: required, range: [ 0, 33554432 ],
                     action: [100, down, FreeMemLow, RECO-scaleOut],
                     action: [30198989, up, FreeMemHigh, RECO-scaleIn]},
        memoryUsed: {presence: required, range: [ 0, 33554432 ]},
        vmIdentifier: {presence: required}
      }}
    ]},
    additionalMeasurements: {presence: required, array: [
      namedArrayOfFields: {presence: required, structure: {
        name: {presence: required, value: licenseUsage},
        arrayOfFields: {presence: required, array: [
          field: {presence: required, structure: {
            name: {presence: required, value: G711AudioPort},
            value: {presence: required, range: [ 0, 100000 ],
                    units: numberOfPorts }
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: G729AudioPort},
            value: {presence: required, range: [ 0, 100000 ],
                    units: numberOfPorts }
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: G722AudioPort},
            value: {presence: required, range: [ 0, 100000 ],
                    units: numberOfPorts }
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: AMRAudioPort},
            value: {presence: required, range: [ 0, 100000 ],
                    units: numberOfPorts }
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: AMRWBAudioPort},
            value: {presence: required, range: [ 0, 100000 ],
                    units: numberOfPorts }
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: OpusAudioPort},
            value: {presence: required, range: [ 0, 100000 ],
                    units: numberOfPorts }
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: H263VideoPort},
            value: {presence: required, range: [ 0, 100000 ],
                    units: numberOfPorts }
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: H264NonHCVideoPort},
            value: {presence: required, range: [ 0, 100000 ],
                    units: numberOfPorts }
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: H264HCVideoPort},
            value: {presence: required, range: [ 0, 100000 ],
                    units: numberOfPorts }
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: MPEG4VideoPort},
            value: {presence: required, range: [ 0, 100000 ],
                    units: numberOfPorts }
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: VP8NonHCVideoPort},
            value: {presence: required, range: [ 0, 100000 ],
                    units: numberOfPorts }
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: VP8HCVideoPort},
            value: {presence: required, range: [ 0, 100000 ],
                    units: numberOfPorts }
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: PLC},
            value: {presence: required, range: [ 0, 100000 ],
                    units: numberOfPorts }
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: AEC},
            value: {presence: required, range: [ 0, 100000 ],
                    units: numberOfPorts }
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: NR},
            value: {presence: required, range: [ 0, 100000 ],
                    units: numberOfPorts }
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: NG},
            value: {presence: required, range: [ 0, 100000 ],
                    units: numberOfPorts }
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: NLD},
            value: {presence: required, range: [ 0, 100000 ],
                    units: numberOfPorts }
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: G711FaxPort},
            value: {presence: required, range: [ 0, 100000 ],
                    units: numberOfPorts }
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: T38FaxPort},
            value: {presence: required, range: [ 0, 100000 ],
                    units: numberOfPorts }
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: RFactor},
            value: {presence: required, range: [ 0, 100000 ],
                    units: numberOfPorts }
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: T140TextPort},
            value: {presence: required, range: [ 0, 100000 ],
                    units: numberOfPorts }
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: EVSAudioPort},
            value: {presence: required, range: [ 0, 100000 ],
                    units: numberOfPorts }
          }}
        ]}
      }},
      namedArrayOfFields: {presence: required, structure: {
        name: {presence: required, value: mediaCoreUtilization},
        arrayOfFields: {presence: required, array: [
          field: {presence: required, structure: {
            name: {presence: required, value: actualAvgAudio},
            value: {presence: required, range: [ 0, 255 ],
                    action: [80, up, AudioCoreUsageHigh, RECO-scaleOut],
                    action: [10, down, AudioCoreUsageLow, RECO-scaleIn]}
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: modelAvgAudio},
            value: {presence: required, range: [ 0, 100 ],
                    action: [80, up, AudioCoreUsageHigh, RECO-scaleOut],
                    action: [10, down, AudioCoreUsageLow, RECO-scaleIn]}
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: actualMaxAudio},
            value: {presence: required, range: [ 0, 255 ]}
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: modelMaxAudio},
            value: {presence: required, range: [ 0, 100 ]}
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: actualAvgVideo},
            value: {presence: required, range: [ 0, 255 ],
                    action: [80, up, VideoCoreUsageHigh, RECO-scaleOut],
                    action: [10, down, VideoCoreUsageLow, RECO-scaleIn]}
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: modelAvgVideo},
            value: {presence: required, range: [ 0, 100 ],
                    action: [80, up, VideoCoreUsageHigh, RECO-scaleOut],
                    action: [10, down, VideoCoreUsageLow, RECO-scaleIn]}
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: actualMaxVideo},
            value: {presence: required, range: [ 0, 255 ]}
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: modelMaxVideo},
            value: {presence: required, range: [ 0, 100 ]}
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: actualAvgHcVideo},
            value: {presence: required, range: [ 0, 255 ],
                    action: [80, up, HcVideoCoreUsageHigh, RECO-scaleOut],
                    action: [10, down, HcVideoCoreUsageLow, RECO-scaleIn]}
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: modelAvgHcVideo},
            value: {presence: required, range: [ 0, 100 ],
                    action: [80, up, HcVideoCoreUsageHigh, RECO-scaleOut],
                    action: [10, down, HcVideoCoreUsageLow, RECO-scaleIn]}
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: actualMaxHcVideo},
            value: {presence: required, range: [ 0, 255 ]}
          }},
          field: {presence: required, structure: {
            name: {presence: required, value: modelMaxHcVideo},
            value: {presence: required, range: [ 0, 100 ]}
          }}
        ]}
      }}
    ]},
    vNicPerformanceArray: {presence: required, array: [
      vNicPerformance: {presence: required, structure: {
        receivedOctetsAccumulated: {presence: required,
                                    range: [ 0, 18446744073709551615 ]},
        receivedTotalPacketsAccumulated: {presence: required,
                                          range: [ 0, 18446744073709551615 ]},
        receivedOctetsDelta: {presence: required},
        range: [ 0, 18446744073709551615 ],
        receivedTotalPacketsDelta: {presence: required,
                                    range: [ 0, 18446744073709551615 ]},
        transmittedOctetsDelta: {presence: required,
                                 range: [ 0, 18446744073709551615 ]},
        transmittedOctetsAccumulated: {presence: required,
                                       range: [ 0, 18446744073709551615 ]},
        transmittedTotalPacketsAccumulated: {presence: required,
                                             range: [ 0, 18446744073709551615 ]},
        transmittedTotalPacketsDelta: {presence: required,
                                       range: [ 0, 18446744073709551615 ]},
        valuesAreSuspect: {presence: required, value: [ true, false ]},
        vNicIdentifier: {presence: required}
      }}
    ]}
  }}
}}
---
# registration for Syslog\_vMRF
# Constants: the values of domain, eventName, priority, lastEpochMicrosec, version,
# syslogFields.syslogFieldsVersion, syslogFields.syslogTag
# Variables include: eventId, lastEpochMicrosec, reportingEntityId, reportingEntityName,
# sequence, sourceId, sourceName, startEpochMicrosec,
# syslogFields.eventSourceHost, syslogFields.eventSourceType,
# syslogFields.syslogFacility, syslogFields.syslogMsg
event: {presence: required, structure: {
  commonEventHeader: {presence: required, structure: {
    domain: {presence: required, value: syslog},
    eventName: {presence: required, value: Syslog\_vMrf},
    eventId: {presence: required},
    nfNamingCode: {value: mrfx},
    priority: {presence: required, value: Normal},
    reportingEntityId: {presence: required},
    reportingEntityName: {presence: required},
    sequence: {presence: required},
    sourceId: {presence: required},
    sourceName: {presence: required},
    startEpochMicrosec: {presence: required},
    lastEpochMicrosec: {presence: required},
    version: {presence: required, value: 3.0},
  }},
  syslogFields: {presence: required, structure: {
    eventSourceHost: {presence: required},
    eventSourceType: {presence: required, value: virtualNetworkFunction},
    syslogFacility: {presence: required, range: [16, 23]},
    syslogSev: {presence: required, value: [ 0, 1, 2, 3, 4 ]},
    syslogFieldsVersion: {presence: required, value: 3.0},
    syslogMsg: {presence: required},
    syslogTag: {presence: required, value: vMRF},
  }}
}}
---
#Rules
Rules: [
  rule: {
    trigger: CpuUsageHigh \|\| FreeMemLow \|\| AudioCoreUsageHigh \|\|
      VideoCoreUsageHigh \|\| HcVideoCoreUsageHigh,
    microservices: [scaleOut]
  },
  rule: {
    trigger: CpuUsageLow && FreeMemHigh && AudioCoreUsageLow &&
      VideoCoreUsageLow && HcVideoCoreUsageLow,
    microservices: [scaleIn]
  }
]