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.
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.
- 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 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.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ScaleInfo"
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 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"
This type represents a grant.
NOTE 1: This interface allows to signal the use of multiple VIMs per VNF. The specification
for managing the VNF internal VL requirements across multiple VIMs is supported via
"externally-managed internal VLs" and "multi-site connectivity services".
NOTE 3: The Grant response allows the NFVO to pass to the VNFM VIM assets related to the VNF
package that is identified in the corresponding Grant request. Because only the operations
InstantiateVnf, ChangeCurrentVnfPkg and the update of the vnfdId by PATCH can imply changes
Loading full blame...