From 3d147cbbf5760f05e20f54258458a99334278938 Mon Sep 17 00:00:00 2001 From: Bertrand Souville Date: Wed, 21 May 2025 21:24:36 +0200 Subject: [PATCH] Need to create openAPI representation for FEAT29 CR related to VNF power management --- .../SOL005NSLifecycleManagement_def.yaml | 61 ++++++++++++++++--- 1 file changed, 53 insertions(+), 8 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 34a3352..a24b4c5 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -1061,6 +1061,12 @@ definitions: description: > State of the VNF instance. $ref: "#/definitions/VnfOperationalStateType" + vnfPowerState: + description: > + The power state of the VNF instance. Only present if the VNF instance is in a power + state or a scale status (refer to attribute "scaLeStatus" that has an associated + power profile, as defined in the VNFD. + $ref: "#/definitions/VnfPowerStateInfo" scaleStatus: description: > Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how "big" @@ -1439,6 +1445,31 @@ definitions: enum: - STARTED - STOPPED + VnfPowerStateInfo: + description: > + This type represents information about the power state of a VNF instance. + Editor's Note: Specification of VnfPowerConsumptionInfo data type is FFS pending + on PowerProfile work in SOL001. + type: object + required: + - powerProfileId + - name + properties: + powerProfileId: + description: > + Identifier of the power profile, as defined in the VNFD, applied to the VNF instance. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" + name: + description: > + Name of the power profile as provided in the VNFD + type: string + powerConsumptionInfo: + description: > + Estimated power consumption information of the resources associated + with this power profile, as provided in the VNFD. VNFM exposes and + can use this information to control the VNF instance to operate according + to the power profile and selected power state, e.g., monitoring actual energy + or power consumption of the VNF instance and compare against the estimated one. VnfScaleInfo: required: @@ -3643,7 +3674,8 @@ definitions: $ref: "#/definitions/ScaleNsData" scaleVnfData: description: > - The necessary information to scale the referenced NS instance. + The necessary information to scale or to change to a power profile + a given VNF instance that is part of the referenced NS instance. It shall be present when scaleType = SCALE_VNF. See note. type: array @@ -6153,20 +6185,27 @@ definitions: description: > This type describes the information used to scale a VNF instance to a target size. The target size is either expressed as an instantiation level of that DF as defined in the VNFD, or given as a list of scale levels, one per scaling aspect of that - DF. Instantiation levels and scaling aspects are declared in the VNFD. The NFVO shall then invoke the - ScaleVnfToLevel operation towards the appropriate VNFM. + DF. Instantiation levels and scaling aspects are declared in the VNFD. + This type also describes the information needed to scale an instantiated VNF of a particular DF to a power profile for + the VNF instance. This can be done either by referring to a defined instantiation level or list of scale levels defined in + the VNFD (see above) that have an associated power profile or to a specified power profile in the VNFD. + The NFVO shall then invoke the ScaleVnfToLevel operation towards the appropriate VNFM. - NOTE 1: Either the vnfInstantiationLevelId attribute or the vnfScaleInfo attribute shall be included. - NOTE 2: If the referenced instantiationLevel or the scaleInfo attribute contain information related to VNFCs that are not - going to be instantiated due to the selection of deployable modules, when passed to the VNFM, the information - is stored in the VNFM for later use and included in the instantiatedVnfInfo, as described in clause 5.5.2.6 of - ETSI GS NFV-SOL 003. + NOTE 1: Either the vnfInstantiationLevelId attribute or the vnfScaleInfo or the vnfPowerProfileId attribute shall be + included, but not multiple of them. + NOTE 2: If the referenced instantiationLevel, the scaleInfo or the vnfPowerProfileId attribute contain information related + to VNFCs that are not going to be instantiated due to the selection of deployable modules, when passed to the VNFM, + the information is stored in the VNFM for later use and included in the instantiatedVnfInfo, as described in + clause 5.5.2.6 of ETSI GS NFV-SOL 003. + Editor's Note: Pending on PowerProfile work in SOL001. type: object anyOf: - required: - vnfInstantiationLevelId - required: - vnfScaleInfo + - required: + - vnfPowerProfileId properties: vnfInstantiationLevelId: description: > @@ -6181,6 +6220,12 @@ definitions: type: array items: $ref: "#/definitions/VnfScaleInfo" + vnfPowerProfileId: + description: > + Identifier of the target power profile in the current DF, as defined in the VNFD, + from which the target power state can be selected and be switched to. + See notes 1 and 2. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" additionalParams: description: > Additional parameters passed by the NFVO as input to -- GitLab