Skip to content
SOL003VNFLifecycleOperationGranting_def.yaml 53.1 KiB
Newer Older
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt

    description: >
      This type represents a grant request.
      NOTE 1:	The VNF LCM operations CreateVnfIdentifier, DeleteVnfIdentifier, QueryVnf and
              ModifyVnfInformation can be executed by the VNFM without requesting granting.
      NOTE 2: If the granting request is for InstantiateVNF, only one of the three parameters (instantiationLevel or
              targetScaleLevelInfo or addResources) shall be present.
      NOTE 3:	The NFVO will assume that the VNFM will be responsible to both allocate and release the temporary
              resource during the runtime of the LCM operation. This means, the resource can be allocated and
              consumed after the "start" notification for the LCM operation is sent by the VNFM, and the resource
              will be released before the "result" notification of the VNF LCM operation is sent by the VNFM.
      NOTE 4:	For the affinity/anti-affinity rules defined in the VNFD and the placement constraints in the
              GrantVnfLifecycleOperation as defined in this clause, the following applies: Assuming unlimited
              capacity, the combination of all the aforementioned rules shall be satisfiable by at least one possible
              placement of the new resources, with the exception that some of the rules with fallbackBestEffort
              may be unsatisfiable due to the actual placement of existing resources. In this case, rules with
              fallbackBestEffort are allowed to be violated only in relation to the placement of existing resources.
      NOTE 5:	Passing constraints allows the VNFM or the lifecycle management scripts to influence resource
              placement decisions by the NFVO to ensure VNF properties such as performance or fault tolerance.
      NOTE 6:	If fallbackBestEffort is present and set to "true" in one or more placement constraints and the NFVO
              cannot find a resource placement that satisfies all of these due to limited capacity, the NFVO shall
              process each such affinity/antiAffinity constraint in a best effort manner, in which case, if specified
              resources cannot be allocated based on the specified placement constraint, the NFVO shal look for
              an alternate best effort placement for the specified resources to be granted. In the best effort antiaffinity case, the resources are expected to be spread optimally over all available instances of scope
              (e.g. zones), and in the best effort affinity case, they are expected to be distributed optimally over as
              few instances of scope as possible. Being able to satisfy a "best-effort" constraint in a best effort
              manner only, as defined above, shall not lead to rejecting the grant.
      NOTE 7: The target size for VNF instantiation may be specified in either instantiationLevelId or
              targetScaleLevelInfo, but not both.
      NOTE 8: If targetScaleLevelInfo is specified, information provided in targetScaleLevelInfo shall be used for
              scalable constituents of the VNF (e.g, VDUs/VLs) in the granting process. For scaling aspects not
              specified in targetScaleLevelInfo or for the VNF constituents (e.g.,VDUs/VLs) that are not scalable,
              the default instantiation level as declared in the VNFD shall be used in the granting process.
    anyOf:  
      - required:
        - instantiationLevelId
      - required:
        - targetScaleLevelInfo
      - required:
        - addResources
    type: object
    required:
      - vnfInstanceId
      - vnfLcmOpOccId
      - vnfdId
      - operation
      - isAutomaticInvocation
      - _links
        description: >
          Identifier of the VNF instance which this grant request is related
          to. Shall also be provided for VNFs that not yet exist but are
          planned to exist in the future, i.e. if the grant is requested for
          InstantiateVNF.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
        description: >
          The identifier of the VNF lifecycle management operation occurrence
          associated to the GrantRequest.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
        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: "../../General_Definitions/SOL003_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: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
        description: >
          Identifier of the VNF deployment flavour of the VNFD that defines
          the VNF for which the LCM operation is to be granted.
          Shall be provided when instantiating the VNF or changing the
          deployment flavour of the VNF instance.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
          The lifecycle management operation for which granting is requested. See note 1. 
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/GrantedLcmOperationType"
      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
      instantiationLevelId:
        description: >
          If operation=INSTANTIATE, the identifier of the instantiation level may be provided as an 
          alternative way to define the resources to be added. This attribute shall only be used if 
          operation=INSTANTIATE. See notes 2 and 7.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
      targetScaleLevelInfo:
        description: >
          This attribute shall only be used for
          Instantiate VNF requests. This is applicable
          if VNF supports target scale level
          instantiation.
          This attribute provides an alternative way to
          define the resources to be added for the
          VNFs.
          For each scaling aspect of the current
          deployment flavour, the attribute specifies
          the scale level of VNF constituents (e.g.,
          VDU level) to be instantiated. See notes 2,
          7 and 8.
        type: array
        items:
          $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ScaleInfo"
          List of resource definitions in the VNFD for resources to be added by the LCM operation 
          which is related to this grant request, with one entry per resource. See note 2.
        type: array
        items:
          $ref: "#/definitions/ResourceDefinition"
      tempResources:
        description: >
          List of resource definitions in the VNFD for resources to be temporarily instantiated during 
          the runtime of the LCM operation which is related to this grant request, with one entry per 
          resource. See note 3.
        type: array
        items:
          $ref: "#/definitions/ResourceDefinition"
      removeResources:
        description: >
          Provides the definitions of resources to be removed by the LCM
          operation which is related to this grant request, with one entry per
          resource.
        type: array
        items:
          $ref: "#/definitions/ResourceDefinition"
      updateResources:
        description: >
          Provides the definitions of resources to be modified by the LCM
          operation which is related to this grant request, with one entry per
          resource.
        type: array
        items:
          $ref: "#/definitions/ResourceDefinition"
      placementConstraints:
        description: >
          Placement constraints that the VNFM may send to the NFVO in order to influence the resource 
          placement decision. If sent, the NFVO shall take the constraints into consideration when making 
          resource placement decisions and shall reject the grant if they cannot be honoured. See notes 4, 
          5 and 6.
        type: array
        items:
          $ref: "#/definitions/PlacementConstraint"
      vimConstraints:
        description: >
          Used by the VNFM to require that multiple resources are managed
          through the same VIM connection. If sent, the NFVO shall take the
          constraints into consideration when making VIM selection decisions,
          and shall reject the grant if they cannot be honoured.
          This attribute shall be supported if VNF-related Resource Management
          in direct mode is applicable.
          The applicability and further details of this attribute for indirect
          mode are left for future specification.
        type: array
        items:
          $ref: "#/definitions/VimConstraint"
      additionalParams:
        description: >
          Additional parameters passed by the VNFM, specific to the VNF and
          the LCM operation.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
      _links:
        description: >
          Links to resources related to this request.
        type: object
        required:
          - vnfLcmOpOcc
          - vnfInstance
        properties:
          vnfLcmOpOcc:
            description: >
              Related lifecycle management operation occurrence.
            $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
          vnfInstance:
            description: >
              Related VNF instance.
            $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
    description: >
Loading full blame...