Commit 9151a958 authored by Samir Medjiah's avatar Samir Medjiah
Browse files

SOL003_80>SOL003_89: VNF LC Operation Granting Interface updated

parent a2514ef9
Loading
Loading
Loading
Loading
+153 −42
Original line number Diff line number Diff line
@@ -30,6 +30,16 @@ definitions:
        description: >
          Identifier of the VNFD that defines the VNF for which the LCM
          operation is to be granted.
          In case of the "Change current VNF package operation, this identifier
          refers to the VNFD which defines the VNF before the LCM operation to 
          be granted.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      dstVnfdId:
        description: >
          Identifier of the "destination" VNFD which will define the VNF after 
          executing the "Change current VNF package" LCM operation to be granted. 
          Shall be included if the operation changes the current VNF Package and 
          shall be absent otherwise.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      flavourId:
        description: >
@@ -226,33 +236,6 @@ definitions:
        type: array
        items:
          $ref: "#/definitions/ZoneGroupInfo"
      computeReservationId:
        description: >
          Information that identifies a reservation applicable to the compute
          resource requirements of the corresponding grant request.
          At least one of (computeReservationId, networkReservationId,
          storageReservationId) shall be present when policy is
          GRANT_RESERVE_SINGLE and an applicable reservation exists. None of
          these shall be present otherwise.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVim"
      networkReservationId:
        description: >
          Information that identifies a reservation applicable to the network
          resource requirements of the corresponding grant request.
          At least one of (computeReservationId, networkReservationId,
          storageReservationId) shall be present when policy is
          GRANT_RESERVE_SINGLE and an applicable reservation exists. None of
          these shall be present otherwise.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVim"
      storageReservationId:
        description: >
          Information that identifies a reservation applicable to the storage
          resource requirements of the corresponding grant request.
          At least one of (computeReservationId, networkReservationId,
          storageReservationId) shall be present when policy is
          GRANT_RESERVE_SINGLE and an applicable reservation exists. None of
          these shall be present otherwise.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVim"
      addResources:
        description: >
          List of resources that are approved to be added, with one entry per
@@ -319,15 +302,22 @@ definitions:
            type: array
            items:
              $ref: "#/definitions/VimSoftwareImage"
          snapshotResources:
            description: >
              Mappings between snapshot resources defined in the VNF snapshot package and resources
              managed in the VIM.
            type: array
            items:
              $ref: "#/definitions/VimSnapshotResource"
      extVirtualLinks:
        description: >
          Information about external VLs to connect the VNF to.
          External and/or externally-managed internal VLs can be passed in VNF
          lifecycle management operation requests such as InstantiateVnf or
          ChangeVnfFlavor, and/or in the grant response. The NFVO may choose
          to override in the grant response external and/or externally-managed
          VL instances that have been passed previously in the associated VNF
          lifecycle management request, if the lifecycle management request
          lifecycle management operation requests such as InstantiateVnf, ChangeVnfFlavor, 
          ChangeExtVnfConnectivity or ChangeCurrentVnfPackage and/or in the grant response. 
          The NFVO may choose to override in the grant response external and/or 
          externally-managed VL instances that have been passed previously in the 
          associated VNF lifecycle management request, if the lifecycle management request
          has originated from the NFVO itself.
          If this attribute is present , it need not contain
          those entries that are unchanged compared to the entries that were passed
@@ -353,11 +343,11 @@ definitions:
          externally-managed internal VLs are managed by the NFVO and created
          towards the VIM.
          External and/or externally-managed internal VLs can be passed in VNF
          lifecycle management operation requests such as InstantiateVnf or
          ChangeVnfFlavor, and/or in the grant response. The NFVO may choose
          to override in the grant response external and/or externally-managed
          VL instances that have been passed previously in the associated VNF
          lifecycle management request, if the lifecycle management request
          lifecycle management operation requests such as InstantiateVnf, ChangeVnfFlavor, 
          ChangeExtVnfConnectivity or ChangeCurrentVnfPackage and/or in the grant response. 
          The NFVO may choose to override in the grant response external and/or 
          externally-managed VL instances that have been passed previously in the 
          associated VNF lifecycle management request, if the lifecycle management request
          has originated from the NFVO itself.
        type: array
        items:
@@ -423,6 +413,12 @@ definitions:
          resource.
          Shall only be present if a VDU is applicable to this resource.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
      vnfdId:
        description: >
          Identifier of the VNFD to which resourceTemplateId and vduId refer. Shall be present 
          if at least one of resourceTemplateId and vduId is present and the operation to 
          be granted changes the current VNF Package. May be absent otherwise.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      resourceTemplateId:
        description: >
          Reference to a resource template (VnfVirtualLinkDesc,
@@ -435,6 +431,12 @@ definitions:
          resources that are planned to be deleted or modified. Shall be
          absent otherwise.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle"
      snapshotResDef:
        description: >
          Information to identify a snapshot resource. Shall only be present if the 
          operation to be granted concerns to creating a VNF snapshot from the VNF
          or to reverting the VNF to a VNF snapshot.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/SnapshotResourceDefinition"

  GrantInfo:
    description: >
@@ -451,11 +453,10 @@ definitions:
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierLocal"
      reservationId:
        description: >
          The reservation identifier applicable to the
          VNFC/VirtualLink/VirtualStorage. It shall be present for new
          resources when policy is GRANT_RESERVE_MULTI and an applicable
          reservation exists; shall not be present otherwise.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
          The reservation identifier applicable to the VNFC/VirtualLink/VirtualStorage/compute 
          host. It shall be present for new resources when policy is GRANT_RESERVE and an 
          applicable reservation exists; shall not be present otherwise.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVim"
      vimConnectionId:
        description: >
          Identifier of the VIM connection to be used to manage this resource.
@@ -778,3 +779,113 @@ definitions:
          Identifier of the software image in the resource management layer
          (i.e. VIM).
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVim"
      
  SnapshotResourceDefinition:
    description: >
      This type represents resource definition information related to a snapshot resource.
    type: object
    required:
    - vnfSnapshotId
    properties:
      vnfSnapshotId:
        description: >
          Identifier of the VNF snapshot related to the resource change for the VNF instance. 
          Shall only be present if the operation to be granted concerns to creating a VNF snapshot 
          from the VNF or to reverting the VNF to a VNF snapshot.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfcSnapshotId:
        description: >
          Reference to the information about a specific VNFC snapshot (refer to "VnfcSnapshotInfo") 
          of the VNF snapshot. The identifier is unique within the scope of a VNF snapshot, identified 
          by the "vnfSnapshotId" attribute. Shall only be present if the operation to be granted
          concerns to reverting the VNF to a VNF snapshot, and the resource is planned to be added 
          based on the VNFC snapshot, and the type of resource is "COMPUTE" or "STORAGE".

          If present, the value of the "vduId" (for a related VDU) in the "VnfcResourceInfo" referred 
          by the "vnfcInfoId" of the "VnfcSnapshotInfo" shall match the value of the "vduId" in the 
          resource definition that is signalled in the granting request.

          For snapshot resource definitions extracted from a VNF snapshot package, only the 
          "vnfcSnapshotId" and "storageSnapshotId" (in case of a storage type of resource) are applicable.
          If the snapshot resource definition is generated as part of a VNF snapshot created by the VNFM 
          (that is, not extracted from a VNF snapshot package), the "snapshotResource" is applicable. 
          This is a similar specification as the one defined with the "vduId", "resourceTemplateId" and 
          "resource" attributes provided in the ResourceDefinition, but in this case applicable to resources 
          that are defined from VNF snapshots instead of VNFD.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierLocal"
      storageSnapshotId:
        description: >
          Reference to a snapshotted storage resource associated to the VNFC snapshot. Shall only be 
          present if the operation to be granted concerns to reverting the VNF to a VNF snapshot, 
          and the storage resource is planned to be added based on the VNFC snapshot, and the type 
          of resource is "STORAGE".

          For snapshot resource definitions extracted from a VNF snapshot package, only the 
          "vnfcSnapshotId" and "storageSnapshotId" (in case of a storage type of resource) are applicable.
          If the snapshot resource definition is generated as part of a VNF snapshot created by the VNFM 
          (that is, not extracted from a VNF snapshot package), the "snapshotResource" is applicable. 
          This is a similar specification as the one defined with the "vduId", "resourceTemplateId" and 
          "resource" attributes provided in the ResourceDefinition, but in this case applicable to resources 
          that are defined from VNF snapshots instead of VNFD.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
      snapshotResource:
        description: >
          Resource information for an existing snapshot resource. Shall only be present if the 
          operation to be granted concerns to reverting the VNF to a VNF snapshot and the resource is 
          planned to be added based on an existing VNF snapshot that has been created by the VNFM. 
          Shall be absent otherwise.

          For snapshot resource definitions extracted from a VNF snapshot package, only the 
          "vnfcSnapshotId" and "storageSnapshotId" (in case of a storage type of resource) are applicable.
          If the snapshot resource definition is generated as part of a VNF snapshot created by the VNFM 
          (that is, not extracted from a VNF snapshot package), the "snapshotResource" is applicable. 
          This is a similar specification as the one defined with the "vduId", "resourceTemplateId" and 
          "resource" attributes provided in the ResourceDefinition, but in this case applicable to resources 
          that are defined from VNF snapshots instead of VNFD.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle"
  
  VimSnapshotResource:
    description: >
      This type contains a mapping between a snapshot resource definition related to a VNF snapshot 
      and the corresponding resource managed by the NFVO in the VIM which is needed during the revert 
      to VNF snapshot operation.
    type: object
    required:
    - vnfSnapshotId
    - vnfcSnapshotId
    - vimSnapshotResourceId
    properties:
      vimConnectionId:
        description: >
          Identifier of the VIM connection to access the software image referenced in this structure.
          The applicable "VimConnectionInfo" structure, which is referenced by vimConnectionId, can be
          obtained from the "vimConnectionInfo" attribute of the "VnfInstance" structure.
          This attribute shall only be supported and present if VNF-related resource management in direct 
          mode is applicable.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      resourceProviderId:
        description: >
          Identifies the entity responsible for the management of the virtualised resource.
          This attribute shall only be supported and present if VNF-related resource management in indirect 
          mode is applicable. The identification scheme is outside the scope of the present document.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfSnapshotId:
        description: >
          Identifier of the VNF snapshot related to the snapshot resource. 
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfcSnapshotId:
        description: >
          Identifier of the information about a specific VNFC snapshot (refer to "VnfcSnapshotInfo") of 
          the VNF snapshot. The identifier is unique within the scope of a VNF snapshot, identified by 
          the "vnfSnapshotId" attribute.
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierLocal"
      storageSnapshotId:
        description: >
          Identifier of the virtual storage resource that has been snapshotted as referred in the VNFC
          snapshot information. Shall only be present if the snapshot resource in the VIM is a storage 
          resource (as indicated by "type=STORAGE" in the parent resource definition).
          $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
      vimSnapshotResourceId:
        description: >
          Identifier of the snapshot resource in the resource management layer (i.e. VIM).
        $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVim"
 No newline at end of file
+6 −0
Original line number Diff line number Diff line
@@ -749,6 +749,9 @@ definitions:
      HEAL | Represents the "Heal VNF" LCM operation.
      OPERATE | Represents the "Operate VNF" LCM operation.
      CHANGE_EXT_CONN | Represents the "Change external VNF connectivity" LCM operation.     
      CHANGE_VNFPKG | Represents the "Change current VNF package" LCM operation.
      CREATE_SNAPSHOT | Represents the "Create VNF snapshot" LCM operation.
      REVERT_TO_SNAPSHOT | Represents the "Revert to VNF snapshot" LCM operation.
    type: string
    enum:
      - INSTANTIATE
@@ -759,6 +762,9 @@ definitions:
      - HEAL
      - OPERATE
      - CHANGE_EXT_CONN
      - CHANGE_VNFPKG
      - CREATE_SNAPSHOT
      - REVERT_TO_SNAPSHOT

  LcmOperationType:
    description: >