SOL005NSLifecycleManagementNotification_def.yaml 25.3 KB
Newer Older
1
2
3
4
5
6
7
8
9
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
definitions:
  NsLcmOperationOccurrenceNotification:
    type: object
    required:
      - id
      - nsInstanceId
      - nsLcmOpOccId
10
11
      - operation
      - notificationType
12
      - subscriptionId
13
14
15
16
17
      - timestamp
      - notificationStatus
      - operationState
      - isAutomaticInvocation
      - _links
18
19
20
21
22
23
    properties:
      id:
        description: >
          Identifier of this notification. If a notification is sent
          multiple times due to multiple subscriptions, the "id"
          attribute of all these notifications shall have the same value.
piscione's avatar
piscione committed
24
25
26
27
28
29
30

          NOTE:	Shall be present if the "notificationStatus" is set to "RESULT",
          the "verbosity" attribute is set to "FULL" and the operation has performed
          any resource modification. Shall be absent otherwise. This attribute contains
          information about the cumulative changes to virtualised resources that were
          performed so far by the NS LCM operation occurrence and by any of the error
          handling procedures for that operation occurrence.
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
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      nsInstanceId:
        description: >
          The identifier of the NS instance affected.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      nsLcmOpOccId:
        description: >
          The identifier of the NS lifecycle operation occurrence
          associated to the notification.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      operation:
        description: >
          The lifecycle operation.
        $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOpType"
      notificationType:
        description: >
          Discriminator for the different notification types. Shall be
          set to "NsLcmOperationOccurrenceNotification" for this
          notification type.
        type: string
      subscriptionId:
        description: >
          Identifier of the subscription that this notification relates to.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      timestamp:
        description: >
          Date-time of the generation of the notification.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime"
      notificationStatus:
        description: >
          Indicates whether this notification reports about the start
          of a NS lifecycle operation or the result of a NS lifecycle
          operation.
          Permitted values:
          - START: Informs about the start of the NS LCM
          operation occurrence.
          - RESULT: Informs about the final or intermediate
          result of the NS LCM operation occurrence.
        type: string
        enum:
          - START
          - RESULT
      operationState:
        description: >
          The state of the NS lifecycle operation occurrence.
        $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmOperationStateType"
      isAutomaticInvocation:
        description: >
          Set to true if this NS LCM operation occurrence has
          been automatically triggered by the NFVO. This occurs
          in case of auto-scaling, auto-healing and when a nested
          NS is modified as a result of an operation on its
          composite NS. Set to false otherwise.
84
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Boolean"
85
86
87
88
89
90
91
92
      verbosity:
        description: >
          This attribute signals the verbosity of the notification.
          If it is not present, it shall default to the value "FULL".
          If the value is "SHORT", full change details can be obtained by performing a GET request on the
          "Individual LCM operation occurrence" resource that is signalled by the "nsLcmOpOcc" child attribute
          of the "_links" attribute.
        $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LcmOpOccNotificationVerbosityType"
93
94
95
      affectedVnf:
        description: >
          Information about the VNF instances that were affected
piscione's avatar
piscione committed
96
          during the lifecycle operation. See note.
97
98
99
        type: array
        items:
          $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVnf"
100
101
102
      affectedPnf:
        description: >
          Information about the PNF instances that were affected
piscione's avatar
piscione committed
103
          during the lifecycle operation. See note.
104
105
106
        type: array
        items:
          $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedPnf"
107
108
109
      affectedVl:
        description: >
          Information about the VL instances that were affected
piscione's avatar
piscione committed
110
          during the lifecycle operation. See note.
111
112
113
114
115
116
        type: array
        items:
          $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVirtualLink"
      affectedVnffg:
        description: >
          Information about the VNFFG instances that were
piscione's avatar
piscione committed
117
          affected during the lifecycle operation. See note.
118
119
120
121
122
123
        type: array
        items:
          $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVnffg"
      affectedNs:
        description: >
          Information about the SAP instances that were affected
piscione's avatar
piscione committed
124
          during the lifecycle operation.See note.
125
126
        type: array
        items:
127
          $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedNs"
128
129
      affectedSap:
        description: >
piscione's avatar
piscione committed
130
          Information about the SAP instances that were affected during the lifecycle operation. See note.
131
132
133
        type: array
        items:
          $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedSap"
134
135
136
      error:
        description: >
          Details of the latest error, if one has occurred during
137
138
          executing the LCM operation (see clause 6.3 of ETSI GS NFV SOL 013).
          Shall be present if operationState is "FAILED_TEMP" or
139
140
141
142
143
144
145
146
147
148
          "FAILED", and shall be absent otherwise.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
      _links:
        description: >
          Links to resources related to this notification.
        $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnLinks"

  NsIdentifierCreationNotification:
    type: object
    required:
149
150
      - id
      - notificationType
151
      - subscriptionId
152
      - timestamp
153
      - nsInstanceId
154
      - _links
155
    properties:
156
157
158
159
160
161
162
      id:
        description: >
          Identifier of this notification. If a notification is sent
          multiple times due to multiple subscriptions, the "id"
          attribute of all these notifications shall have the same
          value.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
      notificationType:
        description: >
          Discriminator for the different notification types.
          Shall be set to "NsIdentifierDeletionNotification" for this
          notification type.
        type: string
      subscriptionId:
        description: >
          Identifier of the subscription that this notification relates to.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      timestamp:
        description: >
          Date-time of the generation of the notification.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime"
      nsInstanceId:
        description: >
179
180
181
          The created NS instance identifier.
          Shall be set to the same "id" attribute value of the associated "NsInstance" representation of the
          "Individual NS instance" resource.
182
183
184
185
186
187
188
189
190
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      _links:
        description: >
          Links to resources related to this notification.
        $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnLinks"

  NsIdentifierDeletionNotification:
    type: object
    required:
191
192
      - id
      - notificationType
193
      - subscriptionId
194
      - timestamp
195
      - nsInstanceId
196
      - _links
197
    properties:
198
199
200
201
202
203
204
      id:
        description: >
          Identifier of this notification. If a notification is sent
          multiple times due to multiple subscriptions, the "id"
          attribute of all these notifications shall have the same
          value.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
      notificationType:
        description: >
          Discriminator for the different notification types.
          Shall be set to "NsIdentifierDeletionNotification" for this
          notification type.
        type: string
      subscriptionId:
        description: >
          Identifier of the subscription that this notification relates to.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      timestamp:
        description: >
          Date-time of the generation of the notification.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime"
      nsInstanceId:
        description: >
221
222
223
          The deleted NS instance identifier.
          Shall be set to the same "id" attribute value of the associated "NsInstance" representation of the
          "Individual NS instance" resource.
224
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
225
226
227
228
229
      _links:
        description: >
          Links to resources related to this notification.
        $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnLinks"

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
  NsLcmCapacityShortageNotification:
    description: >
      This type represents an NS LCM capacity shortage notification, which informs the receiver about resource shortage
      conditions during the execution of NS LCM operations. The notifications are triggered by the NFVO when a capacity
      shortage condition occurs during the execution of an NS LCM operation, which fails due to the resource shortage,
      or which succeeds despite the resource shortage because the NFVO has reduced the resource consumption of other
      NSs by requesting these NSs to be scaled in or terminated.

      The notification shall comply with the provisions defined in Table 6.5.2.19-1. The support of the notification
      is mandatory.

      This notification shall be triggered by the NFVO when there is a capacity shortage condition during the execution
      of an NS LCM operation which will cause the LCM operation to be not successfully completed, or which will trigger
      the automatic executing of an LCM operation to reduce the resource consumption of one or more NS instances to
      resolve a resource shortage situation. The shortage conditions include:
      •	Necessary resources could not be allocated during an LCM operation because of resource shortage which causes
        the LCM operation to fail.
      •	An LCM operation on an NS instance with higher priority pre-empted an LCM operation on NS instance with lower
        priority because of resource shortage.
      •	An LCM operation on an NS instance with higher priority pre-empted an existing NS instance. Resources were
        de-allocated from the lower priority NS instance to allow the LCM operation on a higher priority NS instance.
      •	The resource capacity shortage situation has ended, and it can be expected that an LCM operation that had
        failed could succeed now if retried.

      NOTE:	ETSI GS NFV-IFA 013 [x] defines further shortage situations.
            These are not supported by the present version of the present document.

      This notification shall also be triggered by the NFVO when a shortage condition has ended that has previously
      led to NS LCM operation occurrences failing. The notification shall be sent to all API consumers (OSS/BSS)
      that have subscribed to notifications related to capacity shortage and meeting the filter conditions of all
      pre-empted (low priority) and all pre-empting (high priority NS instance(s)). See ETSI GS NFV-IFA 010 [2],
      Annex D.2 for the use cases.

      The notification about the result of an unsuccessful LCM operation occurrence shall include appropriate
      information about the resource shortage when the cause for failure is a resource shortage.

      The notification where a pre-emption occurred due to e.g. a higher priority LCM operation during resource
      shortage shall include appropriate information about the pre-emption.

      NOTE:     Not all operation occurrences that are in "FAILED_TEMP" have been pre-empted by a resource shortage.
                When the operation occurrences were pre-empted, the NS instances affected by the resource shortage end
                (“status“ = "LCM_SHORTAGE_END") which are pointed by "affectedNsId" in the list of "affectedOpOccs" structure
                can have the operations retried again (which needs a request by the OSS/BSS).

      NOTE 1:	The present version of the present document supports only the resource shortage status enumeration
                values “LCM_RESOURCES_NOT_AVAILABLE” and “LCM_SHORTAGE_END” which represent a subset of the trigger conditions
                defined in clause 8.3.5.2  of ETSI GS NFV-IFA 013 [x].
    type: object
Giacomo Bernini's avatar
Giacomo Bernini committed
278
279
280
281
282
283
    required:
      - id
      - notificationType
      - subscriptionId
      - timestamp
      - status
284
285
286
287
288
289
290
291
292
293
294
    properties:
      id:
        description: >
          Identifier of this notification. If a notification is sent multiple times due to multiple subscriptions,
          the "id" attribute of all these notifications shall have the same value.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      notificationType:
        description: >
          Discriminator for the different notification types. Shall be set to "NsLcmCapacityShortageNotification"
          for this notification type.
        type: string
Giacomo Bernini's avatar
Giacomo Bernini committed
295
296
        enum:
          - NsLcmCapacityShortageNotification
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
      subscriptionId:
        description: >
          Identifier of the subscription that this notification relates to.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      timestamp:
        description: >
          Date-time of the generation of the notification.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime"
      preemptingNsLcmOpOccId:
        description: >
          Identifier of the LCM operation occurrence that has triggered a pre-emption.
          Shall be absent when the instantiation of a lower priority NS instance has failed because all
          resources are allocated to higher priority NS instance(s). In this case the current instantiate operation
          is represented in “affectedCondition” with the value “PRE_EMPTED“.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      highPrioNsInstanceId:
        description: >
          Identifier of the higher priority NS instance affected by the lifecycle operation represented by the
          "preemptingNsLcmOpOccId" attribute.
          Shall be present if "preemptingNsLcmOpOccId" is present and shall be absent otherwise.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      status:
        description: >
          Indicates the situation of capacity shortage.
          Permitted values:
          -	LCM_RESOURCES_NOT_AVAILABLE: the lifecycle operation identified by the nsLcmOpOccId attribute could not
            be completed because necessary resources were not available.
          -	LCM_SHORTAGE_END: the shortage situation which has caused the lifecycle management operation identified
            by the nsLcmOpOccId attribute to fail has ended.
        type: string
Giacomo Bernini's avatar
Giacomo Bernini committed
327
328
329
        enum:
          - LCM_RESOURCES_NOT_AVAILABLE
          - LCM_SHORTAGE_END
330
331
332
333
334
335
336
337
338
      shortageType:
        description: >
          Indicates whether this notification reports about a resource shortage or NFV-MANO capacity or performance shortage.
          Permitted values:
          -	RESOURCE_SHORTAGE: the notification reports a resource shortage.

          Shall be present when a resources shortage situation has been identified starts and the notification is
          sent with “status“ = “LCM_RESOURCES_NOT_AVAILABLE“ and shall be absent otherwise.
        type: string
Giacomo Bernini's avatar
Giacomo Bernini committed
339
340
        enum:
          - RESOURCE_SHORTAGE
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
      affectedOpOccs:
        description: >
          List of NS LCM operation occurrence(s) that were affected by the resource shortage.
        type: array
        items:
          type: object
          required:
            - affectedNsId
            - affectedOpOccId
            - affectedCondition
            - _links
          properties:
            affectedNsId:
              description: >
                Identifier of the NS instance related to the operation occurrence that was affected by the shortage.
              $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
            affectedOpOccId:
              description: >
                Identifier of the NS LCM operation occurrence that was affected by the shortage.
              $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
            affectedCondition:
              description: >
                This flag indicates in what condition (pre-empted or triggered) the operation occurrence(s) were
                affected by the resource shortage.

                Permitted values:
                -	PRE_EMPTED: the operation was pre-empted and the "operationState" = "FAILED_TEMP” of the NsLcmOpOcc
                    structure identified by "affectedOpOccId" attribute.
                -	TRIGGERED: the operation was triggered by NFVO and the “operationState” = "FAILED_TEMP” of the
                    NsLcmOpOcc structure identified by "affectedOpOccId" attribute.

                In case the notification indicates the end of a shortage condition (“status“ = "LCM_SHORTAGE_END"),
                only entries with “affectedCondition“ = "PRE_EMPTED" shall be included.
                See note.
              type: string
Giacomo Bernini's avatar
Giacomo Bernini committed
376
377
378
              enum:
                - PRE_EMPTED
                - TRIGGERED
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
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
            _links:
              description: >
                Links related to NS resources affected by the shortage of this operation occurrence.
              type: object
              required:
                - affectedLcmOpOcc
                - affectedNs
              properties:
                affectedLcmOpOcc:
                  description: >
                    Link related to the NS lifecycle management operation occurrence.
                  $ref: "../../definitions/SOL005_def.yaml#/definitions/Link"
                affectedNs:
                  description: >
                    Link related to the NS instance that was affected by the shortage.
                  $ref: "../../definitions/SOL005_def.yaml#/definitions/Link"
      capacityInformation:
        description: >
          References to NFVI capacity information related to the shortage.
        type: array
        items:
          type: object
          required:
            - vimId
            - _link
          properties:
            vimId:
              description: >
                Identifier of the VIM where the capacity shortage occurs.
              $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
            _link:
              description: >
                Link to the related "Individual VIM’s capacity information" resource.
              $ref: "../../definitions/SOL005_def.yaml#/definitions/Link"
      _links:
        description: >
          Links to resources related to this notification.
        type: object
        required:
          - subscription
        properties:
          preemptingNsLcmOpOcc:
            description: >
              Link to the resource representing the pre-empting LCM operation occurrence identified by
              preemptingNsLcmOpOccId. Shall be present if preemptingNsLcmOpOccId is present and shall be absent otherwise.
            $ref: "../../definitions/SOL005_def.yaml#/definitions/Link"
          highPrioNsInstance:
            description: >
              Link to the resource representing the high-priority NS instance identified by highPrioNsInstanceId.
              Shall be present if highPrioNsInstanceId is present and shall be absent otherwise.
            $ref: "../../definitions/SOL005_def.yaml#/definitions/Link"
          subscription:
            description: >
              Link to the subscription that triggered this notification.
            $ref: "../../definitions/SOL005_def.yaml#/definitions/Link"

435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
  NsChangeNotification:
    description: >
      This type represents an NS change notification, which informs the receiver of changes on the NS instance caused by the
      LCM operation occurrence, which directly or indirectly impacts its NS component and is triggered without any context
      of this NS instance.
      This notification is different from the NsLcmOperationOccurenceNotification (see clause 6.5.2.5), which is triggered by
      the NS LCM operation occurrence on the NS instance itself. It shall comply with the provisions defined in
      Table 6.5.2.8-1. The support of the notification is mandatory.
      The trigger conditions include:
      1) NS LCM operation occurrence which directly or indirectly impacts the NS component (start and result).
      If this is a notification about the start of an LCM operation occurrence impacting the NS component, the notification
      shall be sent as soon as the impact on the NS component is identified.
      If this is a notification about a final result state of an NS LCM operation occurrence impacting the NS component, the
      notification shall be sent after the impact on the NS component has been executed.
    type: object
    required:
      - id
      - nsInstanceId
      - nsComponentType
      - nsComponentId
      - lcmOpOccIdImpactingNsComponent
      - lcmOpNameImpactingNsComponent
      - lcmOpOccStatusImpactingNsCompon
      - notificationType
      - subscriptionId
      - timestamp
      - _links
    properties:
      id:
        description: >
          Identifier of this notification. If a
          notification is sent multiple times due
          to multiple subscriptions, the "id"
          attribute of all these notifications shall
          have the same value.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      nsInstanceId:
        description: >
          The identifier of the NS instance affected.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      nsComponentType:
        description: >
          Indicates the impacted NS component type.
        $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsComponentType"
      nsComponentId:
        description: >
          The identifier of the impacted NS component.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      lcmOpOccIdImpactingNsComponent:
        description: >
          The identifier of the lifecycle operation
          occurrence which is associated to the
          notification and impacts the NS
          component directly or indirectly.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      lcmOpNameImpactingNsComponent:
        description: >
          Indicates the name of the lifecycle
          operation occurrence which is
          associated to the notification and
          impacts the NS component directly or
          indirectly.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
497
        $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LcmOpNameForChangeNotificationType"
498
499
500
501
502
503
504
      lcmOpOccStatusImpactingNsComponent:
        description: >
          Indicates this status of the lifecycle
          operation occurrence which is
          associated to the notification and
          impacts the NS component directly or
          indirectly.
Francesca Moscatelli's avatar
Francesca Moscatelli committed
505
        $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LcmOpOccStatusForChangeNotificationType"
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
      notificationType:
        description: >
          Discriminator for the different
          notification types. Shall be set to
          "NsChangeNotification" for this
          notification type.
        type: string
      subscriptionId:
        description: >
          Identifier of the subscription that this notification relates to.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      timestamp:
        description: >
          Date-time of the generation of the
          notification.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime"
      error:
        description: >
          Details of the latest error, if one has
          occurred during executing the LCM
          operation (see clause 6.3 of ETSI
          GS NFV-SOL 013 [16]). Shall be
          present if
          lcmOpOccStatusImpactingNsCompon
          ent is "PARTIALLY_COMPLETED" or
          "FAILED", and shall be absent
          otherwise.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
534
535
536
537
      _links:
        description: >
          Links to resources related to this notification.
        $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnLinks"