Commit eadc9957 authored by moscatelli's avatar moscatelli
Browse files

SOL003/SOL002: VNF Lifecycle management datatypes consolidation

parent 6d020cb6
Pipeline #1260 passed with stage
in 0 seconds
...@@ -462,7 +462,7 @@ definitions: ...@@ -462,7 +462,7 @@ definitions:
be treated as if the “stopType” attribute was set to ”FORCEFUL”, when be treated as if the “stopType” attribute was set to ”FORCEFUL”, when
the “changeStateTo” attribute is equal to “STOPPED” and the the “changeStateTo” attribute is equal to “STOPPED” and the
“stopType” attribute is absent. “stopType” attribute is absent.
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/StopType" $ref: "#/definitions/StopType"
gracefulStopTimeout: gracefulStopTimeout:
description: > description: >
The time interval (in seconds) to wait for the VNF to be taken out The time interval (in seconds) to wait for the VNF to be taken out
...@@ -485,6 +485,38 @@ definitions: ...@@ -485,6 +485,38 @@ definitions:
declared in the VNFD as part of "OperateVnfOpConfig". declared in the VNFD as part of "OperateVnfOpConfig".
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
ChangeExtVnfConnectivityRequest:
#SOL003 location: 5.5.2.11
description: >
This type represents request parameters for the
"Change external VNF connectivity" operation to modify the external
connectivity of a VNF instance.
type: object
required:
- extVirtualLinks
properties:
extVirtualLinks:
description: >
Information about external VLs to change (e.g. connect the VNF to).
type: array
items:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData"
vimConnectionInfo:
description: >
Information about VIM connections to be used for managing the
resources for the VNF instance, or refer to external virtual
links. This attribute shall only be supported and may be present
if VNF-related resource management in direct mode is applicable.
type: array
items:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo"
additionalParams:
description: >
Additional input parameters for the instantiation process, specific
to the VNF being instantiated, as declared in the VNFD as part of
"ChangeExtVnfConnectivityOpConfig".".
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
VnfInfoModificationRequest: VnfInfoModificationRequest:
description: > description: >
This type represents attribute modifications for an This type represents attribute modifications for an
...@@ -541,98 +573,95 @@ definitions: ...@@ -541,98 +573,95 @@ definitions:
items: items:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
ChangeExtVnfConnectivityRequest: VnfInfoModifications:
#SOL003 location: 5.5.2.11
description: > description: >
This type represents request parameters for the This type represents attribute modifications that were performed on an
"Change external VNF connectivity" operation to modify the external "Individual VNF instance" resource. The attributes that can be included
connectivity of a VNF instance. consist of those requested to be modified explicitly in the
"VnfInfoModificationRequest" data structure, and additional attributes
of the "VnfInstance" data structure that were modified implicitly e.g.
when modifying the referenced VNF package.
type: object type: object
required:
- extVirtualLinks
properties: properties:
extVirtualLinks: vnfInstanceName:
description: > description: >
Information about external VLs to change (e.g. connect the VNF to). If present, this attribute signals modifications of the
type: array "vnfInstanceName" attribute in "VnfInstance".
items: type: string
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" vnfInstanceDescription:
description: >
If present, this attribute signals modifications of the
"vnfInstanceDescription" attribute in "VnfInstance".
type: string
vnfConfigurableProperties:
description: >
If present, this attribute signals modifications of the
"vnfConfigurableProperties" attribute in "VnfInstance".
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
metadata:
description: >
If present, this attribute signals modifications of the "metadata"
attribute in "VnfInstance".
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
extensions:
description: >
If present, this attribute signals modifications of the "extensions"
attribute in "VnfInstance".
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
vimConnectionInfo: vimConnectionInfo:
description: > description: >
Information about VIM connections to be used for managing the If present, this attribute signals modifications of certain entries
resources for the VNF instance, or refer to external virtual in the "vimConnectionInfo" attribute array in "VnfInstance".
links. This attribute shall only be supported and may be present
if VNF-related resource management in direct mode is applicable.
type: array type: array
items: items:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo"
additionalParams: vimConnectionInfoDeleteIds:
description: > description: >
Additional input parameters for the instantiation process, specific If present, this attribute signals the deletion of certain entries
to the VNF being instantiated, as declared in the VNFD as part of in the "vimConnectionInfo" attribute array in "VnfInstance".
"ChangeExtVnfConnectivityOpConfig".". type: array
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" items:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
CancelMode: vnfdId:
description: >
This type represents a parameter to select the mode of cancelling an
ongoing VNF LCM operation occurrence.
type: object
required:
- cancelMode
properties:
cancelMode:
description: > description: >
Cancellation mode to apply. If present, this attribute signals modifications of the "vnfdId"
$ref: "#/definitions/CancelModeType" attribute in "VnfInstance".
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
CancelModeType: vnfProvider:
description: > description: >
Cancellation mode. If present, this attribute signals modifications of the
GRACEFUL: If the VNF LCM operation occurrence is in "PROCESSING" or "vnfProvider" attribute in "VnfInstance".
"ROLLING_BACK" state, the VNFM shall not start any new resource If present, this attribute (which depends on the value of the
management operation and shall wait for the ongoing resource management "vnfPkgId" attribute) was modified implicitly following a request to
operations in the underlying system, typically the VIM, to finish modify the "vnfPkgId" attribute, by copying the value of this
execution or to time out. After that, the VNFM shall put the operation attribute from the VNFD in the VNF Package identified by the
occurrence into the FAILED_TEMP state. "vnfPkgId” attribute.
If the VNF LCM operation occurrence is in "STARTING" state, the VNFM type: string
shall not start any resource management operation and shall wait for vnfProductName:
the granting request to finish execution or time out. After that, the description: >
VNFM shall put the operation occurrence into the ROLLED_BACK state. If present, this attribute signals modifications of the
FORCEFUL: If the VNF LCM operation occurrence is in "PROCESSING" or "vnfProductName" attribute in "VnfInstance".
"ROLLING_BACK" state, the VNFM shall not start any new resource If present, this attribute (which depends on the value of the
management operation, shall cancel the ongoing resource management "vnfPkgId" attribute) was modified implicitly following a request to
operations in the underlying system, typically the VIM, and shall wait modify the "vnfPkgId" attribute, by copying the value of this
for the cancellation to finish or to time out. After that, the VNFM attribute from the VNFD in the VNF Package identified by the
shall put the operation occurrence into the FAILED_TEMP state. "vnfPkgId” attribute.
If the VNF LCM operation occurrence is in "STARTING" state, the VNFM type: string
shall not start any resource management operation and put the operation vnfSoftwareVersion:
occurrence into the ROLLED_BACK state. description: >
type: string If present, this attribute signals modifications of the
enum: "vnfSoftwareVersion" attribute in "VnfInstance".
- GRACEFUL $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Version"
- FORCEFUL vnfdVersion:
description: >
LcmOperationStateType: If present, this attribute signals modifications of the
description: > "vnfdVersion" attribute in "VnfInstance".
Value | Description If present, this attribute (which depends on the value of the
------|------------ "vnfPkgId" attribute) was modified implicitly following a request to
STARTING | The LCM operation is starting. modify the "vnfPkgId" attribute, by copying the value of this
PROCESSING | The LCM operation is currently in execution. attribute from the VNFD in the VNF Package identified by the
COMPLETED | he LCM operation has been completed successfully. "vnfPkgId” attribute.
FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Version"
FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed.
ROLLING_BACK | The LCM operation is currently being rolled back.
ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.
type: string
enum:
- STARTING
- PROCESSING
- COMPLETED
- FAILED_TEMP
- FAILED
- ROLLING_BACK
- ROLLED_BACK
StopType: StopType:
description: > description: >
......
...@@ -56,7 +56,7 @@ paths: ...@@ -56,7 +56,7 @@ paths:
in: body in: body
required: true required: true
schema: schema:
$ref: "definitions/VNFLifecycleManagementNotification_def.yaml#/definitions/VnfLcmOperationOccurrenceNotification" $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOperationOccurrenceNotification"
- name: Authorization - name: Authorization
description: > description: >
The authorization token for the request. The authorization token for the request.
......
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
definitions:
VnfLcmOperationOccurrenceNotification:
description: >
This type represents a VNF lifecycle management operation occurrence
notification, which informs the receiver of changes in the VNF
lifecycle caused by a VNF LCM operation occurrence. The support of the
notification is mandatory.
This notification shall be triggered by the VNFM when there is a change
in the VNF lifecycle caused by a VNF LCM operation occurrence,
including:
* Instantiation of the VNF
* Scaling of the VNF instance (including auto-scaling)
* Healing of the VNF instance (including auto-healing)
* Change of the state of the VNF instance (i.e. Operate VNF)
* Change of the deployment flavour of the VNF instance
* Change of the external connectivity of the VNF instance
* Termination of the VNF instance
* Modification of VNF instance information and/or VNF configurable
properties through the "PATCH" method on the "Individual VNF instance"
resource.
If this is the initial notification about the start of a VNF LCM
operation occurrence, it is assumed that the notification is sent by the
VNFM before any action (including sending the grant request) is taken as
part of the LCM operation. Due to possible race conditions, the "start"
notification, the grant request and the LCM operation acknowledgment can
arrive in any order at the NFVO, and the NFVO shall be able to handle
such a situation.
If this is a notification about a final or intermediate result state of
a VNF LCM operation occurrence, the notification shall be sent after
all related actions of the LCM operation that led to this state have
been executed. The new state shall be set in the VnfLcmOpOcc resource
before the notification about the state change is sent.
type: object
required:
- id
- notificationType
- subscriptionId
- timeStamp
- notificationStatus
- operationState
- vnfInstanceId
- operation
- isAutomaticInvocation
- vnfLcmOpOccId
- _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/SOL002SOL003_def.yaml#/definitions/Identifier"
notificationType:
description: >
Discriminator for the different notification types. Shall be set to
"VnfLcmOperationOccurrenceNotification" for this notification type.
type: string
enum:
- VnfLcmOperationOccurrenceNotification
subscriptionId:
description: >
Identifier of the subscription that this notification relates to.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
timeStamp:
description: >
Date-time of the generation of the notification.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime"
notificationStatus:
description: >
Indicates whether this notification reports about the start of a
lifecycle operation or the result of a lifecycle operation.
Permitted values:
* START: Informs about the start of the VNF LCM operation
occurrence.
* RESULT: Informs about the final or intermediate result of the VNF
LCM operation occurrence.
type: string
enum:
- START
- RESULT
operationState:
description: >
The state of the VNF LCM operation occurrence.
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LcmOperationStateType"
vnfInstanceId:
description: >
The identifier of the VNF instance affected.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
operation:
description: >
The lifecycle management operation.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/LcmOperationType"
isAutomaticInvocation:
description: >
Set to true if this VNF LCM operation occurrence has been triggered
by an automated procedure inside the VNFM
(i.e. ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf
triggered by auto-heal).
Set to false otherwise.
type: boolean
vnfLcmOpOccId:
description: >
The identifier of the VNF lifecycle management operation occurrence
associated to the notification.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
affectedVnfcs:
description: >
Information about VNFC instances that were affected during the
lifecycle operation.
Shall be present if the "notificationStatus" is set to "RESULT" 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 VNF LCM operation occurrence and by any of the error
handling procedures for that operation occurrence.
type: array
items:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/AffectedVnfc"
affectedVirtualLinks:
description: >
Information about VL instances that were affected during the
lifecycle operation.
Shall be present if the "notificationStatus" is set to "RESULT" 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 VNF LCM operation occurrence and by any of the error
handling procedures for that operation occurrence.
type: array
items:
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualLink"
affectedVirtualStorages:
description: >
Information about virtualised storage instances that were affected
during the lifecycle operation.
Shall be present if the "notificationStatus" is set to "RESULT" 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 VNF LCM operation occurrence and by any of the error
handling procedures for that operation occurrence.
type: array
items:
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualStorage"
changedInfo:
description: >
Information about the changed VNF instance information, including
changed VNF configurable properties.
Shall be present if the "notificationStatus" is set to "RESULT" and
the operation has performed any changes to VNF instance information,
including VNF configurable properties.
Shall be absent otherwise.
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModifications"
changedExtConnectivity:
description: >
Information about changed external connectivity, if this
notification represents the result of a lifecycle operation
occurrence. Shall be present if the "notificationStatus" is set to
"RESULT" and the "operation" is set to "CHANGE_EXT_CONN".
Shall be absent otherwise.
type: array
items:
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkInfo"
error:
description: >
Details of the latest error, if one has occurred during executing
the LCM operation. Shall be present if the "operationState"
attribute is "FAILED_TEMP" or "FAILED", and shall be absent
otherwise.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
_links:
description: >
Links to resources related to this notification.
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnLinks"
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment