Newer
Older
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
GrantRequest:
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
- vnfInstanceId
- vnfLcmOpOccId
- vnfdId
- operation
- isAutomaticInvocation
- _links
vnfInstanceId:
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"
vnfLcmOpOccId:
The identifier of the VNF lifecycle management operation occurrence
associated to the GrantRequest.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
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"
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"
operation:
description: >
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"
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, 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"
addResources:
description: >
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"
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 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
resource. See note 9.
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. See note 9.
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"
Loading full blame...