Commit eadc9957 authored by moscatelli's avatar moscatelli
Browse files

SOL003/SOL002: VNF Lifecycle management datatypes consolidation

parent 6d020cb6
Loading
Loading
Loading
Loading
+111 −82
Original line number Diff line number Diff line
@@ -462,7 +462,7 @@ definitions:
          be treated as if the “stopType” attribute was set to ”FORCEFUL”, when
          the “changeStateTo” attribute is equal to “STOPPED” and the
          “stopType” attribute is absent.
        $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/StopType"
        $ref: "#/definitions/StopType"
      gracefulStopTimeout:
        description: >
          The time interval (in seconds) to wait for the VNF to be taken out
@@ -485,6 +485,38 @@ definitions:
          declared in the VNFD as part of "OperateVnfOpConfig".
        $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:
    description: >
      This type represents attribute modifications for an
@@ -541,98 +573,95 @@ definitions:
        items:
          $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"

  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.
  VnfInfoModifications:
    description: >
      This type represents attribute modifications that were performed on an
      "Individual VNF instance" resource. The attributes that can be included
      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
    required:
      - extVirtualLinks
    properties:
      extVirtualLinks:
      vnfInstanceName:
        description: >
          Information about external VLs to change (e.g. connect the VNF to).
        type: array
        items:
          $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData"
          If present, this attribute signals modifications of the
          "vnfInstanceName" attribute in "VnfInstance".
        type: string
      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:
        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.
          If present, this attribute signals modifications of certain entries
          in the "vimConnectionInfo" attribute array in "VnfInstance".
        type: array
        items:
          $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo"
      additionalParams:
      vimConnectionInfoDeleteIds:
        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"

  CancelMode:
          If present, this attribute signals the deletion of certain entries
          in the "vimConnectionInfo" attribute array in "VnfInstance".
        type: array
        items:
          $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      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:
          If present, this attribute signals modifications of the "vnfdId"
          attribute in "VnfInstance".
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfProvider:
        description: >
          Cancellation mode to apply.
        $ref: "#/definitions/CancelModeType"

  CancelModeType:
    description: >
      Cancellation mode.
      GRACEFUL: If the VNF LCM operation occurrence is in "PROCESSING" or
      "ROLLING_BACK" state, the VNFM shall not start any new resource
      management operation and shall wait for the ongoing resource management
      operations in the underlying system, typically the VIM, to finish
      execution or to time out. After that, the VNFM shall put the operation
      occurrence into the FAILED_TEMP state.
      If the VNF LCM operation occurrence is in "STARTING" state, the VNFM
      shall not start any resource management operation and shall wait for
      the granting request to finish execution or time out. After that, the
      VNFM shall put the operation occurrence into the ROLLED_BACK state. 
      FORCEFUL: If the VNF LCM operation occurrence is in "PROCESSING" or
      "ROLLING_BACK" state, the VNFM shall not start any new resource
      management operation, shall cancel the ongoing resource management
      operations in the underlying system, typically the VIM, and shall wait
      for the cancellation to finish or to time out. After that, the VNFM
      shall put the operation occurrence into the FAILED_TEMP state. 
      If the VNF LCM operation occurrence is in "STARTING" state, the VNFM
      shall not start any resource management operation and put the operation
      occurrence into the ROLLED_BACK state.
          If present, this attribute signals modifications of the
          "vnfProvider" attribute in "VnfInstance".
          If present, this attribute (which depends on the value of the
          "vnfPkgId" attribute) was modified implicitly following a request to
          modify the "vnfPkgId" attribute, by copying the value of this
          attribute from the VNFD in the VNF Package identified by the
          "vnfPkgId” attribute.
        type: string
    enum:
      - GRACEFUL
      - FORCEFUL

  LcmOperationStateType:
    description: >
      Value | Description
      ------|------------
      STARTING | The LCM operation is starting.
      PROCESSING | The LCM operation is currently in execution.
      COMPLETED | he LCM operation has been completed successfully.
      FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed.
      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.
      vnfProductName:
        description: >
          If present, this attribute signals modifications of the
          "vnfProductName" attribute in "VnfInstance".
          If present, this attribute (which depends on the value of the
          "vnfPkgId" attribute) was modified implicitly following a request to
          modify the "vnfPkgId" attribute, by copying the value of this
          attribute from the VNFD in the VNF Package identified by the
          "vnfPkgId” attribute.
        type: string
    enum:
      - STARTING
      - PROCESSING
      - COMPLETED
      - FAILED_TEMP
      - FAILED
      - ROLLING_BACK
      - ROLLED_BACK
      vnfSoftwareVersion:
        description: >
          If present, this attribute signals modifications of the
          "vnfSoftwareVersion" attribute in "VnfInstance".
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Version"
      vnfdVersion:
        description: >
          If present, this attribute signals modifications of the
          "vnfdVersion" attribute in "VnfInstance".
          If present, this attribute (which depends on the value of the
          "vnfPkgId" attribute) was modified implicitly following a request to
          modify the "vnfPkgId" attribute, by copying the value of this
          attribute from the VNFD in the VNF Package identified by the
          "vnfPkgId” attribute.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Version"

  StopType:
    description: >
+1 −1
Original line number Diff line number Diff line
@@ -56,7 +56,7 @@ paths:
          in: body
          required: true
          schema:
            $ref: "definitions/VNFLifecycleManagementNotification_def.yaml#/definitions/VnfLcmOperationOccurrenceNotification"
            $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOperationOccurrenceNotification"
        - name: Authorization
          description: >
            The authorization token for the request.
+0 −177
Original line number Diff line number Diff line
# 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
+826 −807

File changed.

Preview size limit exceeded, changes collapsed.