From 885644bb1530763d5fcbf127f72634ce896eec8c Mon Sep 17 00:00:00 2001 From: piscione Date: Tue, 28 Jun 2022 17:57:49 +0200 Subject: [PATCH 01/34] SOL005_01, SOL005_09, SOL005_17 SOL005_v040009 --- .../NSLifecycleManagement.yaml | 48 ++++++++++++++++++- .../SOL005NSLifecycleManagement_def.yaml | 12 +++++ 2 files changed, 59 insertions(+), 1 deletion(-) diff --git a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index bd76cb8..c91590c 100644 --- a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml +++ b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V3.6.1 @@ -487,6 +487,43 @@ paths: "504": $ref: ../responses/SOL005_resp.yaml#/components/responses/504 + patch: + description: | + This method modifies an "Individual NS LCM operation occurrence" resource. + requestBody: + $ref: '#/components/requestBodies/NsLcmInfoModificationRequest' + responses: + "204": + $ref: ../responses/SOL005_resp.yaml#/components/responses/204 + description: Shall be returned when the "Individual NS LCM operation occurrence" resource has been changed successfully. + "400": + $ref: ../responses/SOL005_resp.yaml#/components/responses/400 + "401": + $ref: ../responses/SOL005_resp.yaml#/components/responses/401 + "403": + $ref: ../responses/SOL005_resp.yaml#/components/responses/403 + "404": + $ref: ../responses/SOL005_resp.yaml#/components/responses/404 + "405": + $ref: ../responses/SOL005_resp.yaml#/components/responses/405 + "406": + $ref: ../responses/SOL005_resp.yaml#/components/responses/406 + "409": + $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + description: Shall be returned upon the following error The operation cannot be executed currently, due to a conflict with the state of the "Individual NS instance" resource. Typically, this is due to an attempt to modify the scheduled time of an operation that has already started. The response body shall contain a ProblemDetails structure, in which the "detail" attribute should convey more information about the error. + "412": + $ref: ../responses/SOL005_resp.yaml#/components/responses/412 + description: Shall be returned upon the following error A precondition given in an HTTP request header is not fulfilled. + "416": + $ref: ../responses/SOL005_resp.yaml#/components/responses/416 + "500": + $ref: ../responses/SOL005_resp.yaml#/components/responses/500 + "503": + $ref: ../responses/SOL005_resp.yaml#/components/responses/503 + "504": + $ref: ../responses/SOL005_resp.yaml#/components/responses/504 + + /ns_lcm_op_occs/{nsLcmOpOccId}/retry: parameters: - $ref: '#/components/parameters/NsLcmOpOccId' @@ -1080,6 +1117,15 @@ components: $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnSubscriptionRequest required: true + NsLcmInfoModificationRequest: + description: | + Parameters for the "Individual NS LCM operation occurrence" resource modification information, as defined in clause 6.5.2.20 + content: + application/json: + schema: + $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmInfoModificationRequest + required: true + responses: NsInstances.Get.200: description: | diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index e2e6917..7ac38c1 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -3895,6 +3895,18 @@ definitions: - TERMINATE - HEAL + NsLcmInfoModificationRequest: + description: > + This type represents attribute modifications for an "Individual NS LCM operation occurrence" resource, i.e. modifications to a resource representation based on the "NsLcmOpOcc" data structure. + type: object + required: + - scheduledTime + properties: + scheduledTime: + description: This attribute specifies the modifications to the scheduled time of the specific NS LCM operation. The "scheduledTime" attribute represents the new value of the "startTime" attribute of the "NsLcmOpOcc" data structure to start the NS LCM operation + $ref: "$ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + + LccnSubscriptionRequest: description: > This type represents a subscription request related to notifications -- GitLab From bea183a3edc454ed918e5bc3ef321f1a70fa4a6f Mon Sep 17 00:00:00 2001 From: piscione Date: Tue, 28 Jun 2022 17:57:49 +0200 Subject: [PATCH 02/34] SOL005_01, SOL005_09, SOL005_17 SOL005_v040009 --- .../NSLifecycleManagement.yaml | 48 ++++++++++++++++++- .../SOL005NSLifecycleManagement_def.yaml | 12 +++++ 2 files changed, 59 insertions(+), 1 deletion(-) diff --git a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index bd76cb8..c91590c 100644 --- a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml +++ b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V3.6.1 @@ -487,6 +487,43 @@ paths: "504": $ref: ../responses/SOL005_resp.yaml#/components/responses/504 + patch: + description: | + This method modifies an "Individual NS LCM operation occurrence" resource. + requestBody: + $ref: '#/components/requestBodies/NsLcmInfoModificationRequest' + responses: + "204": + $ref: ../responses/SOL005_resp.yaml#/components/responses/204 + description: Shall be returned when the "Individual NS LCM operation occurrence" resource has been changed successfully. + "400": + $ref: ../responses/SOL005_resp.yaml#/components/responses/400 + "401": + $ref: ../responses/SOL005_resp.yaml#/components/responses/401 + "403": + $ref: ../responses/SOL005_resp.yaml#/components/responses/403 + "404": + $ref: ../responses/SOL005_resp.yaml#/components/responses/404 + "405": + $ref: ../responses/SOL005_resp.yaml#/components/responses/405 + "406": + $ref: ../responses/SOL005_resp.yaml#/components/responses/406 + "409": + $ref: ../responses/SOL005_resp.yaml#/components/responses/409 + description: Shall be returned upon the following error The operation cannot be executed currently, due to a conflict with the state of the "Individual NS instance" resource. Typically, this is due to an attempt to modify the scheduled time of an operation that has already started. The response body shall contain a ProblemDetails structure, in which the "detail" attribute should convey more information about the error. + "412": + $ref: ../responses/SOL005_resp.yaml#/components/responses/412 + description: Shall be returned upon the following error A precondition given in an HTTP request header is not fulfilled. + "416": + $ref: ../responses/SOL005_resp.yaml#/components/responses/416 + "500": + $ref: ../responses/SOL005_resp.yaml#/components/responses/500 + "503": + $ref: ../responses/SOL005_resp.yaml#/components/responses/503 + "504": + $ref: ../responses/SOL005_resp.yaml#/components/responses/504 + + /ns_lcm_op_occs/{nsLcmOpOccId}/retry: parameters: - $ref: '#/components/parameters/NsLcmOpOccId' @@ -1080,6 +1117,15 @@ components: $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LccnSubscriptionRequest required: true + NsLcmInfoModificationRequest: + description: | + Parameters for the "Individual NS LCM operation occurrence" resource modification information, as defined in clause 6.5.2.20 + content: + application/json: + schema: + $ref: ./definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsLcmInfoModificationRequest + required: true + responses: NsInstances.Get.200: description: | diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index e2e6917..ea5f800 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -3895,6 +3895,18 @@ definitions: - TERMINATE - HEAL + NsLcmInfoModificationRequest: + description: > + This type represents attribute modifications for an "Individual NS LCM operation occurrence" resource, i.e. modifications to a resource representation based on the "NsLcmOpOcc" data structure. + type: object + required: + - scheduledTime + properties: + scheduledTime: + description: This attribute specifies the modifications to the scheduled time of the specific NS LCM operation. The scheduledTime attribute represents the new value of the "startTime" attribute of the "NsLcmOpOcc" data structure to start the NS LCM operation + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" + + LccnSubscriptionRequest: description: > This type represents a subscription request related to notifications -- GitLab From 5a16a4a30b5a4b454ffff9c131e4409fc3f3a593 Mon Sep 17 00:00:00 2001 From: piscione Date: Wed, 29 Jun 2022 12:48:16 +0200 Subject: [PATCH 03/34] Fix: Added 204 response missing. --- src/SOL005/responses/SOL005_resp.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/SOL005/responses/SOL005_resp.yaml b/src/SOL005/responses/SOL005_resp.yaml index d9047a1..9339ee9 100644 --- a/src/SOL005/responses/SOL005_resp.yaml +++ b/src/SOL005/responses/SOL005_resp.yaml @@ -3,6 +3,8 @@ components: responses: + + 202: description: > 202 ACCEPTED @@ -33,6 +35,12 @@ components: maximum: 1 minimum: 1 + 204: + description: > + 204 No conteint + + + 206: description: > 206 PARTIAL CONTENT -- GitLab From 8e40dd5d396ae100ce6ce431bb9f0aa1d3a0befa Mon Sep 17 00:00:00 2001 From: piscione Date: Wed, 29 Jun 2022 13:08:49 +0200 Subject: [PATCH 04/34] SOL005_11, SOL005_68 SOL005_v040009 --- .../SOL005NSLifecycleManagement_def.yaml | 10 +++++++++- ...005NSLifecycleManagementNotification_def.yaml | 16 ++++++++++------ 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index ea5f800..07ec274 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -6685,4 +6685,12 @@ definitions: Allows the OSS/BSS to provide additional parameter(s) to the termination process at the NS level. type: array items: - $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" \ No newline at end of file + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + + FeasibilityCheckResultType: + description: > + The enumeration FeasibilityCheckResultType defines the permitted values to represent the result of executing a feasibility check according to the options defined in clause 6.5.4.14. It shall comply with the provisions defined in table 6.5.4.15-1. + type: string + enum: + - FEASIBILITY_CHECK_DONE + - FEASIBILITY_CHECK_DONE_WITH_RESERVATION diff --git a/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml b/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml index 1b77d94..17b90bb 100644 --- a/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml +++ b/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml @@ -93,44 +93,48 @@ definitions: affectedVnf: description: > Information about the VNF instances that were affected - during the lifecycle operation. See note. + during the lifecycle operation. See note 1. type: array items: $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVnf" affectedPnf: description: > Information about the PNF instances that were affected - during the lifecycle operation. See note. + during the lifecycle operation. See note 1. type: array items: $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedPnf" affectedVl: description: > Information about the VL instances that were affected - during the lifecycle operation. See note. + during the lifecycle operation. See note 1. type: array items: $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVirtualLink" affectedVnffg: description: > Information about the VNFFG instances that were - affected during the lifecycle operation. See note. + affected during the lifecycle operation. See note 1. type: array items: $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVnffg" affectedNs: description: > Information about the SAP instances that were affected - during the lifecycle operation.See note. + during the lifecycle operation.See note 1. type: array items: $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedNs" affectedSap: description: > - Information about the SAP instances that were affected during the lifecycle operation. See note. + Information about the SAP instances that were affected during the lifecycle operation. See note 1. type: array items: $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedSap" + feasibilityCheckResult: + description: > + Information about the feasibility check result. The attribute shall be provided if the notification is sent to indicate the result of feasibility check. See note 2. + $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/FeasibilityCheckResultType" error: description: > Details of the latest error, if one has occurred during -- GitLab From 26b84435458441e0696aea9e561751655e5a9cc0 Mon Sep 17 00:00:00 2001 From: piscione Date: Wed, 29 Jun 2022 13:59:13 +0200 Subject: [PATCH 05/34] Fix on Dockerfile to make working the jenkins script properly. --- docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 9b3d838..b2bc215 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -12,7 +12,7 @@ RUN apk add asciidoctor RUN apk add openjdk8 RUN apk add ca-certificates wget && update-ca-certificates RUN apk add openssl -RUN gem install rdoc --pre || gem install rdoc --pre +RUN gem install rdoc -v 6.3.3 || gem install rdoc -v 6.3.3 RUN gem install asciidoctor-pdf-cjk RUN wget https://forge.etsi.org/swagger2markup-cli-1.3.2.jar RUN npm config set proxy $http_proxy -- GitLab From b3fbe10d25aca3baad4bb59f3cf99a61965f791a Mon Sep 17 00:00:00 2001 From: piscione Date: Wed, 29 Jun 2022 18:06:10 +0200 Subject: [PATCH 06/34] SOL005_12, SOL005_13, SOL005_67, SOL005_47, SOL005_50, SOL005_48, SOL005_49, SOL005_65, SOL005_14, SOL005_52, SOL005_51, SOL005_15, SOL005_16 SOL005_v040009 --- .../SOL005NSLifecycleManagement_def.yaml | 294 +++++++++++++++++- 1 file changed, 280 insertions(+), 14 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 07ec274..11a4063 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -231,6 +231,16 @@ definitions: description: > Identifier of the NSD on which the NS instance is based. The value is copied from the NSD. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + versionDependency: + description: > + Describes version dependencies currently valid for the nested NS instance. Identifies versions of descriptors of other constituents in the NSD upon which the nested NS depends. The dependencies may be described for the NSD referenced in this NsInfo with nsdId and for NSDs with the same NsdExtInvariantId. + There shall not be more than one versionDependency present with the same dependentConstituentId. + It may be present for the NsInfo of a nested NS. It shall not be present otherwise. + type: array + items: + $ref: "#/definitions/VersionDependency" + + nsdInfoId: description: > Identifier of the NSD information object on which the @@ -1956,15 +1966,42 @@ definitions: description: > This type represents request parameters for the "Instantiate NS" operation. - NOTE 1: The DF of the VNF instance shall match the VNF DF present in the associated VNF Profile. - NOTE 2: The NS DF of each nested NS shall be one of the allowed flavours in the associated - NSD (as referenced in the nestedNsd attribute of the NSD of the NS to be instantiated). - NOTE 3: The NSD of each referenced NSs (i.e. each nestedInstanceId) shall match the one of the - nested NSD in the composite NSD. - NOTE 4: When the NS is deployed over several sites, the VLs of this NS will include VNs - in each site connected over the WAN. In this case, the "wanConnectionData" provides the needed - information required to connect each VN to the WAN. Annex E provides additional information and - guidelines about the usage of the "wanConnectionData" attribute. + NOTE 1: The DF of the VNF instance shall match the VNF DF present in the associated VNF Profile. + The VNFD of the VNF instance shall match the one in the associated VNF Profile if no overridingVnfdId + is provided in the interface as part of vnfInstanceData, or the overridingVnfdId provided in the + interface if it is provided. + NOTE 2: The NS DF of each nested NS shall be one of the allowed flavours in the associated NSD + (as referenced in the nestedNsd attribute of the NSD of the NS to be instantiated). + NOTE 3: The NSD of each referenced NSs (i.e. each nestedInstanceId) shall match the one of the nested + NSD in the composite NSD if no overridingNsdId is provided in the interface as part of NestedNsInstanceData, + or the overridingNsdId provided in the interface if it is provided. + NOTE 4: When the NS is deployed over several sites, the VLs of this NS will include VNs in + each site connected over the WAN. In this case, the "wanConnectionData" provides the needed + information required to connect each VN to the WAN. Annex E provides additional information + and guidelines about the usage of the "wanConnectionData" attribute. + NOTE 5: The target size for NS instantiation may be specified in either nsInstantiationLevelId + or targetNsScaleLevelInfo, but not both. If none of the two parameters (nsInstantiationLevelId or + targetNsScaleLevelInfo) are present, the default NS instantiation level as declared in the NSD shall be used. + NOTE 6: If targetNsScaleLevelInfo is specified, information provided in targetNsScaleLevelInfo shall be used + to calculate the number of instances of the VNFs/nested NSs referred in the NSD. For VNFs or nested NSs that + are not scalable based on targetNsScaleLevelInfo, the default NS instantiation level as declared in the NSD + shall be used to calculate the number of instances those VNFs/nested NSs. + NOTE 7: When "feasibilityCheckReserve" is set to FEASIBILITY_CHECK_ONLY, the "startTime" attribute shall be ignored. + NOTE 8: When feasibilityCheckReserve is set to NO_FEASIBILITY_CHECK, the feasibility checking procedure is not performed. + Resources might be reserved as triggered by means outside the present operation request (e.g., configuration or policies), + e.g. if it is a scheduled NS instantiation operation. See Annex A.2.3 in ETSI GS NFV-IFA 010. + NOTE 9: When feasibilityCheckReserve is set to FEASIBILITY_CHECK_ONLY, only feasibility checking procedure + is performed for the operation, no resources are reserved. + NOTE 10: When feasibilityCheckReserve is set to FEASIBILITY_CHECK_WITH_OPERATION, the feasibility checking + procedure is performed and based on the procedure result, the actual NS instantiation operation is performed + at the time indicated by the "startTime" attribute, if provided. Resources might be reserved as triggered by + means outside the present operation request (e.g., configuration or policies), e.g. if it is a scheduled NS + instantiation operation. See Annex A.2.3 in ETSI GS NFV-IFA 010. + NOTE 11: When feasibilityCheckReserve is set to FEASIBILITY_CHECK_WITH_RESERVATION_AND_OPERATION, the feasibility + checking is performed and based on the procedure result, resources are reserved as part of the feasibility check, + and the actual NS instantiation operation is performed using the resources reserved during the feasibility checking + procedure execution, and at the time indicated by the "startTime" attribute, if provided. + required: - nsFlavourId properties: @@ -2056,14 +2093,25 @@ definitions: description: > Timestamp indicating the earliest time to instantiate the NS. Cardinality "0" indicates the NS instantiation takes place immediately. + If the "Instantiate NS" is a scheduled operation, it shall be possible to + modify the schedule time, whereas it shall not be possible to change any + other operational parameters. + + This attribute can be modified with the PATCH method. + See note 7. $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" nsInstantiationLevelId: description: > - Identifies one of the NS instantiation levels declared in - the DF applicable to this NS instance. If not present, the - default NS instantiation level as declared in the NSD - shall be used. + Identifies one of the NS instantiation levels declared in the DF applicable to this NS instance. See note 5. $ref: "#/definitions/IdentifierInNsd" + targetNsScaleLevelInfo: + description: > + This attribute is applicable for NS target scale level instantiation. + This attribute defines the target NS scale level to which the NS instance is to be instantiated for each NS scaling aspect of the DF applicable to this NS instance. + See notes 5 and 6. + type: array + items: + $ref: "#/definitions/NsScaleInfo" wanConnectionData: description: > Information for connecting VNs to the WAN when VLs are deployed across a WAN. @@ -2080,7 +2128,23 @@ definitions: type: array items: $ref: "#/definitions/AffinityOrAntiAffinityRule" + + feasibilityCheckReserve: + description: > + Specifies the feasibility check and reserve option for the NS instantiation operation. + Default option is NO_FEASIBILITY_CHECK. + If not present, default value applies. + See notes 7, 8, 9, 10 and 11. + $ref: "#/definitions/FeasibilityCheckReserveType" + dataFlowMirroringData: + description: > + Information for the data flow mirroring to be associated to this NS instance. + type: array + items: + $ref: "#/definitions/DataFlowMirroringData" + + ParamsForNestedNs: description: > This type specifies additional parameters on a per-nested NS instance basis. @@ -6589,7 +6653,32 @@ definitions: enum: - FULL - SHORT - + VersionDependency: + description: > + This type represents the information related to all dependencies that an NSD constituent has on the versions of other NSD constituents. It shall comply with the provisions defined in table 6.5.3.112-1. + type: object + required: + - dependentConstituentId + properties: + dependentConstituentId: + description: > + Identifier of the NSD constituent (vnfdId, nsdId or pnfdId) which has version dependencies on other NSD constituents. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInNsd" + versionDependencyStatement: + description: > + Identifies one or multiple versions of an NSD constituents upon which the dependent constituent identified by dependentConstituentId has a dependency. Cardinality 0 is used to remove an existing version dependency in a profile. + type: array + items: + $ref: "#/definitions/VersionDependencyStatement" + VersionDependencyStatement: + description: > + This type represents the information related to one or more VNF, NS or PNF descriptor identifiers which describe one single dependency. When more than one descriptor is indicated, they correspond to different versions of the same VNF, NS or PNF and they represent alternatives to fulfil the dependency. It shall comply with the provisions defined in table 6.5.3.113-1. + type: object + required: + - descriptorId + properties: + descriptorId: + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInNsd" TerminateVnfData: description: > This type represents the information to terminate a VNF that is part of an NS. @@ -6694,3 +6783,180 @@ definitions: enum: - FEASIBILITY_CHECK_DONE - FEASIBILITY_CHECK_DONE_WITH_RESERVATION + + FeasibilityCheckReserveType: + description: > + The enumeration FeasibilityCheckReserveType defines the permitted values to represent the feasibility check and reserve options applicable for the NS LCM operations. It shall comply with the provisions defined in table 6.5.4.14-1. + type: string + enum: + - NO_FEASIBILITY_CHECK + - FEASIBILITY_CHECK_ONLY + - FEASIBILITY_CHECK_WITH_OPERATION + - FEASIBILITY_CHECK_WITH_RESERVATION_AND_OPERATION + + + + DataFlowMirroringData: + description: > + This type represents the information for the data flow mirroring to be associated to this NS instance. + It shall comply with the provisions defined in table 6.5.3.100-1. + type: object + required: + - mirroringId + - mirroringName + - description + - collectorDetails + - dataFlowData + properties: + mirroringId: + description: > + Identifier of this DataFlowMirroringData. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + mirroringName: + description: > + Name of Data Flow Mirroring. + type: string + description: + description: > + Information description of Data Flow Mirroring. + type: string + collectorDetails: + description: > + Information about where the mirrored flow is to be delivered. + $ref: "#/definitions/CollectorDetails" + dataFlowData: + description: > + Information about the data flows to be mirrored. + $ref: "#/definitions/DataFlowData" + + DataFlowData: + description: > + This type represents the information about the data flows to be mirrored. + It shall comply with the provisions defined in table 6.5.3.101-1. + type: object + required: + - DataFlowDetails + properties: + dataFlowInfoId: + description: > + Identifier of the Data flow information in NSD. It may be provided if a corresponding data flow has been declared in the NSD. + A value need not be provided at runtime if the APIconsumer does not intend to refer to a data flow defined in the NSD. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInNsd" + dataFlowDetails: + description: > + Detailed information about the data flows that are requested to be mirrored. + $ref: "#/definitions/DataFlowDetails" + + DataFlowDetails: + description: > + This type represents the detailed information about the data flows that are requested to be mirrored. + It shall comply with the provisions defined in table 6.5.3.102-1. + + NOTE 1: It shall be present when dataFlowInfoId in DataFlowData is not provided. + NOTE 2: Depends on the value of the direction of the data flow to be mirrored, this + attribute defines whether the data flow from the connection point to the target IP address + or the data flow from the target IP address to the connection point or both shall be mirrored. + type: object + properties: + description: + description: > + Information description of the data flow. + type: string + cpdId: + description: > + Identifies the descriptor of an external connection point on a VNF/PNF or a + SAP which acts as the mirroring point of the data flow to be mirrored. See note 1. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInNsd" + direction: + description: > + The direction of the data flow that are requested to be mirrored. See note 1. + $ref: "#/definitions/DirectionType" + targetIpAddress: + description: > + If present, only the data flow to or/and from the target IP address shall be mirrored. See note 2. + $ref: "#/definitions/IpAddress" + + DirectionType: + type: string + description: The enumeration DirectionType represents the direction of the data flow that are requested + to be mirrored. It shall comply with the provisions defined in table 6.5.4.12-1. + enum: + - IN + - OUT + - BOTH + + CollectorDetails: + description: > + TThis type represents the information about where the mirrored flow is to be delivered. + It shall comply with the provisions defined in table 6.5.3.103-1. + type: object + required: + - collectorId + - collectorName + properties: + collectorId: + description: > + Identifier of the collector where the mirrored flow is to be delivered. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + collectorName: + description: > + Name of the collector where the mirrored flow is to be delivered. + type: string + portId: + description: > + Identifier of the collector port managed by VIM where the mirrored flow is to be delivered. + + Note: The collector which is attached to this port can be a virtual machine that uses the mirrored + data for analysis purpose. The collector is not managed by VIM. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVim" + + CreateDataFlowMirroring: + description: > + This type represents the information for the data flow mirroring to be associated to + this NS instance. It shall comply with the provisions defined in table 6.5.3.104-1. + type: object + required: + - dataFlowMirroringData + properties: + dataFlowMirroringData: + description: > + Information for the data flow mirroring to be associated to this NS instance. + $ref: "#/definitions/DataFlowMirroringData" + vnfInstanceId: + description: > + Identifier of the VNF instance from where the data flows are requested to be mirrored. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + cpInstanceId: + description: > + Identifier of the CP instance from where the data flows are requested to be mirrored. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + + UpdateDataFlowMirroring: + description: > + This type represents the information on the data flow mirroring associated to the NS instance + that is being modified. It shall comply with the provisions defined in table 6.5.3.105-1. + + NOTE: Updating Data Flow Mirroring can involve one or more following cases: + 1) updating the name of data flow mirroring, related to “mirroringName”. + 2) updating information description of data flow mirroring, related to “description”. + 3) updating the definition about where the mirrored data flow is requested to be delivered, related to “collectorDetails”. + type: object + required: + - mirroringId + properties: + mirroringId: + description: > + Identifier of the Data Flow Mirroring to be updated. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + mirroringName: + description: > + Name of Data Flow Mirroring. See note. + type: string + description: + description: > + Information description of Data Flow Mirroring. See note. + type: string + collectorDetails: + description: > + New information about the destination where the mirrored flow is to be delivered. See note. + $ref: "#/definitions/CollectorDetails" \ No newline at end of file -- GitLab From 3a6710221127f4d2d42c381607877cfae82241e4 Mon Sep 17 00:00:00 2001 From: piscione Date: Wed, 29 Jun 2022 18:34:24 +0200 Subject: [PATCH 07/34] SOL005_18, SOL005_19, SOL005_20, SOL005_21, SOL005_22, SOL005_58 SOL005_v040009 --- .../SOL005NSLifecycleManagement_def.yaml | 106 ++++++++++++++++++ 1 file changed, 106 insertions(+) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 11a4063..80efad8 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -738,6 +738,18 @@ definitions: description: > Identifier of the PNFD on which the PNF is based. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + versionDependency: + description: > + Describes version dependencies currently valid for the PNF. + Identifies versions of descriptors of other constituents in + the NSD upon which the PNF depends. The dependencies may be + described for the PNFD referenced in this PnfInfo with pnfdId + and for PNFDs with the same PnfdExtInvariantId. + There shall not be more than one versionDependency present with the same dependentConstituentId. + type: array + items: + $ref: "#/definitions/VersionDependency" + pnfdInfoId: description: > Identifier of the PNFD information onject related to this @@ -3345,6 +3357,13 @@ definitions: description: > This type specifies an PNF to be added to the NS instance and the PNF Profile to use for this PNF. It shall comply with the provisions defined in Table 6.5.3.14-1. + + NOTE 1: This attribute allows the use of a PNFD different from the one specified in + the NSD when adding the PNF to the NS, provided they have the same pnfdExtInvariantId. + NOTE 2: A VnfProfile, NsProfile or PnfProfile may contain multiple VersionDependencies + as it may describe the version dependencies of the descriptor referenced in the profile + or of other descriptors with the same external invariant identifier. + type: object required: - pnfId @@ -3355,6 +3374,12 @@ definitions: pnfId: description: > Identifier of the PNF. This identifier is allocated by the OSS/BSS. + If different to the one indicated in the referenced PnfProfile it replaces + it when adding the PNF to an NS. The PNFD referenced by this attribute shall + have the same pnfdExtInvariantId as the one indicated in the PnfProfile. If + the PnfProfile does not contain a pnfdExtInvariantId this attribute shall be ignored. + See note 1. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" pnfName: description: > @@ -3374,6 +3399,50 @@ definitions: type: array items: $ref: "#/definitions/PnfExtCpData" + overridingVersionDependency: + description: > + If present, information in each overridingVersionDependency replaces + the versionDependency in the runtime information that the NFVO keeps + about the VnfProfile, NsProfile or PnfProfile indicated in the + OverridingVersionDependency. + Only the versionDependency in the VnfProfile, NsProfile or PnfProfile + with the same dependentConstituentId as in the overridingVersionDependency + is replaced. See note 2. + If no versionDependency with the dependentConstituentId indicated in + the overridingVersionDependency exists in the VnfProfile, NsProfile + or PnfProfile, the new versionDependency is added to the runtime + information that the NFVO keeps about the profile. + type: array + items: + $ref: "#/definitions/OverridingVersionDependency" + + OverridingVersionDependency: + description: > + This type represents the information to override or add a version + dependency in the runtime information that the NFVO keeps about a + profile of a NSD constituent. It shall comply with the provisions + defined in table 6.5.3.111-1. + + type: object + required: + - profileId + - versionDependency + properties: + profileId: + description: > + Reference to a vnfProfile, nsProfile or pnfProfile where the versionDependency + overrides an existing versionDependency or is added to the existing version + dependencies. + If the referenced profile contains a versionDependency with a dependentConstituent + equal to the one indicated in the versionDependency attribute of this information + element, the versionDependency in this information element overrides the one in the + profile, otherwise it is added to the version dependencies in the profile. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInNsd" + versionDependency: + description: > + Describes version dependencies for a specific NSD constituent. + $ref: "#/definitions/VersionDependency" + PnfExtCpData: description: > @@ -4878,6 +4947,7 @@ definitions: type: string enum: - IP_OVER_ETHERNET + - IP_FOR_VIRTUAL_CP ipOverEthernet: description: > Network address data for IP over Ethernet to @@ -4885,6 +4955,42 @@ definitions: present if layerProtocol is equal to "IP_OVER_ETHERNET", and shall be absent otherwise. $ref: "#/definitions/IpOverEthernetAddressData" + virtualCpAddress: + description: > + IP address data to assign to an external CP instance + exposing a virtual CP. It shall be present if + layerProtocol is equal to “IP_FOR_VIRTUAL_CP” and + the external CP instance exposes a virtual CP and + shall not be present otherwise.. + $ref: "#/definitions/VirtualCpAddressData" + + + VirtualCpAddressData: + description: > + This type represents network address data for a virtual CP. It shall comply with the provisions defined in table 6.5.3.12a-1. + type: object + required: + - type + properties: + type: + description: > + Identifier of layer(s) and protocol(s). + Permitted values: IP_OVER_ETHERNET. + type: string + enum: + - IPV4 + - IPV6 + loadBalancerIp: + description: > + Fixed address to assign to an external load balancer. + + If the container cluster is set up to be able to configure an external + load balancer this address will be used, otherwise it will be ignored by the CISM. + In case the cluster can configure an external load balancer + but no loadBalancerIp is provided the container cluster will assign an IP address. + $ref: "#/definitions/IpAddress" + + IpOverEthernetAddressData: description: > -- GitLab From 14e566e4ee164a8c9885cfb26b9778443dea184a Mon Sep 17 00:00:00 2001 From: piscione Date: Wed, 29 Jun 2022 18:52:11 +0200 Subject: [PATCH 08/34] SOL005_23, SOL005_24 SOL005_v040009 --- .../SOL005NSLifecycleManagement_def.yaml | 95 +++++++++++++++++-- 1 file changed, 85 insertions(+), 10 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 80efad8..6b8e511 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -2321,10 +2321,15 @@ definitions: This type specifies an existing VNF instance to be used in the NS instance and if needed, the VNF Profile to use for this VNF instance. It shall comply with the provisions defined in Table 6.5.3.19-1. + NOTE 1: If the overridingVnfdId attribute is present the vnfProfileId attribute shall also be present. + NOTE 2: This attribute allows to use an existing VNF instance based on a different VNFD to the one specified + in the NSD with vnfProfileId, provided both have the same vnfdExtInvariantId. + NOTE 3: A VnfProfile, NsProfile or PnfProfile may contain multiple VersionDependencies as it may describe the + version dependencies of the descriptor referenced in the profile or of other descriptors with the same external invariant identifier. + NOTE 4: The overridingVersionDependency attribute may only be present if the overrridingVnfdId attribute is present. type: object required: - vnfInstanceId - - vnfProfileId properties: vnfInstanceId: description: > @@ -2332,17 +2337,52 @@ definitions: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" vnfProfileId: description: > - Identifier of (Reference to) a vnfProfile defined in the - NSD which the existing VNF instance shall be matched - with. If not present, the NFVO will select the VnfProfile - matching the information in the VNF instance. + Identifier of (Reference to) a vnfProfile defined in the NSD + which the existing VNF instance shall be matched with. If not + present, the NFVO will select the VnfProfile matching the + information in the VNF instance. See note 1. $ref: "#/definitions/IdentifierInNsd" + overridingVnfdId: + description: > + Reference to a VNFD. + It replaces the vnfdId indicated in the vnfProfileId. + The VNFD referenced by this attribute shall have the same + vnfdExtInvariantId as the one indicated in the VnfProfile. + If the VnfProfile does not contain a vnfdExtInvariantId this + attribute shall be ignored. If the VNFD of the existing VNF + instance referenced by vnfInstanceId does not match the VNFD + indicated by this attribute the VNF instance shall not be + added to the NS instance. See notes 1, 2 and 4. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + overridingVersionDependency: + description: > + If present, information in each overridingVersionDependency replaces + the versionDependency in the runtime information that the NFVO + keeps about the VnfProfile, NsProfile or PnfProfile indicated + in the OverridingVersionDependency. + Only the versionDependency in the VnfProfile, NsProfile or PnfProfile + with the same dependentConstituentId as in the overridingVersionDependency + is replaced. See note 3. + If no versionDependency with the dependentConstituentId indicated in the + overridingVersionDependency exists in the VnfProfile, NsProfile + or PnfProfile, the new versionDependency is added to the runtime + information that the NFVO keeps about the Profile. + See note 4. + $ref: "#/definitions/OverridingVersionDependency" + NestedNsInstanceData: description: > This type specifies an existing nested NS instance to be used in the NS instance and if needed, the NsProfile to use for this nested NS instance. It shall comply with the provisions defined in Table 6.5.3.19a-1. + + NOTE 1: If the overridingNsdId attribute is present the nsProfileId attribute shall also be present. + NOTE 2: This attribute allows to use as nested NS an existing NS instance based on a different NSD to the one + NOTE 3: A VnfProfile, NsProfile or PnfProfile may contain multiple VersionDependencies as it may describe + the version dependencies of the descriptor referenced in the profile or of other descriptors with the same external invariant identifier. + NOTE 4: The overridingVersionDependency attribute may only be present if the overridingNsdId attribute is present. + type: object required: - nestedNsInstanceId @@ -2353,11 +2393,46 @@ definitions: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" nsProfileId: description: > - Identifier of an NsProfile defined in the NSD which the existing - nested NS instance shall be matched with. - If not present, the NFVO will select the NsProfile matching the - information in the nested NS instance. - $ref: "#/definitions/IdentifierInNs" + Identifier of an NsProfile defined in the NSD which the existing nested NS instance shall be matched with. + If not present, the NFVO will select the NsProfile matching the information in the nested NS instance. + See note 1. + + $ref: "#/definitions/IdentifierInNsd" + overridingVnfdId: + description: > + Reference to an NSD. + It replaces the nsdId indicated in the nsProfileId. + The NSD referenced by this attribute shall have the + same nsdExtInvariantId as the one indicated in the + NsProfile. If the NsProfile does not contain an + nsdExtInvariantId this attribute shall be ignored. + If the NSD of the existing NS instance referenced + by nestedNsInstanceId does not match the NSD + indicated by this attribute the NS instance + shall not be added as nested NS to the composite + NS instance. + See notes 1, 2 and 4. + + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + overridingVersionDependency: + description: > + If present, information in each overridingVersionDependency + replaces the versionDependency in the runtime information that + the NFVO keeps about the VnfProfile, NsProfile or PnfProfile + indicated in the OverridingVersionDependency. + Only the versionDependency in the VnfProfile, NsProfile + or PnfProfile with the same dependentConstituentId as in + the overridingVersionDependency is replaced. See note 3. + + If no versionDependency with the dependentConstituentId indicated + in the overridingVersionDependency exists in the VnfProfile, NsProfile + or PnfProfile, the new versionDependency is added to the runtime + information that the NFVO keeps about the profile. + See note 4. + + $ref: "#/definitions/OverridingVersionDependency" + + SapData: description: > -- GitLab From caa09b43594400d3494f8e9cd40f0d93a68ffb3c Mon Sep 17 00:00:00 2001 From: piscione Date: Thu, 30 Jun 2022 10:12:11 +0200 Subject: [PATCH 09/34] SOL005_24, to SOL005_29 and SOL005_115 SOL005_v040009 --- .../SOL005NSLifecycleManagement_def.yaml | 234 ++++++++++++++++-- 1 file changed, 212 insertions(+), 22 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 6b8e511..9323cee 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -2161,6 +2161,15 @@ definitions: description: > This type specifies additional parameters on a per-nested NS instance basis. It shall comply with the provisions defined in Table 6.5.3.21a-1. + + NOTE 1: This attribute allows for a nested NS at instantiation of + the composite NS the use of an NSD different from the one specified in the + NSD of the composite NS with nsProfileId, provided they have the same nsdExtInvariantId. + NOTE 2: A VnfProfile, NsProfile or PnfProfile may contain multiple VersionDependencies + as it may describe the version dependencies of the descriptor referenced in the + profile or of other descriptors with the same external invariant identifier. + NOTE 3: The overridingVersionDependency attribute may only be present if + the overrridingNsdId attribute is present. type: object required: - nsProfileId @@ -2175,12 +2184,46 @@ definitions: type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + overridingNsdId: + description: > + Reference to an NSD. + If present it replaces the nsdId indicated in the referenced NsProfile + at the instantiation of the nested NS. The NSD referenced by this + ttribute shall have the same nsdExtInvariantId as the one indicated + in the NsProfile. If the NsProfile does not contain an nsdExtInvariantId + this attribute shall be ignored. + See notes 1 and 3. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + overridingVersionDependency: + description: > + If present, information in each overridingVersionDependency replaces + the versionDependency in the runtime information that the NFVO + keeps about the VnfProfile, NsProfile or PnfProfile indicated in + the OverridingVersionDependency. + Only the versionDependency in the VnfProfile, NsProfile or PnfProfile + with the same dependentConstituentId as in the overridingVersionDependency + is replaced. See note 2. + If no versionDependency with the dependentConstituentId indicated in + the overridingVersionDependency exists in the VnfProfile, NsProfile + or PnfProfile, the new versionDependency is added to the runtime information + that the NFVO keeps about the profile. + See note 3. + $ref: "#/definitions/OverridingVersionDependency" ParamsForVnf: description: > This type defines the additional parameters for the VNF instance to be created associated with an NS instance. It shall comply with the provisions defined in Table 6.5.3.22-1. + + NOTE 1: This attribute allows at VNF instantiation the use of a VNFD different + from the one specified in the NSD with vnfProfileId provided the two VNFDs refer + to the same vnfdExtInvariantId. + NOTE 2: A VnfProfile, NsProfile or PnfProfile may contain multiple VersionDependencies + as it may describe the version dependencies of the descriptor referenced in the profile + or of other descriptors with the same external invariant identifier. + NOTE 3: The overridingVersionDependency attribute may only be present if the overrridingVnfdId + attribute is present. type: object required: - vnfProfileId @@ -2190,6 +2233,34 @@ definitions: Identifier of (reference to) a vnfProfile to which the additional parameters apply. $ref: "#/definitions/IdentifierInNsd" + + overridingNsdId: + description: > + Reference to a VNFD. + If present it replaces the vnfdId indicated in the referenced + VnfProfile at the VNF instantiation. The VNFD referenced by this + attribute shall have the same vnfdExtInvariantId as the one indicated + in the VnfProfile. If the VnfProfile does not contain a + vnfdExtInvariantId this attribute shall be ignored. + See notes 1 and 3. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + overridingVersionDependency: + description: > + If present, information in each overridingVersionDependency replaces + the versionDependency in the runtime information that the NFVO keeps + about the VnfProfile, NsProfile or PnfProfile indicated in the + OverridingVersionDependency. + Only the versionDependency in the VnfProfile, NsProfile or PnfProfile + with the same dependentConstituentId as in the overridingVersionDependency + is replaced. See note 2. + If no versionDependency with the dependentConstituentId indicated in the + overridingVersionDependency exists in the VnfProfile, NsProfile or PnfProfile, + the new versionDependency is added to the runtime information that the NFVO + keeps about the profile. + See note 3. + $ref: "#/definitions/OverridingVersionDependency" + + vnfInstanceName: description: > Human-readable name of the VNF instance to be created. @@ -2368,7 +2439,9 @@ definitions: or PnfProfile, the new versionDependency is added to the runtime information that the NFVO keeps about the Profile. See note 4. - $ref: "#/definitions/OverridingVersionDependency" + type: array + items: + $ref: "#/definitions/OverridingVersionDependency" NestedNsInstanceData: @@ -2376,7 +2449,7 @@ definitions: This type specifies an existing nested NS instance to be used in the NS instance and if needed, the NsProfile to use for this nested NS instance. It shall comply with the provisions defined in Table 6.5.3.19a-1. - + NOTE 1: If the overridingNsdId attribute is present the nsProfileId attribute shall also be present. NOTE 2: This attribute allows to use as nested NS an existing NS instance based on a different NSD to the one NOTE 3: A VnfProfile, NsProfile or PnfProfile may contain multiple VersionDependencies as it may describe @@ -2429,8 +2502,9 @@ definitions: or PnfProfile, the new versionDependency is added to the runtime information that the NFVO keeps about the profile. See note 4. - - $ref: "#/definitions/OverridingVersionDependency" + type: array + items: + $ref: "#/definitions/OverridingVersionDependency" @@ -2802,16 +2876,29 @@ definitions: update operation, a set of these parameters are then passed by the NFVO to the VNFM. NOTE 1: It is possible to have several ExtManagedVirtualLinkData for the same VNF internal - VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkData - corresponding to the same VNF internal VL shall indicate so by referencing to the same - VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 6.5.3.27). + VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkData + corresponding to the same VNF internal VL shall indicate so by referencing to the same + VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 6.5.3.27). NOTE 2: If vnfdId and vnfFlavourId (and vnfInstantiationLevelId, if provided) are present, - there should be only one vnfProfile that matches the vnfdId and vnfFlavourId (and vnfInstantiationLevelId, - if present) in the NS deployment flavour specified in the NSD associated to the NS instance to which - the present operation is triggered. In the case there is more than one matching vnfProfile, the NFVO - may select a matching vnfProfile based on other information, such as external VL. + there should be only one vnfProfile that matches the vnfdId and vnfFlavourId (and vnfInstantiationLevelId, + if present) in the NS deployment flavour specified in the NSD associated to the NS instance to which + the present operation is triggered. In the case there is more than one matching vnfProfile, the NFVO + may select a matching vnfProfile based on other information, such as external VL. NOTE 3: Either the attribute triple "vnfdId, vnfFlavourId and vnfInstantiationLevelId - (if provided)" or the attribute "vnProfileId" shall be present, but not both. + (if provided)" or the attribute "vnProfileId" shall be present, but not both. + NOTE 4: The target size for VNF instantiation may be specified in either vnfInstantiationLevelId or + targetScaleLevelInfo, but not both. If none of the two attributes (vnfInstantiationLevelId or + targetScaleLevelInfo) are present, the default instantiation level as declared in the VNFD shall be used. + NOTE 5: If targetScaleLevelInfo is specified, information provided in targetScaleLevelInfo shall be used for instantiating + scalable constituents of the VNF (e.g, VDUs/VLs). 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 for instantiation. + NOTE 6: If the overridingVnfdId attribute is present the vnfProfileId attribute shall also be present. + NOTE 7: This attribute allows at VNF instantiation the use of a VNFD different from the one specified + in the NSD with vnfProfileId provided the two VNFDs have the same vnfdExtInvariantId. + NOTE 8: A VnfProfile, NsProfile or PnfProfile may contain multiple VersionDependencies as it may describe the version + dependencies of the descriptor referenced in the profile or of other descriptors with the same external invariant identifier. + NOTE 9: The overridingVersionDependency attribute may only be present if the overridingVnfdId attribute is present. type: object properties: vnfdId: @@ -2836,11 +2923,20 @@ definitions: See note 2 and 3. $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" + targetScaleLevelInfo: + description: > + This attribute is applicable if VNF supports target scale level instantiation. + + 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 4 and 5. + type: array + items: + $ref: "#/definitions/VnfScaleInfo" vnfProfileId: description: > Identifier of (Reference to) a vnfProfile defined in the NSD which is used for instantiating the VNF. - See note 3. + See notes 3 and 6. $ref: "#/definitions/IdentifierInNsd" vnfInstanceName: description: > @@ -2881,8 +2977,11 @@ definitions: $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" additionalParams: description: > - Additional input parameters for the instantiation process, - specific to the VNF being instantiated. + Additional input parameters for the instantiation process, + specific to the VNF being instantiated, as declared in the + VNFD as part of "InstantiateVnfOpConfig" defined in ETSI + GS NFV-IFA 011. + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" metadata: description: > @@ -2910,6 +3009,42 @@ definitions: in a specific geographic location. $ref: "#/definitions/VnfLocationConstraint" + overridingVnfdId: + description: > + Reference to a VNFD. + If present the vnfProfileId shall also be present. + It replaces the vnfdId indicated in the vnfProfileId. + The VNFD referenced by this attribute shall have the same + vnfdExtInvariantId as the one indicated in the VnfProfile. + If the VnfProfile does not contain a vnfdExtInvariantId this + attribute shall be ignored. + See notes 6, 7 and 9. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + overridingVersionDependency: + description: > + If present, information in each overridingVersionDependency + replaces the versionDependency in the runtime information that + the NFVO keeps about the VnfProfile, NsProfile or PnfProfile + indicated in the OverridingVersionDependency. + + Only the versionDependency in the VnfProfile, NsProfile or + PnfProfile with the same dependentConstituentId as in the + overridingVersionDependency is replaced. See note 8. + + If no versionDependency with the dependentConstituentId indicated + in the overridingVersionDependency exists in the VnfProfile, NsProfile + or PnfProfile, the new version Dependency is added to the runtime + information that the NFVO keeps about the profile. + See note 9. + + type: array + items: + $ref: "#/definitions/OverridingVersionDependency" + + + + + ChangeVnfFlavourData: description: > The type represents the information that is requested to be changed @@ -2925,6 +3060,16 @@ definitions: of ExtManagedVirtualLinkData corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 6.5.3.27). + NOTE 3: The target size for VNF instantiation may be specified in either + instantiationLevelId or targetScaleLevelInfo, but not both. If none of the + two attributes (instantiationLevelId or targetScaleLevelInfo) are present, + the default instantiation level as declared in the VNFD shall be used. + NOTE 4: If targetScaleLevelInfo is specified, information provided in + targetScaleLevelInfo shall be used for instantiating scalable constituents + of the VNF (e.g, VDUs/VLs). 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 for instantiation. type: object required: - vnfInstanceId @@ -2941,10 +3086,18 @@ definitions: instantiationLevelId: description: > Identifier of the instantiation level of the deployment - flavor to be instantiated. If not present, the default - instantiation level as declared in the VNFD is - instantiated. - $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" + flavour to be instantiated. + See note 3. + + targetScaleLevelInfo: + description: > + This attribute is applicable if VNF supports target scale level instantiation. + 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 3 and 4. + type: array + items: + $ref: "#/definitions/VnfScaleInfo" extVirtualLinks: description: > Information about external VLs to connect the VNF to. @@ -5184,7 +5337,7 @@ definitions: description: > This type represents an external VL. - NOTE: A link port is not needed for an external CP instance that exposes a VIP CP in the following cases: + NOTE 1: A link port is not needed for an external CP instance that exposes a VIP CP in the following cases: 1. For a VIP CP directly exposed as extCP: 1.1. no dedicated IP address is allocated as VIP address, as indicated in the VNFD 1.2. a dedicated IP address is allocated as VIP address, @@ -5192,7 +5345,8 @@ definitions: 2. For a VIP CP exposed as extCP via a floating IP address: 2.1. no dedicated IP address is allocated as VIP address, as indicated in the VNFD, and the VNFC CP associated to the VIP CP is also exposed via a floating IP address. - + NOTE 2: An example of the network attachment definition resource when the container infrastructure service + is a Kubernetes® instance is a network attachment definition (NAD). type: object required: - resourceId @@ -5234,10 +5388,46 @@ definitions: external connection points to this external VL unless the extCp exposes a VIP CP and a link port is not needed for it based on the conditions defined below. - See note. + See note 1. type: array items: $ref: "#/definitions/ExtLinkPortData" + extNetAttDefResourceData: + description: > + Externally provided network attachment definition resource(s) that + provides the specification of the interface to attach external CPs to + this external VL. See note 2. + + It is only applicable if the external VL is realized by a secondary + container cluster network. It shall not be present otherwise. + type: array + items: + $ref: "#/definitions/NetAttDefResourceData" + + + NetAttDefResourceData: + description: > + This type represents the information related to a network attachment definition + resource that provides the specification of the interface to be used to connect + one or multiple connection points to a secondary container cluster network + realizing a VL. + type: object + required: + - netAttDefResourceId + - resourceHandle + properties: + netAttDefResourceId: + description: > + Identifier of this network attachment definition resource as provided by the entity that has created it. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + resourceHandle: + description: > + Resource handle of the resource identifying the network attachment definition resource that provides + the specification of the interface to attach the connection points to a secondary container cluster network. + $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" + + + ExtManagedVirtualLinkData: description: > -- GitLab From 43893d1185fd59bf9a578ff4f3ff5146b5cbbcc6 Mon Sep 17 00:00:00 2001 From: piscione Date: Thu, 30 Jun 2022 11:34:58 +0200 Subject: [PATCH 10/34] SOL005_30, to SOL005_35 and SOL005_63 SOL005_v040009 --- .../SOL005NSLifecycleManagement_def.yaml | 139 +++++++++++++++--- 1 file changed, 118 insertions(+), 21 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 9323cee..2f3f523 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -3319,6 +3319,15 @@ definitions: referenced by the new NSD version, modifying information of VNF instances to the new applicable VNFD provided in the new NSD version. + + NOTE: The replacement of VNF instances, nested NS instances or PNF instances + by instances whose descriptor is referenced by the new NSD is applicable even if + the instance with a descriptor not referenced from the new NSD has the same + VnfdExtInvariantId, NsdExtInvariantId or PnfdExtInvariantId as the new one, i.e. + the synchronization procedure is based on descriptor identities of NSD constituents, + and does not consider VnfdExtInvariantId, NsdExtInvariantId or PnfdExtInvariantId + values. + A cardinality of 0 indicates that synchronization shall not be done. type: boolean @@ -3499,7 +3508,7 @@ definitions: - IPV6 vlanTag: description: > - Indicates a VLAN identifier in an IEEE 802.1Q-2018 + Indicates a VLAN identifier in an IEEE 802.1Q™-2018 tag Multiple tags can be included for QinQ stacking. See note. type: array items: @@ -4655,7 +4664,7 @@ definitions: 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. - NOTE: Either the instantiationLevelId attribute or the scaleInfo attribute shall be included. + NOTE: Either the vnfInstantiationLevelId attribute or the vnfScaleInfo attribute shall be included. type: object anyOf: - required: @@ -5410,7 +5419,7 @@ definitions: This type represents the information related to a network attachment definition resource that provides the specification of the interface to be used to connect one or multiple connection points to a secondary container cluster network - realizing a VL. + realizing a VL. type: object required: - netAttDefResourceId @@ -5426,13 +5435,16 @@ definitions: the specification of the interface to attach the connection points to a secondary container cluster network. $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" - - - ExtManagedVirtualLinkData: description: > This type represents an externally-managed internal VL. It shall comply with the provisions defined in Table 6.5.3.27-1. + + NOTE 1: It is only applicable if the externally-managed VL is realized by a + secondary container cluster network. It shall not be present otherwise. + NOTE 2: An example of the network attachment definition resource when the + container infrastructure service is a Kubernetes® instance is a network + attachment definition (NAD). type: object required: - vnfVirtualLinkDescId @@ -5474,6 +5486,22 @@ definitions: type: array items: $ref: "#/definitions/VnfLinkPortData" + netAttDefResourceData: + description: > + Externally provided network attachment definition resource(s) that provides the specification of the + interface to attach VNFC connection points to this externally-managed VL. If this attribute is not present, + the NFVO shall create the network attachment definition resource(s) for the externally-managed VL. + See notes 1 and 2. + type: array + items: + $ref: "#/definitions/NetAttDefResourceData" + intCp: + description: > + Internal CPs of the VNF to be connected to this externally-managed VL. See note 1. + This attribute may only be present if the "netAttDefResourceData" is also present. + type: array + items: + $ref: "#/definitions/IntVnfCpData" extManagedMultisiteVirtualLinkId: description: > Identifier of the externally-managed multi-site VL instance. The identifier is assigned by the NFV-MANO entity @@ -5483,6 +5511,33 @@ definitions: on the same virtualLinkDescId shall refer to the same extManagedMultisiteVirtualLinkId. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + IntVnfCpData: + description: > + This type represents the input information related to one or more VNF internal CP instances created based on the same CPD. + type: object + required: + - cpdId + - netAttDefResourceId + properties: + cpdId: + description: > + Identifier of the CPD in the VNFD. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" + netAttDefResourceId: + description: > + Identifier of the "NetAttDefResourceData" structure that provides the + specification of the interface to attach the VNF internal CP created + from the CPD identified by cpdId to a secondary container cluster network. + Cardinality greater than 1 is only applicable for specific cases where + more than one network attachment definition resource is needed to fulfil + the connectivity requirements of the VNF internal CP, e.g. to build a link + redundant mated pair in SR-IOV cases. When more than one "netAttDefResourceId" + is indicated, all shall belong to the same namespace as defined by the corresponding + "netAttDefResourceNamespace" attribute in the "NetAttDefResourceData". + + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnf" + + VnfExtCpData: description: > This type represents configuration information for external CPs created @@ -5558,13 +5613,20 @@ definitions: VnfExtCpConfig: description: > - This type represents an externally provided link port or network address - information per instance of an external connection point. In case a link - port is provided, the VNFM shall use that link port when connecting the - external CP to the external VL. In a link port is not provided, the VNFM - shall create a link port on the external VL, and use that link port to - connect the external CP to the external VL. - NOTE 1: The following conditions apply to the attributes "linkPortId" and "cpProtocolData": + This type represents an externally provided link port, or a network attachment definition + resource of secondary container cluster network, or network address information per + instance of a VNF external connection point. In the case of VM-based deployment of the + VNFC exposing the external CP: In case a link port is provided, the NFVO shall use that + link port when connecting the VNF external CP to the external VL. • In case a link port + is not provided, the NFVO or VNFM shall create a link port on the external VL, and use + that link port to connect the VNF external CP to the external VL. In the case of + container-based deployment of the VNFC exposing the external CP, the NFVO and VNFM + shall use the network attachment definition resource of secondary container cluster + network when connecting the CP to the external VL. + + NOTE 1: The following conditions apply to the attributes "linkPortId" and "cpProtocolData" + for an external CP instance connected or to be connected to a virtual network not + categorized as secondary container cluster network: - At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance representing a subport that is to be created, or an external CP instance that is to be created by creating the corresponding VNFC or VNF instance during the current or @@ -5577,6 +5639,18 @@ definitions: NOTE 2: In case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it. + NOTE 3: The following conditions apply to the attributes “netAttDefResourceId” and “cpProtocolData” + for an external CP instance connected or to be connected to a secondary container cluster network; + The "netAttDefResourceId" and "cpProtocolData" attributes shall both be absent for the deletion of + an existing external CP instance addressed by "cpInstanceId". + At least one of these attributes shall be present for a to-be-created external CP instance or + an existing external CP instance. + NOTE 4: Cardinality greater than 1 is only applicable for specific cases where more than one network + attachment definition resource is needed to fulfil the connectivity requirements of the external CP, + e.g. to build a link redundant mated pair in SR-IOV cases. When more than one "netAttDefResourceId" + is indicated, all shall belong to the same namespace as defined by the corresponding + "netAttDefResourceNamespace" attribute in the "NetAttDefResourceData + NOTE 5: Either "linkPortId" or "netAttDefResourceId" may be included, but not both. type: object anyOf: - required: @@ -5593,7 +5667,7 @@ definitions: linkPortId: description: > Identifier of a pre-configured link port to which the external CP - will be associated. + will be associated. . See notes 1 and 5. See note 1. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" createExtLinkPort: @@ -5608,10 +5682,21 @@ definitions: description: > Parameters for configuring the network protocols on the link port that connects the CP to a VL. - See note 1. + See notes 1 and 3. type: array items: $ref: "#/definitions/CpProtocolData" + netAttDefResourceId: + description: > + Identifier of the "NetAttDefResourceData" structure that provides the specification + of the interface to attach the external CP to a secondary container cluster network. + It is only applicable if the external CP is connected or to be connected to a secondary + container cluster network. It shall not be present if the external CP is related to a + virtual network not categorized as secondary container cluster network. + See notes 3, 4 and 5. + type: array + items: + $ref: "#/definitions/IdentifierInVnf" IdentifierInNs: description: > @@ -5921,12 +6006,10 @@ definitions: current virtualized resource instances. * Changes related to the VNFD, such as correction of bugs in the VNFD, changes in the naming scheme of VNFD components (e.g. name of the VDU, vduId), and adding/removing descriptors of VNF Package changes (VnfPackageChangeInfo). - NOTE: For software updates that are executed by functional entities outside NFV-MANO and that require synchronization - of the information held by the NFV-MANO entities with a new VNF package that reflects the same changes, an - alternative procedure using the PATCH method on the "Individual VNF instance" resource has been defined, as - illustrated in annex B.2 of ETSI GS NFV-IFA 007 [19]. This procedure assumes certain restrictions on the - characteristics of the new VNF package, as defined in note 1 in table 5.5.2.2-1 of ETSI GS NFV-SOL 003. - This type shall comply with the provisions defined in Table 6.5.3.54-1. + + NOTE: A VnfProfile, NsProfile or PnfProfile may contain multiple VersionDependencies as it may describe the version + dependencies of the descriptor referenced in the profile or of other descriptors with the same external invariant + identifier. type: object required: - vnfInstanceId @@ -5972,6 +6055,20 @@ definitions: operation, and needed passed parameter values in case of conflicts, are defined in clause 5.4.11a.3.1 of ETSI GS NFV-SOL 003. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + overridingVersionDependency: + description: > + If present, information in each overridingVersionDependency replaces the versionDependency in the VnfProfile, + NsProfile or PnfProfile indicated in the OverridingVersionDependency. + + Only the versionDependency in the VnfProfile, NsProfile or PnfProfile with the same dependentConstituentId as + in the overridingVersionDependency is replaced. + See note. + If no versionDependency with the dependentConstituentId indicated in the overridingVersionDependency exists + in the VnfProfile, NsProfile or PnfProfile, the new versionDependency is added to the runtime information + that the NFVO keeps about the profile. + type: array + items: + $ref: "#/definitions/OverridingVersionDependency" DeleteVnfSnapshotData: description: > -- GitLab From 8abcbc6a192b2259909af4ba52a7b145aa3b62e0 Mon Sep 17 00:00:00 2001 From: piscione Date: Thu, 30 Jun 2022 18:51:20 +0200 Subject: [PATCH 11/34] SOL005_36 to SOL005_40, SOL005_54 to SOL005_57, SOL005_61 SOL005_v040009 --- .../SOL005NSLifecycleManagement_def.yaml | 305 +++++++++++++++++- 1 file changed, 297 insertions(+), 8 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 2f3f523..0ee349b 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -480,6 +480,17 @@ definitions: description: > Identifies the version of the VNFD. The value is copied from the VNFD. $ref: "../../definitions/SOL005_def.yaml#/definitions/Version" + versionDependency: + description: > + Describes version dependencies currently valid for the VNF instance. Identifies + versions of descriptors of other constituents in the NSD upon which the VNF depends. + The dependencies may be described for the VNFD referenced in this VnfInfo with vnfdId + and for VNFDs with the same VnfdExtInvariantId. + There shall not be more than one versionDependency present with the same + dependentConstituentId. + type: array + items: + $ref: "#/definitions/VersionDependency" vnfPkgId: description: > Identifier of information held by the NFVO about @@ -583,6 +594,14 @@ definitions: type: array items: $ref: "#/definitions/VipCpInfo" + virtualCpInfo: + description: > + virtual CPs that are part of the VNF instance. Shall be present when + a particular virtual CP is associated to an external CP of the VNF + instance. May be present otherwise. + type: array + items: + $ref: "#/definitions/VirtualCpInfo" extVirtualLinkInfo: description: > Information about the external VLs the VNF instance is connected to. @@ -633,6 +652,13 @@ definitions: type: array items: $ref: "#/definitions/VirtualStorageResourceInfo" + mcioInfo: + description: > + Information on the MCIO(s) representing VNFC instance(s) realized by one or a set + of OS containers and created from the same VDU for the VNF instance. + type: array + items: + $ref: "#/definitions/McioInfo" metadata: description: > Additional VNF-specific attributes that provide @@ -665,6 +691,184 @@ definitions: In addition, the provisions in clause 6.7 shall apply. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + + VirtualCpInfo : + type: object + description: 'This type represents the information related to a virtual CP instance of a VNF. + NOTE: A consumer of the VNF LCM interface can learn the actual VNFC instances implementing + the service accessible via the virtual CP instance by querying the "vnfcResourceInfo" from + the "InstantiatedVnfInfo" and filtering by corresponding "vduId" values.' + required: + - cpInstanceId + - cpdId + - resourceHandle + - vduId + properties: + cpInstanceId: + description: > + Identifier of this virtual CP instance. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnf" + cpdId: + description: > + Identifier of the VirtualCpd in the VNFD. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" + resourceHandle: + description: > + Reference to the virtualised resource realizing this virtual CP. + $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" + vnfExtCpId: + description: > + When the virtual CP is exposed as external CP of the VNF, the identifier of this external VNF CP instance. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnf" + cpProtocolInfo: + description: > + Protocol information for this CP. There shall be one cpProtocolInfo for each layer protocol supported. + type: array + items: + $ref: "#/definitions/CpProtocolInfo" + vduId: + description: > + Reference to the VDU(s) which implement the service accessible via the virtual CP instance. See note. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" + additionalServiceInfo: + description: > + Additional service identification information of the virtual CP instance. + type: array + items: + $ref: "#/definitions/AdditionalServiceInfo" + metadata: + description: > + Metadata about this virtual CP instance. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + + + AdditionalServiceInfo: + type: object + required: + - portInfo + description: + 'This type represents the additional service information of the virtual CP instance + used to expose properties of the virtual CP to NFV-MANO. + + NOTE: This attribute shall only be present if additional information is needed + to identify the service termination within the VNF, such as for example a URL path + information in an HTTP request required to allow a single virtual CP IP address to + be used for several HTTP based services that use the same port number.' + properties: + portInfo: + description: > + Service port numbers exposed by the virtual CP instance. + type: array + items: + $ref: "#/definitions/ServicePortInfo" + serviceInfo: + description: > + Service matching information exposed by the virtual CP instance. See note. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + + ServicePortInfo: + type: object + required: + - name + - protocol + - port + - isPortConfigurable + description: + 'This type represents the information related to the service identifying port + properties exposed by the virtual CP instance.' + properties: + name: + description: > + The name of the port exposed by the virtual CP instance. + type: string + protocol: + description: > + The L4 protocol for this port exposed by the virtual CP instance. + Permitted values: + - TCP + - UDP + - SCTP + type: string + enum: + - TCP + - UDP + - SCTP + port: + description: > + The L4 port number exposed by the virtual CP instance. + type: integer + isPortConfigurable: + description: > + Specifies whether the port attribute value is allowed to be configurable. + type: boolean + + McioInfo: + type: object + required: + - mcioId + - mcioName + - mcioNamespace + - vduId + - cismId + - mcioType + - desiredInstances + - availableInstances + description: + 'This type provides information about an MCIO representing the set of VNFC instances realized by one or a set of + OS containers which have been created based on the same VDU. + + NOTE 1 The type of MCIO as specified in the declarative descriptor of the MCIO, and that can be read from the CISM. + EXAMPLE In case of MCIOs managed by Kubernetes, the type of MCIO corresponds to the “kind” property of the declarative descriptor. + NOTE 2 If the attribute additionalInfo is present, it may contain runtime information on the actual and desired state of the MCIO(s). + NOTE 3 When the container infrastructure service is a Kubernetes® instance, the mcioId is the combined values from the kind + and name fields of the Kubernetes® resource object, separated by a slash. Example: "Deployment/abcd". + NOTE 4 When the container infrastructure service is a Kubernetes® instance, the mcioName is the name field of the resource object.' + properties: + mcioId: + description: > + Identifier of this MCIO, created by the CISM. See note 3. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + mcioName: + description: > + Human readable name of this MCIO. See note 4. + type: string + mcioNamespace: + description: > + Namespace of this MCIO. + type: string + vduId: + description: > + Reference to the related VDU in the VNFD applicable to this resource. + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" + cismId: + description: > + Identifier of the CISM managing this MCIO. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + mcioType: + description: > + The type of MCIO. Specific values, their semantics and associated MCIO + types are defined in clause 6.5.4.13. Additional values are also permitted. + See note 1. + type: string + desiredInstances: + description: > + Number of desired MCIO instances. + type: integer + availableInstances: + description: > + Number of available MCIO instances + type: integer + additionalInfo: + description: > + Additional information which is specific to the MCIO, its type, and which is available from the CISM. + See note 2. + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" LccnLinks: type: object required: @@ -975,19 +1179,19 @@ definitions: description: > Identifier of the VNF external CP instance in the scope of the VNF instance. This attribute shall be present if the CP instance is VNF - external CP. See notes 1 and 4. + external CP. See note 1 and note 4. $ref: "#/definitions/IdentifierInVnf" pnfInfoId: description: > Identifier of the PNF instance associated to the CP instance. This attribute shall be present if the CP instance is PNF - external CP. See notes 2 and 4. + external CP. See note 2 and note 4. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" pnfExtCpInstanceId: description: > Identifier of the PNF external CP instance in the scope of the PNF. This attribute shall be present if the CP instance is PNF - external CP. See notes 2 and 4. + external CP. See note 2 and note 4. $ref: "#/definitions/IdentifierInPnf" nsInstanceId: description: > @@ -999,7 +1203,7 @@ definitions: description: > Identifier of the SAP instance in the scope of the NS instance. This attribute shall be present if the CP instance is NS - SAP. See notes 3 and 4. + SAP. See note 3 and note 4. $ref: "#/definitions/IdentifierInNs" SapInfo: @@ -1298,11 +1502,12 @@ definitions: associated to the network address information. Permitted values: - IP_OVER_ETHERNET - + - IP_FOR_VIRTUAL_CP See note. type: string enum: - IP_OVER_ETHERNET + - IP_FOR_VIRTUAL_CP ipOverEthernet: description: > IP addresses over Ethernet to assign to the CP @@ -1310,6 +1515,37 @@ definitions: layerProtocol is equal to " IP_OVER_ETHERNET", and shall be absent otherwise. $ref: "#/definitions/IpOverEthernetAddressInfo" + virtualCpAddress: + description: > + IP address data assigned to an external CP instance + exposing a virtual CP. It shall be present if layerProtocol + is equal to “IP_FOR_VIRTUAL_CP” and the external CP instance + exposes a virtual CP and shall not be present otherwise. + $ref: "#/definitions/VirtualCpAddressInfo" + + VirtualCpAddressInfo: + description: > + This type represents information about a network address that has been assigned to a virtual CP. + type: object + required: + - type + properties: + type: + description: > + The type of the IP addresses. + Permitted values: + - IPV4 + - IPV6 + type: string + enum: + - IPV4 + - IPV6 + loadBalancerIp: + description: Fixed addresses assigned to an external load balancer. + $ref: "#/definitions/IpAddress" + + + IpOverEthernetAddressInfo: description: > @@ -1544,6 +1780,8 @@ definitions: ExtManagedVirtualLinkInfo: type: object + description: > + This type provides information about an externally-managed internal virtual link for VNFs required: - id - vnfVirtualLinkDescId @@ -1575,6 +1813,12 @@ definitions: type: array items: $ref: "#/definitions/VnfLinkPortInfo" + vnfNetAttDefResource: + description: > + Network attachment definition resources that provide the specification of the interface + to attach connection points to this VL.. + $ref: "#/definitions/NetAttDefResourceInfo" + extManagedMultisiteVirtualLinkId: description: > Identifier of the externally-managed multi-site VL instance. The identifier is assigned by the NFV-MANO entity @@ -1584,6 +1828,38 @@ definitions: shall refer to the same extManagedMultisiteVirtualLinkId. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + NetAttDefResourceInfo: + type: object + description: > + This type represents the information related to a network attachment definition resource that provides the specification + of the interface used to connect one or multiple connection points to a secondary container cluster network + required: + - netAttDefResourceInfoId + - netAttDefResource + properties: + netAttDefResourceInfoId: + description: > + Identifier of this network attachment definition resource as provided by the entity that has created it. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + netAttDefResource: + description: > + Resource handle of the resource in the scope of the CISM. + $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" + associatedExtCpId: + description: > + Identifier of the external CP of the VNF associated to this network attachment definition resource. + Shall be present when the network attachment definition resource is used for external connectivity by the VNF + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnf" + associatedVnfcCpId: + description: > + Identifier of the VNFC CP of the VNF associated to this network attachment definition resource. + May be present when the network attachment definition resource is used for internal connectivity by the VNF. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnf" + VnfLinkPortInfo: type: object description: > @@ -1690,6 +1966,10 @@ definitions: is "exposed as" an external CP if it is connected directly to an external VL. NOTE 3: The information can be omitted because it is already available as part of the external CP information. + NOTE 4: Cardinality greater than 1 is only applicable for specific cases where more than one network + attachment definition resource is needed to fulfil the connectivity requirements of the internal CP, + e.g. to build a link redundant mated pair in SR-IOV cases. + NOTE 5: When more than one "netAttDefResourceId" is indicated, all shall belong to the same namespace. type: object required: - id @@ -1712,12 +1992,12 @@ definitions: $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" computeResource: description: > - Reference to the VirtualCompute resource. + Reference to the VirtualCompute resource or reference to a Compute MCIO. $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" storageResourceIds: description: > - References to the VirtualStorage resources. The value refers to a - VirtualStorageResourceInfo item in the VnfInstance. + References to the VirtualStorage resources or references to Storage MCIOs. + The value refers to a VirtualStorageResourceInfo item in the VnfInstance. type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" @@ -1777,6 +2057,15 @@ definitions: structure. Shall be present if the CP is associated to a link port on an internal VL (including externally-managed internal VL) of the VNF instance and shall be absent otherwise. $ref: "#/definitions/IdentifierInVnf" + netAttDefResourceId: + description: > + Identifier of the "NetAttDefResourceInfo" structure that provides the specification of the interface to attach + the connection point to a secondary container cluster network. See notes 4 and 5. + It shall be present if the internal CP is associated to a VNFC realized by one or a set of OS containers and + is connected to a secondary container cluster network. It shall not be present otherwise. + type: array + items: + $ref: "#/definitions/IdentifierInVnf" metadata: description: > Metadata about this CP. -- GitLab From 9c24cbad359f2c614226534aeefd40102095b9c5 Mon Sep 17 00:00:00 2001 From: piscione Date: Fri, 1 Jul 2022 16:52:20 +0200 Subject: [PATCH 12/34] From SOL005_41 to SOL005_46 SOL005_v4009 --- .../SOL005NSLifecycleManagement_def.yaml | 47 +++++++++++++++---- 1 file changed, 39 insertions(+), 8 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 0ee349b..fc36a3b 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -1295,10 +1295,14 @@ definitions: description: > This type represents information about an external CP of a VNF. It shall comply with the provisions defined in Table 6.5.3.70-1. - NOTE 1: The attributes "associatedVnfcCpId", "associatedVipCpId" and + NOTE 1: The attributes attributes "associatedVnfcCpId", "associatedVipCpId", "associatedVirtualCpId" and "associatedVnfVirtualLinkId" are mutually exclusive. Exactly one shall be present. NOTE 2: An external CP instance is not associated to a link port in the cases indicated for the “extLinkPorts” attribute in clause 6.5.3.26. + NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network + attachment definition resource is needed to fulfil the connectivity requirements of the external CP, + e.g. to build a link redundant mated pair in SR-IOV cases. + NOTE 4: When more than one "netAttDefResourceId" is indicated, all shall belong to the same namespace. type: object required: @@ -1343,6 +1347,18 @@ definitions: structure. Shall be present if the CP is associated to a link port. See note 2. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + netAttDefResourceId: + description: > + Identifier of the "NetAttDefResourceInfo" structure that provides the + specification of the interface to attach the connection point to a secondary + container cluster network. See notes 3 and 4. + + It shall be present if the external CP is associated to a VNFC realized + by one or a set of OS containers and is connected to a secondary container + cluster network. It shall not be present otherwise. + type: array + items: + $ref: "#/definitions/IdentifierInVnf" metadata: description: > Metadata about this external CP. @@ -1355,10 +1371,15 @@ definitions: $ref: "#/definitions/IdentifierInVnf" associatedVipCpId: description: > - Identifier of the VIP CP instance that is exposed as this VnfExtCp instance, either - directly or via a floating IP address, and the related "VipCpInfo" structure - in "VnfInstance". Shall be present if the cpdId of this VnfExtCp has a vipCpd - attribute. See note 1. + Identifier of the "VipCpInfo" structure that represents the VIP CP that is exposed by this external CP + instance, either directly or via a floating IP address, and the related "VipCpInfo" structure in "VnfInstance". + Shall be present in case this CP instance maps to a VIP CP. + See note 1. + $ref: "#/definitions/IdentifierInVnf" + associatedVirtualCpId: + description: > + Identifier of the "VirtualCpInfo" structure that represents the virtual CP that is exposed by this external CP + instance. Shall be present in case this CP instance maps to a virtual CP. See note 1. $ref: "#/definitions/IdentifierInVnf" associatedVnfVirtualLinkId: description: > @@ -1415,7 +1436,8 @@ definitions: This type represents describes a pair of ingress and egress CPs or SAPs which the NFP passes by. It shall comply with the provisions defined in Table 6.5.3.72-1. - NOTE 1: The presence of a single vnfExpCpId, pnfExtCpId, or sapId occurrence indicates that the CP or SAP is used both as an ingress and egress port at a particular NFP position. + NOTE 1: The presence of a single vnfExpCpId, pnfExtCpId, or sapId occurrence indicates + that the CP or SAP is used both as an ingress and egress port at a particular NFP position. NOTE 2: Only one of these three attributes shall be present. type: object properties: @@ -1703,6 +1725,7 @@ definitions: ExtVirtualLinkInfo: type: object + description: This type represents information about an VNF external VL. required: - id - resourceHandle @@ -1724,6 +1747,14 @@ definitions: type: array items: $ref: "#/definitions/ExtLinkPortInfo" + extNetAttDefResource: + description: > + Network attachment definition resources that provide the specification + of the interface to attach connection points to this VL. + type: array + items: + $ref: "#/definitions/NetAttDefResourceInfo" + currentVnfExtCpData: description: > Allows the API consumer to read the current CP configuration information @@ -2101,7 +2132,7 @@ definitions: $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" networkResource: description: > - Reference to the VirtualNetwork resource. + Reference to the VirtualNetwork resource or reference to a Network MCIO. $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" reservationId: description: > @@ -2148,7 +2179,7 @@ definitions: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" storageResource: description: > - Reference to the VirtualStorage resource. + Reference to the VirtualStorage resource or reference to a Storage MCIO. $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" reservationId: description: > -- GitLab From 6141104c23b4f80cdbfeee04c8256c9688aad81b Mon Sep 17 00:00:00 2001 From: piscione Date: Fri, 1 Jul 2022 17:45:28 +0200 Subject: [PATCH 13/34] SOL005_64 --- .../SOL005NSLifecycleManagement_def.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index fc36a3b..f99b0cf 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -5046,13 +5046,13 @@ definitions: description: > Value | Description ------|------------ - PROCESSING | The LCM operation is currently in execution. - COMPLETED | The LCM operation has been completed successfully. - PARTIALLY_COMPLETED | The LCM operation has been partially completed with accepTable errors. - FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. - FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action will not succeed. - OLLING_BACK | The LCM operation is currently being rolled back. - ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the NS prior to the original operation invocation has been restored as closely as possible. + PROCESSING | The NS LCM operation is currently in execution. + COMPLETED | The NS LCM operation has been completed successfully. + PARTIALLY_COMPLETED | The NS LCM operation has been partially completed with accepTable errors. + FAILED_TEMP | The NS LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. + FAILED | The NS LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action will not succeed. + OLLING_BACK | The NS LCM operation is currently being rolled back. + ROLLED_BACK | The NS LCM operation has been successfully rolled back, i.e. The state of the NS prior to the original operation invocation has been restored as closely as possible. type: string enum: - PROCESSING -- GitLab From 8b0eb2e86e2025a631b513afb2ad4b67cd7a0d84 Mon Sep 17 00:00:00 2001 From: piscione Date: Tue, 5 Jul 2022 10:37:11 +0200 Subject: [PATCH 14/34] SOL005_70 to SOL005_73, SOL005_75 and SOL005_76 SOL005_v040009 --- src/SOL005/NSFaultManagement/NSFaultManagement.yaml | 2 +- .../definitions/SOL005NSLifecycleManagement_def.yaml | 1 + .../NSPerformanceManagement.yaml | 2 +- .../VNFPackageManagement/VNFPackageManagement.yaml | 10 ++++++++-- .../definitions/SOL005VNFPackageManagement_def.yaml | 9 +++++++++ 5 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml index a9af456..5e2e96f 100644 --- a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml +++ b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 1.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V3.6.1 diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index f99b0cf..4609bbb 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -5042,6 +5042,7 @@ definitions: the scaling process, specific to the VNF instance being scaled. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + NsLcmOperationStateType: description: > Value | Description diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index b36f713..2badb14 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V3.6.1 diff --git a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml index d220354..aa3b655 100644 --- a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V3.6.1 @@ -159,6 +159,12 @@ paths: delete: description: | The DELETE method deletes an individual VNF Package resource. See clause 9.4.3.3.5. + A VNF Package may only be deleted once: + • there are no VNFs using it, + • there are no NSs using it, + • there are no NSDs referencing to it which have a value of "strict NSD constituent onboarding" set to True, and + • the operational state is DISABLED. + NOTE: An NS instance can be using a VNF Package even if no VNF instance is using it if the VNF is part of the selected NS deployment flavour but the current NS scale level determines zero instances for the VNF. responses: "204": $ref: '#/components/responses/IndividualVnfPackage.Delete.204' @@ -743,7 +749,7 @@ components: segments representing the path of the artifact within the VNF package, relative to the root of the package. See note 3. EXAMPLE: foo/bar/m%40ster.sh For an external artifact represented as a URI in the VNF package manifest, this variable shall contain a sequence of one or more path segments as synthesized by the NFVO (see clause 9.5.3.3), - representing this artifact. See note 2 and note 3 + representing this artifact. See note 2 and note 3. required: true style: simple explode: false diff --git a/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml b/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml index 2309271..fbd217e 100644 --- a/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml +++ b/src/SOL005/VNFPackageManagement/definitions/SOL005VNFPackageManagement_def.yaml @@ -30,6 +30,15 @@ definitions: It is copied from the VNFD of the on boarded VNF package. It shall be present after the VNF package content has been on-boarded and absent otherwise. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + vnfdExtInvariantId: + description: > + Identifies a VNFD in a version independent manner. This attribute is invariant + across versions of the VNFD that fulfil certain conditions related to the external + connectivity and management of the VNF. It shall be present after the VNF package + content has been on-boarded if it is included in the VNFD and shall be absent otherwise. + If present it is copied from the VNFD of the on-boarded VNF package. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + vnfProvider: description: > Provider of the VNF package and the VNFD. This information is copied from the VNFD. -- GitLab From 1371b7a4a24557ad434021429adce55dec1b2629 Mon Sep 17 00:00:00 2001 From: piscione Date: Tue, 5 Jul 2022 11:40:25 +0200 Subject: [PATCH 15/34] SOL005_77 to SOL005_80 --- .../NFVICapacityInformation.yaml | 2 +- src/SOL005/NSDManagement/NSDManagement.yaml | 2 +- .../NSLCMCoordination/NSLCMCoordination.yaml | 2 +- .../VNFSnapshotPackageManagement.yaml | 2 +- src/SOL005/definitions/SOL005_def.yaml | 76 +++++++++++++++---- 5 files changed, 67 insertions(+), 17 deletions(-) diff --git a/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml b/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml index a8c0da6..ca2356e 100644 --- a/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml +++ b/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 1.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V3.6.1 diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index 91038d4..aa0867a 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.2.1-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V3.6.1 diff --git a/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml b/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml index 9714854..5b92c87 100644 --- a/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml +++ b/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 1.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V3.6.1 diff --git a/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml b/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml index adfa75e..ee10e65 100644 --- a/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml +++ b/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 1.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 1.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V3.6.1 diff --git a/src/SOL005/definitions/SOL005_def.yaml b/src/SOL005/definitions/SOL005_def.yaml index 0b9b440..ab899ae 100644 --- a/src/SOL005/definitions/SOL005_def.yaml +++ b/src/SOL005/definitions/SOL005_def.yaml @@ -239,8 +239,20 @@ definitions: This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. - NOTE: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM, - the WIM or the resource provider and can be used as information that complements the ResourceHandle. + + NOTE 1: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM, + the CISM, the WIM or the resource provider and can be used as information that complements + the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the + vimLevelResourceType is the type of resource, as would correspond to the ‘kind’ field if the + resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, + NetworkAttachmentDefinition. + NOTE 2: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: + * For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. + * For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the + ‘claimName’ field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is + defined inline in another template instead of in its own manifest. + * For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the + ‘metadata.name’ field in Kubernetes® manifest. type: object required: @@ -248,10 +260,11 @@ definitions: properties: vimId: description: > - Identifier of the VIM or WIM under whose control this resource is placed. - This attribute shall be present if VNF-related resource management - in direct mode is applicable. It shall also be present for resources - that are part of an NS instance such as virtual link resources. + Identifier of the VIM or CISM or WIM under whose control this resource is placed. + This attribute shall be supported when the resource is managed by a CISM. + When the resource is managed by a VIM or WIM, this attribute shall be present + if VNF-related resource management in direct mode is applicable. It shall also + be present for resources that are part of an NS instance such as virtual link resources. $ref: "#/definitions/Identifier" resourceProviderId: description: > @@ -262,16 +275,53 @@ definitions: $ref: "#/definitions/Identifier" resourceId: description: > - Identifier of the resource in the scope of the VIM, the WIM or the resource provider. + Identifier of the resource in the scope of the VIM, the CISM, the WIM or the resource provider. + See note 2. $ref: "#/definitions/IdentifierInVim" vimLevelResourceType: description: > - Type of the resource in the scope of the VIM, the WIM or the resource provider. - The value set of the "vimLevelResourceType" attribute is within the scope - of the VIM, the WIM or the resource provider and can be used as information that - complements the ResourceHandle. - See note. + Additional resource information which is specific to this resource and its type, and which + is available from the VIM or the CISM or the resource provider. + type: string + + vimLevelAdditionalResourceInfo: + description: > + Type of the resource in the scope of the VIM, the CISM, the WIM or the resource provider. + See note 1. + $ref: "#/definitions/AdditionalResourceInfo" + + containerNamespace: + description: > + The value of the namespace in which the MCIO corresponding to the resource is deployed. + This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. + type: string + + AdditionalResourceInfo: + description: > + This type represents additional resource information which resource and resource type specific, and which + is available from the VIM or the CISM or the resource providers. + NOTE: At least one attribute shall be present. + type: object + properties: + hostName: + description: > + Name of the host where the resource is allocated. It shall be present for compute resources in the + scope of the CISM and shall be absent otherwise. See note. + type: string + persistentVolume: + description: > + Name of the persistent volume to which the persistent volume claim representing the storage resource + is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. + See note. type: string + additionalInfo: + description: > + nformation related to other properties directly owned by the resource and available from the VIM or + CISM or WIM or the resource provider. See note. + $ref: "#/definitions/KeyValuePairs" + + + IdentifierInNs: description: > @@ -292,7 +342,7 @@ definitions: IdentifierInVim: description: > - An identifier maintained by the VIM or other resource provider. + An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length. type: string -- GitLab From e2e96c1ece0eae075ac4dc35e5c33154f90e84f6 Mon Sep 17 00:00:00 2001 From: piscione Date: Tue, 5 Jul 2022 12:43:31 +0200 Subject: [PATCH 16/34] SOL005_82, SOL005_85 to SOL005_88, SOL005_91 to SOL005_97 --- src/SOL005/NSDManagement/NSDManagement.yaml | 36 ++++++++++++++++- .../SOL005NSDescriptorManagement_def.yaml | 39 ++++++++++++++----- 2 files changed, 64 insertions(+), 11 deletions(-) diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index aa0867a..28970ea 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -196,6 +196,11 @@ paths: delete: description: | The DELETE method deletes an individual NS descriptor resource. See clause 5.4.3.3.5. + An individual NS descriptor resource can only be deleted when there is no NS instance + using it (i.e. "nsdUsageState" = "NOT_IN_USE"), there is no NSD referring to it which + have a value of "strict NSD constituent onboarding" set to True and has been disabled + already (i.e. "nsdOperationalState" = "DISABLED"). Otherwise, the DELETE method shall + fail. responses: 204: $ref: '#/components/responses/IndividualNSDescriptor.Delete.204' @@ -265,6 +270,21 @@ paths: put: description: | The PUT method is used to upload the content of an NSD archive. See clause 5.4.4.3.3. + Whether all descriptors referenced from the NSD: VNFD, PNFD and NSD for nested NSs + shall be on-boarded before this operation depends on the value of "strict NSD + constituent onboarding" present in the NSD. + The user may use this operation to upload a new NSD version, which can be associated + to an NS instance with the Update NS operation (see clause 6.4.6). Different NSD + versions have the same "nsdInvariantId" attribute, but different "nsdId" attributes + and different NSD information objects. The design of different NSD versions and their + business logic is out of scope of the present document. + After a successful result, the NSD and those referenced descriptors that are already + on-boarded are known to and validated by the NFVO. The associated NSD information + object is updated with the information populated from the validated NSD. The NSD is + onboarded and is in "nsdOperationalState" = "ENABLED" and "nsdUsageState" = "NOT_IN_USE" + states, allowing its use for NS lifecycle management. See the NSD state model in clause + B.1.2. If there are on-boarded NSDs that refer to this NSD as a nested NSD, their + respective NsdInfo records are updated to refer to the on-boarded nested NSD. parameters: - $ref: '#/components/parameters/ContentTypeZip' responses: @@ -598,6 +618,9 @@ paths: delete: description: | The DELETE method deletes an individual PNF descriptor resource. See clause 5.4.6.3.5. + An individual PNF descriptor resource can only be deleted when there is no NS instance + using it or there is NSD referencing it which have a value of "strict NSD constituent + onboarding" set to True. responses: 204: $ref: '#/components/responses/IndividualPnfDescriptor.Delete.200' @@ -667,6 +690,15 @@ paths: put: description: | The PUT method is used to upload the content of a PNFD archive. See clause 5.4.7.3.3. + The user may use this operation to upload a new PNFD version. Different PNFD versions + have the same "pnfdInvariantId" attribute, but different "pnfdId" attributes and different + PNFD information objects. The design of different PNFD versions and their business logic + is out of scope of the present document. + Once on-boarded, the PNFD is known to and validated by the NFVO. The associated PNFD information + object is updated with the information populated from the validated PNFD. If there are on-boarded + NSDs that refer to this PNFD, their respective NsdInfo records are updated to refer to the + on-boarded PNFD. + parameters: - $ref: '#/components/parameters/AcceptText' - $ref: '#/components/parameters/ContentTypeZip' @@ -1319,8 +1351,8 @@ components: 200 OK Shall be returned when the operation has been accepted and completed successfully. - The response body shall contain attribute modifications for an 'Individual NS descriptor' - resource (see clause 5.5.2.1). + The response body shall contain attribute modifications for an "Individual NS + descriptor" resource (see clause 5.5.2.1). headers: Content-Type: description: | diff --git a/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml b/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml index 2cc9132..823f536 100644 --- a/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml +++ b/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml @@ -52,6 +52,9 @@ definitions: NOTE 3: If the value of the nsdOnboardingState attribute is not equal to "ONBOARDED", the value of the nsdUsageState attribute shall be equal to "NOT_IN_USE". NOTE 4: State changes of an NSD are illustrated in clause B.2. + NOTE 5: This attribute shall be present after the NSD is on-boarded for those VNF packages that are already on-boarded. + NOTE 6: This attribute shall be present after the NSD is on-boarded for those PNFDs that are already on-boarded. + NOTE 7: This attribute shall be present after the NSD is on-boarded for those nested NSDs that are already on-boarded. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" nsdId: description: > @@ -60,6 +63,13 @@ definitions: way. It is copied from the NSD content and shall be present after the NSD content is on-boarded. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + nsdExtInvariantId: + description: > + dentifies an NSD in a version independent manner. This attribute is invariant across versions of the NSD that fulfil + certain conditions related to the external connectivity and management of the NS. It shall be present after the NSD + content has been on-boarded if it is included in the NSD and shall be absent otherwise. If present it is copied from + the NSD of the on-boarded content. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" nsdName: type: string description: > @@ -80,15 +90,16 @@ definitions: description: > This identifier, which is allocated by the NSD designer, identifies an NSD in a version independent - manner. This information is copied from the NSD - content and shall be present after the NSD content is + manner. This attribute is invariant across versions of NSD with no constraint + on the changes across versions. This information is copied from the NSD + of the on-boarded content and shall be present after the NSD content is on-boarded. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" vnfPkgIds: description: > Identifies the VNF package for the VNFD referenced by the on-boarded NS descriptor resource. - See note 1. + See notes 1 and 5. type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" @@ -96,7 +107,7 @@ definitions: description: > Identifies the PnfdInfo element for the PNFD referenced by the on-boarded NS descriptor - resource. + resource. See note 6. type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" @@ -105,7 +116,7 @@ definitions: Identifies the NsdInfo element for the nested NSD referenced by the on-boarded NS descriptor resource. - See note 1. + See notes 1 and 6. type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" @@ -232,7 +243,7 @@ definitions: is copied from the PNFD content and shall be present after the PNFD content is on-boarded. type: string - pnfdersion: + pnfdVersion: $ref: "../../definitions/SOL005_def.yaml#/definitions/Version" pnfdProvider: description: > @@ -241,10 +252,20 @@ definitions: type: string pnfdInvariantId: description: > - Identifies a PNFD in a version independent - manner. This attribute is invariant across versions - of PNFD. + Identifies a PNFD in a version independent manner. This attribute is invariant + across versions of PNFD. It is copied from the PNFD content and shall be present + after the PNFD content is on-boarded. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + + pnfdExtInvariantId: + description: > + Identifies a PNFD in a version independent manner. This attribute is invariant + across versions of the PNFD that expose the same external connectivity, i.e. + same number of pnfExtCpds and same identifiers. It shall be present after the PNFD + content has been on-boarded if it is included in the PNFD and shall be absent otherwise. + If present it is copied from the PNFD of the on-boarded content. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + archiveSecurityOption: description: > Signals the security option used by the PNFD archive as defined -- GitLab From 5ff1016877bae16a3e249b56bcfb547193c08ede Mon Sep 17 00:00:00 2001 From: piscione Date: Wed, 6 Jul 2022 09:49:18 +0200 Subject: [PATCH 17/34] SOL005_98 --- src/SOL005/APIVersion/APIVersion.yaml | 4 ++-- .../NFVICapacityInformation/NFVICapacityInformation.yaml | 4 ++-- .../NFVICapacityInformationNotification.yaml | 4 ++-- src/SOL005/NSDManagement/NSDManagement.yaml | 6 +++--- .../NSDManagementNotification.yaml | 4 ++-- src/SOL005/NSFaultManagement/NSFaultManagement.yaml | 4 ++-- .../NSFaultManagementNotification.yaml | 4 ++-- src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml | 4 ++-- src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml | 4 ++-- .../NSLifecycleManagementNotification.yaml | 4 ++-- .../NSPerformanceManagement/NSPerformanceManagement.yaml | 4 ++-- .../NSPerformanceManagementNotification.yaml | 4 ++-- src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml | 4 ++-- .../VNFPackageManagementNotification.yaml | 4 ++-- .../VNFSnapshotPackageManagement.yaml | 4 ++-- 15 files changed, 31 insertions(+), 31 deletions(-) diff --git a/src/SOL005/APIVersion/APIVersion.yaml b/src/SOL005/APIVersion/APIVersion.yaml index 3c27bff..fd090f9 100644 --- a/src/SOL005/APIVersion/APIVersion.yaml +++ b/src/SOL005/APIVersion/APIVersion.yaml @@ -19,8 +19,8 @@ info: version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V3.6.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.06.01_60/gs_nfv-sol005v030601p.pdf + description: ETSI GS NFV-SOL 005 V4.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/04.03.01_60/gs_NFV-SOL005v040301p.pdf servers: - url: http://127.0.0.1/ diff --git a/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml b/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml index ca2356e..2a46adc 100644 --- a/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml +++ b/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml @@ -19,8 +19,8 @@ info: version: 1.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V3.6.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.06.01_60/gs_nfv-sol005v030601p.pdf + description: ETSI GS NFV-SOL 005 V4.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/04.03.01_60/gs_NFV-SOL005v040301p.pdf servers: - url: http://127.0.0.1/nfvici/v1 diff --git a/src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml b/src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml index 38aaad7..d54ea3a 100644 --- a/src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml +++ b/src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml @@ -19,8 +19,8 @@ info: version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V3.6.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.06.01_60/gs_nfv-sol005v030601p.pdf + description: ETSI GS NFV-SOL 005 V4.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/04.03.01_60/gs_NFV-SOL005v040301p.pdf servers: - url: http://127.0.0.1/callback/v1 diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index 28970ea..e527f78 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -19,8 +19,8 @@ info: version: 2.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V3.6.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.06.01_60/gs_nfv-sol005v030601p.pdf + description: ETSI GS NFV-SOL 005 V4.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/04.03.01_60/gs_NFV-SOL005v040301p.pdf servers: - url: http://127.0.0.1/nsd/v2 @@ -698,7 +698,7 @@ paths: object is updated with the information populated from the validated PNFD. If there are on-boarded NSDs that refer to this PNFD, their respective NsdInfo records are updated to refer to the on-boarded PNFD. - + parameters: - $ref: '#/components/parameters/AcceptText' - $ref: '#/components/parameters/ContentTypeZip' diff --git a/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml b/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml index 198a39f..808c3d5 100644 --- a/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml +++ b/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml @@ -19,8 +19,8 @@ info: version: 2.2.1-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V3.6.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.06.01_60/gs_nfv-sol005v030601p.pdf + description: ETSI GS NFV-SOL 005 V4.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/04.03.01_60/gs_NFV-SOL005v040301p.pdf servers: - url: http://127.0.0.1/callback/v2 diff --git a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml index 5e2e96f..dc05976 100644 --- a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml +++ b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml @@ -19,8 +19,8 @@ info: version: 1.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V3.6.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.06.01_60/gs_nfv-sol005v030601p.pdf + description: ETSI GS NFV-SOL 005 V4.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/04.03.01_60/gs_NFV-SOL005v040301p.pdf servers: - url: http://127.0.0.1/nsfm/v1 diff --git a/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml b/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml index 79f8a9b..6d51240 100644 --- a/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml +++ b/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml @@ -19,8 +19,8 @@ info: version: 1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V3.6.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.06.01_60/gs_nfv-sol005v030601p.pdf + description: ETSI GS NFV-SOL 005 V4.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/04.03.01_60/gs_NFV-SOL005v040301p.pdf servers: - url: http://127.0.0.1/callback/v1 diff --git a/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml b/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml index 5b92c87..e34958e 100644 --- a/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml +++ b/src/SOL005/NSLCMCoordination/NSLCMCoordination.yaml @@ -19,8 +19,8 @@ info: version: 1.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V3.6.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.06.01_60/gs_nfv-sol005v030601p.pdf + description: ETSI GS NFV-SOL 005 V4.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/04.03.01_60/gs_NFV-SOL005v040301p.pdf servers: - url: http://127.0.0.1/lcmcoord/v1 diff --git a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index c91590c..e708317 100644 --- a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml +++ b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml @@ -19,8 +19,8 @@ info: version: 2.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V3.6.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.06.01_60/gs_nfv-sol005v030601p.pdf + description: ETSI GS NFV-SOL 005 V4.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/04.03.01_60/gs_NFV-SOL005v040301p.pdf servers: - url: http://127.0.0.1/nslcm/v2 diff --git a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml index cba8174..6f5d101 100644 --- a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml +++ b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml @@ -17,8 +17,8 @@ info: version: 2.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V3.6.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.06.01_60/gs_nfv-sol005v030601p.pdf + description: ETSI GS NFV-SOL 005 V4.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/04.03.01_60/gs_NFV-SOL005v040301p.pdf servers: - url: http://127.0.0.1/callback/v2 diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index 2badb14..28ba568 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -19,8 +19,8 @@ info: version: 2.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V3.6.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.06.01_60/gs_nfv-sol005v030601p.pdf + description: ETSI GS NFV-SOL 005 V4.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/04.03.01_60/gs_NFV-SOL005v040301p.pdf servers: - url: http://127.0.0.1/nspm/v2 diff --git a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml index a7b12b5..db1d553 100644 --- a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml +++ b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml @@ -19,8 +19,8 @@ info: version: 2.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V3.6.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.06.01_60/gs_nfv-sol005v030601p.pdf + description: ETSI GS NFV-SOL 005 V4.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/04.03.01_60/gs_NFV-SOL005v040301p.pdf servers: - url: http://127.0.0.1/callback/v2 diff --git a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml index aa3b655..ec48701 100644 --- a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml @@ -19,8 +19,8 @@ info: version: 2.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V3.6.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.06.01_60/gs_nfv-sol005v030601p.pdf + description: ETSI GS NFV-SOL 005 V4.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/04.03.01_60/gs_NFV-SOL005v040301p.pdf servers: - url: http://127.0.0.1/vnfpkgm/v2 diff --git a/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index 342cae4..d0c0b8a 100644 --- a/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -19,8 +19,8 @@ info: version: 2.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V3.6.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.06.01_60/gs_nfv-sol005v030601p.pdf + description: ETSI GS NFV-SOL 005 V4.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/04.03.01_60/gs_NFV-SOL005v040301p.pdf servers: - url: http://127.0.0.1/callback/v2 diff --git a/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml b/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml index ee10e65..ddf1716 100644 --- a/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml +++ b/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml @@ -19,8 +19,8 @@ info: version: 1.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: - description: ETSI GS NFV-SOL 005 V3.6.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.06.01_60/gs_nfv-sol005v030601p.pdf + description: ETSI GS NFV-SOL 005 V4.3.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/04.03.01_60/gs_NFV-SOL005v040301p.pdf servers: - url: http://127.0.0.1/vnfsnapshotpkgm/v1 -- GitLab From d2bf6f4847c817b0b2a81798d885e292b4e36eb6 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 7 Jul 2022 14:43:15 +0200 Subject: [PATCH 18/34] removed mandatory Version HTTP header in ApiVersion operations to align with SOL013ed431 --- src/SOL005/endpoints/SOL005_endpoints.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/SOL005/endpoints/SOL005_endpoints.yaml b/src/SOL005/endpoints/SOL005_endpoints.yaml index 9678873..7ae8dce 100644 --- a/src/SOL005/endpoints/SOL005_endpoints.yaml +++ b/src/SOL005/endpoints/SOL005_endpoints.yaml @@ -3,8 +3,6 @@ endpoints: api-versions: - parameters: - - $ref: ../components/SOL005_params.yaml#/components/parameters/Version get: description: > The GET method reads API version information. This method shall follow the provisions specified in -- GitLab From 42da675a90130e8fcf6a4b4ce5ab895db1226370 Mon Sep 17 00:00:00 2001 From: piscione Date: Wed, 20 Jul 2022 15:10:38 +0200 Subject: [PATCH 19/34] Addressed comment 1 --- .../SOL005NSLifecycleManagement_def.yaml | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 4609bbb..354f17b 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -2293,6 +2293,7 @@ definitions: - ZONE_GROUP - NFVI_NODE + InstantiateNsRequest: type: object description: > @@ -2336,7 +2337,21 @@ definitions: required: - nsFlavourId + - targetSizeNs properties: + targetSizeNs: + oneOf: + - required: + - nsInstantiationLevelId + - required: + - targetNsScaleLevelInfo + - required: + - defaultInstantiationLevel + + defaultInstantiationLevel: + description: > + Default instantiation level of NSD. See note 5. + $ref: "#/definitions/IdentifierInNsd" nsFlavourId: description: > Identifier of the NS deployment flavor to be instantiated. @@ -3394,7 +3409,22 @@ definitions: required: - vnfInstanceId - newFlavourId + - targetSizeNs properties: + targetSizeNs: + oneOf: + - required: + - instantiationLevelId + - required: + - targetScaleLevelInfo + - required: + - defaultInstantiationLevel + + defaultInstantiationLevel: + description: > + Default instantiation level of VNF. See note 3. + $ref: "#/definitions/IdentifierInNsd" + vnfInstanceId: description: > Identifier of the VNF instance to be modified. -- GitLab From 5ead96e18a430bfa28d5e5dfc731dc063c5f3caf Mon Sep 17 00:00:00 2001 From: piscione Date: Fri, 22 Jul 2022 15:38:42 +0200 Subject: [PATCH 20/34] Resolved some comments. --- .../SOL005NSDescriptorManagement_def.yaml | 2 +- .../SOL005NSLifecycleManagement_def.yaml | 123 ++++++++++++++---- ...NSLifecycleManagementNotification_def.yaml | 25 +++- src/SOL005/definitions/SOL005_def.yaml | 5 +- 4 files changed, 116 insertions(+), 39 deletions(-) diff --git a/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml b/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml index 823f536..bc1016b 100644 --- a/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml +++ b/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml @@ -65,7 +65,7 @@ definitions: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" nsdExtInvariantId: description: > - dentifies an NSD in a version independent manner. This attribute is invariant across versions of the NSD that fulfil + Identifies an NSD in a version independent manner. This attribute is invariant across versions of the NSD that fulfil certain conditions related to the external connectivity and management of the NS. It shall be present after the NSD content has been on-boarded if it is included in the NSD and shall be absent otherwise. If present it is copied from the NSD of the on-boarded content. diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 354f17b..4173057 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -136,7 +136,12 @@ definitions: description: > Timestamp indicating the end time of the NS, i.e. the NS will be terminated automatically at this timestamp. - Cardinality "0" indicates the NS termination takes place immediately + Cardinality "0" indicates the NS termination takes place + immediately".If the "Terminate NS" is a scheduled operation, + it shall be possible to modify the schedule time, whereas + it shall not be possible to change any other operational + parameters. This attribute can be modified with the PATCH method. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" terminateNsData: description: > @@ -197,7 +202,7 @@ definitions: This type represents a response for Query NS operation. It shall comply with the provisions defined in Table 6.5.2.10-1. - NOTE 1: If the "nsState" attribute is INSTANTIATED, at least either one + NOTE 1: Void. "vnfInstance" attribute or one "nestedNsInstanceId" attribute shall be present. NOTE 2: The “priority” attribute of the NS instance is configured in the NSD in the NsDf structure. The mapping from application-specific priority values to a value in the NsDf is under OSS/BSS responsibility. @@ -260,7 +265,6 @@ definitions: vnfInstance: description: > Information on constituent VNF(s) of the NS instance. - See note 1. type: array items: $ref: "#/definitions/VnfInstance" @@ -294,7 +298,6 @@ definitions: nestedNsInstanceId: description: > Identifier of the nested NS(s) of the NS instance. - See note. type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" @@ -2787,6 +2790,7 @@ definitions: NOTE 1: If the overridingNsdId attribute is present the nsProfileId attribute shall also be present. NOTE 2: This attribute allows to use as nested NS an existing NS instance based on a different NSD to the one + specified in the composite NSD with nsProfileId, provided they have the same nsdExtInvariantId. NOTE 3: A VnfProfile, NsProfile or PnfProfile may contain multiple VersionDependencies as it may describe the version dependencies of the descriptor referenced in the profile or of other descriptors with the same external invariant identifier. NOTE 4: The overridingVersionDependency attribute may only be present if the overridingNsdId attribute is present. @@ -2916,6 +2920,11 @@ definitions: Timestamp indicating the scale time of the NS, i.e. the NS will be scaled at this timestamp. Cardinality "0" indicates the NS scaling takes place immediately". + If the "Scale NS" is a scheduled operation, it shall be + possible to modify the schedule time, whereas it shall + not be possible to change any other operational parameters. + This attribute can be modified with the PATCH method. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" UpdateNsRequest: @@ -2929,6 +2938,28 @@ definitions: NOTE 3: The operation might be service-disruptive. NOTE 4: For each of the referred vnfInstanceId in the terminateVnfData, there shall be a corresponding value in the removeVnfInstanceId. + NOTE 5: A change of VNFD version of a constituent VNF where the source and target VNFD versions have the same + vnfdExtInvariantId can also be performed without a change in the NSD by a sequence of two Update NS + operations, the first one of type RemoveVnf, the second one of type AddVnf or of type InstantiateVnf; + or with the Scale NS operation, removing the existing VNF instance and adding a VNF instance with the + target VNFD. + NOTE 6: When feasibilityCheckReserve is set to FEASIBILITY_CHECK_ONLY, the "updateTime" attribute shall be ignored. + NOTE 7: When feasibilityCheckReserve is set to NO_FEASIBILITY_CHECK, the feasibility checking procedure is not + performed. Resources might be reserved as triggered by means outside of the present operation request + (e.g., configuration or policies), e.g. if it is a scheduled Update NS operation. See Annex A.2.3 in + ETSI GS NFV-IFA 010. + NOTE 8: When feasibilityCheckReserve is set to FEASIBILITY_CHECK_ONLY, only feasibility checking procedure is + performed for the operation, no resources are reserved. + NOTE 9: When feasibilityCheckReserve is set to FEASIBILITY_CHECK_WITH_OPERATION, the feasibility checking procedure + is performed and based on the procedure result, the actual Update NS operation is performed at the time + indicated by the "updateTime" attribute, if provided. Resources might be reserved as triggered by means + outside of the present operation request (e.g., configuration or policies), e.g. if it is a scheduled + Update NS operation. See Annex A.2.3 in ETSI GS NFV-IFA 010. + NOTE 10: When feasibilityCheckReserve is set to FEASIBILITY_CHECK_WITH_RESERVATION_AND_OPERATION, the feasibility + checking is performed and based on the procedure result, resources are reserved as part of the feasibility + check, and the actual Update NS operation is performed using the resources reserved during the feasibility + checking procedure execution, and at the time indicated by the "updateTime" attribute, if provided. + type: object required: @@ -2945,7 +2976,7 @@ definitions: * OPERATE_VNF: Changing VNF state, * MODIFY_VNF_INFORMATION: Modifying VNF information and/or the configurable properties of VNF instance(s) * CHANGE_EXTERNAL_VNF_CONNECTIVITY: Changing the external connectivity of VNF instance(s) - * CHANGE_VNFPKG: Changing the VNF package(s) on which (a) VNF instance(s) is/are based + * CHANGE_VNFPKG: Changing the VNF package(s) on which (a) VNF instance(s) is/are based (see note 5) * ADD_SAP: Adding SAP(s) * REMOVE_SAP: Removing SAP(s) * ADD_NESTED_NS: Adding existing NS instance(s) as nested NS(s) @@ -3172,6 +3203,12 @@ definitions: Timestamp indicating the update time of the NS, i.e. the NS will be updated at this timestamp. Cardinality "0" indicates the NS update takes place immediately. + If the "Update NS" is a scheduled operation, it shall be + possible to modify the schedule time, whereas it shall not + be possible to change any other operational parameters. + This attribute can be modified with the PATCH method. + See note 6. + $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" createSnapshotData: description: > @@ -3202,6 +3239,14 @@ definitions: type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + feasibilityCheckReserve: + description: > + Specifies the feasibility check and reserve option for the Update NS operation. + Default option is NO_FEASIBILITY_CHECK. + If not present, default value applies. + See notes 6, 7, 8, 9 and 10. + $ref: "#/definitions/FeasibilityCheckReserveType" + InstantiateVnfData: description: > @@ -3235,7 +3280,19 @@ definitions: dependencies of the descriptor referenced in the profile or of other descriptors with the same external invariant identifier. NOTE 9: The overridingVersionDependency attribute may only be present if the overridingVnfdId attribute is present. type: object + oneOf: + - required: + - vnfInstantiationLevelId + - required: + - targetScaleLevelInfo + - required: + - defaultInstantiationLevel properties: + defaultInstantiationLevel: + description: > + Default instantiation level + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" + vnfdId: description: > Information sufficient to identify the VNFD which defines @@ -3252,11 +3309,8 @@ definitions: vnfInstantiationLevelId: description: > Identifier of the instantiation level of the deployment - flavor to be instantiated. If not present, the default - instantiation level as declared in the VNFD is - instantiated. - - See note 2 and 3. + flavor to be instantiated. + See notes 2, 3 and 4. $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd" targetScaleLevelInfo: description: > @@ -3642,6 +3696,13 @@ definitions: nsdInvariantId of the NSD version that is to be associated to this NS instance is different from the one used before, the NFVO shall reject the request. Only new versions of the same NSD can be associated to an existing NS instance. This data type shall comply with the provisions defined in Table 6.5.3.34-1. + NOTE: The replacement of VNF instances, nested NS instances or PNF instances + by instances whose descriptor is referenced by the new NSD is applicable even if + the instance with a descriptor not referenced from the new NSD has the same + VnfdExtInvariantId, NsdExtInvariantId or PnfdExtInvariantId as the new one, i.e. + the synchronization procedure is based on descriptor identities of NSD constituents, + and does not consider VnfdExtInvariantId, NsdExtInvariantId or PnfdExtInvariantId + values. type: object required: - newNsdId @@ -3668,16 +3729,7 @@ definitions: VNFD is referenced by the old NSD version but not referenced by the new NSD version, modifying information of VNF instances to the new applicable - VNFD provided in the new NSD version. - - NOTE: The replacement of VNF instances, nested NS instances or PNF instances - by instances whose descriptor is referenced by the new NSD is applicable even if - the instance with a descriptor not referenced from the new NSD has the same - VnfdExtInvariantId, NsdExtInvariantId or PnfdExtInvariantId as the new one, i.e. - the synchronization procedure is based on descriptor identities of NSD constituents, - and does not consider VnfdExtInvariantId, NsdExtInvariantId or PnfdExtInvariantId - values. - + VNFD provided in the new NSD version. See note. A cardinality of 0 indicates that synchronization shall not be done. type: boolean @@ -3975,6 +4027,12 @@ definitions: pnfdId: description: > Identifier of the PNFD on which the PNF is based. + If different to the one indicated in the referenced PnfProfile it replaces + it when adding the PNF to an NS. The PNFD referenced by this attribute shall + have the same pnfdExtInvariantId as the one indicated in the PnfProfile. If + the PnfProfile does not contain a pnfdExtInvariantId this attribute shall be + ignored. See note 1 + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" pnfProfileId: description: > @@ -7597,7 +7655,9 @@ definitions: FeasibilityCheckResultType: description: > - The enumeration FeasibilityCheckResultType defines the permitted values to represent the result of executing a feasibility check according to the options defined in clause 6.5.4.14. It shall comply with the provisions defined in table 6.5.4.15-1. + The enumeration FeasibilityCheckResultType defines the permitted values to represent the result of + executing a feasibility check according to the options defined in clause 6.5.4.14. It shall comply + with the provisions defined in table 6.5.4.15-1. type: string enum: - FEASIBILITY_CHECK_DONE @@ -7605,7 +7665,9 @@ definitions: FeasibilityCheckReserveType: description: > - The enumeration FeasibilityCheckReserveType defines the permitted values to represent the feasibility check and reserve options applicable for the NS LCM operations. It shall comply with the provisions defined in table 6.5.4.14-1. + The enumeration FeasibilityCheckReserveType defines the permitted values to represent the feasibility + check and reserve options applicable for the NS LCM operations. It shall comply with the provisions + defined in table 6.5.4.14-1. type: string enum: - NO_FEASIBILITY_CHECK @@ -7646,12 +7708,17 @@ definitions: dataFlowData: description: > Information about the data flows to be mirrored. - $ref: "#/definitions/DataFlowData" + type: array + items: + $ref: "#/definitions/DataFlowData" DataFlowData: description: > This type represents the information about the data flows to be mirrored. It shall comply with the provisions defined in table 6.5.3.101-1. + NOTE: A value need not be provided at runtime if the APIconsumer does not + intend to refer to a data flow defined in the NSD. + type: object required: - DataFlowDetails @@ -7659,7 +7726,7 @@ definitions: dataFlowInfoId: description: > Identifier of the Data flow information in NSD. It may be provided if a corresponding data flow has been declared in the NSD. - A value need not be provided at runtime if the APIconsumer does not intend to refer to a data flow defined in the NSD. + A value need not be provided at runtime if the APIconsumer does not intend to refer to a data flow defined in the NSD. See note. $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInNsd" dataFlowDetails: description: > @@ -7708,6 +7775,8 @@ definitions: description: > TThis type represents the information about where the mirrored flow is to be delivered. It shall comply with the provisions defined in table 6.5.3.103-1. + Note: The collector which is attached to this port can be a virtual machine that uses the mirrored + data for analysis purpose. The collector is not managed by VIM. type: object required: - collectorId @@ -7723,10 +7792,8 @@ definitions: type: string portId: description: > - Identifier of the collector port managed by VIM where the mirrored flow is to be delivered. - - Note: The collector which is attached to this port can be a virtual machine that uses the mirrored - data for analysis purpose. The collector is not managed by VIM. + Identifier of the collector port managed by VIM where the mirrored flow is to be delivered. + See note. $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVim" CreateDataFlowMirroring: diff --git a/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml b/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml index 17b90bb..ee879ce 100644 --- a/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml +++ b/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml @@ -3,6 +3,9 @@ definitions: NsLcmOperationOccurrenceNotification: type: object + description: This type represents an NS lifecycle management operation occurrence notification, + which informs the receiver of changes in the NS lifecycle caused by an NS LCM operation occurrence. + The NS LCM operation occurrence may be triggered by the OSS/BSS or automatically triggered by the NFVO. required: - id - nsInstanceId @@ -22,12 +25,16 @@ definitions: multiple times due to multiple subscriptions, the "id" attribute of all these notifications shall have the same value. - NOTE: Shall be present if the "notificationStatus" is set to "RESULT", - the "verbosity" attribute is set to "FULL" and the operation has performed - any resource modification. Shall be absent otherwise. This attribute contains - information about the cumulative changes to virtualised resources that were - performed so far by the NS LCM operation occurrence and by any of the error + NOTE 1: Shall be present if the "notificationStatus" is set to "RESULT", + the "verbosity" attribute is set to "FULL" and the operation has performed + any resource modification. Shall be absent otherwise. This attribute contains + information about the cumulative changes to virtualised resources that were + performed so far by the NS LCM operation occurrence and by any of the error handling procedures for that operation occurrence. + NOTE 2: In case of failure in feasibility checking, additional information on + the failure shall be reported in the "error" attribute of the + NsLcmOperationOccurrenceNotification structure along with the result. + $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" nsInstanceId: description: > @@ -133,14 +140,15 @@ definitions: $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedSap" feasibilityCheckResult: description: > - Information about the feasibility check result. The attribute shall be provided if the notification is sent to indicate the result of feasibility check. See note 2. + Information about the feasibility check result. The attribute shall be provided if the notification is sent + to indicate the result of feasibility check. See note 2. $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/FeasibilityCheckResultType" error: description: > Details of the latest error, if one has occurred during executing the LCM operation (see clause 6.3 of ETSI GS NFV SOL 013). Shall be present if operationState is "FAILED_TEMP" or - "FAILED", and shall be absent otherwise. + "FAILED", and shall be absent otherwise. See note 2. $ref: "../../definitions/SOL005_def.yaml#/definitions/ProblemDetails" _links: description: > @@ -438,6 +446,9 @@ definitions: NsChangeNotification: type: object + description: This type represents an NS change notification, which informs the receiver of changes on an NS instance + caused by an LCM operation occurrence, which directly or indirectly impacts its NS component and is triggered without + any context of this NS instance. required: - id - nsInstanceId diff --git a/src/SOL005/definitions/SOL005_def.yaml b/src/SOL005/definitions/SOL005_def.yaml index ab899ae..1596347 100644 --- a/src/SOL005/definitions/SOL005_def.yaml +++ b/src/SOL005/definitions/SOL005_def.yaml @@ -281,13 +281,12 @@ definitions: vimLevelResourceType: description: > Additional resource information which is specific to this resource and its type, and which - is available from the VIM or the CISM or the resource provider. + is available from the VIM or the CISM or the resource provider. See note 1. type: string vimLevelAdditionalResourceInfo: description: > - Type of the resource in the scope of the VIM, the CISM, the WIM or the resource provider. - See note 1. + Type of the resource in the scope of the VIM, the CISM, the WIM or the resource provider. $ref: "#/definitions/AdditionalResourceInfo" containerNamespace: -- GitLab From e89f0962e0035bc028533786e486f2d828132053 Mon Sep 17 00:00:00 2001 From: piscione Date: Fri, 22 Jul 2022 17:27:06 +0200 Subject: [PATCH 21/34] Addressed other comments for SOL005. --- src/SOL005/APIVersion/APIVersion.yaml | 2 +- .../NFVICapacityInformation.yaml | 28 +- .../NFVICapacityInformation_def.yaml | 24 +- .../NFVICapacityInformationNotification.yaml | 2 +- src/SOL005/NSDManagement/NSDManagement.yaml | 20 +- .../SOL005NSDescriptorManagement_def.yaml | 34 +- .../NSDManagementNotification.yaml | 2 +- .../NSFaultManagement/NSFaultManagement.yaml | 18 +- .../NSFaultManagementNotification.yaml | 2 +- .../NSLifecycleManagement.yaml | 46 +- .../SOL005NSLifecycleManagement_def.yaml | 575 +++++++++--------- .../NSLifecycleManagementNotification.yaml | 2 +- ...NSLifecycleManagementNotification_def.yaml | 26 +- .../NSPerformanceManagement.yaml | 2 +- .../NSPerformanceManagementNotification.yaml | 2 +- .../VNFPackageManagement.yaml | 20 +- .../VNFPackageManagementNotification.yaml | 2 +- .../VNFSnapshotPackageManagement.yaml | 8 +- src/SOL005/definitions/SOL005_def.yaml | 2 +- 19 files changed, 419 insertions(+), 398 deletions(-) diff --git a/src/SOL005/APIVersion/APIVersion.yaml b/src/SOL005/APIVersion/APIVersion.yaml index fd090f9..bec77fe 100644 --- a/src/SOL005/APIVersion/APIVersion.yaml +++ b/src/SOL005/APIVersion/APIVersion.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 1.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V4.3.1 diff --git a/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml b/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml index 2a46adc..562daab 100644 --- a/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml +++ b/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml @@ -48,12 +48,12 @@ paths: capacity information available by the NFVO is requested. The following attribute names in the NfviCapacityInfo shall be supported by the NFVO in the filter expression: - - resourceZoneId - - vimId - - timeInterval - - resourceType - - capacityMeasurementName - - capacity values: {totalCapacity, allocatedCapacity, reservedCapacity, availableCapacity} + - resourceZoneId + - vimId + - timeInterval + - resourceType + - capacityMeasurementName + - capacity values: {totalCapacity, allocatedCapacity, reservedCapacity, availableCapacity} schema: type: string - $ref: ../components/SOL005_params.yaml#/components/parameters/all_fields @@ -67,9 +67,9 @@ paths: The following attributes shall be excluded from the NfviCapacityInfo structure in the response body if this parameter is provided, or none of the parameters "all_fields", "fields", "exclude_fields", "exclude_default" are provided: - - capacityInfoPerZone - - totalCapacityInfo - - timeInterval + - capacityInfoPerZone + - totalCapacityInfo + - timeInterval schema: type: string - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker @@ -115,11 +115,11 @@ paths: capacity information available by the NFVO is requested. The following attribute names in the NfviCapacityInfo shall be supported by the NFVO in the filter expression: - - resourceZoneId - - timeInterval - - resourceType - - capacityMeasurementName - - capacity values: {totalCapacity, allocatedCapacity, reservedCapacity, availableCapacity} + - resourceZoneId + - timeInterval + - resourceType + - capacityMeasurementName + - capacity values: {totalCapacity, allocatedCapacity, reservedCapacity, availableCapacity} schema: type: string - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept diff --git a/src/SOL005/NFVICapacityInformation/definitions/NFVICapacityInformation_def.yaml b/src/SOL005/NFVICapacityInformation/definitions/NFVICapacityInformation_def.yaml index 0416e51..01e053c 100644 --- a/src/SOL005/NFVICapacityInformation/definitions/NFVICapacityInformation_def.yaml +++ b/src/SOL005/NFVICapacityInformation/definitions/NFVICapacityInformation_def.yaml @@ -37,9 +37,9 @@ components: type: object description: | This type represents a capacity threshold. It shall comply with the provisions defined in table 10.5.2.8-1. - NOTE 1: The "objectInstanceId" aims to identify the "Individual VIM's NFVI capacity information", which is + NOTE 1: The "objectInstanceId" aims to identify the "Individual VIM's NFVI capacity information", which is associated to a VIM instance. - NOTE 2: The "subObjectInstanceIds" aim to identify the resource zones in which the available NFVI capacity + NOTE 2: The "subObjectInstanceIds" aim to identify the resource zones in which the available NFVI capacity crosses a threshold value. required: - id @@ -129,9 +129,9 @@ components: description: | This type represents criteria that define a capacity threshold. It shall comply with the provisions defined in table 10.5.3.3-1. - NOTE 1: In the present document, simple thresholds are defined. + NOTE 1: In the present document, simple thresholds are defined. The definition of additional threshold types is left for future specification. - NOTE 2: The hysteresis is defined to prevent storms of threshold crossing + NOTE 2: The hysteresis is defined to prevent storms of threshold crossing notifications. When processing a request to create a threshold, implementations should enforce a suitable minimum value for this attribute (e.g. override the value or reject the request). @@ -161,10 +161,10 @@ components: description: | The type of capacity for the threshold. Permitted values: - - TOTAL: for total capacity. - - ALLOCATED: for allocated/used capacity. - - RESERVED: for reserved capacity. - - AVAILABLE: for available capacity. + - TOTAL: for total capacity. + - ALLOCATED: for allocated/used capacity. + - RESERVED: for reserved capacity. + - AVAILABLE: for available capacity. type: string enum: - TOTAL @@ -175,7 +175,7 @@ components: description: | Type of capacity threshold. This attribute determines which other attributes are present in the data structure. Permitted values: - - SIMPLE: Single-valued static threshold. + - SIMPLE: Single-valued static threshold. See note 1. type: string enum: @@ -227,7 +227,7 @@ components: type: object description: | This type defines the format of a time interval. The type shall comply with the provisions defined in table 10.5.2.7-1. - NOTE: When only the startTime is present, there is no time interval being defined, and therefore the provided timing + NOTE: When only the startTime is present, there is no time interval being defined, and therefore the provided timing information refers to a specific point in time. required: - aTime @@ -248,7 +248,7 @@ components: description: | This type defines the format of the NFVI capacity information on a per resource type basis. The type shall comply with the provisions defined in table 10.5.2.6-1. - NOTE: The present document and referred documents do not specify the capacity measurements, + NOTE: The present document and referred documents do not specify the capacity measurements, thus the capacity measurement names are not specified in the present document version. required: - resourceType @@ -302,7 +302,7 @@ components: CapacityThresholdModifications: description: | This type represents modifications to a capacity threshold. It shall comply with the provisions defined in table 10.5.2.8-1. - NOTE: At least one of the attributes defined in this type shall be present in request bodies. + NOTE: At least one of the attributes defined in this type shall be present in request bodies. type: object properties: callbackUri: diff --git a/src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml b/src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml index d54ea3a..98dd7af 100644 --- a/src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml +++ b/src/SOL005/NFVICapacityInformationNotification/NFVICapacityInformationNotification.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 1.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V4.3.1 diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index e527f78..a6b157c 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -97,8 +97,8 @@ paths: The following attributes shall be excluded from the NsdInfo structure in the response body if this parameter is provided, or none of the parameters "all_fields", "fields", "exclude_fields", "exclude_default" are provided: - - userDefinedData - - onboardingFailureDetails + - userDefinedData + - onboardingFailureDetails schema: type: string - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker @@ -519,8 +519,8 @@ paths: The following attributes shall be excluded from the PnfdInfo structure in the response body if this parameter is provided, or none of the parameters "all_fields", "fields", "exclude_fields", "exclude_default" are provided: - - userDefinedData - - onboardingFailureDetails + - userDefinedData + - onboardingFailureDetails schema: type: string - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker @@ -1039,8 +1039,8 @@ components: The following attributes shall be excluded from the NsdInfo structure in the response body if this parameter is provided, or none of the parameters "all_fields", "fields", "exclude_fields", "exclude_default" are provided: - - userDefinedData - - onboardingFailureDetails + - userDefinedData + - onboardingFailureDetails required: false schema: type: string @@ -1857,8 +1857,8 @@ components: the manifest file does not have all the security-related information embedded (i.e. there is a separate certificate file), the "Content-Type" HTTP header shall be set to "application/zip" and the payload body shall contain a ZIP archive which includes: - - a copy of the manifest file of the NSD archive; - - a copy of the related individual certificate file. + - a copy of the manifest file of the NSD archive; + - a copy of the related individual certificate file. headers: Content-Type: description: | @@ -2648,8 +2648,8 @@ components: security-related information embedded (i.e. there is a separate certificate file), the "Content-Type" HTTP header shall be set to "application/zip" and the payload body shall contain a ZIP archive which includes: - - a copy of the manifest file of the PNFD archive; - - a copy of the related individual certificate file. + - a copy of the manifest file of the PNFD archive; + - a copy of the related individual certificate file. headers: Content-Type: description: | diff --git a/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml b/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml index bc1016b..b85226f 100644 --- a/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml +++ b/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml @@ -45,16 +45,16 @@ definitions: description: > Identifier of the on boarded individual NS descriptor resource. This identifier is allocated by the NFVO. - NOTE 1: At least one of the attributes - vnfPkgId and nestedNsdInfoId shall be present, + NOTE 1: At least one of the attributes - vnfPkgId and nestedNsdInfoId shall be present, after the NSD is on-boarded. - NOTE 2: If the value of the nsdOnboardingState attribute is not equal to "ONBOARDED", + NOTE 2: If the value of the nsdOnboardingState attribute is not equal to "ONBOARDED", the value of the nsdOperationalState attribute shall be equal to "DISABLED". - NOTE 3: If the value of the nsdOnboardingState attribute is not equal to "ONBOARDED", + NOTE 3: If the value of the nsdOnboardingState attribute is not equal to "ONBOARDED", the value of the nsdUsageState attribute shall be equal to "NOT_IN_USE". - NOTE 4: State changes of an NSD are illustrated in clause B.2. - NOTE 5: This attribute shall be present after the NSD is on-boarded for those VNF packages that are already on-boarded. - NOTE 6: This attribute shall be present after the NSD is on-boarded for those PNFDs that are already on-boarded. - NOTE 7: This attribute shall be present after the NSD is on-boarded for those nested NSDs that are already on-boarded. + NOTE 4: State changes of an NSD are illustrated in clause B.2. + NOTE 5: This attribute shall be present after the NSD is on-boarded for those VNF packages that are already on-boarded. + NOTE 6: This attribute shall be present after the NSD is on-boarded for those PNFDs that are already on-boarded. + NOTE 7: This attribute shall be present after the NSD is on-boarded for those nested NSDs that are already on-boarded. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" nsdId: description: > @@ -398,14 +398,14 @@ definitions: is an array, the attribute shall match if at least one of the values in the array matches (logical "or" between the values of one filter attribute). - NOTE 1: The permitted values of the "notificationTypes" attribute are spelled exactly + NOTE 1: The permitted values of the "notificationTypes" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems. - NOTE 2: The attributes "nsdId" and "nsdInfoId" are alternatives to reference to a + NOTE 2: The attributes "nsdId" and "nsdInfoId" are alternatives to reference to a particular NSD in a filter. They should not be used both in the same filter instance, but one alternative should be chosen. - NOTE 3: The attributes "pnfdId" and "pnfdInfoId" are alternatives to reference to a particular + NOTE 3: The attributes "pnfdId" and "pnfdInfoId" are alternatives to reference to a particular PNFD in a filter. They should not be used both in the same filter instance, but one alternative should be chosen. anyOf: - oneOf: @@ -424,13 +424,13 @@ definitions: Match particular notification types. Permitted values: - - NsdOnBoardingNotification - - NsdOnboardingFailureNotification - - NsdChangeNotification - - NsdDeletionNotification - - PnfdOnBoardingNotification - - PnfdOnBoardingFailureNotification - - PnfdDeletionNotification + - NsdOnBoardingNotification + - NsdOnboardingFailureNotification + - NsdChangeNotification + - NsdDeletionNotification + - PnfdOnBoardingNotification + - PnfdOnBoardingFailureNotification + - PnfdDeletionNotification See note 1. type: array diff --git a/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml b/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml index 808c3d5..1be7a87 100644 --- a/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml +++ b/src/SOL005/NSDManagementNotification/NSDManagementNotification.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.2.1-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V4.3.1 diff --git a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml index dc05976..2e28869 100644 --- a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml +++ b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml @@ -45,15 +45,15 @@ paths: The NFVO shall support receiving this parameter as part of the URI query string. The OSS/BSS may supply this parameter. The following attribute names shall be supported by the NFVO in the filter expression: - - id - - nsInstanceId - - rootCauseFaultyComponent.faultyNestedNsInstanceId - - rootCauseFaultyComponent.faultyNsVirtualLinkInstanceId - - rootCauseFaultyComponent.faultyVnfInstanceId - - rootCauseFaultyResource.faultyResourceType - - eventType - - perceivedSeverity - - probableCause + - id + - nsInstanceId + - rootCauseFaultyComponent.faultyNestedNsInstanceId + - rootCauseFaultyComponent.faultyNsVirtualLinkInstanceId + - rootCauseFaultyComponent.faultyVnfInstanceId + - rootCauseFaultyResource.faultyResourceType + - eventType + - perceivedSeverity + - probableCause schema: type: string - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker diff --git a/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml b/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml index 6d51240..b34accf 100644 --- a/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml +++ b/src/SOL005/NSFaultManagementNotification/NSFaultManagementNotification.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 1.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V4.3.1 diff --git a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index e708317..fca46b4 100644 --- a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml +++ b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml @@ -59,14 +59,14 @@ paths: The following attributes shall be excluded from the NsInstance structure in the response body if this parameter is provided, or none of the parameters "all_fields", "fields", "exclude_fields", "exclude_default" are provided: - - vnfInstances - - pnfInfo - - virtualLinkInfo - - vnffgInfo - - sapInfo - - nsScaleStatus - - additionalAffinityOrAntiAffinityRules - - wanConnectionInfo + - vnfInstances + - pnfInfo + - virtualLinkInfo + - vnffgInfo + - sapInfo + - nsScaleStatus + - additionalAffinityOrAntiAffinityRules + - wanConnectionInfo schema: type: string - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker @@ -419,11 +419,11 @@ paths: See clause 5.3 of ETSI GS NFV-SOL 013 for details. The NFVO shall support this parameter. The following attributes shall be excluded from the NsLcmOpOcc structure in the response body if this parameter is provided: - - operationParams - - changedVnfInfo - - error - - resourceChanges - - lcmCoordinations + - operationParams + - changedVnfInfo + - error + - resourceChanges + - lcmCoordinations - warnings schema: type: string @@ -871,8 +871,8 @@ paths: The following attributes shall be excluded from the VnfSnapshot structure in the response body if this parameter is provided, or none of the parameters "all_fields", "fields", "exclude_fields", "exclude_default" are provided: - - vnfInstance - - vnfcSnapshots + - vnfInstance + - vnfcSnapshots schema: type: string - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker @@ -985,14 +985,14 @@ components: The following attributes shall be excluded from the NsInstance structure in the response body if this parameter is provided, or none of the parameters "all_fields", "fields", "exclude_fields", "exclude_default" are provided: - - vnfInstances - - pnfInfo - - virtualLinkInfo - - vnffgInfo - - sapInfo - - nsScaleStatus - - additionalAffinityOrAntiAffinityRules - - wanConnectionInfo + - vnfInstances + - pnfInfo + - virtualLinkInfo + - vnffgInfo + - sapInfo + - nsScaleStatus + - additionalAffinityOrAntiAffinityRules + - wanConnectionInfo required: false schema: type: string diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 4173057..e9668f9 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -43,7 +43,7 @@ definitions: This type represents the information used to heal a NS. It shall comply with the provisions defined in Table 6.5.3.43-1. - NOTE: Either the actionsHealing or healScript attribute shall be present, not both attributes. + NOTE: Either the actionsHealing or healScript attribute shall be present, not both attributes. type: object required: - degreeHealing @@ -125,9 +125,9 @@ definitions: This type represents a NS termination request. It shall comply with the provisions defined in Table 6.5.2.15-1. - NOTE 1: Information needed for terminating specific VNF instances shall only be + NOTE 1: Information needed for terminating specific VNF instances shall only be specified in the "terminateVnfData" attribute, and not in the "terminateNsData" attribute. - NOTE 2: VNF instance(s) part of this NS instance is(are) terminated as part of Terminate + NOTE 2: VNF instance(s) part of this NS instance is(are) terminated as part of Terminate NS operation only if the instance(s) is(are) not used by any other NS instance. type: object @@ -140,7 +140,7 @@ definitions: immediately".If the "Terminate NS" is a scheduled operation, it shall be possible to modify the schedule time, whereas it shall not be possible to change any other operational - parameters. This attribute can be modified with the PATCH method. + parameters. This attribute can be modified with the PATCH method. $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" terminateNsData: @@ -202,13 +202,13 @@ definitions: This type represents a response for Query NS operation. It shall comply with the provisions defined in Table 6.5.2.10-1. - NOTE 1: Void. + NOTE 1: Void. "vnfInstance" attribute or one "nestedNsInstanceId" attribute shall be present. - NOTE 2: The “priority” attribute of the NS instance is configured in the NSD in the NsDf structure. + NOTE 2: The “priority” attribute of the NS instance is configured in the NSD in the NsDf structure. The mapping from application-specific priority values to a value in the NsDf is under OSS/BSS responsibility. The "zero" value expresses the highest priority and the fact that the NS instance based on this DF cannot be pre-empted during resource allocation. - NOTE 3: Examples for the usage of priority include conflict resolution in case of resource shortage + NOTE 3: Examples for the usage of priority include conflict resolution in case of resource shortage type: object required: @@ -695,12 +695,12 @@ definitions: $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" - VirtualCpInfo : - type: object + VirtualCpInfo: description: 'This type represents the information related to a virtual CP instance of a VNF. - NOTE: A consumer of the VNF LCM interface can learn the actual VNFC instances implementing + NOTE: A consumer of the VNF LCM interface can learn the actual VNFC instances implementing the service accessible via the virtual CP instance by querying the "vnfcResourceInfo" from the "InstantiatedVnfInfo" and filtering by corresponding "vduId" values.' + type: object required: - cpInstanceId - cpdId @@ -750,17 +750,17 @@ definitions: AdditionalServiceInfo: - type: object - required: - - portInfo description: 'This type represents the additional service information of the virtual CP instance used to expose properties of the virtual CP to NFV-MANO. - NOTE: This attribute shall only be present if additional information is needed + NOTE: This attribute shall only be present if additional information is needed to identify the service termination within the VNF, such as for example a URL path information in an HTTP request required to allow a single virtual CP IP address to be used for several HTTP based services that use the same port number.' + type: object + required: + - portInfo properties: portInfo: description: > @@ -776,15 +776,16 @@ definitions: $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" ServicePortInfo: + description: + 'This type represents the information related to the service identifying port + properties exposed by the virtual CP instance.' type: object required: - name - protocol - port - isPortConfigurable - description: - 'This type represents the information related to the service identifying port - properties exposed by the virtual CP instance.' + properties: name: description: > @@ -794,14 +795,14 @@ definitions: description: > The L4 protocol for this port exposed by the virtual CP instance. Permitted values: - - TCP - - UDP - - SCTP + - TCP + - UDP + - SCTP type: string enum: - - TCP - - UDP - - SCTP + - TCP + - UDP + - SCTP port: description: > The L4 port number exposed by the virtual CP instance. @@ -826,12 +827,12 @@ definitions: 'This type provides information about an MCIO representing the set of VNFC instances realized by one or a set of OS containers which have been created based on the same VDU. - NOTE 1 The type of MCIO as specified in the declarative descriptor of the MCIO, and that can be read from the CISM. + NOTE 1 The type of MCIO as specified in the declarative descriptor of the MCIO, and that can be read from the CISM. EXAMPLE In case of MCIOs managed by Kubernetes, the type of MCIO corresponds to the “kind” property of the declarative descriptor. - NOTE 2 If the attribute additionalInfo is present, it may contain runtime information on the actual and desired state of the MCIO(s). - NOTE 3 When the container infrastructure service is a Kubernetes® instance, the mcioId is the combined values from the kind + NOTE 2 If the attribute additionalInfo is present, it may contain runtime information on the actual and desired state of the MCIO(s). + NOTE 3 When the container infrastructure service is a Kubernetes® instance, the mcioId is the combined values from the kind and name fields of the Kubernetes® resource object, separated by a slash. Example: "Deployment/abcd". - NOTE 4 When the container infrastructure service is a Kubernetes® instance, the mcioName is the name field of the resource object.' + NOTE 4 When the container infrastructure service is a Kubernetes® instance, the mcioName is the name field of the resource object.' properties: mcioId: description: > @@ -1003,7 +1004,7 @@ definitions: This type specifies the information about an NS VL instance. It shall comply with the provisions defined in Table 6.5.3.53-1. - NOTE: As an NS can include NFs deployed in NFVI PoPs under the control + NOTE: As an NS can include NFs deployed in NFVI PoPs under the control of several different VIMs, therefore deploying an NS VL can involve several VIMs, each allocating different virtualised network resources, as well as WIMs handling the connectivity in between the NFVI-PoPs in @@ -1049,7 +1050,7 @@ definitions: VnffgInfo: description: > Information on the VNFFG(s) of the NS instance. - NOTE: It indicates an exhaustive list of all the + NOTE: It indicates an exhaustive list of all the CP instances and SAP instances of the VNFFG. type: object required: @@ -1097,7 +1098,7 @@ definitions: description: > This type represents an NFP instance. It shall comply with the provisions defined in Table 6.5.3.66-1. - NOTE: When multiple identifiers are included, the position + NOTE: When multiple identifiers are included, the position of the identifier in the CpGroup data type specifies the position of the group in the path. type: object @@ -1156,10 +1157,10 @@ definitions: This type represents an identifier of the CP or SAP instance. It shall comply with the provisions defined in Table 6.5.3.56-1. - NOTE 1: For the VNF external CP instance, both vnfInstanceId and vnfExtCpInstanceId shall be present as a pair. - NOTE 2: For the PNF external CP instance, both pnfInfoId and PnfExtCpInstanceId shall be present as a pair. - NOTE 3: For the SAP instance, both nsInstanceId and nsSapInstanceId shall be present as a pair. - NOTE 4: One pair of identifiers (VNF external CP, PNF external CP or SAP) shall be present. + NOTE 1: For the VNF external CP instance, both vnfInstanceId and vnfExtCpInstanceId shall be present as a pair. + NOTE 2: For the PNF external CP instance, both pnfInfoId and PnfExtCpInstanceId shall be present as a pair. + NOTE 3: For the SAP instance, both nsInstanceId and nsSapInstanceId shall be present as a pair. + NOTE 4: One pair of identifiers (VNF external CP, PNF external CP or SAP) shall be present. type: object oneOf: - required: @@ -1298,11 +1299,11 @@ definitions: description: > This type represents information about an external CP of a VNF. It shall comply with the provisions defined in Table 6.5.3.70-1. - NOTE 1: The attributes attributes "associatedVnfcCpId", "associatedVipCpId", "associatedVirtualCpId" and + NOTE 1: The attributes attributes "associatedVnfcCpId", "associatedVipCpId", "associatedVirtualCpId" and "associatedVnfVirtualLinkId" are mutually exclusive. Exactly one shall be present. - NOTE 2: An external CP instance is not associated to a link + NOTE 2: An external CP instance is not associated to a link port in the cases indicated for the “extLinkPorts” attribute in clause 6.5.3.26. - NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network + NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link redundant mated pair in SR-IOV cases. NOTE 4: When more than one "netAttDefResourceId" is indicated, all shall belong to the same namespace. @@ -1311,9 +1312,14 @@ definitions: required: - id - cpdId + - cpProtocolInfo oneOf: - required: - associatedVnfcCpId + - required: + - associatedVipCpId + - required: + - associatedVirtualCpId - required: - associatedVnfVirtualLinkId properties: @@ -1398,7 +1404,7 @@ definitions: This type represents describes a group of CPs and/or SAPs pairs associated to the same position in an NFP. It shall comply with the provisions defined in Table 6.5.3.71-1. - NOTE: All CP or SAP pairs in a group shall be instantiated from connection + NOTE: All CP or SAP pairs in a group shall be instantiated from connection point descriptors or service access point descriptors referenced in the corresponding NfpPositionDesc. type: object @@ -1439,9 +1445,9 @@ definitions: This type represents describes a pair of ingress and egress CPs or SAPs which the NFP passes by. It shall comply with the provisions defined in Table 6.5.3.72-1. - NOTE 1: The presence of a single vnfExpCpId, pnfExtCpId, or sapId occurrence indicates + NOTE 1: The presence of a single vnfExpCpId, pnfExtCpId, or sapId occurrence indicates that the CP or SAP is used both as an ingress and egress port at a particular NFP position. - NOTE 2: Only one of these three attributes shall be present. + NOTE 2: Only one of these three attributes shall be present. type: object properties: vnfExtCpIds: @@ -1476,8 +1482,8 @@ definitions: description: > This type represents provides input parameters to configure the forwarding behaviour. It shall comply with the provisions defined in Table 6.5.3.73-1. - NOTE 1: If applicable to the algorithm but not provided, default values determined by the VIM or NFVI are expected to be used. - NOTE 2: Weight applies to the CP instances in the order they have been created. + NOTE 1: If applicable to the algorithm but not provided, default values determined by the VIM or NFVI are expected to be used. + NOTE 2: Weight applies to the CP instances in the order they have been created. type: object properties: algortihmName: @@ -1513,7 +1519,7 @@ definitions: description: > This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. - NOTE: This attribute allows to signal the addition of further types of layer and + NOTE: This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported. type: object @@ -1527,12 +1533,12 @@ definitions: associated to the network address information. Permitted values: - IP_OVER_ETHERNET - - IP_FOR_VIRTUAL_CP + - IP_FOR_VIRTUAL_CP See note. type: string enum: - IP_OVER_ETHERNET - - IP_FOR_VIRTUAL_CP + - IP_FOR_VIRTUAL_CP ipOverEthernet: description: > IP addresses over Ethernet to assign to the CP @@ -1559,8 +1565,8 @@ definitions: description: > The type of the IP addresses. Permitted values: - - IPV4 - - IPV6 + - IPV4 + - IPV6 type: string enum: - IPV4 @@ -1576,10 +1582,10 @@ definitions: description: > This type represents information about a network address that has been assigned. - NOTE 1: At least one of "macAddress" or "ipAddresses" shall be present. - NOTE 2: Exactly one of "addresses" or "addressRange" shall be present. - NOTE 3: If the Cp instance represents a subport in a trunk, "segmentationId" shall be present. Otherwise it shall not be present. - NOTE 4: Depending on the NFVI networking infrastructure, the "segmentationId" may indicate the actual network segment value + NOTE 1: At least one of "macAddress" or "ipAddresses" shall be present. + NOTE 2: Exactly one of "addresses" or "addressRange" shall be present. + NOTE 3: If the Cp instance represents a subport in a trunk, "segmentationId" shall be present. Otherwise it shall not be present. + NOTE 4: Depending on the NFVI networking infrastructure, the "segmentationId" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local @@ -1727,11 +1733,12 @@ definitions: $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVim" ExtVirtualLinkInfo: - type: object description: This type represents information about an VNF external VL. + type: object required: - id - resourceHandle + - currentVnfExtCpData properties: id: description: > @@ -1769,9 +1776,9 @@ definitions: description: > This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. - NOTE 1: The use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 + NOTE 1: The use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. - NOTE 2: The value of "trunkResourceId" is scoped by the value of + NOTE 2: The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute. type: object required: @@ -1813,12 +1820,14 @@ definitions: $ref: "#/definitions/IdentifierInVim" ExtManagedVirtualLinkInfo: - type: object description: > This type provides information about an externally-managed internal virtual link for VNFs + type: object + required: - id - vnfVirtualLinkDescId + - networkResource properties: id: description: > @@ -1840,7 +1849,9 @@ definitions: networkResource: description: > Reference to the VirtualNetwork resource or multi-site connectivity service providing this VL. - $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle" vnfLinkPorts: description: > Link ports of this VL. @@ -1850,7 +1861,7 @@ definitions: vnfNetAttDefResource: description: > Network attachment definition resources that provide the specification of the interface - to attach connection points to this VL.. + to attach connection points to this VL. $ref: "#/definitions/NetAttDefResourceInfo" extManagedMultisiteVirtualLinkId: @@ -1863,10 +1874,11 @@ definitions: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" NetAttDefResourceInfo: - type: object description: > This type represents the information related to a network attachment definition resource that provides the specification of the interface used to connect one or multiple connection points to a secondary container cluster network + type: object + required: - netAttDefResourceInfoId - netAttDefResource @@ -1900,7 +1912,7 @@ definitions: This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1. - NOTE 1: Either cpInstanceId with cpInstanceType set to "EXT_CP" or any combination of cpInstanceId with + NOTE 1: Either cpInstanceId with cpInstanceType set to "EXT_CP" or any combination of cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId are present, the two different CP instances share the linkport. @@ -1994,13 +2006,13 @@ definitions: description: > This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. - NOTE 1: ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. - NOTE 2: A VNFC CP is "connected to" an external CP if the VNFC CP + NOTE 1: ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. + NOTE 2: A VNFC CP is "connected to" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is "exposed as" an external CP if it is connected directly to an external VL. - NOTE 3: The information can be omitted because it is already available + NOTE 3: The information can be omitted because it is already available as part of the external CP information. - NOTE 4: Cardinality greater than 1 is only applicable for specific cases where more than one network + NOTE 4: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment definition resource is needed to fulfil the connectivity requirements of the internal CP, e.g. to build a link redundant mated pair in SR-IOV cases. NOTE 5: When more than one "netAttDefResourceId" is indicated, all shall belong to the same namespace. @@ -2198,7 +2210,7 @@ definitions: description: > This type represents information about a link port of a VL instance. It shall comply with the provisions defined in Table 6.5.3.55-1. - NOTE: When the NsVirtualLink, from which the present NsLinkPort is part of, + NOTE: When the NsVirtualLink, from which the present NsLinkPort is part of, is provided as an ExtVirtualLink as input of a VNF LCM operation, the id of the ExtLinkPort shall be the same as the corresponding NsLinkPort. type: object @@ -2302,16 +2314,16 @@ definitions: description: > This type represents request parameters for the "Instantiate NS" operation. - NOTE 1: The DF of the VNF instance shall match the VNF DF present in the associated VNF Profile. + NOTE 1: The DF of the VNF instance shall match the VNF DF present in the associated VNF Profile. The VNFD of the VNF instance shall match the one in the associated VNF Profile if no overridingVnfdId is provided in the interface as part of vnfInstanceData, or the overridingVnfdId provided in the interface if it is provided. - NOTE 2: The NS DF of each nested NS shall be one of the allowed flavours in the associated NSD + NOTE 2: The NS DF of each nested NS shall be one of the allowed flavours in the associated NSD (as referenced in the nestedNsd attribute of the NSD of the NS to be instantiated). - NOTE 3: The NSD of each referenced NSs (i.e. each nestedInstanceId) shall match the one of the nested + NOTE 3: The NSD of each referenced NSs (i.e. each nestedInstanceId) shall match the one of the nested NSD in the composite NSD if no overridingNsdId is provided in the interface as part of NestedNsInstanceData, or the overridingNsdId provided in the interface if it is provided. - NOTE 4: When the NS is deployed over several sites, the VLs of this NS will include VNs in + NOTE 4: When the NS is deployed over several sites, the VLs of this NS will include VNs in each site connected over the WAN. In this case, the "wanConnectionData" provides the needed information required to connect each VN to the WAN. Annex E provides additional information and guidelines about the usage of the "wanConnectionData" attribute. @@ -2322,18 +2334,18 @@ definitions: to calculate the number of instances of the VNFs/nested NSs referred in the NSD. For VNFs or nested NSs that are not scalable based on targetNsScaleLevelInfo, the default NS instantiation level as declared in the NSD shall be used to calculate the number of instances those VNFs/nested NSs. - NOTE 7: When "feasibilityCheckReserve" is set to FEASIBILITY_CHECK_ONLY, the "startTime" attribute shall be ignored. - NOTE 8: When feasibilityCheckReserve is set to NO_FEASIBILITY_CHECK, the feasibility checking procedure is not performed. + NOTE 7: When "feasibilityCheckReserve" is set to FEASIBILITY_CHECK_ONLY, the "startTime" attribute shall be ignored. + NOTE 8: When feasibilityCheckReserve is set to NO_FEASIBILITY_CHECK, the feasibility checking procedure is not performed. Resources might be reserved as triggered by means outside the present operation request (e.g., configuration or policies), e.g. if it is a scheduled NS instantiation operation. See Annex A.2.3 in ETSI GS NFV-IFA 010. - NOTE 9: When feasibilityCheckReserve is set to FEASIBILITY_CHECK_ONLY, only feasibility checking procedure + NOTE 9: When feasibilityCheckReserve is set to FEASIBILITY_CHECK_ONLY, only feasibility checking procedure is performed for the operation, no resources are reserved. - NOTE 10: When feasibilityCheckReserve is set to FEASIBILITY_CHECK_WITH_OPERATION, the feasibility checking + NOTE 10: When feasibilityCheckReserve is set to FEASIBILITY_CHECK_WITH_OPERATION, the feasibility checking procedure is performed and based on the procedure result, the actual NS instantiation operation is performed at the time indicated by the "startTime" attribute, if provided. Resources might be reserved as triggered by means outside the present operation request (e.g., configuration or policies), e.g. if it is a scheduled NS instantiation operation. See Annex A.2.3 in ETSI GS NFV-IFA 010. - NOTE 11: When feasibilityCheckReserve is set to FEASIBILITY_CHECK_WITH_RESERVATION_AND_OPERATION, the feasibility + NOTE 11: When feasibilityCheckReserve is set to FEASIBILITY_CHECK_WITH_RESERVATION_AND_OPERATION, the feasibility checking is performed and based on the procedure result, resources are reserved as part of the feasibility check, and the actual NS instantiation operation is performed using the resources reserved during the feasibility checking procedure execution, and at the time indicated by the "startTime" attribute, if provided. @@ -2500,13 +2512,13 @@ definitions: This type specifies additional parameters on a per-nested NS instance basis. It shall comply with the provisions defined in Table 6.5.3.21a-1. - NOTE 1: This attribute allows for a nested NS at instantiation of + NOTE 1: This attribute allows for a nested NS at instantiation of the composite NS the use of an NSD different from the one specified in the NSD of the composite NS with nsProfileId, provided they have the same nsdExtInvariantId. - NOTE 2: A VnfProfile, NsProfile or PnfProfile may contain multiple VersionDependencies + NOTE 2: A VnfProfile, NsProfile or PnfProfile may contain multiple VersionDependencies as it may describe the version dependencies of the descriptor referenced in the profile or of other descriptors with the same external invariant identifier. - NOTE 3: The overridingVersionDependency attribute may only be present if + NOTE 3: The overridingVersionDependency attribute may only be present if the overrridingNsdId attribute is present. type: object required: @@ -2554,13 +2566,13 @@ definitions: to be created associated with an NS instance. It shall comply with the provisions defined in Table 6.5.3.22-1. - NOTE 1: This attribute allows at VNF instantiation the use of a VNFD different + NOTE 1: This attribute allows at VNF instantiation the use of a VNFD different from the one specified in the NSD with vnfProfileId provided the two VNFDs refer to the same vnfdExtInvariantId. - NOTE 2: A VnfProfile, NsProfile or PnfProfile may contain multiple VersionDependencies + NOTE 2: A VnfProfile, NsProfile or PnfProfile may contain multiple VersionDependencies as it may describe the version dependencies of the descriptor referenced in the profile or of other descriptors with the same external invariant identifier. - NOTE 3: The overridingVersionDependency attribute may only be present if the overrridingVnfdId + NOTE 3: The overridingVersionDependency attribute may only be present if the overrridingVnfdId attribute is present. type: object required: @@ -2648,11 +2660,11 @@ definitions: description: > This type represents location constraints for a VNF to be instantiated. The location constraints can be represented as follows: - • as a country code - • as a civic address combined with a country code - • as an area, conditionally combined with a country code + • as a country code + • as a civic address combined with a country code + • as an area, conditionally combined with a country code - NOTE: If both "countryCode" and "area" are present, no conflicts should + NOTE: If both "countryCode" and "area" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by "area" that are outside the boundaries of the country @@ -2730,10 +2742,10 @@ definitions: This type specifies an existing VNF instance to be used in the NS instance and if needed, the VNF Profile to use for this VNF instance. It shall comply with the provisions defined in Table 6.5.3.19-1. - NOTE 1: If the overridingVnfdId attribute is present the vnfProfileId attribute shall also be present. - NOTE 2: This attribute allows to use an existing VNF instance based on a different VNFD to the one specified + NOTE 1: If the overridingVnfdId attribute is present the vnfProfileId attribute shall also be present. + NOTE 2: This attribute allows to use an existing VNF instance based on a different VNFD to the one specified in the NSD with vnfProfileId, provided both have the same vnfdExtInvariantId. - NOTE 3: A VnfProfile, NsProfile or PnfProfile may contain multiple VersionDependencies as it may describe the + NOTE 3: A VnfProfile, NsProfile or PnfProfile may contain multiple VersionDependencies as it may describe the version dependencies of the descriptor referenced in the profile or of other descriptors with the same external invariant identifier. NOTE 4: The overridingVersionDependency attribute may only be present if the overrridingVnfdId attribute is present. type: object @@ -2788,10 +2800,10 @@ definitions: and if needed, the NsProfile to use for this nested NS instance. It shall comply with the provisions defined in Table 6.5.3.19a-1. - NOTE 1: If the overridingNsdId attribute is present the nsProfileId attribute shall also be present. - NOTE 2: This attribute allows to use as nested NS an existing NS instance based on a different NSD to the one + NOTE 1: If the overridingNsdId attribute is present the nsProfileId attribute shall also be present. + NOTE 2: This attribute allows to use as nested NS an existing NS instance based on a different NSD to the one specified in the composite NSD with nsProfileId, provided they have the same nsdExtInvariantId. - NOTE 3: A VnfProfile, NsProfile or PnfProfile may contain multiple VersionDependencies as it may describe + NOTE 3: A VnfProfile, NsProfile or PnfProfile may contain multiple VersionDependencies as it may describe the version dependencies of the descriptor referenced in the profile or of other descriptors with the same external invariant identifier. NOTE 4: The overridingVersionDependency attribute may only be present if the overridingNsdId attribute is present. @@ -2881,7 +2893,7 @@ definitions: This type represents a request for the scale NS operation. Either the parameter scaleNsData or the parameter scaleVnfData, but not both shall be provided - NOTE: Either the parameter scaleNsData or the parameter scaleVnfData, but not both shall be provided. + NOTE: Either the parameter scaleNsData or the parameter scaleVnfData, but not both shall be provided. type: object required: - scaleType @@ -2931,26 +2943,26 @@ definitions: description: > This operation supports the update of a NS instance operation. - NOTE 1: If a VNF instance is removed from an NS and this NS was the last one for which this VNF instance was a + NOTE 1: If a VNF instance is removed from an NS and this NS was the last one for which this VNF instance was a part, the VNF instance is terminated by the NFVO. - NOTE 2: It depends on the VNF capabilities, and is declared in the VNFD whether the operation is supported for + NOTE 2: It depends on the VNF capabilities, and is declared in the VNFD whether the operation is supported for a particular VNF. - NOTE 3: The operation might be service-disruptive. + NOTE 3: The operation might be service-disruptive. NOTE 4: For each of the referred vnfInstanceId in the terminateVnfData, there shall be a corresponding value in the removeVnfInstanceId. - NOTE 5: A change of VNFD version of a constituent VNF where the source and target VNFD versions have the same + NOTE 5: A change of VNFD version of a constituent VNF where the source and target VNFD versions have the same vnfdExtInvariantId can also be performed without a change in the NSD by a sequence of two Update NS operations, the first one of type RemoveVnf, the second one of type AddVnf or of type InstantiateVnf; or with the Scale NS operation, removing the existing VNF instance and adding a VNF instance with the target VNFD. - NOTE 6: When feasibilityCheckReserve is set to FEASIBILITY_CHECK_ONLY, the "updateTime" attribute shall be ignored. - NOTE 7: When feasibilityCheckReserve is set to NO_FEASIBILITY_CHECK, the feasibility checking procedure is not + NOTE 6: When feasibilityCheckReserve is set to FEASIBILITY_CHECK_ONLY, the "updateTime" attribute shall be ignored. + NOTE 7: When feasibilityCheckReserve is set to NO_FEASIBILITY_CHECK, the feasibility checking procedure is not performed. Resources might be reserved as triggered by means outside of the present operation request (e.g., configuration or policies), e.g. if it is a scheduled Update NS operation. See Annex A.2.3 in ETSI GS NFV-IFA 010. - NOTE 8: When feasibilityCheckReserve is set to FEASIBILITY_CHECK_ONLY, only feasibility checking procedure is + NOTE 8: When feasibilityCheckReserve is set to FEASIBILITY_CHECK_ONLY, only feasibility checking procedure is performed for the operation, no resources are reserved. - NOTE 9: When feasibilityCheckReserve is set to FEASIBILITY_CHECK_WITH_OPERATION, the feasibility checking procedure + NOTE 9: When feasibilityCheckReserve is set to FEASIBILITY_CHECK_WITH_OPERATION, the feasibility checking procedure is performed and based on the procedure result, the actual Update NS operation is performed at the time indicated by the "updateTime" attribute, if provided. Resources might be reserved as triggered by means outside of the present operation request (e.g., configuration or policies), e.g. if it is a scheduled @@ -2990,12 +3002,12 @@ definitions: * ADD_PNF: Adding PNF * MODIFY_PNF: Modifying PNF * REMOVE_PNF: Removing PNF - * CREATE_VNF_SNAPSHOT: Creating VNF Snapshots of VNF instances belonging to the NS instance. See note 2 + * CREATE_VNF_SNAPSHOT: Creating VNF Snapshots of VNF instances belonging to the NS instance. See note 2 * REVERT_VNF_TO_SNAPSHOT: Reverting a VNF instance belonging to the NS instance to a VNF Snapshot. See note 2 and note 3 * DELETE_VNF_SNAPSHOT_INFO: Deleting available VNF Snapshot information for a VNF instance belonging to the NS instance. See note 2 - * MODIFY_WAN_CONNECTION_INFO: Modify WAN related connectivity information. - * CREATE_NS_VIRTUAL_LINK: Create an NsVirtualLink instance. - * DELETE_NS_VIRTUAL_LINK: Delete an NsVirtualLink instance. + * MODIFY_WAN_CONNECTION_INFO: Modify WAN related connectivity information. + * CREATE_NS_VIRTUAL_LINK: Create an NsVirtualLink instance. + * DELETE_NS_VIRTUAL_LINK: Delete an NsVirtualLink instance. type: string enum: - ADD_VNF @@ -3255,28 +3267,28 @@ definitions: the OSS/BSS explicitly requests VNF instantiation for a given NS. When the NFVO invokes the Instantiate VNF update operation, a set of these parameters are then passed by the NFVO to the VNFM. - NOTE 1: It is possible to have several ExtManagedVirtualLinkData for the same VNF internal + NOTE 1: It is possible to have several ExtManagedVirtualLinkData for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkData corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 6.5.3.27). - NOTE 2: If vnfdId and vnfFlavourId (and vnfInstantiationLevelId, if provided) are present, + NOTE 2: If vnfdId and vnfFlavourId (and vnfInstantiationLevelId, if provided) are present, there should be only one vnfProfile that matches the vnfdId and vnfFlavourId (and vnfInstantiationLevelId, if present) in the NS deployment flavour specified in the NSD associated to the NS instance to which the present operation is triggered. In the case there is more than one matching vnfProfile, the NFVO may select a matching vnfProfile based on other information, such as external VL. - NOTE 3: Either the attribute triple "vnfdId, vnfFlavourId and vnfInstantiationLevelId + NOTE 3: Either the attribute triple "vnfdId, vnfFlavourId and vnfInstantiationLevelId (if provided)" or the attribute "vnProfileId" shall be present, but not both. - NOTE 4: The target size for VNF instantiation may be specified in either vnfInstantiationLevelId or + NOTE 4: The target size for VNF instantiation may be specified in either vnfInstantiationLevelId or targetScaleLevelInfo, but not both. If none of the two attributes (vnfInstantiationLevelId or targetScaleLevelInfo) are present, the default instantiation level as declared in the VNFD shall be used. - NOTE 5: If targetScaleLevelInfo is specified, information provided in targetScaleLevelInfo shall be used for instantiating + NOTE 5: If targetScaleLevelInfo is specified, information provided in targetScaleLevelInfo shall be used for instantiating scalable constituents of the VNF (e.g, VDUs/VLs). 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 for instantiation. - NOTE 6: If the overridingVnfdId attribute is present the vnfProfileId attribute shall also be present. - NOTE 7: This attribute allows at VNF instantiation the use of a VNFD different from the one specified + NOTE 6: If the overridingVnfdId attribute is present the vnfProfileId attribute shall also be present. + NOTE 7: This attribute allows at VNF instantiation the use of a VNFD different from the one specified in the NSD with vnfProfileId provided the two VNFDs have the same vnfdExtInvariantId. - NOTE 8: A VnfProfile, NsProfile or PnfProfile may contain multiple VersionDependencies as it may describe the version + NOTE 8: A VnfProfile, NsProfile or PnfProfile may contain multiple VersionDependencies as it may describe the version dependencies of the descriptor referenced in the profile or of other descriptors with the same external invariant identifier. NOTE 9: The overridingVersionDependency attribute may only be present if the overridingVnfdId attribute is present. type: object @@ -3438,22 +3450,22 @@ definitions: description: > The type represents the information that is requested to be changed deployment flavor for an existing VNF instance. - NOTE 1: The indication of externally-managed internal VLs + NOTE 1: The indication of externally-managed internal VLs is needed in case networks have been pre-configured for use with certain VNFs, for instance to ensure that these networks have certain properties such as security or acceleration features, or to address particular network topologies. The present document assumes that externally-managed internal VLs are managed by the NFVO and created towards the VIM. - NOTE 2: It is possible to have several ExtManagedVirtualLinkData for the same + NOTE 2: It is possible to have several ExtManagedVirtualLinkData for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkData corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 6.5.3.27). - NOTE 3: The target size for VNF instantiation may be specified in either + NOTE 3: The target size for VNF instantiation may be specified in either instantiationLevelId or targetScaleLevelInfo, but not both. If none of the two attributes (instantiationLevelId or targetScaleLevelInfo) are present, the default instantiation level as declared in the VNFD shall be used. - NOTE 4: If targetScaleLevelInfo is specified, information provided in + NOTE 4: If targetScaleLevelInfo is specified, information provided in targetScaleLevelInfo shall be used for instantiating scalable constituents of the VNF (e.g, VDUs/VLs). For scaling aspects not specified in targetScaleLevelInfo or for the VNF constituents (e.g., VDUs/VLs) that @@ -3536,7 +3548,7 @@ definitions: description: > This type represents a VNF instance for which the operational state needs to be changed and the requested new state. - NOTE: The "stopType" and "gracefulStopTimeout" attributes shall be absent, + NOTE: The "stopType" and "gracefulStopTimeout" attributes shall be absent, when the "changeStateTo" attribute is equal to "STARTED". The "gracefulStopTimeout" attribute shall be present, when the "changeStateTo" attribute is equal to "STOPPED" and the "stopType" attribute is equal to "GRACEFUL". The "gracefulStopTimeout" @@ -3658,7 +3670,7 @@ definitions: VL in the same operation. 3) Change the connectivity parameters of the existing external CPs, including changing addresses. - NOTE: Depending on the capabilities of the underlying VIM resources, certain changes (e.g. modifying the IP address + NOTE: Depending on the capabilities of the underlying VIM resources, certain changes (e.g. modifying the IP address assignment) might not be supported without deleting the resource and creating another one with the modified configuration. @@ -3696,7 +3708,7 @@ definitions: nsdInvariantId of the NSD version that is to be associated to this NS instance is different from the one used before, the NFVO shall reject the request. Only new versions of the same NSD can be associated to an existing NS instance. This data type shall comply with the provisions defined in Table 6.5.3.34-1. - NOTE: The replacement of VNF instances, nested NS instances or PNF instances + NOTE: The replacement of VNF instances, nested NS instances or PNF instances by instances whose descriptor is referenced by the new NSD is applicable even if the instance with a descriptor not referenced from the new NSD has the same VnfdExtInvariantId, NsdExtInvariantId or PnfdExtInvariantId as the new one, i.e. @@ -3813,10 +3825,10 @@ definitions: This type contains information used to create or modify NFP instance parameters for the update of an existing VNFFG instance. It shall comply with the provisions defined in Table 6.5.3.38-1. - NOTE 1: It shall be present for modified NFPs and shall be absent for the new NFP. - NOTE 2: It shall be present for the new NFP, and it may be present otherwise. - NOTE 3: At least a CP or an nfpRule shall be present. - NOTE 4: When multiple identifiers are included, the position of the identifier + NOTE 1: It shall be present for modified NFPs and shall be absent for the new NFP. + NOTE 2: It shall be present for the new NFP, and it may be present otherwise. + NOTE 3: At least a CP or an nfpRule shall be present. + NOTE 4: When multiple identifiers are included, the position of the identifier in the cpGroup value specifies the position of the group in the path. type: object properties: @@ -3860,7 +3872,7 @@ definitions: it is met only if all the values expressed in the condition are matched by those in the packet. It shall comply with the provisions defined in Table 6.5.3.40-1. - NOTE: At least one attribute shall be present. If multiple attributes are present, a logical "AND" + NOTE: At least one attribute shall be present. If multiple attributes are present, a logical "AND" operation shall be applied to those attributes when matching packets against the rule. type: object anyOf: @@ -3900,8 +3912,8 @@ definitions: Indicates the protocol carried over the Ethernet layer. Permitted values: - - IPV4 - - IPV6 + - IPV4 + - IPV6 See note. type: string @@ -3997,9 +4009,9 @@ definitions: This type specifies an PNF to be added to the NS instance and the PNF Profile to use for this PNF. It shall comply with the provisions defined in Table 6.5.3.14-1. - NOTE 1: This attribute allows the use of a PNFD different from the one specified in + NOTE 1: This attribute allows the use of a PNFD different from the one specified in the NSD when adding the PNF to the NS, provided they have the same pnfdExtInvariantId. - NOTE 2: A VnfProfile, NsProfile or PnfProfile may contain multiple VersionDependencies + NOTE 2: A VnfProfile, NsProfile or PnfProfile may contain multiple VersionDependencies as it may describe the version dependencies of the descriptor referenced in the profile or of other descriptors with the same external invariant identifier. @@ -4118,7 +4130,7 @@ definitions: This type specifies an PNF to be modified in the NS instance. It shall comply with the provisions defined in Table 6.5.3.15-1. - NOTE: At least one attribute shall be present. + NOTE: At least one attribute shall be present. type: object required: - pnfId @@ -4147,7 +4159,7 @@ definitions: description: > This type provides information about added, deleted, modified and temporary VLs. - NOTE: The resource handles of the affected NS link ports can be + NOTE: The resource handles of the affected NS link ports can be found by dereferencing the identifiers in the "linkPortIds" attribute. type: object required: @@ -4264,7 +4276,7 @@ definitions: description: > This type provides information about added, deleted and modified VNFs. - NOTE: At least one of the attributes "changedVnfInfo", "changedExtConnectivity" + NOTE: At least one of the attributes "changedVnfInfo", "changedExtConnectivity" or "modificationsTriggeredByVnfPkgChange" shall be present. Not more than one of "changedVnfInfo" and "modificationsTriggeredByVnfPkgChange" shall be present. type: object @@ -4314,7 +4326,7 @@ definitions: - OPERATE - MODIFY_INFORMATION - CHANGE_EXTERNAL_VNF_CONNECTIVITY - - CHANGE_VNFPKG + - CHANGE_VNFPKG type: string enum: - ADD @@ -4675,13 +4687,20 @@ definitions: NsLcmInfoModificationRequest: description: > - This type represents attribute modifications for an "Individual NS LCM operation occurrence" resource, i.e. modifications to a resource representation based on the "NsLcmOpOcc" data structure. + This type represents attribute modifications for an "Individual + NS LCM operation occurrence" resource, i.e. modifications to a + resource representation based on the "NsLcmOpOcc" data structure. + NOTE: The "scheduledTime" attribute represents the new value of + the "startTime" attribute of the "NsLcmOpOcc" data structure to + start the NS LCM operation. type: object required: - scheduledTime properties: scheduledTime: - description: This attribute specifies the modifications to the scheduled time of the specific NS LCM operation. The scheduledTime attribute represents the new value of the "startTime" attribute of the "NsLcmOpOcc" data structure to start the NS LCM operation + description: This attribute specifies the modifications to + the scheduled time of the specific NS LCM operation. + See note. $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" @@ -4771,7 +4790,7 @@ definitions: If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical "or" between the values of one filter attribute). - NOTE: The permitted values of the "notificationTypes" attribute are spelled exactly as the names + NOTE: The permitted values of the "notificationTypes" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems. type: object properties: @@ -4786,7 +4805,7 @@ definitions: - NsLcmOperationOccurrenceNotification - NsIdentifierCreationNotification - NsIdentifierDeletionNotification - - NsLcmCapacityShortageNotification + - NsLcmCapacityShortageNotification - NsChangeNotification See note. @@ -4881,14 +4900,14 @@ definitions: ScaleNsData: description: > This type represents the information to scale a NS. - NOTE 1: No more than two attributes between vnfInstanceToBeAdded, + NOTE 1: No more than two attributes between vnfInstanceToBeAdded, vnfInstanceToBeRemoved, scaleNsByStepsData and scaleNsToLevelData shall be present. In case of two, the attributes shall be vnfInstanceToBeAdded and vnfInstanceToBeRemoved. - NOTE 2: The DF of the VNF instance shall match the VNF DF present in the associated VNF + NOTE 2: The DF of the VNF instance shall match the VNF DF present in the associated VNF Profile of the new NS flavour. - NOTE 3: This functionality is the same as the one provided by the Update NS operation when + NOTE 3: This functionality is the same as the one provided by the Update NS operation when the AddVnf update type is selected (see clause 7.3.5). - NOTE 4: This functionality is the same as the one provided by the Update NS operation when + NOTE 4: This functionality is the same as the one provided by the Update NS operation when the RemoveVnf update type is selected (see clause 7.3.5). type: object properties: @@ -4961,11 +4980,11 @@ definitions: description: > This type represents defines the information to scale a VNF instance to a given level, or to scale a VNF instance by steps. - NOTE 1: ETSI GS NFV-IFA 010 (available at https://www.etsi.org/deliver/etsi_gs/NFV-IFA/001_099/010/03.02.01_60/gs_NFV-IFA010v030201p.pdf) + NOTE 1: ETSI GS NFV-IFA 010 (available at https://www.etsi.org/deliver/etsi_gs/NFV-IFA/001_099/010/03.02.01_60/gs_NFV-IFA010v030201p.pdf) specifies that the lifecycle management operations that expandor contract a VNF instance include scale in, scale out, scale up and scale down. Vertical scaling (scale up, scale down) is not supported in the present document. - NOTE 2: Either scaletoLevelData or scaleByStepData but not both shall be present. The scaleByStepData + NOTE 2: Either scaletoLevelData or scaleByStepData but not both shall be present. The scaleByStepData is used for scale out/in type of scaling, and the scaleToLevelData is used for scale to instantiation/scale level type of scaling. @@ -5045,7 +5064,7 @@ definitions: an NS instantiation level or as a list of NS scale levels, one per NS scaling aspect, of the current DF. The NS instantiation levels, the NS scaling aspects and their corresponding NS scale levels applicable to the NS instance are declared in the NSD. - NOTE: Either nsInstantiationLevel or nsScaleInfo, but not both, shall be present. + NOTE: Either nsInstantiationLevel or nsScaleInfo, but not both, shall be present. type: object oneOf: - required: @@ -5104,7 +5123,7 @@ definitions: This type describes the information to scale a VNF instance by steps. The NFVO shall then invoke the Scale VNF operation towards the appropriate VNFM. - NOTE: A scaling step is the smallest unit by which a VNF instance can be scaled w.r.t a particular scaling aspect. + NOTE: A scaling step is the smallest unit by which a VNF instance can be scaled w.r.t a particular scaling aspect. type: object required: - aspectId @@ -5211,23 +5230,23 @@ definitions: NS component and trigger an NS change notification. It shall comply with the provisions defined in table 6.5.4.6-1. Value | Description - VNF_INSTANTIATE Represents the "Instantiate VNF" LCM operation. - VNF_SCALE Represents the "Scale VNF" LCM operation. - VNF_SCALE_TO_LEVEL Represents the "Scale VNF to Level" LCM operation. - VNF_CHANGE_FLAVOUR Represents the "Change VNF Flavour" LCM operation. - VNF_TERMINATE Represents the "Terminate VNF" LCM operation. - VNF_HEAL Represents the "Heal VNF" LCM operation. - VNF_OPERATE Represents the "Operate VNF" LCM operation. - VNF_CHANGE_EXT_CONN Represents the "Change external VNF connectivity" LCM operation. - VNF_MODIFY_INFO Represents the "Modify VNF Information" LCM operation. - VNF_CREATE_SNAPSHOT Represents the "Create VNF Snapshot" LCM operation. - VNF_REVERT_TO_SNAPSHOT Represents the "Revert To VNF Snapshot" LCM operation. - VNF_CHANGE_VNFPKG Represents the "Change current VNF package" LCM operation. - NS_INSTANTIATE Represents the "Instantiate NS" LCM operation. - NS_SCALE Represents the "Scale NS" LCM operation. - NS_UPDATE Represents the "Update NS" LCM operation. - NS_TERMINATE Represents the "Terminate NS" LCM operation. - NS_HEAL Represents the "Heal NS" LCM operation. + VNF_INSTANTIATE Represents the "Instantiate VNF" LCM operation. + VNF_SCALE Represents the "Scale VNF" LCM operation. + VNF_SCALE_TO_LEVEL Represents the "Scale VNF to Level" LCM operation. + VNF_CHANGE_FLAVOUR Represents the "Change VNF Flavour" LCM operation. + VNF_TERMINATE Represents the "Terminate VNF" LCM operation. + VNF_HEAL Represents the "Heal VNF" LCM operation. + VNF_OPERATE Represents the "Operate VNF" LCM operation. + VNF_CHANGE_EXT_CONN Represents the "Change external VNF connectivity" LCM operation. + VNF_MODIFY_INFO Represents the "Modify VNF Information" LCM operation. + VNF_CREATE_SNAPSHOT Represents the "Create VNF Snapshot" LCM operation. + VNF_REVERT_TO_SNAPSHOT Represents the "Revert To VNF Snapshot" LCM operation. + VNF_CHANGE_VNFPKG Represents the "Change current VNF package" LCM operation. + NS_INSTANTIATE Represents the "Instantiate NS" LCM operation. + NS_SCALE Represents the "Scale NS" LCM operation. + NS_UPDATE Represents the "Update NS" LCM operation. + NS_TERMINATE Represents the "Terminate NS" LCM operation. + NS_HEAL Represents the "Heal NS" LCM operation. type: string enum: @@ -5255,15 +5274,15 @@ definitions: This type represents a request a NS lifecycle operation occurrence. It shall comply with the provisions defined in Table 6.5.2.3-1. - NOTE 1: This allows the OSS/BSS to obtain a copy of the latest "result" notification if it has not received + NOTE 1: This allows the OSS/BSS to obtain a copy of the latest "result" notification if it has not received it due to an error. If the notification represents the successful result of a lifecycle operation, at least an affectedVnf, or affectedPnf, or affectedVl, or affectedVnffg or affectedNs, or affectedSap shall be present. - NOTE 2: A coordination action has timed out if the NFVO has not been able to read the "Individual coordination + NOTE 2: A coordination action has timed out if the NFVO has not been able to read the "Individual coordination action" resource within a timeout interval after requesting the coordination to be started or to be cancelled. The length of the timeout interval is defined by means outside the scope of the present document - NOTE 3: The list of rejected coordinations may be garbage collected if the LCM operation occurrence has reached + NOTE 3: The list of rejected coordinations may be garbage collected if the LCM operation occurrence has reached a terminal state, i.e. one of "COMPLETED", "FAILED", “PARTIALLY COMPLETED” and "ROLLED_BACK". type: object required: @@ -5280,13 +5299,13 @@ definitions: id: description: > Identifier of this NS lifecycle operation occurrence. - NOTE 1: This allows the OSS/BSS to obtain a copy of the latest "result" + NOTE 1: This allows the OSS/BSS to obtain a copy of the latest "result" notification if it has not received it due to an error. If the notification represents the successful result of a lifecycle operation, at least an affectedVnf, or affectedPnf, or affectedVl, or affectedVnffg or affectedNs, or affectedSap shall be present. - NOTE 2: A coordination action has timed out if the NFVO has not been able to read + NOTE 2: A coordination action has timed out if the NFVO has not been able to read the "Individual coordination action" resource within a timeout interval after requesting the coordination to be started or to be cancelled. The length of the timeout interval is defined by means outside the scope of the present document. @@ -5469,7 +5488,7 @@ definitions: description: > The endpoint type used by this coordination action. Valid values: - - MGMT: coordination with other operation supporting management systems (e.g. OSS/BSS) + - MGMT: coordination with other operation supporting management systems (e.g. OSS/BSS) type: string enum: - MGMT @@ -5504,7 +5523,7 @@ definitions: description: > The endpoint type used by this coordination action. Valid values: - - MGMT: coordination with other operation supporting management systems (e.g. OSS/BSS) + - MGMT: coordination with other operation supporting management systems (e.g. OSS/BSS) type: string enum: - MGMT @@ -5589,11 +5608,14 @@ definitions: layerProtocol: description: > Identifier of layer(s) and protocol(s). - Permitted values: IP_OVER_ETHERNET. + Permitted values: + - IP_OVER_ETHERNET + - IP_FOR_VIRTUAL_CP + See note. type: string enum: - IP_OVER_ETHERNET - - IP_FOR_VIRTUAL_CP + - IP_FOR_VIRTUAL_CP ipOverEthernet: description: > Network address data for IP over Ethernet to @@ -5607,7 +5629,7 @@ definitions: exposing a virtual CP. It shall be present if layerProtocol is equal to “IP_FOR_VIRTUAL_CP” and the external CP instance exposes a virtual CP and - shall not be present otherwise.. + shall not be present otherwise. $ref: "#/definitions/VirtualCpAddressData" @@ -5625,7 +5647,7 @@ definitions: type: string enum: - IPV4 - - IPV6 + - IPV6 loadBalancerIp: description: > Fixed address to assign to an external load balancer. @@ -5641,11 +5663,11 @@ definitions: IpOverEthernetAddressData: description: > This type represents network address data for IP over Ethernet. - NOTE 1: At least one of "macAddress" or "ipAddresses" shall be present. - NOTE 2: Exactly one of "fixedAddresses", "numDynamicAddresses" or "ipAddressRange" shall be present. - NOTE 3: If the CP instance represents a subport in a trunk, "segmentationId" shall be present. + NOTE 1: At least one of "macAddress" or "ipAddresses" shall be present. + NOTE 2: Exactly one of "fixedAddresses", "numDynamicAddresses" or "ipAddressRange" shall be present. + NOTE 3: If the CP instance represents a subport in a trunk, "segmentationId" shall be present. Otherwise it shall not be present. - NOTE 4: Depending on the NFVI networking infrastructure, the "segmentationId" may indicate + NOTE 4: Depending on the NFVI networking infrastructure, the "segmentationId" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter @@ -5667,8 +5689,8 @@ definitions: description: > Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: - - VLAN: The subport uses VLAN as encapsulation type. - - INHERIT: The subport gets its segmentation type from the network it is connected to. + - VLAN: The subport uses VLAN as encapsulation type. + - INHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used. type: string @@ -5755,15 +5777,15 @@ definitions: description: > This type represents an external VL. - NOTE 1: A link port is not needed for an external CP instance that exposes a VIP CP in the following cases: - 1. For a VIP CP directly exposed as extCP: - 1.1. no dedicated IP address is allocated as VIP address, as indicated in the VNFD - 1.2. a dedicated IP address is allocated as VIP address, + NOTE 1: A link port is not needed for an external CP instance that exposes a VIP CP in the following cases: + 1. For a VIP CP directly exposed as extCP: + 1.1. no dedicated IP address is allocated as VIP address, as indicated in the VNFD + 1.2. a dedicated IP address is allocated as VIP address, but the NFVO indicates that no port is needed (createExtLinkPort in VnfExtCpConfig set to false). - 2. For a VIP CP exposed as extCP via a floating IP address: - 2.1. no dedicated IP address is allocated as VIP address, as indicated in the VNFD, + 2. For a VIP CP exposed as extCP via a floating IP address: + 2.1. no dedicated IP address is allocated as VIP address, as indicated in the VNFD, and the VNFC CP associated to the VIP CP is also exposed via a floating IP address. - NOTE 2: An example of the network attachment definition resource when the container infrastructure service + NOTE 2: An example of the network attachment definition resource when the container infrastructure service is a Kubernetes® instance is a network attachment definition (NAD). type: object required: @@ -5849,9 +5871,9 @@ definitions: This type represents an externally-managed internal VL. It shall comply with the provisions defined in Table 6.5.3.27-1. - NOTE 1: It is only applicable if the externally-managed VL is realized by a + NOTE 1: It is only applicable if the externally-managed VL is realized by a secondary container cluster network. It shall not be present otherwise. - NOTE 2: An example of the network attachment definition resource when the + NOTE 2: An example of the network attachment definition resource when the container infrastructure service is a Kubernetes® instance is a network attachment definition (NAD). type: object @@ -5890,7 +5912,7 @@ definitions: vnfLinkPort: description: > Externally provided link ports to be used to connect VNFC connection points to this externally-managed VL on - this network resource. If this attribute is not present, the VNFM shall create the link ports on the + this network resource. If this attribute is not present, the NFVO or the VNFM shall create the link ports on the externally-managed VL. type: array items: @@ -5923,6 +5945,10 @@ definitions: IntVnfCpData: description: > This type represents the input information related to one or more VNF internal CP instances created based on the same CPD. + NOTE: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment definition + resource is needed to fulfil the connectivity requirements of the VNF internal CP, e.g. to build a link redundant mated + pair in SR-IOV cases. When more than one "netAttDefResourceId" is indicated, all shall belong to the same namespace as + defined by the corresponding "netAttDefResourceNamespace" attribute in the "NetAttDefResourceData". type: object required: - cpdId @@ -5937,12 +5963,7 @@ definitions: Identifier of the "NetAttDefResourceData" structure that provides the specification of the interface to attach the VNF internal CP created from the CPD identified by cpdId to a secondary container cluster network. - Cardinality greater than 1 is only applicable for specific cases where - more than one network attachment definition resource is needed to fulfil - the connectivity requirements of the VNF internal CP, e.g. to build a link - redundant mated pair in SR-IOV cases. When more than one "netAttDefResourceId" - is indicated, all shall belong to the same namespace as defined by the corresponding - "netAttDefResourceNamespace" attribute in the "NetAttDefResourceData". + See note. $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnf" @@ -5952,15 +5973,15 @@ definitions: This type represents configuration information for external CPs created from a CPD. - NOTE 1: In case this identifier refers to a CPD with trunking enabled, the external + NOTE 1: In case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. - NOTE 2: The map entry value shall be set to "null" in order to delete a "VnfExtCpConfig" + NOTE 2: The map entry value shall be set to "null" in order to delete a "VnfExtCpConfig" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the "VnfExtCpData" structure from its parent data structure. - NOTE 3: Within one VNF instance, all VNFC instances created from a particular VDU have the + NOTE 3: Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the "cpdId' attribute, there shall be one "cpConfig" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the "cpdId" attribute. If the cpConfig represents @@ -5997,7 +6018,7 @@ definitions: description: > This type represents an externally provided link port to be used to connect an external connection point to an external VL. - NOTE: The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute. + NOTE: The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute. type: object required: - id @@ -6026,42 +6047,42 @@ definitions: resource of secondary container cluster network, or network address information per instance of a VNF external connection point. In the case of VM-based deployment of the VNFC exposing the external CP: In case a link port is provided, the NFVO shall use that - link port when connecting the VNF external CP to the external VL. • In case a link port + link port when connecting the VNF external CP to the external VL. • In case a link port is not provided, the NFVO or VNFM shall create a link port on the external VL, and use that link port to connect the VNF external CP to the external VL. In the case of container-based deployment of the VNFC exposing the external CP, the NFVO and VNFM shall use the network attachment definition resource of secondary container cluster network when connecting the CP to the external VL. - NOTE 1: The following conditions apply to the attributes "linkPortId" and "cpProtocolData" + NOTE 1: The following conditions apply to the attributes "linkPortId" and "cpProtocolData" for an external CP instance connected or to be connected to a virtual network not categorized as secondary container cluster network: - - At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for + - At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance representing a subport that is to be created, or an external CP instance that is to be created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing external CP instance that is to be re-configured or added to a particular external virtual link. - - If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided + - If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a pre-created link port with pre-configured address information. - - If both "cpProtocolData" and "linkportId" are provided, the API consumer shall ensure that + - If both "cpProtocolData" and "linkportId" are provided, the API consumer shall ensure that the cpProtocolData can be used with the pre-created link port referenced by "linkPortId". - NOTE 2: In case the NFVO manages its own identifier space, the NFVO may remap this identifier + NOTE 2: In case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it. - NOTE 3: The following conditions apply to the attributes “netAttDefResourceId” and “cpProtocolData” + NOTE 3: The following conditions apply to the attributes “netAttDefResourceId” and “cpProtocolData” for an external CP instance connected or to be connected to a secondary container cluster network; The "netAttDefResourceId" and "cpProtocolData" attributes shall both be absent for the deletion of an existing external CP instance addressed by "cpInstanceId". At least one of these attributes shall be present for a to-be-created external CP instance or an existing external CP instance. - NOTE 4: Cardinality greater than 1 is only applicable for specific cases where more than one network + NOTE 4: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link redundant mated pair in SR-IOV cases. When more than one "netAttDefResourceId" is indicated, all shall belong to the same namespace as defined by the corresponding - "netAttDefResourceNamespace" attribute in the "NetAttDefResourceData - NOTE 5: Either "linkPortId" or "netAttDefResourceId" may be included, but not both. + "netAttDefResourceNamespace" attribute in the "NetAttDefResourceData". + NOTE 5: Either "linkPortId" or "netAttDefResourceId" may be included, but not both. type: object - anyOf: + oneOf: - required: - linkPortId - required: @@ -6290,7 +6311,7 @@ definitions: description: | This type provides information about the connectivity to the WAN of network resources realizing a VL, e.g., when the VL is deployed on several sites across a WAN. It shall comply with the provisions defined in table 6.5.3.90-1. - NOTE: Either a "nsVirtualLinkInfoId" or a "vnfVirtualLinkResourceInfoId" shall be provided, but not both. + NOTE: Either a "nsVirtualLinkInfoId" or a "vnfVirtualLinkResourceInfoId" shall be provided, but not both. type: object required: - wanConnectionInfoId @@ -6346,7 +6367,7 @@ definitions: description: | This type provides information used to connect the comprising network resources realizing a VL, e.g., when the VL is deployed on several sites and across a WAN. It shall comply with the provisions defined in table 6.5.3.80-1. - NOTE: Either a "nsVirtualLink" or a "vnfVirtualLink" shall be provided, but not both. + NOTE: Either a "nsVirtualLink" or a "vnfVirtualLink" shall be provided, but not both. type: object required: - protocolData @@ -6406,17 +6427,17 @@ definitions: This type specifies the information needed to change the current VNF package for a VNF instance. Clause B.3 of the ETSI GS NFV-IFA 007 illustrates the variants of changes to the current VNF Package and information flow procedures. This operation encompasses the following scenarios: - * Changes of the VNF virtualised resources, such as requirements, composition and structure between the VNF versions, + * Changes of the VNF virtualised resources, such as requirements, composition and structure between the VNF versions, without changing the VNF software version. - * Changes of both the VNF software version and the VNF virtualised resources. This case includes replacing the VNF + * Changes of both the VNF software version and the VNF virtualised resources. This case includes replacing the VNF software version by means of virtualised resources management, such as terminating the current virtualized resource instances running the current software version and instantiating new virtualized resource instances with the destination VNF software version. The new virtualized resource instances may have the same characteristics as the current virtualized resource instances. - * Changes related to the VNFD, such as correction of bugs in the VNFD, changes in the naming scheme of VNFD components + * Changes related to the VNFD, such as correction of bugs in the VNFD, changes in the naming scheme of VNFD components (e.g. name of the VDU, vduId), and adding/removing descriptors of VNF Package changes (VnfPackageChangeInfo). - NOTE: A VnfProfile, NsProfile or PnfProfile may contain multiple VersionDependencies as it may describe the version + NOTE: A VnfProfile, NsProfile or PnfProfile may contain multiple VersionDependencies as it may describe the version dependencies of the descriptor referenced in the profile or of other descriptors with the same external invariant identifier. type: object @@ -6548,11 +6569,11 @@ definitions: VnfcSnapshotInfo: description: > This type represents a VNFC Snapshot. It shall comply with the provisions defined in table 6.5.3.77-1. - NOTE 1: The identifier of the compute snapshot resource is assigned during creation of a VNFC + NOTE 1: The identifier of the compute snapshot resource is assigned during creation of a VNFC Snapshot being returned from the VIM as output data in the response message of the individual resource operations. This attribute shall only be present for a VNFC snapshot that has been newly created by the VNFM as a result of the "Create VNF snapshot task". - NOTE 2: The identifier of the storage snapshot resource is assigned during creation of a VNFC snapshot + NOTE 2: The identifier of the storage snapshot resource is assigned during creation of a VNFC snapshot being returned from the VIM as output data in the response message of the individual resource operations. This attribute shall only be present for a VNFC snapshot with an associated storage resource and that has been newly created by the VNFM as a result of the "Create VNF snapshot task". @@ -6766,8 +6787,8 @@ definitions: The type of connectivity that is provided to the virtualized networks in the NFVI-PoP and characterizes the connectivity service across the WAN. Permitted values: - - L2 - - L3 + - L2 + - L3 type: string enum: - L2VPN @@ -6776,12 +6797,12 @@ definitions: description: > Type of underlying connectivity service and protocol associated to the MSCS. Permitted values are as listed below and restricted by the type of MSCS: - - EVPN_BGP_MPLS: as specified in IETF RFC 7432. Only applicable for mscsType="L2". + - EVPN_BGP_MPLS: as specified in IETF RFC 7432. Only applicable for mscsType="L2". - EVPN_VPWS: as specified in IETF RFC 8214. Only applicable for mscsType="L2". - - VPLS_BGP: as specified in IETF RFC 4761 and IETF RFC 6624. Only applicable for mscsType="L2". - - VPLS_LDP_L2TP: as specified in IETF RFC 4762. Only applicable for mscsType="L2". - - VPWS_LDP_L2TP: as specified in IETF RFC 6074. Only applicable for mscsType="L2". - - BGP_IP_VPN: BGP/MPLS based IP VPN as specified in IETF RFC 4364. Only applicable for mscsType="L3". + - VPLS_BGP: as specified in IETF RFC 4761 and IETF RFC 6624. Only applicable for mscsType="L2". + - VPLS_LDP_L2TP: as specified in IETF RFC 4762. Only applicable for mscsType="L2". + - VPWS_LDP_L2TP: as specified in IETF RFC 6074. Only applicable for mscsType="L2". + - BGP_IP_VPN: BGP/MPLS based IP VPN as specified in IETF RFC 4364. Only applicable for mscsType="L3". type: string enum: - EVPN_BGP_MPLS @@ -6807,10 +6828,10 @@ definitions: description: > Defines the protection scheme. Permitted values: - - UNPROTECTED: to indicate no protection. - - ONE_TO_ONE: to indicate an active-passive access protection. - - ONE_PLUS_ONE: to indicate an active-active access protection. - - ONE_TO_N: to indicate an N active to 1 passive access protection. + - UNPROTECTED: to indicate no protection. + - ONE_TO_ONE: to indicate an active-passive access protection. + - ONE_PLUS_ONE: to indicate an active-active access protection. + - ONE_TO_N: to indicate an N active to 1 passive access protection. type: string enum: - UNPROTECTED @@ -6846,9 +6867,9 @@ definitions: description: > Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: - - INBOUND: to indicate into the WAN. - - OUTBOUND: to indicate from the WAN. - - BOTH: to indicate bidirectional data traffic to/from the WAN. + - INBOUND: to indicate into the WAN. + - OUTBOUND: to indicate from the WAN. + - BOTH: to indicate bidirectional data traffic to/from the WAN. type: string enum: - INBOUND @@ -6898,7 +6919,7 @@ definitions: This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. - NOTE: Either "networkResources" or "vnSegmentsIds" shall be provided, but not both. + NOTE: Either "networkResources" or "vnSegmentsIds" shall be provided, but not both. type: object required: - layer2ConnectionInfo @@ -6917,8 +6938,8 @@ definitions: description: > The type of connection to be established on the connectivity service point. Permitted values: - - CSE: defined by the characteristics of the existing referred connectivity service point. - - AGGREGATE_CSE: create an aggregation of the connectivity service endpoints. + - CSE: defined by the characteristics of the existing referred connectivity service point. + - AGGREGATE_CSE: create an aggregation of the connectivity service endpoints. type: string enum: - CSE @@ -6928,8 +6949,8 @@ definitions: To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: - - PARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. - - LOGICAL: create logical interfaces. + - PARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. + - LOGICAL: create logical interfaces. type: string enum: - PARENT @@ -6938,8 +6959,8 @@ definitions: description: > The type of frames to forward on the connectivity service point. Permitted values: - - UNTAGGED: an interface where frames are not tagged. - - TAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging). + - UNTAGGED: an interface where frames are not tagged. + - TAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging). type: string enum: - UNTAGGED @@ -6948,9 +6969,9 @@ definitions: description: > The type of encapsulation. If the interfaceTagging="TAGGED", either "VLAN" or "VXLAN" shall be set. Permitted values: - - ETH: generic Ethernet encapsulation. - - VLAN: encapsulation based on VLAN. - - VXLAN: encapsulation based on VXLAN. + - ETH: generic Ethernet encapsulation. + - VLAN: encapsulation based on VLAN. + - VXLAN: encapsulation based on VXLAN. type: string enum: - ETH @@ -6961,8 +6982,8 @@ definitions: Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging="TAGGED" and encapsulationType="VLAN". Permitted values: - - DOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. - - QINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single + - DOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. + - QINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single service VLAN identifier. - QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used. type: string @@ -6998,8 +7019,8 @@ definitions: Type of VXLAN access mode. Default value is "STATIC". Permitted values: - - STATIC - - BGP_EVPN + - STATIC + - BGP_EVPN type: string enum: - STATIC @@ -7131,12 +7152,12 @@ definitions: description: > The routing protocol that is activated on the connectivity service endpoint. Permitted values: - - BGP: used for dynamic routing BGPv4. - - RIP: used for dynamic routing RIPv2. - - OSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). - - STATIC: used for static routing. - - DIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. - - VRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual + - BGP: used for dynamic routing BGPv4. + - RIP: used for dynamic routing RIPv2. + - OSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). + - STATIC: used for static routing. + - DIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. + - VRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual router redundancy protocol support (VRRP). type: string enum: @@ -7160,8 +7181,8 @@ definitions: description: > The IP version applicable to the routing entry. Permitted values: - - IPV4 - - IPV6 + - IPV4 + - IPV6 type: string enum: - IPV4 @@ -7182,8 +7203,8 @@ definitions: description: > The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: - - IPV4 - - IPV6 + - IPV4 + - IPV6 type: string enum: - IPV4 @@ -7232,8 +7253,8 @@ definitions: The policy to apply to the route distribution. Permitted values: - - PERMIT - - DENY + - PERMIT + - DENY type: string enum: - PERMIT @@ -7281,8 +7302,8 @@ definitions: The type of connectivity that is requested to be provided to the virtualized networks in the NFVI-PoP and characterizes the connectivity service across the WAN. Permitted values: - - L2 - - L3 + - L2 + - L3 type: string enum: - L2 @@ -7307,10 +7328,10 @@ definitions: description: > Defines the protection scheme. Permitted values: - - UNPROTECTED - - ONE_TO_ONE - - ONE_PLUS_ONE - - ONE_TO_N + - UNPROTECTED + - ONE_TO_ONE + - ONE_PLUS_ONE + - ONE_TO_N type: string enum: - UNPROTECTED @@ -7343,11 +7364,11 @@ definitions: description: > Type of underlying connectivity service and protocol associated to the type of MSCS. Permitted values are as listed below and restricted by the type of MSCS: - - EVPN_BGP_MPLS: as specified in IETF RFC 7432. + - EVPN_BGP_MPLS: as specified in IETF RFC 7432. - EVPN_VPWS: as specified in IETF RFC 8214. - - VPLS_BGP: as specified in IETF RFC 4761 and IETF RFC 6624. - - VPLS_LDP_L2TP: as specified in IETF RFC 4762 and IETF RFC 6074. - - VPWS_LDP_L2TP: as specified in IETF RFC 6074. + - VPLS_BGP: as specified in IETF RFC 4761 and IETF RFC 6624. + - VPLS_LDP_L2TP: as specified in IETF RFC 4762 and IETF RFC 6074. + - VPWS_LDP_L2TP: as specified in IETF RFC 6074. type: string enum: - EVPN_BGP_MPLS @@ -7372,7 +7393,7 @@ definitions: description: > Type of underlying connectivity service and protocol associated to the type of MSCS. Permitted values are as listed below and restricted by the type of MSCS: - - BGP_IP_VPN: BGP/MPLS based IP VPN as specified in IETF RFC 4364. + - BGP_IP_VPN: BGP/MPLS based IP VPN as specified in IETF RFC 4364. type: string enum: - BGP_IP_VPN @@ -7484,7 +7505,7 @@ definitions: description: > This type specifies the parameters used for the creation of a new NsVirtualLink instance. It shall comply with the provisions defined in table 6.5.3.95-1. - NOTE: All NsVirtualLink instances of a particular NS DF based on a specific "NsVirtualLinkDesc" + NOTE: All NsVirtualLink instances of a particular NS DF based on a specific "NsVirtualLinkDesc" have the same characteristics as they use the same "VirtualLinkProfile". type: object required: @@ -7559,7 +7580,7 @@ definitions: TerminateVnfData: description: > This type represents the information to terminate a VNF that is part of an NS. - NOTE: If the VNF is still in service, requesting forceful termination can adversely impact network service. + NOTE: If the VNF is still in service, requesting forceful termination can adversely impact network service. type: object required: - vnfInstanceId @@ -7573,8 +7594,8 @@ definitions: Indicates whether forceful or graceful termination is requested. See note. Permitted values: - - FORCEFUL - - GRACEFUL + - FORCEFUL + - GRACEFUL type: string enum: - FORCEFUL @@ -7589,7 +7610,7 @@ definitions: additionalParams: description: > Additional parameters passed by the OSS/BSS as input to the termination process, specific to the VNF being terminated. - EXAMPLE: Input parameters to VNF-specific termination procedures. + EXAMPLE: Input parameters to VNF-specific termination procedures. $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" TerminateNsData: @@ -7716,7 +7737,7 @@ definitions: description: > This type represents the information about the data flows to be mirrored. It shall comply with the provisions defined in table 6.5.3.101-1. - NOTE: A value need not be provided at runtime if the APIconsumer does not + NOTE: A value need not be provided at runtime if the APIconsumer does not intend to refer to a data flow defined in the NSD. type: object @@ -7738,8 +7759,8 @@ definitions: This type represents the detailed information about the data flows that are requested to be mirrored. It shall comply with the provisions defined in table 6.5.3.102-1. - NOTE 1: It shall be present when dataFlowInfoId in DataFlowData is not provided. - NOTE 2: Depends on the value of the direction of the data flow to be mirrored, this + NOTE 1: It shall be present when dataFlowInfoId in DataFlowData is not provided. + NOTE 2: Depends on the value of the direction of the data flow to be mirrored, this attribute defines whether the data flow from the connection point to the target IP address or the data flow from the target IP address to the connection point or both shall be mirrored. type: object @@ -7823,9 +7844,9 @@ definitions: that is being modified. It shall comply with the provisions defined in table 6.5.3.105-1. NOTE: Updating Data Flow Mirroring can involve one or more following cases: - 1) updating the name of data flow mirroring, related to “mirroringName”. - 2) updating information description of data flow mirroring, related to “description”. - 3) updating the definition about where the mirrored data flow is requested to be delivered, related to “collectorDetails”. + 1) updating the name of data flow mirroring, related to “mirroringName”. + 2) updating information description of data flow mirroring, related to “description”. + 3) updating the definition about where the mirrored data flow is requested to be delivered, related to “collectorDetails”. type: object required: - mirroringId diff --git a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml index 6f5d101..7c62814 100644 --- a/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml +++ b/src/SOL005/NSLifecycleManagementNotification/NSLifecycleManagementNotification.yaml @@ -14,7 +14,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V4.3.1 diff --git a/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml b/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml index ee879ce..568ebbf 100644 --- a/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml +++ b/src/SOL005/NSLifecycleManagementNotification/definitions/SOL005NSLifecycleManagementNotification_def.yaml @@ -25,13 +25,13 @@ definitions: multiple times due to multiple subscriptions, the "id" attribute of all these notifications shall have the same value. - NOTE 1: Shall be present if the "notificationStatus" is set to "RESULT", + NOTE 1: Shall be present if the "notificationStatus" is set to "RESULT", the "verbosity" attribute is set to "FULL" and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the NS LCM operation occurrence and by any of the error handling procedures for that operation occurrence. - NOTE 2: In case of failure in feasibility checking, additional information on + NOTE 2: In case of failure in feasibility checking, additional information on the failure shall be reported in the "error" attribute of the NsLcmOperationOccurrenceNotification structure along with the result. @@ -254,16 +254,16 @@ definitions: of an NS LCM operation which will cause the LCM operation to be not successfully completed, or which will trigger the automatic executing of an LCM operation to reduce the resource consumption of one or more NS instances to resolve a resource shortage situation. The shortage conditions include: - • Necessary resources could not be allocated during an LCM operation because of resource shortage which causes + • Necessary resources could not be allocated during an LCM operation because of resource shortage which causes the LCM operation to fail. - • An LCM operation on an NS instance with higher priority pre-empted an LCM operation on NS instance with lower + • An LCM operation on an NS instance with higher priority pre-empted an LCM operation on NS instance with lower priority because of resource shortage. - • An LCM operation on an NS instance with higher priority pre-empted an existing NS instance. Resources were + • An LCM operation on an NS instance with higher priority pre-empted an existing NS instance. Resources were de-allocated from the lower priority NS instance to allow the LCM operation on a higher priority NS instance. - • The resource capacity shortage situation has ended, and it can be expected that an LCM operation that had + • The resource capacity shortage situation has ended, and it can be expected that an LCM operation that had failed could succeed now if retried. - NOTE: ETSI GS NFV-IFA 013 [x] defines further shortage situations. + NOTE: ETSI GS NFV-IFA 013 [x] defines further shortage situations. These are not supported by the present version of the present document. This notification shall also be triggered by the NFVO when a shortage condition has ended that has previously @@ -283,7 +283,7 @@ definitions: (“status“ = "LCM_SHORTAGE_END") which are pointed by "affectedNsId" in the list of "affectedOpOccs" structure can have the operations retried again (which needs a request by the OSS/BSS). - NOTE 1: The present version of the present document supports only the resource shortage status enumeration + NOTE 1: The present version of the present document supports only the resource shortage status enumeration values “LCM_RESOURCES_NOT_AVAILABLE” and “LCM_SHORTAGE_END” which represent a subset of the trigger conditions defined in clause 8.3.5.2 of ETSI GS NFV-IFA 013 [x]. type: object @@ -331,9 +331,9 @@ definitions: description: > Indicates the situation of capacity shortage. Permitted values: - - LCM_RESOURCES_NOT_AVAILABLE: the lifecycle operation identified by the nsLcmOpOccId attribute could not + - LCM_RESOURCES_NOT_AVAILABLE: the lifecycle operation identified by the nsLcmOpOccId attribute could not be completed because necessary resources were not available. - - LCM_SHORTAGE_END: the shortage situation which has caused the lifecycle management operation identified + - LCM_SHORTAGE_END: the shortage situation which has caused the lifecycle management operation identified by the nsLcmOpOccId attribute to fail has ended. type: string enum: @@ -343,7 +343,7 @@ definitions: description: > Indicates whether this notification reports about a resource shortage or NFV-MANO capacity or performance shortage. Permitted values: - - RESOURCE_SHORTAGE: the notification reports a resource shortage. + - RESOURCE_SHORTAGE: the notification reports a resource shortage. Shall be present when a resources shortage situation has been identified starts and the notification is sent with “status“ = “LCM_RESOURCES_NOT_AVAILABLE“ and shall be absent otherwise. @@ -376,9 +376,9 @@ definitions: affected by the resource shortage. Permitted values: - - PRE_EMPTED: the operation was pre-empted and the "operationState" = "FAILED_TEMP” of the NsLcmOpOcc + - PRE_EMPTED: the operation was pre-empted and the "operationState" = "FAILED_TEMP” of the NsLcmOpOcc structure identified by "affectedOpOccId" attribute. - - TRIGGERED: the operation was triggered by NFVO and the “operationState” = "FAILED_TEMP” of the + - TRIGGERED: the operation was triggered by NFVO and the “operationState” = "FAILED_TEMP” of the NsLcmOpOcc structure identified by "affectedOpOccId" attribute. In case the notification indicates the end of a shortage condition (“status“ = "LCM_SHORTAGE_END"), diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index 28ba568..a4820f7 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -96,7 +96,7 @@ paths: The following attributes shall be excluded from the PmJob structure in the response body if this parameter is provided, or none of the parameters "all_fields", "fields", "exclude_fields", "exclude_default" are provided: - - Reports + - Reports schema: type: string - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker diff --git a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml index db1d553..a2ab4dd 100644 --- a/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml +++ b/src/SOL005/NSPerformanceManagementNotification/NSPerformanceManagementNotification.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V4.3.1 diff --git a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml index ec48701..385ca06 100644 --- a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml @@ -59,11 +59,11 @@ paths: The NFVO shall support this parameter. The following attributes shall be excluded from the VnfPkgInfo structure in the response body if this parameter is provided, or none of the parameters "all_fields", "fields", "exclude_fields", "exclude_default" are provided: - - softwareImages - - additionalArtifacts - - userDefinedData - - checksum - - onboardingFailureDetails + - softwareImages + - additionalArtifacts + - userDefinedData + - checksum + - onboardingFailureDetails schema: type: string - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker @@ -160,11 +160,11 @@ paths: description: | The DELETE method deletes an individual VNF Package resource. See clause 9.4.3.3.5. A VNF Package may only be deleted once: - • there are no VNFs using it, - • there are no NSs using it, - • there are no NSDs referencing to it which have a value of "strict NSD constituent onboarding" set to True, and - • the operational state is DISABLED. - NOTE: An NS instance can be using a VNF Package even if no VNF instance is using it if the VNF is part of the selected NS deployment flavour but the current NS scale level determines zero instances for the VNF. + • there are no VNFs using it, + • there are no NSs using it, + • there are no NSDs referencing to it which have a value of "strict NSD constituent onboarding" set to True, and + • the operational state is DISABLED. + NOTE: An NS instance can be using a VNF Package even if no VNF instance is using it if the VNF is part of the selected NS deployment flavour but the current NS scale level determines zero instances for the VNF. responses: "204": $ref: '#/components/responses/IndividualVnfPackage.Delete.204' diff --git a/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index d0c0b8a..6ad48ad 100644 --- a/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL005/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -16,7 +16,7 @@ info: license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - version: 2.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + version: 2.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 externalDocs: description: ETSI GS NFV-SOL 005 V4.3.1 diff --git a/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml b/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml index ddf1716..c950661 100644 --- a/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml +++ b/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml @@ -96,10 +96,10 @@ paths: The following attributes shall be excluded from the VnfSnapshotPkgInfo structure in the response body if this parameter is provided, or none of the parameters "all_fields", "fields", "exclude_fields", "exclude_default" are provided: - - vnfcSnapshotImages - - additionalArtifacts - - userDefinedData - - checksum + - vnfcSnapshotImages + - additionalArtifacts + - userDefinedData + - checksum schema: type: string - $ref: ../components/SOL005_params.yaml#/components/parameters/nextpage_opaque_marker diff --git a/src/SOL005/definitions/SOL005_def.yaml b/src/SOL005/definitions/SOL005_def.yaml index 1596347..70ad19e 100644 --- a/src/SOL005/definitions/SOL005_def.yaml +++ b/src/SOL005/definitions/SOL005_def.yaml @@ -298,7 +298,7 @@ definitions: AdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which - is available from the VIM or the CISM or the resource providers. + is available from the VIM or the CISM or the resource provider. NOTE: At least one attribute shall be present. type: object properties: -- GitLab From 5de335a210de4c3399bafd1505442b85454ec877 Mon Sep 17 00:00:00 2001 From: piscione Date: Mon, 25 Jul 2022 11:29:52 +0200 Subject: [PATCH 22/34] Addressed comments SOL005 --- .../SOL005NSLifecycleManagement_def.yaml | 39 +++++++++++++------ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index e9668f9..2dc1e65 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -410,6 +410,16 @@ definitions: INSTANTIATED state). $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" + + McioTypeName: + description: + The present type definition provides valid String values for the "mcioType" attribute of the "McioInfo" + data type, and the valid values are defined in table 6.5.4.13-1. + type: string + enum: + - Deployment + - Statefulset + VnfInstance: description: > This type represents a VNF instance. It shall comply with the provisions defined in table 6.5.3.57-1. @@ -813,6 +823,16 @@ definitions: type: boolean McioInfo: + description: + 'This type provides information about an MCIO representing the set of VNFC instances realized by one or a set of + OS containers which have been created based on the same VDU. + + NOTE 1 The type of MCIO as specified in the declarative descriptor of the MCIO, and that can be read from the CISM. + EXAMPLE: In case of MCIOs managed by Kubernetes, the type of MCIO corresponds to the “kind” property of the declarative descriptor. + NOTE 2 If the attribute additionalInfo is present, it may contain runtime information on the actual and desired state of the MCIO(s). + NOTE 3 When the container infrastructure service is a Kubernetes® instance, the mcioId is the combined values from the kind + and name fields of the Kubernetes® resource object, separated by a slash. Example: "Deployment/abcd". + NOTE 4 When the container infrastructure service is a Kubernetes® instance, the mcioName is the name field of the resource object.' type: object required: - mcioId @@ -823,16 +843,7 @@ definitions: - mcioType - desiredInstances - availableInstances - description: - 'This type provides information about an MCIO representing the set of VNFC instances realized by one or a set of - OS containers which have been created based on the same VDU. - NOTE 1 The type of MCIO as specified in the declarative descriptor of the MCIO, and that can be read from the CISM. - EXAMPLE In case of MCIOs managed by Kubernetes, the type of MCIO corresponds to the “kind” property of the declarative descriptor. - NOTE 2 If the attribute additionalInfo is present, it may contain runtime information on the actual and desired state of the MCIO(s). - NOTE 3 When the container infrastructure service is a Kubernetes® instance, the mcioId is the combined values from the kind - and name fields of the Kubernetes® resource object, separated by a slash. Example: "Deployment/abcd". - NOTE 4 When the container infrastructure service is a Kubernetes® instance, the mcioName is the name field of the resource object.' properties: mcioId: description: > @@ -2006,6 +2017,12 @@ definitions: description: > This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. + This feature addresses the following capabilities: + • NFV Architecture support for VNFs which follow “cloud-native” design principles. + • Enhance NFV-MANO capabilities to support container technologies. + • Enhance NFV-MANO capabilities for container management and orchestration. + • Enhance information model for containerized VNFs both using bare metal or nested virtualization technologies. + NOTE 1: ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 2: A VNFC CP is "connected to" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP @@ -2046,7 +2063,7 @@ definitions: The value refers to a VirtualStorageResourceInfo item in the VnfInstance. type: array items: - $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnf" reservationId: description: > The reservation identifier applicable to the resource. It shall be @@ -2971,8 +2988,6 @@ definitions: checking is performed and based on the procedure result, resources are reserved as part of the feasibility check, and the actual Update NS operation is performed using the resources reserved during the feasibility checking procedure execution, and at the time indicated by the "updateTime" attribute, if provided. - - type: object required: - updateType -- GitLab From 41911e58bd7ed366bbabbbcd90473b821c587e1e Mon Sep 17 00:00:00 2001 From: piscione Date: Mon, 25 Jul 2022 14:54:57 +0200 Subject: [PATCH 23/34] Solved other comments related to SOL005 updates. --- .../NFVICapacityInformation.yaml | 26 +++++ src/SOL005/NSDManagement/NSDManagement.yaml | 49 +++++++++ .../SOL005NSDescriptorManagement_def.yaml | 26 ++--- .../NSFaultManagement/NSFaultManagement.yaml | 24 +++++ .../NSLifecycleManagement.yaml | 101 +++++++++++++++++- .../SOL005NSLifecycleManagement_def.yaml | 42 +++++--- .../NSPerformanceManagement.yaml | 49 +++++++++ .../VNFPackageManagement.yaml | 71 +++++++++++- .../VNFSnapshotPackageManagement.yaml | 48 +++++++++ src/SOL005/responses/SOL005_resp.yaml | 6 -- 10 files changed, 403 insertions(+), 39 deletions(-) diff --git a/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml b/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml index 562daab..0236442 100644 --- a/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml +++ b/src/SOL005/NFVICapacityInformation/NFVICapacityInformation.yaml @@ -592,11 +592,37 @@ components: explode: false schema: type: string + Etag: + description: The Etag of the response header. + style: simple + explode: false + schema: + type: string + Last-Modified: + description: The Etag of the response header. + style: simple + explode: false + schema: + type: string + If-Unmodified-Since: + description: The If-Unmodified-Since of the response header. Available if in the previous response Last-Modified or ETag header was sent. + style: simple + explode: false + schema: + type: string + If-Match: + description: The If-Match of the response header. Available if in the previous response Last-Modified or ETag header was sent. + style: simple + explode: false + schema: + type: string + content: application/json: schema: $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThresholdModifications + IndividualCapacityThreshold.Patch.412: description: | 412 PRECONDITION FAILED diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index a6b157c..63e6fca 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -1376,10 +1376,35 @@ components: explode: false schema: type: string + Etag: + description: The Etag of the response header. + style: simple + explode: false + schema: + type: string + Last-Modified: + description: The Etag of the response header. + style: simple + explode: false + schema: + type: string + If-Unmodified-Since: + description: The If-Unmodified-Since of the response header. Available if in the previous response Last-Modified or ETag header was sent. + style: simple + explode: false + schema: + type: string + If-Match: + description: The If-Match of the response header. Available if in the previous response Last-Modified or ETag header was sent. + style: simple + explode: false + schema: + type: string content: application/json: schema: $ref: "definitions/SOL005NSDescriptorManagement_def.yaml#/definitions/NsdInfoModifications" + IndividualNSDescriptor.Patch.409: description: | @@ -1710,6 +1735,30 @@ components: explode: false schema: type: string + Etag: + description: The Etag of the response header. + style: simple + explode: false + schema: + type: string + Last-Modified: + description: The Etag of the response header. + style: simple + explode: false + schema: + type: string + If-Unmodified-Since: + description: The If-Unmodified-Since of the response header. Available if in the previous response Last-Modified or ETag header was sent. + style: simple + explode: false + schema: + type: string + If-Match: + description: The If-Match of the response header. Available if in the previous response Last-Modified or ETag header was sent. + style: simple + explode: false + schema: + type: string NsdArchiveContent.Put.409: description: | diff --git a/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml b/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml index b85226f..00ebaea 100644 --- a/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml +++ b/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml @@ -28,6 +28,18 @@ definitions: $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" NsdInfo: + description: + 'This type represents a response for the query NSD operation. + NOTE 1: At least one of the attributes - vnfPkgId and nestedNsdInfoId shall be present, + after the NSD is on-boarded. + NOTE 2: If the value of the nsdOnboardingState attribute is not equal to "ONBOARDED", + the value of the nsdOperationalState attribute shall be equal to "DISABLED". + NOTE 3: If the value of the nsdOnboardingState attribute is not equal to "ONBOARDED", + the value of the nsdUsageState attribute shall be equal to "NOT_IN_USE". + NOTE 4: State changes of an NSD are illustrated in clause B.2. + NOTE 5: This attribute shall be present after the NSD is on-boarded for those VNF packages that are already on-boarded. + NOTE 6: This attribute shall be present after the NSD is on-boarded for those PNFDs that are already on-boarded. + NOTE 7: This attribute shall be present after the NSD is on-boarded for those nested NSDs that are already on-boarded.' type: object anyOf: - required: @@ -45,16 +57,6 @@ definitions: description: > Identifier of the on boarded individual NS descriptor resource. This identifier is allocated by the NFVO. - NOTE 1: At least one of the attributes - vnfPkgId and nestedNsdInfoId shall be present, - after the NSD is on-boarded. - NOTE 2: If the value of the nsdOnboardingState attribute is not equal to "ONBOARDED", - the value of the nsdOperationalState attribute shall be equal to "DISABLED". - NOTE 3: If the value of the nsdOnboardingState attribute is not equal to "ONBOARDED", - the value of the nsdUsageState attribute shall be equal to "NOT_IN_USE". - NOTE 4: State changes of an NSD are illustrated in clause B.2. - NOTE 5: This attribute shall be present after the NSD is on-boarded for those VNF packages that are already on-boarded. - NOTE 6: This attribute shall be present after the NSD is on-boarded for those PNFDs that are already on-boarded. - NOTE 7: This attribute shall be present after the NSD is on-boarded for those nested NSDs that are already on-boarded. $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" nsdId: description: > @@ -116,7 +118,7 @@ definitions: Identifies the NsdInfo element for the nested NSD referenced by the on-boarded NS descriptor resource. - See notes 1 and 6. + See notes 1 and 7. type: array items: $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier" @@ -192,8 +194,6 @@ definitions: description: > Link to the NSD content resource. $ref: "../../definitions/SOL005_def.yaml#/definitions/Link" - description: > - This type represents a response for the query NSD operation. CreateNsdInfoRequest: type: object diff --git a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml index 2e28869..caf1223 100644 --- a/src/SOL005/NSFaultManagement/NSFaultManagement.yaml +++ b/src/SOL005/NSFaultManagement/NSFaultManagement.yaml @@ -440,6 +440,30 @@ components: explode: false schema: type: string + Etag: + description: The Etag of the response header. + style: simple + explode: false + schema: + type: string + Last-Modified: + description: The Etag of the response header. + style: simple + explode: false + schema: + type: string + If-Unmodified-Since: + description: The If-Unmodified-Since of the response header. Available if in the previous response Last-Modified or ETag header was sent. + style: simple + explode: false + schema: + type: string + If-Match: + description: The If-Match of the response header. Available if in the previous response Last-Modified or ETag header was sent. + style: simple + explode: false + schema: + type: string content: application/json: schema: diff --git a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml index fca46b4..d7f8c98 100644 --- a/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml +++ b/src/SOL005/NSLifecycleManagement/NSLifecycleManagement.yaml @@ -203,7 +203,24 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization post: description: | - The POST method instantiates an NS instance. See clause 6.4.4.3.1. + The POST method instantiates an NS instance. + In case of the "feasibilityCheckReserve" attribute is present, the method + runs the feasibility check procedure for an NS instantiation scheduled + operation or runs the feasibility checking procedure followed by the + execution of the subsequent (actual) NS instantiation operation. + This method shall follow the provisions specified in the tables 6.4.4.3.1-1 + and 6.4.4.3.1-2 for URI query parameters, request and response data + structures, and response codes. + The steps and conditions that apply as the result of successfully executing + this method are specified in clause 6.4.1.2. + Before the NFVO initiates the "Instantiate NS" operation it shall verify + (if not already done previously when onboarding the NSD) that all descriptors + referenced in the selected NS deployment flavour, or a respective + overriding descriptor indicated in the operation, are already on-boarded. + In addition, once the NFVO has successfully completed the underlying NS LCM + operation occurrence, it shall set the "nsState" attribute to the value + "INSTANTIATED" in the representation of the "Individual NS instance" resource. + parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType @@ -281,7 +298,30 @@ paths: - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization post: description: | - The POST method updates an NS instance. See clause 6.4.6.3.1. + The POST method updates an NS instance. + In case of the "feasibilityCheckReserve" attribute is present, + the NFVO runs the feasibility check procedure for an NS updating + scheduled operation or runs the feasibility checking procedure + followed by the execution of the subsequent (actual) NS updating + operation. + This method shall follow the provisions specified in the tables + 6.4.6.3.1-1 and 6.4.6.3.1-2 for URI query parameters, request + and response data structures, and response codes. + The steps and conditions that apply as the result of successfully + executing this method are specified in clause 6.4.1.2. + If the "Update NS" operation involves adding a VNF instance, a + nested NS instance or a PNF to the NS instance, changing an NS + or VNF deployment flavour, or changing the associated NSD descriptor + or a current VNF package, the NFVO shall, before it initiates the + operation, verify (if not already done previously when onboarding + the NSD) that all descriptors referenced in the selected NS + deployment flavour, or a respective overriding descriptor indicated + in the operation, are already on-boarded. + In addition, once the NFVO has successfully completed the underlying + NS LCM operation occurrence, it shall reflect the result of the update + of the NS instance by updating the representation of the "Individual + NS instance" resource accordingly to the update. + parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType @@ -494,8 +534,7 @@ paths: $ref: '#/components/requestBodies/NsLcmInfoModificationRequest' responses: "204": - $ref: ../responses/SOL005_resp.yaml#/components/responses/204 - description: Shall be returned when the "Individual NS LCM operation occurrence" resource has been changed successfully. + $ref: '#/components/responses/NsLcmOpOccs.Patch.204' "400": $ref: ../responses/SOL005_resp.yaml#/components/responses/400 "401": @@ -2620,4 +2659,56 @@ components: explode: false schema: type: string - content: {} \ No newline at end of file + content: {} + + NsLcmOpOccs.Patch.204: + description: | + 204 No Content + Shall be returned when the "Individual NS LCM operation occurrence" resource has been changed successfully. + The response body shall be empty. + headers: + Version: + description: | + Version of the API used in the response. + style: simple + explode: false + schema: + type: string + WWW-Authenticate: + description: | + Challenge if the corresponding HTTP request has not provided authorization, or error details if the + corresponding HTTP request has provided an invalid authorization token. + style: simple + explode: false + schema: + type: string + Content-Type: + description: The MIME type of the body of the response. + style: simple + explode: false + schema: + type: string + Etag: + description: The Etag of the response header. + style: simple + explode: false + schema: + type: string + Last-Modified: + description: The Etag of the response header. + style: simple + explode: false + schema: + type: string + If-Unmodified-Since: + description: The If-Unmodified-Since of the response header. Available if in the previous response Last-Modified or ETag header was sent. + style: simple + explode: false + schema: + type: string + If-Match: + description: The If-Match of the response header. Available if in the previous response Last-Modified or ETag header was sent. + style: simple + explode: false + schema: + type: string \ No newline at end of file diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 2dc1e65..ac9329d 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -2601,7 +2601,7 @@ definitions: additional parameters apply. $ref: "#/definitions/IdentifierInNsd" - overridingNsdId: + overridingVnfdId: description: > Reference to a VNFD. If present it replaces the vnfdId indicated in the referenced @@ -2625,7 +2625,9 @@ definitions: the new versionDependency is added to the runtime information that the NFVO keeps about the profile. See note 3. - $ref: "#/definitions/OverridingVersionDependency" + type: array + items: + $ref: "#/definitions/OverridingVersionDependency" vnfInstanceName: @@ -2837,9 +2839,8 @@ definitions: Identifier of an NsProfile defined in the NSD which the existing nested NS instance shall be matched with. If not present, the NFVO will select the NsProfile matching the information in the nested NS instance. See note 1. - $ref: "#/definitions/IdentifierInNsd" - overridingVnfdId: + overridingNsddId: description: > Reference to an NSD. It replaces the nsdId indicated in the nsProfileId. @@ -3424,7 +3425,6 @@ definitions: An example can be a constraint for the VNF to be in a specific geographic location. $ref: "#/definitions/VnfLocationConstraint" - overridingVnfdId: description: > Reference to a VNFD. @@ -3450,7 +3450,7 @@ definitions: If no versionDependency with the dependentConstituentId indicated in the overridingVersionDependency exists in the VnfProfile, NsProfile or PnfProfile, the new version Dependency is added to the runtime - information that the NFVO keeps about the profile. + information that the NFVO keeps about the profile. See note 9. type: array @@ -5616,6 +5616,11 @@ definitions: CpProtocolData: description: > This type represents network protocol data. + + NOTE: This attribute allows to signal the addition of further types + of layer and protocol in future versions of the present document in + a backwards-compatible way. In the current version of the present + document, only IP over Ethernet is supported. type: object required: - layerProtocol @@ -5650,7 +5655,8 @@ definitions: VirtualCpAddressData: description: > - This type represents network address data for a virtual CP. It shall comply with the provisions defined in table 6.5.3.12a-1. + This type represents network address data for a virtual CP. + It shall comply with the provisions defined in table 6.5.3.12a-1. type: object required: - type @@ -7568,7 +7574,8 @@ definitions: - SHORT VersionDependency: description: > - This type represents the information related to all dependencies that an NSD constituent has on the versions of other NSD constituents. It shall comply with the provisions defined in table 6.5.3.112-1. + This type represents the information related to all dependencies that an NSD constituent has on the versions of other NSD constituents. + It shall comply with the provisions defined in table 6.5.3.112-1. type: object required: - dependentConstituentId @@ -7579,19 +7586,28 @@ definitions: $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInNsd" versionDependencyStatement: description: > - Identifies one or multiple versions of an NSD constituents upon which the dependent constituent identified by dependentConstituentId has a dependency. Cardinality 0 is used to remove an existing version dependency in a profile. + Identifies one or multiple versions of an NSD constituents upon which the dependent constituent identified by + dependentConstituentId has a dependency. Cardinality 0 is used to remove an existing version dependency in a profile. type: array items: $ref: "#/definitions/VersionDependencyStatement" VersionDependencyStatement: description: > - This type represents the information related to one or more VNF, NS or PNF descriptor identifiers which describe one single dependency. When more than one descriptor is indicated, they correspond to different versions of the same VNF, NS or PNF and they represent alternatives to fulfil the dependency. It shall comply with the provisions defined in table 6.5.3.113-1. + This type represents the information related to one or more VNF, NS or PNF descriptor identifiers which describe one + single dependency. When more than one descriptor is indicated, they correspond to different versions of the same VNF, + NS or PNF and they represent alternatives to fulfil the dependency. It shall comply with the provisions defined in + table 6.5.3.113-1. type: object required: - descriptorId properties: descriptorId: - $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInNsd" + description: Identifies a VNFD, NSD or PNFD upon which the entity using this information element depends. + When more than one descriptor is indicated, they shall correspond to versions of the same VNF, NS or PNF + and they represent. alternatives, i.e. the presence of one of them fulfills the dependency. + type: array + items: + $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInNsd" TerminateVnfData: description: > This type represents the information to terminate a VNF that is part of an NS. @@ -7809,9 +7825,9 @@ definitions: CollectorDetails: description: > - TThis type represents the information about where the mirrored flow is to be delivered. + This type represents the information about where the mirrored flow is to be delivered. It shall comply with the provisions defined in table 6.5.3.103-1. - Note: The collector which is attached to this port can be a virtual machine that uses the mirrored + NOTE: The collector which is attached to this port can be a virtual machine that uses the mirrored data for analysis purpose. The collector is not managed by VIM. type: object required: diff --git a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml index a4820f7..e837c4c 100644 --- a/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml +++ b/src/SOL005/NSPerformanceManagement/NSPerformanceManagement.yaml @@ -1058,6 +1058,31 @@ components: explode: false schema: type: string + Etag: + description: The Etag of the response header. + style: simple + explode: false + schema: + type: string + Last-Modified: + description: The Etag of the response header. + style: simple + explode: false + schema: + type: string + If-Unmodified-Since: + description: The If-Unmodified-Since of the response header. Available if in the previous response Last-Modified or ETag header was sent. + style: simple + explode: false + schema: + type: string + If-Match: + description: The If-Match of the response header. Available if in the previous response Last-Modified or ETag header was sent. + style: simple + explode: false + schema: + type: string + content: application/json: schema: @@ -1371,6 +1396,30 @@ components: explode: false schema: type: string + Etag: + description: The Etag of the response header. + style: simple + explode: false + schema: + type: string + Last-Modified: + description: The Etag of the response header. + style: simple + explode: false + schema: + type: string + If-Unmodified-Since: + description: The If-Unmodified-Since of the response header. Available if in the previous response Last-Modified or ETag header was sent. + style: simple + explode: false + schema: + type: string + If-Match: + description: The If-Match of the response header. Available if in the previous response Last-Modified or ETag header was sent. + style: simple + explode: false + schema: + type: string content: application/json: schema: diff --git a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml index 385ca06..4054387 100644 --- a/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL005/VNFPackageManagement/VNFPackageManagement.yaml @@ -164,7 +164,8 @@ paths: • there are no NSs using it, • there are no NSDs referencing to it which have a value of "strict NSD constituent onboarding" set to True, and • the operational state is DISABLED. - NOTE: An NS instance can be using a VNF Package even if no VNF instance is using it if the VNF is part of the selected NS deployment flavour but the current NS scale level determines zero instances for the VNF. + NOTE: An NS instance can be using a VNF Package even if no VNF instance is using it if the VNF is part of the + selected NS deployment flavour but the current NS scale level determines zero instances for the VNF. responses: "204": $ref: '#/components/responses/IndividualVnfPackage.Delete.204' @@ -417,7 +418,24 @@ paths: put: description: | The PUT method uploads the content of a VNF package. - See clause 9.4.5.3.3. + This method shall follow the provisions specified in the tables 9.4.5.3.3-1 + and 9.4.5.3.3-2 for URI query parameters, request and response data structures, + and response codes. + Upon start of the upload of the package, the NFVO shall set the "onboardingState" + attribute in the "VnfPkgInfo" structure to "UPLOADING". Upon successful upload of + the package, if the package references external artifacts, the NFVO shall obtain + the external artifacts. Subsequently, upon success, the NFVO shall set that attribute + to "PROCESSING" and shall process the package, which shall include checking package + consistency. + Upon successful processing, the NFVO shall set the "onboardingState" attribute to + "ONBOARDED", the "operationalState" attribute to "ENABLED", and the "usageState" + attribute to "NOT_IN_USE". In addition, the NFVO shall set the value of the attributes + in the "VnfPkgInfo" that are copied from the VNFD (refer to clause 9.5.2.5). + If an error occurs during uploading the package, downloading the external artifacts or + processing the package, the NFVO shall set the "onboardingState" attribute to "ERROR" + and shall populate the "onboardingFailureDetails" attribute in "VnfPkgInfo". + If there are on-boarded NSDs that refer to the VNFD included in this VNF Package, their + respective NsdInfo records are updated to refer to the on-boarded VNF Package. parameters: - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/ContentType @@ -1019,6 +1037,30 @@ components: explode: false schema: type: string + Etag: + description: The Etag of the response header. + style: simple + explode: false + schema: + type: string + Last-Modified: + description: The Etag of the response header. + style: simple + explode: false + schema: + type: string + If-Unmodified-Since: + description: The If-Unmodified-Since of the response header. Available if in the previous response Last-Modified or ETag header was sent. + style: simple + explode: false + schema: + type: string + If-Match: + description: The If-Match of the response header. Available if in the previous response Last-Modified or ETag header was sent. + style: simple + explode: false + schema: + type: string content: application/json: schema: @@ -1190,6 +1232,31 @@ components: explode: false schema: type: string + Etag: + description: The Etag of the response header. + style: simple + explode: false + schema: + type: string + Last-Modified: + description: The Etag of the response header. + style: simple + explode: false + schema: + type: string + If-Unmodified-Since: + description: The If-Unmodified-Since of the response header. Available if in the previous response Last-Modified or ETag header was sent. + style: simple + explode: false + schema: + type: string + If-Match: + description: The If-Match of the response header. Available if in the previous response Last-Modified or ETag header was sent. + style: simple + explode: false + schema: + type: string + content: application/json: schema: diff --git a/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml b/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml index c950661..f910123 100644 --- a/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml +++ b/src/SOL005/VNFSnapshotPackageManagement/VNFSnapshotPackageManagement.yaml @@ -856,6 +856,30 @@ components: explode: false schema: type: string + Etag: + description: The Etag of the response header. + style: simple + explode: false + schema: + type: string + Last-Modified: + description: The Etag of the response header. + style: simple + explode: false + schema: + type: string + If-Unmodified-Since: + description: The If-Unmodified-Since of the response header. Available if in the previous response Last-Modified or ETag header was sent. + style: simple + explode: false + schema: + type: string + If-Match: + description: The If-Match of the response header. Available if in the previous response Last-Modified or ETag header was sent. + style: simple + explode: false + schema: + type: string content: application/json: schema: @@ -1480,6 +1504,30 @@ components: explode: false schema: type: string + Etag: + description: The Etag of the response header. + style: simple + explode: false + schema: + type: string + Last-Modified: + description: The Etag of the response header. + style: simple + explode: false + schema: + type: string + If-Unmodified-Since: + description: The If-Unmodified-Since of the response header. Available if in the previous response Last-Modified or ETag header was sent. + style: simple + explode: false + schema: + type: string + If-Match: + description: The If-Match of the response header. Available if in the previous response Last-Modified or ETag header was sent. + style: simple + explode: false + schema: + type: string content: application/json: schema: diff --git a/src/SOL005/responses/SOL005_resp.yaml b/src/SOL005/responses/SOL005_resp.yaml index 9339ee9..8ef9393 100644 --- a/src/SOL005/responses/SOL005_resp.yaml +++ b/src/SOL005/responses/SOL005_resp.yaml @@ -35,12 +35,6 @@ components: maximum: 1 minimum: 1 - 204: - description: > - 204 No conteint - - - 206: description: > 206 PARTIAL CONTENT -- GitLab From ca9da15bdba417a6eac704f3049f84cd79c4c962 Mon Sep 17 00:00:00 2001 From: piscione Date: Tue, 26 Jul 2022 10:37:11 +0200 Subject: [PATCH 24/34] Minor fix --- .../SOL005NSLifecycleManagement_def.yaml | 29 ------------------- 1 file changed, 29 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index ac9329d..a5729bb 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -2369,21 +2369,7 @@ definitions: required: - nsFlavourId - - targetSizeNs properties: - targetSizeNs: - oneOf: - - required: - - nsInstantiationLevelId - - required: - - targetNsScaleLevelInfo - - required: - - defaultInstantiationLevel - - defaultInstantiationLevel: - description: > - Default instantiation level of NSD. See note 5. - $ref: "#/definitions/IdentifierInNsd" nsFlavourId: description: > Identifier of the NS deployment flavor to be instantiated. @@ -3490,22 +3476,7 @@ definitions: required: - vnfInstanceId - newFlavourId - - targetSizeNs properties: - targetSizeNs: - oneOf: - - required: - - instantiationLevelId - - required: - - targetScaleLevelInfo - - required: - - defaultInstantiationLevel - - defaultInstantiationLevel: - description: > - Default instantiation level of VNF. See note 3. - $ref: "#/definitions/IdentifierInNsd" - vnfInstanceId: description: > Identifier of the VNF instance to be modified. -- GitLab From fdc17a50c8a9aa3bc66c61d3fdc4cddc04099fa8 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 4 Aug 2022 17:56:14 +0200 Subject: [PATCH 25/34] fixed issues #24 #25 #26 --- .../SOL005NSLifecycleManagement_def.yaml | 68 +++++++++++++++---- 1 file changed, 54 insertions(+), 14 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index a5729bb..b9b4203 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -2752,10 +2752,15 @@ definitions: in the NSD with vnfProfileId, provided both have the same vnfdExtInvariantId. NOTE 3: A VnfProfile, NsProfile or PnfProfile may contain multiple VersionDependencies as it may describe the version dependencies of the descriptor referenced in the profile or of other descriptors with the same external invariant identifier. - NOTE 4: The overridingVersionDependency attribute may only be present if the overrridingVnfdId attribute is present. + NOTE 4: The overridingVersionDependency attribute may only be present if the overridingVnfdId attribute is present. type: object - required: - - vnfInstanceId + anyOf: + - required: + - vnfInstanceId + - required: + - vnfInstanceId + - overridingVnfdId + - overridingVersionDependency properties: vnfInstanceId: description: > @@ -2813,8 +2818,13 @@ definitions: NOTE 4: The overridingVersionDependency attribute may only be present if the overridingNsdId attribute is present. type: object - required: - - nestedNsInstanceId + anyOf: + - required: + - nestedNsInstanceId + - required: + - nestedNsInstanceId + - overridingNsdId + - overridingVersionDependency properties: nestedNsInstanceId: description: > @@ -3295,12 +3305,36 @@ definitions: NOTE 9: The overridingVersionDependency attribute may only be present if the overridingVnfdId attribute is present. type: object oneOf: - - required: - - vnfInstantiationLevelId - - required: - - targetScaleLevelInfo - - required: - - defaultInstantiationLevel + - anyOf: + - anyOf: + - required: + - vnfdId + - vnfFlavourId + - vnfInstantiationLevelId + - required: + - vnfdId + - vnfFlavourId + - vnfInstantiationLevelId + - overridingVnfdId + - overridingVersionDependency + - vnfProfileId + - required: + - vnfdId + - vnfFlavourId + - required: + - vnfdId + - vnfFlavourId + - overridingVnfdId + - overridingVersionDependency + - vnfProfileId + - anyOf: + - required: + - vnProfileId + - required: + - overridingVnfdId + - overridingVersionDependency + - vnfProfileId + properties: defaultInstantiationLevel: description: > @@ -5869,9 +5903,15 @@ definitions: container infrastructure service is a Kubernetes® instance is a network attachment definition (NAD). type: object - required: - - vnfVirtualLinkDescId - - resourceId + anyOf: + - required: + - vnfVirtualLinkDescId + - resourceId + - required: + - vnfVirtualLinkDescId + - resourceId + - intCp + - netAttDefResourceData properties: extManagedVirtualLinkId: description: > -- GitLab From d029cd5c4c1fa80231ecd803bad048030792c814 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 4 Aug 2022 18:33:23 +0200 Subject: [PATCH 26/34] fixed issue #22 --- .../SOL005NSLifecycleManagement_def.yaml | 100 +++++++++++------- 1 file changed, 62 insertions(+), 38 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index b9b4203..a2eaa7d 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -2367,8 +2367,15 @@ definitions: and the actual NS instantiation operation is performed using the resources reserved during the feasibility checking procedure execution, and at the time indicated by the "startTime" attribute, if provided. - required: - - nsFlavourId + oneOf: + - required: + - nsFlavourId + - required: + - nsFlavourId + - nsInstantiationLevelId + - required: + - nsFlavourId + - targetNsScaleLevelInfo properties: nsFlavourId: description: > @@ -2754,9 +2761,12 @@ definitions: version dependencies of the descriptor referenced in the profile or of other descriptors with the same external invariant identifier. NOTE 4: The overridingVersionDependency attribute may only be present if the overridingVnfdId attribute is present. type: object - anyOf: + oneOf: - required: - vnfInstanceId + - required: + - vnfInstanceId + - overridingVnfdId - required: - vnfInstanceId - overridingVnfdId @@ -2818,9 +2828,12 @@ definitions: NOTE 4: The overridingVersionDependency attribute may only be present if the overridingNsdId attribute is present. type: object - anyOf: + oneOf: - required: - nestedNsInstanceId + - required: + - nestedNsInstanceId + - overridingNsdId - required: - nestedNsInstanceId - overridingNsdId @@ -3304,36 +3317,34 @@ definitions: dependencies of the descriptor referenced in the profile or of other descriptors with the same external invariant identifier. NOTE 9: The overridingVersionDependency attribute may only be present if the overridingVnfdId attribute is present. type: object + oneOf: - - anyOf: - - anyOf: - - required: - - vnfdId - - vnfFlavourId - - vnfInstantiationLevelId - - required: - - vnfdId - - vnfFlavourId - - vnfInstantiationLevelId - - overridingVnfdId - - overridingVersionDependency - - vnfProfileId - - required: - - vnfdId - - vnfFlavourId - - required: - - vnfdId - - vnfFlavourId - - overridingVnfdId - - overridingVersionDependency - - vnfProfileId - - anyOf: - - required: - - vnProfileId - - required: - - overridingVnfdId - - overridingVersionDependency - - vnfProfileId + - oneOf: + - required: + - vnfdId + - vnfFlavourId + - vnfInstantiationLevelId + - required: + - vnfdId + - vnfFlavourId + - vnfInstantiationLevelId + - overridingVnfdId + - overridingVersionDependency + - required: + - vnfdId + - vnfFlavourId + - required: + - vnfdId + - vnfFlavourId + - overridingVnfdId + - overridingVersionDependency + - oneOf: + - required: + - vnfProfileId + - required: + - vnfProfileId + - overridingVnfdId + - overridingVersionDependency properties: defaultInstantiationLevel: @@ -3507,9 +3518,18 @@ definitions: are not scalable, the default instantiation level as declared in the VNFD shall be used for instantiation. type: object - required: - - vnfInstanceId - - newFlavourId + oneOf: + - required: + - vnfInstanceId + - newFlavourId + - required: + - vnfInstanceId + - newFlavourId + - instantiationLevelId + required: + - vnfInstanceId + - newFlavourId + - targetScaleLevelInfo properties: vnfInstanceId: description: > @@ -5903,15 +5923,19 @@ definitions: container infrastructure service is a Kubernetes® instance is a network attachment definition (NAD). type: object - anyOf: + oneOf: - required: - vnfVirtualLinkDescId - resourceId - required: - vnfVirtualLinkDescId - resourceId - - intCp - netAttDefResourceData + - required: + - vnfVirtualLinkDescId + - resourceId + - netAttDefResourceData + - intCp properties: extManagedVirtualLinkId: description: > -- GitLab From 89af11d9923071e476fffa2b46e5567b9b261b3d Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 4 Aug 2022 18:46:06 +0200 Subject: [PATCH 27/34] fix --- .../definitions/SOL005NSLifecycleManagement_def.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index a2eaa7d..0172737 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -2766,7 +2766,7 @@ definitions: - vnfInstanceId - required: - vnfInstanceId - - overridingVnfdId + - overridingVnfdId - required: - vnfInstanceId - overridingVnfdId -- GitLab From 539c481d828f1407bde40353e15fe22d1df4e961 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 4 Aug 2022 18:56:54 +0200 Subject: [PATCH 28/34] fix --- .../definitions/SOL005NSLifecycleManagement_def.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 0172737..10dcd6d 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -3324,6 +3324,11 @@ definitions: - vnfdId - vnfFlavourId - vnfInstantiationLevelId + - required: + - vnfdId + - vnfFlavourId + - vnfInstantiationLevelId + - overridingVnfdId - required: - vnfdId - vnfFlavourId @@ -3333,6 +3338,10 @@ definitions: - required: - vnfdId - vnfFlavourId + - required: + - vnfdId + - vnfFlavourId + - overridingVnfdId - required: - vnfdId - vnfFlavourId @@ -3341,6 +3350,9 @@ definitions: - oneOf: - required: - vnfProfileId + - required: + - vnfProfileId + - overridingVnfdId - required: - vnfProfileId - overridingVnfdId -- GitLab From 484352b8910dd3d6e0da2971a859ea53be010a77 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 4 Aug 2022 18:57:38 +0200 Subject: [PATCH 29/34] fox --- .../definitions/SOL005NSLifecycleManagement_def.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 10dcd6d..8cffd4a 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -3538,7 +3538,7 @@ definitions: - vnfInstanceId - newFlavourId - instantiationLevelId - required: + - required: - vnfInstanceId - newFlavourId - targetScaleLevelInfo -- GitLab From fedc281d178f261a258fc239dfaf952efb0057e3 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 18 Aug 2022 09:43:37 +0000 Subject: [PATCH 30/34] Update Readme.md --- Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index 2d91c95..79f29dc 100644 --- a/Readme.md +++ b/Readme.md @@ -30,7 +30,7 @@ and the results will be stored in a `build/` directory in the project folder. ## How to raise issues -Change requests can be filed at [ETSI Forge Bugzilla](forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=62&product=NFV). Please report errors, bugs or other issues [here](https://forge.etsi.org/bugzilla/enter_bug.cgi?product=NFV). +Please report errors, bugs or other issues [here](https://forge.etsi.org/rep/nfv/SOL005/-/issues). ## How to contribute -- GitLab From 83d7de3d6c79471948d304aa2636bef1c8c69cf9 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 18 Aug 2022 10:07:56 +0000 Subject: [PATCH 31/34] Fixed userDefinedData into NsdInfoModifications (ref bugzilla 260) --- .../definitions/SOL005NSDescriptorManagement_def.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml b/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml index 00ebaea..a12578c 100644 --- a/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml +++ b/src/SOL005/NSDManagement/definitions/SOL005NSDescriptorManagement_def.yaml @@ -23,9 +23,7 @@ definitions: Modifications of the userDefinedData attribute in NsdInfo data type. See note. If present, these modifications shall be applied according to the rules of JSON Merge Patch (see IETF RFC 7396). - type: array - items: - $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" + $ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs" NsdInfo: description: @@ -689,4 +687,4 @@ definitions: is not-in-use. enum: - IN_USE - - NOT_IN_USE \ No newline at end of file + - NOT_IN_USE -- GitLab From 75cc45dcb782c893ff6dd855f031684baab4a4f6 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 18 Aug 2022 10:11:36 +0000 Subject: [PATCH 32/34] Fixed updateType into UpdateNsRequest (ref bugzilla 267) --- .../definitions/SOL005NSLifecycleManagement_def.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml index 8cffd4a..5a26c17 100644 --- a/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml +++ b/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml @@ -3043,7 +3043,7 @@ definitions: - MODIFY_VNF_INFORMATION - CHANGE_EXTERNAL_VNF_CONNECTIVITY - CHANGE_VNFPKG - - ADD SAP + - ADD_SAP - REMOVE_SAP - ADD_NESTED_NS - REMOVE_NESTED_NS @@ -7944,4 +7944,4 @@ definitions: collectorDetails: description: > New information about the destination where the mirrored flow is to be delivered. See note. - $ref: "#/definitions/CollectorDetails" \ No newline at end of file + $ref: "#/definitions/CollectorDetails" -- GitLab From 0abd3782c39d9f2fd6c3319aa75e21bf7bab152a Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 18 Aug 2022 10:14:54 +0000 Subject: [PATCH 33/34] fixed put nsd content archive requestBody (ref bugzilla 268) --- src/SOL005/NSDManagement/NSDManagement.yaml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index 63e6fca..acd9e97 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -287,6 +287,12 @@ paths: respective NsdInfo records are updated to refer to the on-boarded nested NSD. parameters: - $ref: '#/components/parameters/ContentTypeZip' + requestBody: + content: + application/zip: + schema: + type: string + format: binary responses: 202: $ref: '#/components/responses/NsdArchiveContent.Put.202' @@ -3186,4 +3192,4 @@ components: style: simple explode: false schema: - type: string \ No newline at end of file + type: string -- GitLab From 86c3df33406a0fe38c16a0372185f1b2b4adf550 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 18 Aug 2022 10:18:18 +0000 Subject: [PATCH 34/34] fixed DateTime type (ref bugzilla 270) --- src/SOL005/definitions/SOL005_def.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/SOL005/definitions/SOL005_def.yaml b/src/SOL005/definitions/SOL005_def.yaml index 70ad19e..9699ec9 100644 --- a/src/SOL005/definitions/SOL005_def.yaml +++ b/src/SOL005/definitions/SOL005_def.yaml @@ -12,6 +12,7 @@ definitions: description: > Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339. + type: string format: date-time Uri: @@ -484,4 +485,4 @@ definitions: description: > The token endpoint from which the access token can be obtained. Shall be present if it has not been provisioned out of band. - $ref: "#/definitions/Uri" \ No newline at end of file + $ref: "#/definitions/Uri" -- GitLab