Skip to content
SOL003VNFLifecycleOperationGranting_def.yaml 60.4 KiB
Newer Older
ishaqm's avatar
ishaqm committed
# Copyright (c) ETSI 2024.
# 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. In the 
              case of PaaS Service requests, the handling of the allocation and release of the PaaS Service is a 
              responsibility of the NFVO (supported by corresponding PaaS Service management functions) 
              based on the information about the progress and completion of the VNF LCM operation.
      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.
      NOTE 9: For resources related to a VDU that has the attribute isNumOfInstancesClusterBased set to TRUE, 
              only one occurrence of the addResources, or tempResources or removeResources, or 
              updateResources shall be included per descriptor indicated in the resourceTemplateId of the 
              ResourceDefinition, not one per VNFC instance.
      NOTE 10: If the granting request is for InstantiateVNF and if there are deployable modules defined in the 
               applicable VNF DF in the VNFD, either the selectedDeployableModules attribute or the 
               addResource attribute shall be included but not both. If selectedDeployableModules is included, 
               either the instantiationLevel or targetScaleLevelInfo attribute shall be also included.
    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, 7 and 10.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
          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, 8 and 10.
        type: array
        items:
          $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ScaleInfo"

      selectedDeployableModule:
        description: >
          References a selected deployable module.
          Resources related to VDUs that belong to not selected deployable modules shall not
          be considered in the granting

          This attribute shall only be used for the instantiate VNF request. See note 10.
        type: array
        items:
          $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
Muhammad Umair Khan's avatar
Muhammad Umair Khan committed
      resourceCapacityDefinition:
        description: >
          Indicates values for resource capacity related attributes 
          pertaining to a descriptor, as received in the VNF LCM operation 
          request. The values indicated in this attribute are applicable to 
          all VNFC instances based on the VDU to which the 
          resourceCapacityDefinition is related.
        type: array
        items:
          $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceCapacityDefinition"
          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 notes 2, 9 and 10.
        type: array
        items:
          $ref: "#/definitions/ResourceDefinition"
          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 notes 3 and 9.
        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
        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
        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
Loading full blame...