From 3202703d9292d758d6828d0b25528ac146a9c083 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Wed, 13 Jan 2021 19:35:53 +0100 Subject: [PATCH 01/22] updated readme --- Readme.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Readme.md b/Readme.md index 59baacd0..2b31823c 100644 --- a/Readme.md +++ b/Readme.md @@ -1,14 +1,15 @@ # NFV SOL002 and SOL003 APIs This repository hosts the [OpenAPI](https://www.openapis.org/) specificatons and other documentation -for the APIs defined in ETSI NFV GSs [SOL002](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_NFV-SOL002v020701p.pdf) and [SOL003](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_nfv-sol003v020701p.pdf). +for the APIs defined in ETSI NFV GSs [SOL002](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.08.01_60/gs_NFV-SOL002v020801p.pdf) and +[SOL003](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.08.01_60/gs_nfv-sol003v020801p.pdf). The APIs described in this repository are defined for the following reference points: * `Or-Vnfm` * `Ve-vnfm` -**IMPORTANT: In case of discrepancies the published ETSI Group Specification takes precedence.** +**IMPORTANT: These [OpenAPI](https://www.openapis.org/) specifications are in development phase. In case of discrepancies the published ETSI Group Specification takes precedence.** More information at [NFV Solutions wiki](https://nfvwiki.etsi.org/index.php?title=NFV_Solutions). -- GitLab From 5784d120fc14044c7380558e8a0f4553bb7d5994 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Wed, 10 Feb 2021 09:45:33 +0100 Subject: [PATCH 02/22] SOL003_1->SOL003_61: implementation of differences between v2.7.1 and v2.8.1 --- src/SOL003/APIVersion/APIVersion.yaml | 4 +- .../VNFFaultManagement.yaml | 25 +- .../VNFFaultManagementNotification.yaml | 10 +- src/SOL003/VNFIndicator/VNFIndicator.yaml | 10 +- .../VNFIndicatorNotification.yaml | 6 +- .../VNFLifecycleManagement.yaml | 37 +- .../SOL003VNFLifecycleManagement_def.yaml | 575 ++++++++++++++++-- .../VNFLifecycleManagementNotification.yaml | 8 +- ...NFLifecycleManagementNotification_def.yaml | 211 +++++++ .../VNFLifecycleOperationGranting.yaml | 6 +- .../VNFLifecycleOperationGranting_def.yaml | 124 ++-- .../VNFPackageManagement.yaml | 219 +++++-- .../definitions/VNFPackageManagement_def.yaml | 49 +- .../VNFPackageManagementNotification.yaml | 8 +- .../VNFPackageManagementNotification_def.yaml | 18 +- .../VNFPerformanceManagement.yaml | 8 +- .../VNFPerformanceManagementNotification.yaml | 8 +- ...edResourcesQuotaAvailableNotification.yaml | 12 +- ...uotaAvailableNotificationNotification.yaml | 183 ++++++ ...AvailableNotificationNotification_def.yaml | 77 +++ .../SOL002SOL003VNFFaultManagement_def.yaml | 2 +- ...OL002SOL003VNFLifecycleManagement_def.yaml | 89 ++- ...002SOL003VNFPerformanceManagement_def.yaml | 41 +- 23 files changed, 1449 insertions(+), 281 deletions(-) create mode 100644 src/SOL003/VNFLifecycleManagementNotification/definitions/SOL003VNFLifecycleManagementNotification_def.yaml create mode 100644 src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/VirtualisedResourcesQuotaAvailableNotificationNotification.yaml create mode 100644 src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/definitions/VirtualisedResourcesQuotaAvailableNotificationNotification_def.yaml diff --git a/src/SOL003/APIVersion/APIVersion.yaml b/src/SOL003/APIVersion/APIVersion.yaml index 5076f848..a8b02c56 100644 --- a/src/SOL003/APIVersion/APIVersion.yaml +++ b/src/SOL003/APIVersion/APIVersion.yaml @@ -15,8 +15,8 @@ info: contact: name: "NFV-SOL WG" externalDocs: - description: ETSI GS NFV-SOL 003 V2.7.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf + description: ETSI GS NFV-SOL 003 V2.8.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.08.01_60/gs_NFV-SOL003v020801p.pdf schemes: - http - https diff --git a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml index 62292e43..9e4a11b9 100644 --- a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml @@ -25,8 +25,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 003 V2.7.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf + description: ETSI GS NFV-SOL 003 V2.8.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.08.01_60/gs_NFV-SOL003v020801p.pdf basePath: "/vnffm/v1" @@ -244,7 +244,7 @@ paths: patch: description: > Acknowledge Alarm. - This method modifies an individual alarm resource. + This method modifies an "Individual alarm" resource. This method shall follow the provisions specified in the tables 7.4.3.3.4-1 and 7.4.3.3.4-2 for URI query parameters, request and response data structures, and response codes. parameters: @@ -354,14 +354,14 @@ paths: for URI query parameters, request and response data structures, and response codes. As the result of successfully executing this method, a new "Individual subscription" resource as defined in clause 7.4.5 shall have been created. This method shall not trigger any notification. - Creation of two "Individual subscription" resources with the same callbackURI and the same filter + Creation of two "Individual subscription" resources with the same callback URI and the same filter can result in performance degradation and will provide duplicates of notifications to the NFVO, and might make sense only in very rare use cases. Consequently, the VNFM may either allow creating a new "Individual subscription" resource if another "Individual subscription" resource with the - same filter and callbackUri already exists (in which case it shall return the "201 Created" response code), + same filter and callback URI already exists (in which case it shall return the "201 Created" response code), or may decide to not create a duplicate "Individual subscription" resource (in which case it shall return a "303 See Other" response code referencing the existing "Individual subscription" resource with the - same filter and callbackUri). + same filter and callback URI). parameters: - name: FmSubscriptionRequest description: The VNF creation parameters @@ -431,17 +431,6 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/FmSubscription" 303: -# description: > -# 303 SEE OTHER -# -# Shall be returned when a subscription with the -# same callbackURI and the same filter already exists -# and the policy of the VNFM is to not create -# redundant subscriptions. -# The HTTP response shall include a "Location" -# HTTP header that contains the resource URI of the -# existing "Individual subscription" resource. -# The response body shall be empty. $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" @@ -525,7 +514,7 @@ paths: description: > 200 OK - The list of subscriptions has been queried successfully. + Shall be returned when the list of subscriptions has been queried successfully. The response body shall contain in an array the representations of all active subscriptions of the functional block that invokes the method, i.e. zero or more representations of FM subscriptions as defined in clause 7.5.2.3. diff --git a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index bf184d75..f7dbef92 100644 --- a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -25,8 +25,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 003 V2.7.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf + description: ETSI GS NFV-SOL 003 V2.8.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.08.01_60/gs_NFV-SOL003v020801p.pdf basePath: "/callback/v1" @@ -119,7 +119,7 @@ paths: get: description: > - The GET method allows the server to test the notification endpoint that is provided by the API consumer, + The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, e.g. during subscription. This method shall follow the provisions specified in the tables 7.4.6.3.2-1 and 7.4.6.3.2-2 for URI query parameters, request and response data structures, and response codes. @@ -254,7 +254,7 @@ paths: get: description: > - The GET method allows the server to test the notification endpoint that is provided by the API consumer, + The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, e.g. during subscription. This method shall follow the provisions specified in the tables 7.4.6.3.2-1 and 7.4.6.3.2-2 for URI query parameters, request and response data structures, and response codes. @@ -389,7 +389,7 @@ paths: get: description: > - The GET method allows the server to test the notification endpoint that is provided by the API consumer, + The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, e.g. during subscription. This method shall follow the provisions specified in the tables 7.4.6.3.2-1 and 7.4.6.3.2-2 for URI query parameters, request and response data structures, and response codes. diff --git a/src/SOL003/VNFIndicator/VNFIndicator.yaml b/src/SOL003/VNFIndicator/VNFIndicator.yaml index 13e161d6..b61130cb 100644 --- a/src/SOL003/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL003/VNFIndicator/VNFIndicator.yaml @@ -14,8 +14,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 003 V2.7.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf + description: ETSI GS NFV-SOL 003 V2.8.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.08.01_60/gs_NFV-SOL003v020801p.pdf basePath: "/vnfind/v1" @@ -407,14 +407,14 @@ paths: The POST method creates a new subscription. As the result of successfully executing this method, a new "Individual subscription" resource as defined in clause 8.4.6 shall have been created. This method shall not trigger any notification. - Creation of two "Individual subscription" resources with the same callbackURI and the same filter + Creation of two "Individual subscription" resources with the same callback URI and the same filter can result in performance degradation and will provide duplicates of notifications to the NFVO, and might make sense only in very rare use cases. Consequently, the VNFM may either allow creating a new "Individual subscription" resource if another "Individual subscription" resource with the - same filter and callbackUri already exists (in which case it shall return the "201 Created" response code), + same filter and callback URI already exists (in which case it shall return the "201 Created" response code), or may decide to not create a duplicate "Individual subscription" resource (in which case it shall return a "303 See Other" response code referencing the existing "Individual subscription" resource with the same - filter and callbackUri). + filter and callback URI). This method shall follow the provisions specified in the tables 8.4.5.3.1-1 and 8.4.5.3.1-2 for URI query parameters, request and response data structures, and response codes. parameters: diff --git a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml index e93597ed..fffec75b 100644 --- a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -25,8 +25,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 003 V2.7.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf + description: ETSI GS NFV-SOL 003 V2.8.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.08.01_60/gs_NFV-SOL003v020801p.pdf basePath: "/callback/v1" @@ -111,7 +111,7 @@ paths: get: description: > - The GET method allows the server to test the notification endpoint that is provided by the API consumer, + The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, e.g. during subscription. This method shall follow the provisions specified in the tables 8.4.7.3.2-1 and 8.4.7.3.2-2 for URI query parameters, request and response data structures, and response codes. diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 5c0768f1..74516fbe 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "1.4.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "1.5.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL003 - VNF Lifecycle Management interface description: > SOL003 - VNF Lifecycle Management interface definition @@ -25,8 +25,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 003 V2.7.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf + description: ETSI GS NFV-SOL 003 V2.8.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.08.01_60/gs_NFV-SOL003v020801p.pdf basePath: "/vnflcm/v1" @@ -52,15 +52,8 @@ paths: #SOL003 location: 5.4.2 post: description: > - Create VNF Identifier. - The POST method creates a new VNF instance resource. - This method shall follow the provisions specified in the tables 5.4.2.3.1-1 and 5.4.2.3.1-2 - for URI query parameters, request and response data structures, and response codes. - As the result of successfully executing this method, a new "Individual VNF instance" - resource as defined in clause 5.4.3 shall have been created, and the value of the - "instantiationState" attribute in the representation of that resource shall be "NOT_INSTANTIATED". - A notification of type VnfIdentifierCreationNotification shall be triggered as part of successfully - executing this method as defined in clause 5.5.2.18. + The POST method creates a new VNF instance resource based on a VNF package + that is onboarded and in "ENABLED" state. parameters: - name: createVnfRequest description: The VNF creation parameters @@ -1737,7 +1730,7 @@ paths: maximum: 1 minimum: 0 schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" + $ref: "./definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -1831,7 +1824,7 @@ paths: maximum: 1 minimum: 1 schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" + $ref: "./definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -2134,7 +2127,7 @@ paths: maximum: 1 minimum: 1 schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" + $ref: "./definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -2292,14 +2285,14 @@ paths: for URI query parameters, request and response data structures, and response codes. As the result of successfully executing this method, a new "Individual subscription" resource as defined in clause 5.4.3 shall have been created. This method shall not trigger any notification. - Creation of two "Individual subscription" resources with the same callbackURI and the same filter + Creation of two "Individual subscription" resources with the same callback URI and the same filter can result in performance degradation and will provide duplicates of notifications to the NFVO, and might make sense only in very rare use cases. Consequently, the VNFM may either allow creating an "Individual subscription" resource if another "Individual subscription" resource with the same - filter and callbackUri already exists (in which case it shall return the "201 Created" response code), + filter and callback URI already exists (in which case it shall return the "201 Created" response code), or may decide to not create a duplicate "Individual subscription" resource (in which case it shall return a "303 See Other" response code referencing the existing "Individual subscription" resource - with the same filter and callbackUri). + with the same filter and callback URI). parameters: - name: LccnSubscriptionRequest description: > @@ -2371,14 +2364,6 @@ paths: schema: $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription" 303: - #description: > - #303 SEE OTHER - - #Shall be returned if a subscription with the same callbackURI and the same filter already exists - #and the policy of the VNFM is to not create redundant subscriptions. - #The HTTP response shall include a "Location" HTTP header that contains the resource URI of the existing - #"Individual subscription" resource. - #The response body shall be empty. $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/303" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index 11b3331c..25fdd95f 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -82,12 +82,22 @@ definitions: set to true, auto-healing is currently enabled. If set to false, auto-healing is currently disabled. These configurable properties can be initialized with default values - from the VNFD (see note 4) or with values passed in the InstantiateVnfRequest - structure (see clause 5.5.2.4). - Configurable properties initialized with default values from the VNFD can be - updated with values passed in the InstantiateVnfRequest structure. + from the VNFD (see note 4). + Configurable properties can be modified with values passed in request + structures of certain LCM operations, such as the InstantiateVnfRequest + structure. Further, these configurable properties can be created, modified or deleted with the PATCH method. + + NOTE 4: Upon creation of the VnfInstance structure, the VNFM shall create + and initialize all child attributes of "vnfConfigurableProperties", "metadata" + and "extensions" that were declared in the VNFD with a defined initial value. + The defined initial values can be declared in the VNFD, and/or, in case of + "metadata", obtained from the "CreateVnfRequest" structure. Child attributes of + "vnfConfigurableProperties", "metadata" and "extensions" that have no defined + initial value shall not be created, in order to be consistent with the semantics + of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values + as deletion request. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" vimConnectionInfo: description: > @@ -179,7 +189,7 @@ definitions: by the VNFCs of the VNF instance. type: array items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcResourceInfo" + $ref: "#/definitions/VnfcResourceInfo" virtualLinkResourceInfo: description: > Information about the virtualised network resources used by the VLs @@ -205,7 +215,7 @@ definitions: The declaration of metadata in the VNFD can optionally contain the specification of initial values. The VNFM shall accept requests to write metadata that are not declared in the VNFD. These attributes can be initialized with default values from the VNFD or with values - passed in the CreateVnfRequest structure (see clause 5.5.2.3). + passed in the CreateVnfRequest structure (see clause 5.4.2.3.1). This attributeThese attributes can be created, modified or removed with the PATCH method. ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. @@ -218,28 +228,28 @@ definitions: extensions: description: > Additional VNF-specific attributes that affect the lifecycle management of this VNF instance. - These attributes represent values that are stored persistently in the VnfInstance structure - for consumption by the VNFM or the lifecycle management scripts during the execution of - VNF lifecycle management operations. - All extensions that are allowed for the VNF are declared in the VNFD. The declaration of an extension - in the VNFD contains information on whether its presence is optional or required, and optionally - can specify an initial value. See note 2 and note 4. The VNFM shall reject requests to write extension - attributes that are not declared in the VNFD with a "422 Unprocessable entity" error response as defined - in clause 6.4 of ETSI GS NFV-SOL 013. - Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified - attribute values can be considered during subsequent VNF lifecycle management operations, which means that + These attributes represent values that are stored persistently in the VnfInstance structure for + consumption by the VNFM or the lifecycle management scripts during the execution of VNF lifecycle + management operations. All extensions that are allowed for the VNF are declared in the VNFD. + The declaration of an extension in the VNFD contains information on whether its presence is optional + or required, and optionally can specify an initial value. See note 2 and note 4. The VNFM shall reject + requests to write extension attributes that are not declared in the VNFD with a "422 Unprocessable entity" + error response as defined in clause 6.4 of ETSI GS NFV- SOL 013. + Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified + attribute values can be considered during subsequent VNF lifecycle management operations, which means that the modified values can indirectly affect the configuration of the VNF instance. - These attributes can be initialized with default values from the VNFD or with values passed in the - InstantiateVnfRequest structure (see clause 5.5.2.4). - Attributes initialized with default values from the VNFD can be updated with values passed in the - InstantiateVnfRequest structure. + These attributes can be initialized with default values from the VNFD (see note 4). + These attributes can be updatedmodified with values passed in the request structures of certain LCM operations, + such as the InstantiateVnfRequest structure. Further, these attributes can be created, modified or deleted with the PATCH method. - Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes - of "vnfConfigurableProperties", "metadata" and "extensions" that were declared in the VNFD with - a defined initial value. Child attributes of "vnfConfigurableProperties", "metadata" and "extensions" - that have no declared initial value shall not be created, in order to be consistent with the semantics - of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion request. + NOTE 2: ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. + NOTE 4: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes + of "vnfConfigurableProperties", "metadata" and "extensions" that were declared in the VNFD with a defined initial + value. The defined initial values can be declared in the VNFD, and/or, in case of "metadata", obtained from the + "CreateVnfRequest" structure. Child attributes of "vnfConfigurableProperties", "metadata" and "extensions" that + have no declareddefined initial value shall not be created, in order to be consistent with the semantics of the + JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion request. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" _links: description: > @@ -333,6 +343,11 @@ definitions: extManagedVirtualLinks: description: > Information about internal VLs that are managed by the NFVO. + NOTE: 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. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" @@ -359,18 +374,15 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" extensions: description: > - If present, this attribute provides values for the "extensions" attribute - in "VnfInstance", as defined in clause 5.5.2.2. If an entry with the same - key exists in the VnfInstance data structure, the VNFM shall replace its - value with the value passed in the InstantiateVnfRequest data structure. + If present, this attribute provides modifications to the default values, as obtained + from the VNFD, of the "extensions" attribute in "VnfInstance", as defined in clause 5.5.2.2. + Provisions for handling extensions during the operation are defined in clause 5.4.4.3.1. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" vnfConfigurableProperties: description: > - This parameter provides values for the VNF configurable properties - attribute in the "VnfInstance", as defined in clause 5.5.2.2. - If an entry with the same key exists in the VnfInstance data structure, - the VNFM shall replace its value with the value passed in the - InstantiateVnfRequest data structure. + If present, this attribute provides modifications to the default values, as obtained from the VNFD, + of the "vnfConfigurableProperties" attribute in "VnfInstance", as defined in clause 5.5.2.2. + Provisions for handling configurable properties during the operation are defined in clause 5.4.4.3.1. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" ChangeVnfFlavourRequest: @@ -401,6 +413,11 @@ definitions: extManagedVirtualLinks: description: > Information about internal VLs that are managed by the NFVO. + + NOTE: 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. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" @@ -420,6 +437,18 @@ definitions: to the VNF being instantiated, as declared in the VNFD as part of "InstantiateVnfOpConfig". $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + extensions: + description: > + If present, this attribute provides modifications to the values of the "extensions" attribute in + "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling extensions during the operation, + are defined in clause 5.4.7.3.1. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + vnfConfigurableProperties: + description: > + If present, this attribute provides modifications to the values of the vnfConfigurableProperties" attribute + in "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling VNF configurable properties during + the operation, are defined in clause 5.4.7.3.1. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" TerminateVnfRequest: type: object @@ -581,19 +610,19 @@ definitions: description: > Modifications of the "vnfConfigurableProperties" attribute in "VnfInstance". If present, these modifications shall be applied - according to the rules of JSON Merge PATCH (see IETF RFC 7396). + according to the rules of JSON Merge Patch (see IETF RFC 7396). $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" metadata: description: > Modifications of the "metadata" attribute in "VnfInstance". If present, these modifications shall be applied according to the rules - of JSON Merge PATCH (see IETF RFC 7396). + of JSON Merge Patch (see IETF RFC 7396). $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" extensions: description: > Modifications of the "extensions" attribute in "VnfInstance". If present, these modifications shall be applied according to the rules - of JSON Merge PATCH (see IETF RFC 7396). + of JSON Merge Patch (see IETF RFC 7396). $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" vimConnectionInfo: description: > @@ -703,13 +732,477 @@ definitions: StopType: description: > - * FORCEFUL: The VNFM will stop the VNF immediately after accepting the + * FORCEFUL: The VNFM will stop the VNF instance immediately after accepting the request. - * GRACEFUL: The VNFM will first arrange to take the VNF out of service + * GRACEFUL: The VNFM will first arrange to take the VNF instance out of service after accepting the request. Once that operation is successful or once the timer value specified in the "gracefulStopTimeout" attribute - expires, the VNFM will stop the VNF. + expires, the VNFM will stop the VNF instance. type: string enum: - FORCEFUL - - GRACEFUL \ No newline at end of file + - GRACEFUL + + VnfcResourceInfo: + description: > + This type represents the information on virtualised compute and storage + resources used by a VNFC in a VNF instance. + type: object + required: + - id + - vduId + - computeResource + properties: + id: + description: > + Identifier of this VnfcResourceInfo instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + vduId: + description: > + Reference to the applicable VDU in the VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + computeResource: + description: > + Reference to the VirtualCompute resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + zoneId: + description: > + The identifier of the resource zone, as managed by the + resource management layer (typically, the VIM), where + the referenced VirtualCompute resource is placed. + Shall be provided if this information is available from the VIM. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + storageResourceIds: + description: > + References to the VirtualStorage resources. The value refers to a + VirtualStorageResourceInfo item in the VnfInstance. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + reservationId: + description: > + The reservation identifier applicable to the resource. It shall be + present when an applicable reservation exists. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfcCpInfo: + description: > + CPs of the VNFC instance. + Shall be present when that particular CP of the VNFC instance is exposed as + an external CP of the VNF instance or is connected to an external CP of the + VNF instance. See note 2. May be present otherwise. + + 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. + type: array + items: + type: object + required: + - id + - cpdId + properties: + id: + description: > + Identifier of this VNFC CP instance and the associated array + entry. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + cpdId: + description: > + Identifier of the VDU CPD, cpdId, in the VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfExtCpId: + description: > + Identifier of the related external CP. Shall be present when the VNFC CP is exposed + as an external CP of the VNF instance or connected to an external CP of the VNF instance + (see note 2) and shall be absent otherwise. + + 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. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + cpProtocolInfo: + description: > + Network protocol information for this CP. + May be omitted if the VNFC CP is exposed as an external CP. See note 3. + + NOTE 3: The information can be omitted because it is already available as part of the external + CP information. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/CpProtocolInfo" + vnfLinkPortId: + description: > + Identifier of the "VnfLinkPorts" structure in the + "VnfVirtualLinkResourceInfo" structure. Shall be present if the CP is associated to a link port + on an internal VL of the VNF instance and shall be absent otherwise. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + metadata: + description: > + Metadata about this CP. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + metadata: + description: > + Metadata about this resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + VnfLcmOpOcc: + description: > + This type represents a VNF lifecycle management operation occurrence. + type: object + required: + - id + - operationState + - stateEnteredTime + - startTime + - vnfInstanceId + - operation + - isAutomaticInvocation + - isCancelPending + properties: + id: + description: > + Identifier of this VNF lifecycle management operation occurrence. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + operationState: + description: > + The state of the LCM operation. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LcmOperationStateType" + stateEnteredTime: + description: > + Date-time when the current state has been entered. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + startTime: + description: > + Date-time of the start of the operation. + $ref: "SOL002SOL003_def.yaml#/definitions/DateTime" + vnfInstanceId: + description: > + Identifier of the VNF instance to which the operation applies + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + grantId: + description: > + Identifier of the grant related to this VNF LCM operation + occurrence. Shall be set to the value of the "id" attribute + in the "Grant" representing the associated "Individual Grant", + if such grant exists. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + operation: + description: > + Type of the actual LCM operation represented by this VNF LCM + operation occurrence. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/LcmOperationType" + isAutomaticInvocation: + description: > + Set to true if this VNF LCM operation occurrence has been triggered + by an automated procedure inside the VNFM (i.e. + ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf + triggered by auto-heal). Set to false otherwise. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" + operationParams: + description: > + Input parameters of the LCM operation. This attribute shall be + formatted according to the request data type of the related LCM + operation. The following mapping between operationType and the + data type of this attribute shall apply: + * INSTANTIATE: InstantiateVnfRequest + * SCALE: ScaleVnfRequest + * SCALE_TO_LEVEL: ScaleVnfToLevelRequest + * CHANGE_FLAVOUR: ChangeVnfFlavourRequest + * OPERATE: OperateVnfRequest + * HEAL: HealVnfRequest + * CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest + * TERMINATE: TerminateVnfRequest + * MODIFY_INFO: VnfInfoModifications + type: object + isCancelPending: + description: > + If the VNF LCM operation occurrence is in "STARTING", "PROCESSING" + or "ROLLING_BACK" state and the operation is being cancelled, this + attribute shall be set to true. Otherwise, it shall be set to false. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" + cancelMode: + description: > + The mode of an ongoing cancellation. Shall be present when + isCancelPending=true, and shall be absent otherwise. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/CancelModeType" + error: + description: > + If "operationState" is "FAILED_TEMP" or "FAILED" or "operationState" + is "PROCESSING" or "ROLLING_BACK" and previous value of + "operationState" was "FAILED_TEMP", this attribute shall be present + and contain error information, unless it has been requested to be + excluded via an attribute selector. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + resourceChanges: + description: > + This attribute contains information about the cumulative changes to + virtualised resources that were performed so far by the LCM + operation since its start, if applicable. + type: object + properties: + affectedVnfcs: + description: > + Information about VNFC instances that were affected during the + lifecycle operation. + NOTE 1: This allows the NFVO to obtain the information contained in the + latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/AffectedVnfc" + affectedVirtualLinks: + description: > + Information about VL instances that were affected during the + lifecycle operation. See note 1 and note 2. + + NOTE 1: This allows the NFVO to obtain the information contained in + the latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + NOTE 2: For a particular affected VL, there shall be as many + "AffectedVirtualLink" entries as needed for signalling the different + types of changes, i.e., one per virtual link and change type. For instance, + in the case of signaling affected VL instances involving the addition of a + particular VL instance with links ports, one "AffectedVirtualLink" entry + signals the addition of the VL by using the "changeType" attribute of + "AffectedVirtualLink" structure equal to "ADDED", and another "AffectedVirtualLink" + entry signals the addition of externally visible VNF link ports of the VL by using + the "changeType" equal to "LINK_PORT_ADDED". + type: array + items: + $ref: "#/definitions/AffectedVirtualLink" + affectedExtLinkPorts: + description: > + Information about external VNF link ports that were affected during the lifecycle + operation. See note 1. + + NOTE 1: This allows the NFVO to obtain the information contained in the latest "result" + notification if it has not received it due to an error or a wrongly configured subscription + filter. + type: array + items: + $ref: "#/definitions/AffectedExtLinkPort" + affectedVirtualStorages: + description: > + Information about virtualised storage instances that were affected + during the lifecycle operation. + This allows the NFVO to obtain the information contained in the + latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualStorage" + changedInfo: + description: > + Information about the changed VNF instance information, including + VNF configurable properties, if applicable. + This allows the NFVO to obtain the information contained in the + latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + $ref: "#/definitions/VnfInfoModifications" + changedExtConnectivity: + description: > + Information about changed external connectivity, if applicable. + This allows the NFVO to obtain the information contained in the + latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkInfo" + _links: + description: > + Links to resources related to this resource. + type: object + required: + - self + - vnfInstance + properties: + self: + description: > + URI of this resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + vnfInstance: + description: > + Link to the VNF instance that the operation applies to. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + grant: + description: > + Link to the grant for this operation, if one exists. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + cancel: + description: > + Link to the task resource that represents the "cancel" operation + for this VNF LCM operation occurrence, if cancelling is + currently allowed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + retry: + description: > + Link to the task resource that represents the "retry" operation + for this VNF LCM operation occurrence, if retrying is currently + allowed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + rollback: + description: > + Link to the task resource that represents the "rollback" + operation for this VNF LCM operation occurrence, if rolling back + is currently allowed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + fail: + description: > + Link to the task resource that represents the "fail" operation + for this VNF LCM operation occurrence, if declaring as failed is + currently allowed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + + AffectedVirtualLink: + description: > + This type provides information about added, deleted, modified and + temporary VLs, and added or removed VNF link ports. + It shall comply with the provisions in table 5.5.3.14-1. + type: object + required: + - id + - vnfVirtualLinkDescId + - changeType + - networkResource + properties: + id: + description: > + Identifier of the virtual link instance, identifying the applicable + "vnfVirtualLinkResourceInfo" entry in the "VnfInstance" data type. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + vnfVirtualLinkDescId: + description: > + Identifier of the related VLD in the VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + changeType: + description: > + Signals the type of change. Permitted values: + * ADDED + * REMOVED + * MODIFIED + * TEMPORARY + * LINK_PORT_ADDED + * LINK_PORT_REMOVED + For a temporary resource, an AffectedVirtualLink structure exists as + long as the temporary resource exists. + + NOTE 1: When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link + ports, the "networkResource" and "resourceDefinitionId" attributes refer to the affected virtual + link instance, not the link port instance. The resource handles of the affected VNF link ports can + be found by dereferencing the identifiers in the "vnfLinkPortIds" attribute. + type: string + enum: + - ADDED + - REMOVED + - MODIFIED + - TEMPORARY + - LINK_PORT_ADDED + - LINK_PORT_REMOVED + networkResource: + description: > + Reference to the VirtualNetwork resource. Detailed information is + (for new and modified resources) or has been (for removed + resources) available from the VIM. + + NOTE 1: When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link + ports, the "networkResource" and "resourceDefinitionId" attributes refer to the affected virtual + link instance, not the link port instance. The resource handles of the affected VNF link ports can + be found by dereferencing the identifiers in the "vnfLinkPortIds" attribute. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + virtualLinkPortIds: + description: > + Identifiers of the link ports of the affected VL related to the change. + Each identifier references a "VnfLinkPortInfo" structure. + Shall be set when changeType is equal to "LINK_PORT_ADDED" or "LINK_PORT_REMOVED", + and the related "VnfLinkPortInfo" structures are present (case "added") or have + been present (case "removed") in the "VnfVirtualLinkResourceInfo" or "ExtManagedVirtualLinkInfo" + structures that are represented by the "vnfVirtualLinkResource¬Info" or "extManagedVirtualLinkInfo" + attribute in the "VnfInstance" structure. See note 1. + + NOTE 1: When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link + ports, the "networkResource" and "resourceDefinitionId" attributes refer to the affected virtual + link instance, not the link port instance. The resource handles of the affected VNF link ports can + be found by dereferencing the identifiers in the "vnfLinkPortIds" attribute. + type: array + items: + $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + resourceDefinitionId: + description: > + The identifier of the "ResourceDefinition" in the granting exchange + related to the LCM operation occurrence. It shall be present when an + applicable GrantInfo for the granted resource exists. + The "resourceDefinitionId" attribute provides information to the API + consumer (i.e. the NFVO) to assist in correlating the resource changes + performed during the LCM operation with the granted resources in a + specific Grant exchange, which is identified by the "grantId" available + in the "Individual VNF lifecycle management operation occurrence" and + the "id" in the "Individual Grant". + + NOTE 1: When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link + ports, the "networkResource" and "resourceDefinitionId" attributes refer to the affected virtual + link instance, not the link port instance. The resource handles of the affected VNF link ports can + be found by dereferencing the identifiers in the "vnfLinkPortIds" attribute. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierLocal" + zoneId: + description: > + The identifier of the resource zone, as managed by the resource + management layer (typically, the VIM), where the referenced VirtualNetwork + resource is placed. Shall be provided if this information is available from the VIM. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + metadata: + description: > + Metadata about this resource. + The content of this attribute shall be a copy of the content of the + "metadata" attribute of the VnfVirtualLinkResourceInfo structure. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + AffectedExtLinkPort: + description: > + This type provides information about added and deleted external link ports (link ports attached to external + virtual links). It shall comply with the provisions in table 5.5.3.14a-1. + type: object + required: + - id + - changeType + - extCpInstanceId + - resourceHandle + properties: + id: + description: > + Identifier of the link port, identifying the applicable "extLinkPorts" entry in the "ExtVirtualLinkInfo" + data type (see clause 5.5.3.2). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + changeType: + description: > + Signals the type of change. + Permitted values: + - ADDED + - REMOVED + type: string + enum: + - ADDED + - REMOVED + extCpInstanceId: + description: > + Identifier of the related external CP instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + resourceHandle: + description: > + Reference to the link port resource. Detailed information is (for added resources) + or has been (for removed resources) available from the VIM. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + resourceDefinitionId: + description: > + The identifier of the "ResourceDefinition" in the granting exchange related to the LCM + operation occurrence. It shall be present when an applicable GrantInfo for the granted + resource exists. See note. + + NOTE: The "resourceDefinitionId" attribute provides information to the API consumer + (i.e. the NFVO) to assist in correlating the resource changes performed during the LCM + operation with the granted resources in a specific Grant exchange, which is identified + by the "grantId" available in the "Individual VNF lifecycle management operation occurrence" + and the "id" in the "Individual Grant". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierLocal" + + + diff --git a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index d26037d1..02ad9ac1 100644 --- a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -25,8 +25,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 003 V2.7.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf + description: ETSI GS NFV-SOL 003 V2.8.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.08.01_60/gs_NFV-SOL003v020801p.pdf basePath: "/callback/v1" @@ -56,7 +56,7 @@ paths: in: body required: true schema: - $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOperationOccurrenceNotification" + $ref: "./definitions/SOL003VNFLifecycleManagementNotification_def.yaml#/definitions/VnfLcmOperationOccurrenceNotification" - name: Authorization description: > The authorization token for the request. @@ -115,7 +115,7 @@ paths: get: description: > - The GET method allows the server to test the notification endpoint that is provided by the API consumer, + The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, e.g. during subscription. This method shall follow the provisions specified in the tables 5.4.20.3.2-1 and 5.4.20.3.2-2 for URI query parameters, request and response data structures, and response codes. diff --git a/src/SOL003/VNFLifecycleManagementNotification/definitions/SOL003VNFLifecycleManagementNotification_def.yaml b/src/SOL003/VNFLifecycleManagementNotification/definitions/SOL003VNFLifecycleManagementNotification_def.yaml new file mode 100644 index 00000000..7a79a1ed --- /dev/null +++ b/src/SOL003/VNFLifecycleManagementNotification/definitions/SOL003VNFLifecycleManagementNotification_def.yaml @@ -0,0 +1,211 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt + +definitions: + VnfLcmOperationOccurrenceNotification: + description: > + This type represents a VNF lifecycle management operation occurrence + notification, which informs the receiver of changes in the VNF + lifecycle caused by a VNF LCM operation occurrence. The support of the + notification is mandatory. + This notification shall be triggered by the VNFM when there is a change + in the state of a VNF LCM operation occurrence that changes the VNF lifecycle, + which represents an occurrence of one the following LCM operations: + * Instantiation of the VNF + * Scaling of the VNF instance (including auto-scaling) + * Healing of the VNF instance (including auto-healing) + * Change of the state of the VNF instance (i.e. Operate VNF) + * Change of the deployment flavour of the VNF instance + * Change of the external connectivity of the VNF instance + * Termination of the VNF instance + * Modification of VNF instance information and/or VNF configurable + properties through the "PATCH" method on the "Individual VNF instance" + resource. + Clause 5.6.2 defines the states and state transition of a VNF LCM operation occurrence, + and also specifies details of the notifications to be emitted at each state transition. + If this is the initial notification about the start of a VNF LCM operation occurrence, + it is assumed that the notification is sent by the VNFM before any action (including sending the grant request) + is taken as part of the LCM operation. Due to possible race conditions, the "start" notification, + the grant request and the LCM operation acknowledgment (i.e. the "202 Accepted" response) + can arrive in any order at the NFVO, and the NFVO shall be able to handle such a situation. + If this is a notification about a final or intermediate result state of a VNF LCM operation occurrence, + the notification shall be sent after all related actions of the LCM operation that led + to this state have been executed. + The new state shall be set in the "Individual VNF LCM operation occurrence" resource before + the notification about the state change is sent. + See clause 5.6.2.2 for further provisions regarding sending this notification, including + in cases of handling LCM operation errors. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - notificationStatus + - operationState + - vnfInstanceId + - operation + - isAutomaticInvocation + - vnfLcmOpOccId + - _links + properties: + id: + description: > + Identifier of this notification. If a notification is sent multiple + times due to multiple subscriptions, the "id" attribute of all these + notifications shall have the same value. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + notificationType: + description: > + Discriminator for the different notification types. Shall be set to + "VnfLcmOperationOccurrenceNotification" for this notification type. + type: string + enum: + - VnfLcmOperationOccurrenceNotification + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + Shall be set to the value of the "id" attribute of the "LccnSubscription" + representing the associated "Individual subscription" resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + notificationStatus: + description: > + Indicates whether this notification reports about the start of a + lifecycle operation or the result of a lifecycle operation. + Permitted values: + * START: Informs about the start of the VNF LCM operation + occurrence. + * RESULT: Informs about the final or intermediate result of the VNF + LCM operation occurrence. + type: string + enum: + - START + - RESULT + operationState: + description: > + The state of the VNF LCM operation occurrence. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LcmOperationStateType" + vnfInstanceId: + description: > + The identifier of the VNF instance affected. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + operation: + description: > + The lifecycle management operation. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/LcmOperationType" + isAutomaticInvocation: + description: > + Set to true if this VNF LCM operation occurrence has been triggered + by an automated procedure inside the VNFM + (i.e. ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf + triggered by auto-heal). + Set to false otherwise. + type: boolean + vnfLcmOpOccId: + description: > + The identifier of the VNF lifecycle management operation occurrence + associated to the notification. + Shall be set to the value of the "id" attribute of the "VnfLcmOpOcc" + representing the associated "Individual VNF lifecycle management operation + occurrence" resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + affectedVnfcs: + description: > + Information about VNFC instances that were affected during the + lifecycle operation. + Shall be present if the "notificationStatus" is set to "RESULT" 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 VNF LCM operation occurrence and by any of the error + handling procedures for that operation occurrence. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/AffectedVnfc" + affectedVirtualLinks: + description: > + Information about VL instances that were affected during the + lifecycle operation. + + NOTE 1: Shall be present if the "notificationStatus" is set to "RESULT" + 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 VNF LCM operation + occurrence and by any of the error handling procedures for that operation + occurrence. + NOTE 2: For a particular affected VL, there shall be as many "AffectedVirtualLink" + entries as needed for signalling the different types of changes, i.e., one per + virtual link and change type. For instance, in the case of signaling affected VL + instances involving the addition of a particular VL instance with links ports, + one "AffectedVirtualLink" entry signals the addition of the VL by using the + "changeType" attribute of "AffectedVirtualLink" structure equal to "ADDED", + and another "AffectedVirtualLink" entry signals the addition of externally visible + VNF link ports of the VL by using the "changeType" equal to "LINK_PORT_ADDED". + type: array + items: + $ref: "../../VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualLink" + affectedExtLinkPorts: + description: > + Information about external VNF link ports that were affected during the + lifecycle operation. See note 1. + + NOTE 1: Shall be present if the "notificationStatus" is set to "RESULT" + 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 VNF LCM operation + occurrence and by any of the error handling procedures for that operation + occurrence. + type: array + items: + $ref: "../../VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedExtLinkPort" + affectedVirtualStorages: + description: > + Information about virtualised storage instances that were affected + during the lifecycle operation. + Shall be present if the "notificationStatus" is set to "RESULT" 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 VNF LCM operation occurrence and by any of the error + handling procedures for that operation occurrence. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualStorage" + changedInfo: + description: > + Information about the changed VNF instance information, including + changed VNF configurable properties. + Shall be present if the "notificationStatus" is set to "RESULT" and + the operation has performed any changes to VNF instance information, + including VNF configurable properties. + Shall be absent otherwise. + $ref: "../../VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModifications" + changedExtConnectivity: + description: > + Information about changed external connectivity, if this notification + represents the result of a lifecycle operation occurrence. + Shall be present if the "notificationStatus" is set to "RESULT" and + the "operation" has made any changes to the external connectivity of + the VNF instance. Shall be absent otherwise. + Only information about external VL instances that have been added or + modified shall be provided. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkInfo" + 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 the "operationState" attribute is "FAILED_TEMP", "FAILED" + or "ROLLED_BACK" and shall be absent otherwise. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + _links: + description: > + Links to resources related to this notification. + The link URIs in this structure shall be set to point to the resources identified + by the corresponding identifier attributes in this notification. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnLinks" \ No newline at end of file diff --git a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml index 9b96ab20..9730268e 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml @@ -25,9 +25,9 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 003 V2.7.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf - + description: ETSI GS NFV-SOL 003 V2.8.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.08.01_60/gs_NFV-SOL003v020801p.pdf + basePath: "/grant/v1" schemes: diff --git a/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml b/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml index 786eb8b5..b1603e39 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml @@ -178,12 +178,18 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" vnfInstanceId: description: > - Identifier of the related VNF instance. + Identifier of the related VNF instance. See note 6. + + NOTE 6: The NFVO shall set the value of the attribute by copying the value + from the associated GrantRequest. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" vnfLcmOpOccId: description: > Identifier of the related VNF lifecycle management operation - occurrence. + occurrence. See note 6. + + NOTE 6: The NFVO shall set the value of the attribute by copying the value + from the associated GrantRequest. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" vimConnections: description: > @@ -199,8 +205,9 @@ definitions: This attribute shall only be supported when VNF-related Resource Management in direct mode is applicable. In direct mode, this parameter shall be absent if the VIM information was configured to - the VNFM in another way, present otherwise. - This interface allows to signal the use of multiple VIMs per VNF. + the VNFM in another way, present otherwise. See note 1. + + NOTE 1: This interface allows to signal the use of multiple VIMs per VNF. However, due to the partial support of this feature in the present release, it is recommended in the present document that the number of entries in the "vims" attribute in the Grant is not greater than @@ -229,8 +236,9 @@ definitions: computeReservationId: description: > Information that identifies a reservation applicable to the compute - resource requirements of the corresponding grant request. - At least one of (computeReservationId, networkReservationId, + resource requirements of the corresponding grant request. See note 2. + + NOTE 2: At least one of (computeReservationId, networkReservationId, storageReservationId) shall be present when policy is GRANT_RESERVE_SINGLE and an applicable reservation exists. None of these shall be present otherwise. @@ -238,8 +246,9 @@ definitions: networkReservationId: description: > Information that identifies a reservation applicable to the network - resource requirements of the corresponding grant request. - At least one of (computeReservationId, networkReservationId, + resource requirements of the corresponding grant request. See note 2. + + NOTE 2: At least one of (computeReservationId, networkReservationId, storageReservationId) shall be present when policy is GRANT_RESERVE_SINGLE and an applicable reservation exists. None of these shall be present otherwise. @@ -247,8 +256,9 @@ definitions: storageReservationId: description: > Information that identifies a reservation applicable to the storage - resource requirements of the corresponding grant request. - At least one of (computeReservationId, networkReservationId, + resource requirements of the corresponding grant request. See note 2. + + NOTE 2: At least one of (computeReservationId, networkReservationId, storageReservationId) shall be present when policy is GRANT_RESERVE_SINGLE and an applicable reservation exists. None of these shall be present otherwise. @@ -256,7 +266,7 @@ definitions: addResources: description: > List of resources that are approved to be added, with one entry per - resource. + resource. Shall be set when resources are approved to be added. type: array items: $ref: "#/definitions/GrantInfo" @@ -264,21 +274,22 @@ definitions: description: > List of resources that are approved to be temporarily instantiated during the runtime of the lifecycle operation, with one entry per - resource. + resource. Shall be set when resources are approved to be temporarily + instantiated. type: array items: $ref: "#/definitions/GrantInfo" removeResources: description: > List of resources that are approved to be removed, with one entry - per resource. + per resource. Shall be set when resources are approved to be removed. type: array items: $ref: "#/definitions/GrantInfo" updateResources: description: > List of resources that are approved to be modified, with one entry - per resource. + per resource. Shall be set when resources are approved to be updated. type: array items: $ref: "#/definitions/GrantInfo" @@ -286,8 +297,9 @@ definitions: description: > Information about assets for the VNF that are managed by the NFVO in the VIM, such as software images and virtualised compute resource - flavours. - The Grant response allows the NFVO to pass to the VNFM VIM assets + flavours. See note 3. + + NOTE 3: The Grant response allows the NFVO to pass to the VNFM VIM assets related to the VNF package that is identified by the vnfdId attribute in the corresponding Grant request. The NFVO may send in each Grant response the full set of VIM assets related to the VNF package defined @@ -321,44 +333,52 @@ definitions: $ref: "#/definitions/VimSoftwareImage" extVirtualLinks: description: > - Information about external VLs to connect the VNF to. - External and/or externally-managed internal VLs can be passed in VNF - lifecycle management operation requests such as InstantiateVnf or - ChangeVnfFlavor, and/or in the grant response. The NFVO may choose - to override in the grant response external and/or externally-managed - VL instances that have been passed previously in the associated VNF - lifecycle management request, if the lifecycle management request - has originated from the NFVO itself. - If this attribute is present , it need not contain - those entries that are unchanged compared to the entries that were passed - in the LCM operation which is related to this granting exchange. - External and/or externally-managed internal VLs can be passed in - VNF lifecycle management operation requests such as InstantiateVnf - or ChangeVnfFlavour, and/or in the grant response. The NFVO may choose - to override in the grant response external and/or externally-managed VL - instances that have been passed previously in the associated VNF lifecycle - management request, if the lifecycle management request has originated from the NFVO itself. + Information about external VLs to connect the VNF to. See note 5 and note 7. + If this attribute is present according to note 5 or note 7, it need not + contain those entries that are unchanged compared to the entries that + were passed in the LCM operation which is related to this granting exchange. + + NOTE 5: External and/or externally-managed internal VLs can be passed in VNF + lifecycle management operation requests such as InstantiateVnf, ChangeVnfFlavour + or ChangeExtVnfConnectivity and/or in the grant response. The NFVO may choose to + override in the grant response external and/or externally-managed VL instances + that have been passed previously in the associated VNF lifecycle management request, + if the lifecycle management request has originated from the NFVO itself. + + NOTE 7: In case of granting an InstantiateVnf request that has originated from the + NFVO and that did not contain the "extVirtualLinks" attribute, this attribute shall + be set by the NFVO. Further in case of granting an InstantiateVnf request that has + originated from the NFVO and that did not contain the "extManagedVirtualLinks" attribute, + this attribute shall be set by the NFVO if there is the need to provide information about + externally-managed virtual links. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" extManagedVirtualLinks: description: > Information about internal VLs that are managed by other entities - than the VNFM. - 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 + than the VNFM. See note 4, note 5 and note 57 + + NOTE 4: 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. - External and/or externally-managed internal VLs can be passed in VNF - lifecycle management operation requests such as InstantiateVnf or - ChangeVnfFlavor, and/or in the grant response. The NFVO may choose - to override in the grant response external and/or externally-managed - VL instances that have been passed previously in the associated VNF - lifecycle management request, if the lifecycle management request - has originated from the NFVO itself. + network topologies. The present document assumes that externally-managed + internal VLs are managed by the NFVO and created towards the VIM). + + NOTE 5: External and/or externally-managed internal VLs can be passed in VNF + lifecycle management operation requests such as InstantiateVnf, ChangeVnfFlavour + or ChangeExtVnfConnectivity and/or in the grant response. The NFVO may choose to + override in the grant response external and/or externally-managed VL instances + that have been passed previously in the associated VNF lifecycle management request, + if the lifecycle management request has originated from the NFVO itself. + + NOTE 7: In case of granting an InstantiateVnf request that has originated from the + NFVO and that did not contain the "extVirtualLinks" attribute, this attribute shall + be set by the NFVO. Further in case of granting an InstantiateVnf request that has + originated from the NFVO and that did not contain the "extManagedVirtualLinks" attribute, + this attribute shall be set by the NFVO if there is the need to provide information about + externally-managed virtual links. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" @@ -425,9 +445,11 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" resourceTemplateId: description: > - Reference to a resource template (VnfVirtualLinkDesc, - VirtualComputeDesc, VnfExtCpd, VirtualStorageDesc) in the - VNFD. + Reference to athe applicable resource template in the VNFD as follows: + - If type="VL": VnfVirtualLinkDesc, + - If type="COMPUTE": VirtualComputeDesc, + - If type="LINKPORT": VnfExtCpd, + - If type="STORAGE": VirtualStorageDesc) in the VNFD. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" resource: description: > @@ -455,7 +477,7 @@ definitions: VNFC/VirtualLink/VirtualStorage. It shall be present for new resources when policy is GRANT_RESERVE_MULTI and an applicable reservation exists; shall not be present otherwise. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVim" vimConnectionId: description: > Identifier of the VIM connection to be used to manage this resource. diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index 2e4de3ac..0d9f1fb6 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL003 - VNF Package Management interface description: > SOL003 - VNF Package Management interface @@ -25,8 +25,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 003 V2.7.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf + description: ETSI GS NFV-SOL 003 V2.8.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.08.01_60/gs_NFV-SOL003v020801p.pdf basePath: "/vnfpkgm/v2" @@ -415,24 +415,41 @@ paths: The GET method reads the content of the VNFD within a VNF package. The VNFD is implemented as a collection of one or more files. A ZIP archive embedding these files shall be returned when reading this resource. - The default format of the ZIP archive shall be the one specified in ETSI GS NFV-SOL 004 - where only the files representing the VNFD and information needed to navigate the ZIP - archive and to identify the file that is the entry point for parsing the VNFD, and, - if requested, further security information are included. This means that the structure - of the ZIP archive shall correspond to the directory structure used in the VNF package - and that the archive shall contain the following files from the package: - • TOSCA.meta (if available in the package) - • The main TOSCA definitions YAML file (either as referenced from TOSCA.meta - or available as a file with the extension ".yml" or ".yaml" from the root of the archive) - • Every component of the VNFD referenced (recursively) from the main TOSCA definitions YAML file - • The related security information, if the "include_signatures" URI parameter is provided, as follows: + The default format of the ZIP archive shall comply with CSAR format as specified + in ETSI GS NFV-SOL 004 where only the files representing the VNFD and information + needed to navigate the ZIP archive and to identify the file that is the entry point + for parsing the VNFD, and, if requested, further security information are included, + and software images as well as other artifacts referenced from the YAML files are + excluded. This means that the structure of the ZIP archive shall correspond to the + directory structure used in the VNF package and that the archive shall contain the + following files from the package: + • TOSCA.meta (if available in the package). + • The main TOSCA definitions YAML file (either as referenced from TOSCA.meta or + available as a file with the extension ".yml" or ".yaml" from the root of the + archive). + • Every component of the VNFD referenced (recursively) from the main TOSCA definitions + YAML file. + + NOTE 1: For a VNFD based on TOSCA, it includes all the imported type definition files + as indicated in the top level service template and in any of the lower level service + template if it has any as described in ETSI GS NFV-SOL 001. + + NOTE 2: For a VNFD based on YANG, it includes the file as indicated by the + "yang_definitions" keyname in the metadata section of the main yaml file as described + in ETSI GS NFV-SOL 004. + + • The related security information, if the "include_signatures" URI parameter is provided, + as follows: - the manifest file - - the singleton certificate file in the root of the VNF package (if available in the package) - - the signing certificates of the individual files included in the ZIP archive (if available in the package) + - the singleton certificate file in the root of the VNF package (if available in the + package) + - the signing certificates of the individual files included in the ZIP archive + (if available in the package) - the signatures of the individual files (if available in the package) + Three examples are provided below. - NOTE: These examples do not show the security related files. + NOTE 3: These examples do not show the security related files. EXAMPLE 1: Assuming a request is sent for the following VNF package (as described in clause A.1 in ETSI GS NFV-SOL 004): @@ -1378,24 +1395,26 @@ paths: type: string get: description: > - Fetch VNF Package Artifacts. - The GET method shall return an archive that contains a set of artifacts according to the provisions for inclusion/exclusion defined below, embedded in a directory structure being the same as in the VNF package. The criteria for exclusion/inclusion of an artifact in the archive are defined as follows: - Artifacts that are software images shall be excluded from the archive. - - Artifacts that are external to the VNF package shall be excluded from the archive. + - Artifacts that are not software images and that are external to the VNF package shall + be excluded from the archive unless the URI query parameter "include_external_artifacts" + has been provided. External artifacts shall be included in the archive using the content + of the "artifactPath" attribute as the path. - All additional artifacts included in the VNF package that are MANO artifacts shall - be included in the archive, unless the URI query parameter "exclude_all_mano_artifacts" - has been provided, in which case such artifacts shall be excluded. + be included in the archive, unless the URI query parameter "exclude_all_mano_artifacts" + has been provided, in which case such artifacts shall be excluded. - All additional artifacts included in the VNF package that are non-MANO artifacts - shall be included in the archive, unless: -  the URI query parameter "exclude_all_non_mano_artifacts" has been provided, - in which case such artifacts shall be excluded; -  the URI query parameter "select_non_mano_artifact_sets" has been provided and - is supported by the NFVO, in which case only those non-MANO artifacts shall be - included whose non-MANO artifact set identifier matches one of the values of the query parameter. + shall be included in the archive, unless: + - The URI query parameter "exclude_all_non_mano_artifacts" has been provided, + in which case such artifacts shall be excluded; + - The URI query parameter "select_non_mano_artifact_sets" has been provided and + is supported by the NFVO, in which case only those non-MANO artifacts shall be + included whose non-MANO artifact set identifier matches one of the values of the + query parameter. Package metadata such as manifest file or VNFD shall not be included in the archive. This method shall follow the provisions specified in the tables 10.4.5a.3.2-1 and 10.4.5a.3.2-2 for URI query parameters, request and response data structures, and response codes. @@ -1429,6 +1448,52 @@ paths: in: header required: true type: string + - name: exclude_all_mano_artifacts + description: > + Flag (i.e. parameter without value) that instructs the NFVO to exclude + the set of additional MANO artifacts (i.e. those that are not images) + from the response payload body. The NFVO shall support this parameter. + The VNFM may supply this parameter. + in: query + required: false + type: string + - name: exclude_all_non_mano_artifacts + description: > + Flag (i.e. parameter without value) that instructs the NFVO to exclude + the set of non-MANO artifacts from the response payload body. + The NFVO shall support this parameter. The VNFM may supply this parameter. + in: query + required: false + type: string + - name: include_external_artifacts + description: > + Flag (i.e. parameter without value) that instructs the NFVO to include external + artifacts in the response payload body. It shall not be treated as an error if + this flag is provided but there is no external artifact to include in the result. + If this parameter is missing, no external artifacts shall be included. + The NFVO shall support this parameter. The VNFM may supply this parameter. + in: query + required: false + type: string + - name: select_non_mano_artifact_sets + description: > + Comma-separated list of non-MANO artifact set identifiers for which the artifacts + are to be included in the response body. The NFVO should support this parameter. + If the NFVO does not support this parameter, it shall ignore it, i.e. provide a + response as if no parameter was provided. The VNFM may supply this parameter. + in: query + required: false + type: string + - name: include_signatures + description: > + If this parameter is provided, the NFVO shall include in the ZIP archive the individual + signatures and, if provided, related certificates for the included artifacts, in the + format in which they are provided in the VNF package. If this parameter is not given, + the NFVO shall only provide copies of the artifact files. This URI query parameter is + a flag, i.e. it shall have no value. The NFVO shall support this parameter. + in: query + required: false + type: string responses: 200: description: > @@ -1543,24 +1608,26 @@ paths: type: string get: description: > - Fetch VNF Package Artifacts. - The GET method shall return an archive that contains a set of artifacts according to the provisions for inclusion/exclusion defined below, embedded in a directory structure being the same as in the VNF package. The criteria for exclusion/inclusion of an artifact in the archive are defined as follows: - Artifacts that are software images shall be excluded from the archive. - - Artifacts that are external to the VNF package shall be excluded from the archive. + - Artifacts that are not software images and that are external to the VNF package shall + be excluded from the archive unless the URI query parameter "include_external_artifacts" + has been provided. External artifacts shall be included in the archive using the content + of the "artifactPath" attribute as the path. - All additional artifacts included in the VNF package that are MANO artifacts shall - be included in the archive, unless the URI query parameter "exclude_all_mano_artifacts" - has been provided, in which case such artifacts shall be excluded. + be included in the archive, unless the URI query parameter "exclude_all_mano_artifacts" + has been provided, in which case such artifacts shall be excluded. - All additional artifacts included in the VNF package that are non-MANO artifacts - shall be included in the archive, unless: -  the URI query parameter "exclude_all_non_mano_artifacts" has been provided, - in which case such artifacts shall be excluded; -  the URI query parameter "select_non_mano_artifact_sets" has been provided and - is supported by the NFVO, in which case only those non-MANO artifacts shall be - included whose non-MANO artifact set identifier matches one of the values of the query parameter. + shall be included in the archive, unless: + - The URI query parameter "exclude_all_non_mano_artifacts" has been provided, + in which case such artifacts shall be excluded; + - The URI query parameter "select_non_mano_artifact_sets" has been provided and + is supported by the NFVO, in which case only those non-MANO artifacts shall be + included whose non-MANO artifact set identifier matches one of the values of the + query parameter. Package metadata such as manifest file or VNFD shall not be included in the archive. This method shall follow the provisions specified in the tables 10.4.5a.3.2-1 and 10.4.5a.3.2-2 for URI query parameters, request and response data structures, and response codes. @@ -1594,6 +1661,52 @@ paths: in: header required: true type: string + - name: exclude_all_mano_artifacts + description: > + Flag (i.e. parameter without value) that instructs the NFVO to exclude + the set of additional MANO artifacts (i.e. those that are not images) + from the response payload body. The NFVO shall support this parameter. + The VNFM may supply this parameter. + in: query + required: false + type: string + - name: exclude_all_non_mano_artifacts + description: > + Flag (i.e. parameter without value) that instructs the NFVO to exclude + the set of non-MANO artifacts from the response payload body. + The NFVO shall support this parameter. The VNFM may supply this parameter. + in: query + required: false + type: string + - name: include_external_artifacts + description: > + Flag (i.e. parameter without value) that instructs the NFVO to include external + artifacts in the response payload body. It shall not be treated as an error if + this flag is provided but there is no external artifact to include in the result. + If this parameter is missing, no external artifacts shall be included. + The NFVO shall support this parameter. The VNFM may supply this parameter. + in: query + required: false + type: string + - name: select_non_mano_artifact_sets + description: > + Comma-separated list of non-MANO artifact set identifiers for which the artifacts + are to be included in the response body. The NFVO should support this parameter. + If the NFVO does not support this parameter, it shall ignore it, i.e. provide a + response as if no parameter was provided. The VNFM may supply this parameter. + in: query + required: false + type: string + - name: include_signatures + description: > + If this parameter is provided, the NFVO shall include in the ZIP archive the individual + signatures and, if provided, related certificates for the included artifacts, in the + format in which they are provided in the VNF package. If this parameter is not given, + the NFVO shall only provide copies of the artifact files. This URI query parameter is + a flag, i.e. it shall have no value. The NFVO shall support this parameter. + in: query + required: false + type: string responses: 200: description: > @@ -1702,7 +1815,7 @@ paths: parameters: - name: artifactPath description: > - SequenceFor an artifact contained as a file in the VNF package, + For an artifact contained as a file in the VNF package, this variable shall contain a sequence of one or more path segments representing the path of the artifact within the VNF package, relative to the root of the package. @@ -1712,9 +1825,14 @@ paths: 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 10.5.3.3), - representing this artifact. + representing this artifact. See notes 2 and 4. + + NOTE 2: This identifier can be retrieved from the "artifactPath" attribute + of the applicable "additionalArtifacts" entry in the body of the response + to a GET request querying the "Individual VNF package" or the "VNF packages" + resource. - Since multiple path segments are allowed to be contained in this variable, + NOTE 4: Since multiple path segments are allowed to be contained in this variable, the "/" character that separates these segments is not percent-encoded. Each individual segment is percent-encoded if necessary as defined in clause 4.1 of ETSI GS NFV-SOL 013. @@ -1910,7 +2028,7 @@ paths: parameters: - name: artifactPath description: > - SequenceFor an artifact contained as a file in the VNF package, + For an artifact contained as a file in the VNF package, this variable shall contain a sequence of one or more path segments representing the path of the artifact within the VNF package, relative to the root of the package. @@ -1920,9 +2038,14 @@ paths: 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 10.5.3.3), - representing this artifact. + representing this artifact. See notes 2 and 4. + + NOTE 2: This identifier can be retrieved from the "artifactPath" attribute + of the applicable "additionalArtifacts" entry in the body of the response + to a GET request querying the "Individual VNF package" or the "VNF packages" + resource. - Since multiple path segments are allowed to be contained in this variable, + NOTE 4: Since multiple path segments are allowed to be contained in this variable, the "/" character that separates these segments is not percent-encoded. Each individual segment is percent-encoded if necessary as defined in clause 4.1 of ETSI GS NFV-SOL 013. @@ -2128,16 +2251,16 @@ paths: "Individual subscription" resource as defined in clause 10.4.8 shall have been created. This method shall not trigger any notification. Creation of two "Individual subscription" resources with the same - callbackURI and the same filter can result in performance degradation + callback URI and the same filter can result in performance degradation and will provide duplicates of notifications to the VNFM, and might make sense only in very rare use cases. Consequently, the NFVO may either allow creating a new "Individual subscription" resource if another "Individual subscription" resource with the same filter and - callbackUri already exists (in which case it shall return the + callback URI already exists (in which case it shall return the "201 Created" response code), or may decide to not create a duplicate "Individual subscription" resource (in which case it shall return a "303 See Other" response code referencing the existing "Individual subscription" - resource with the same filter and callbackUri). + resource with the same filter and callback URI). parameters: - name: PkgmSubscriptionRequest description: > diff --git a/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml b/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml index efb7f5c8..3fd175f8 100644 --- a/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml +++ b/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml @@ -344,14 +344,36 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" imagePath: description: > - Path in the VNF package, which identifies the image artifact and also + Path which identifies the image artifact and also allows to access a copy of the image artifact. + For a software image contained as a file in the VNF package, + this attribute shall be present, and the value of this attribute + shall start with the name of the first segment in the path in the + package, i.e., it shall not be prefixed by path separator characters + such as "." and "/". + EXAMPLE: foo/bar/m%40ster.vhd + For an external software image represented as a URI in the VNF descriptor, + this attribute shall be present if the image artifact has been downloaded + by the NFVO and shall be absent otherwise. If present, it shall contain the + artifactPath under which the image artifact can be obtained using the + "Individual artifact in a VNF package" resource defined in clause 9.4.7. + It is the responsibility of the NFVO to synthesize this path in a manner + that avoids any collision of the synthesized artifact path with the paths + and names of image artifacts included in the package. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" + imageUri: + description: > + URI of the image artifact as defined in the VNF package manifest. + Shall be present if the image artifact is external to the VNF package and + shall be absent otherwise. + EXAMPLE: https://example.com/m%40ster.vhd + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Uri" VnfPackageArtifactInfo: description: > This type represents an artifact other than a software image which is - contained in a VNF package. + contained in or external to a VNF package. It shall comply with the provisions + defined in table 10.5.3.3-1. type: object required: - artifactPath @@ -382,6 +404,14 @@ definitions: collision of the synthesized artifact path with the paths and names of artifacts included in the package. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" + artifactURI: + description: > + URI of the artifact as defined in the VNF package manifest. + Shall be present if the artifact is external to the package + and shall be absent otherwise. + + EXAMPLE: https://example.com/m%40ster.sh + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Uri" checksum: description: > Checksum of the artifact file. @@ -390,16 +420,6 @@ definitions: description: > Reflects whether the artifact is encrypted (true) or not (false). $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" - artifactURI: - description: > - URI of the artifact as defined in the VNF package manifest. - Shall be present if the artifact is external to the package - and shall be absent otherwise. - - EXAMPLE: https://example.com/m%40ster.sh - type: array - items: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Uri" nonManoArtifactSetId: description: > Non-MANO artifact set identifier of the non-MANO artifact set to @@ -586,9 +606,8 @@ definitions: PackageUsageStateType: description: > - - IN_USE: VNF instances instantiated from this VNF package exist. - - NOT_IN_USE: No existing VNF instance is instantiated from this VNF - package. + - IN_USE: "Individual VNF instance" resources created from this VNF package exist. + - NOT_IN_USE: No "Individual VNF instance" resource created from this VNF package exists. type: string enum: - IN_USE diff --git a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index 664b2b15..56ffa0b0 100644 --- a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -25,8 +25,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 003 V2.7.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf + description: ETSI GS NFV-SOL 003 V2.8.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.08.01_60/gs_NFV-SOL003v020801p.pdf basePath: "/callback/v2" @@ -116,7 +116,7 @@ paths: get: description: > - The GET method allows the server to test the notification endpoint that is provided by the API consumer + The GET method allows the API producer to test the notification endpoint that is provided by the API consumer e.g. during subscription. This method shall follow the provisions specified in the tables 10.4.9.3.2-1 and 10.4.9.3.2-2 for URI query parameters, request and response data structures, and response codes. @@ -249,7 +249,7 @@ paths: get: description: > - The GET method allows the server to test the notification endpoint that is provided by the API consumer + The GET method allows the API producer to test the notification endpoint that is provided by the API consumer e.g. during subscription. This method shall follow the provisions specified in the tables 10.4.9.3.2-1 and 10.4.9.3.2-2 for URI query parameters, request and response data structures, and response codes. diff --git a/src/SOL003/VNFPackageManagementNotification/definitions/VNFPackageManagementNotification_def.yaml b/src/SOL003/VNFPackageManagementNotification/definitions/VNFPackageManagementNotification_def.yaml index 52d66fe3..a692bbc5 100644 --- a/src/SOL003/VNFPackageManagementNotification/definitions/VNFPackageManagementNotification_def.yaml +++ b/src/SOL003/VNFPackageManagementNotification/definitions/VNFPackageManagementNotification_def.yaml @@ -160,19 +160,17 @@ definitions: properties: vnfPackage: description: > - Link to the resource representing the VNF package to which the - notified change applies, i.e. the individual on-boarded VNF package - resource that represents the VNF package, identified by the "vnfPkgId" - identifier which is managed by the NFVO. This attribute shall be provided - by the NFVO but is deprecated and can be removed in future versions - of the present document. + Link to the resource representing the VNF package to which the notified change + applies, i.e. the "Individual VNF package" resource that represents the VNF package, + identified by the "vnfPkgId" identifier which is managed by the NFVO. + This attribute shall be provided by the NFVO but is deprecated and can be removed + in future versions of the present document. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/NotificationLink" vnfPackageByVnfdId: description: > - Link to the resource representing the VNF package to which the notified - change applies, i.e. the individual VNF package resource that represents - the VNF package, identified by the "vnfdId" identifier which is assigned - by the VNF vendor. + Link to the resource representing the VNF package to which the notified change applies, + i.e. the "Individual VNF package" resource that represents the VNF package, identified + by the "vnfdId" identifier which is assigned by the VNF vendor. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/NotificationLink" subscription: description: > diff --git a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 5439f47e..24721fe8 100644 --- a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL003 - VNF Performance Management interface description: > SOL003 - VNF Performance Management interface @@ -25,8 +25,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 003 V2.7.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf + description: ETSI GS NFV-SOL 003 V2.8.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.08.01_60/gs_NFV-SOL003v020801p.pdf basePath: "/vnfpm/v2" @@ -389,7 +389,7 @@ paths: patch: description: > - This method allows to modify an "individual PM job" resource. + This method allows to modify an "Individual PM job" resource. This method shall follow the provisions specified in the tables 6.4.3.3.4-1 and 6.4.3.3.4-2 for URI query parameters, request and response data structures, and response codes. diff --git a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index c6be960a..54b63408 100644 --- a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -25,8 +25,8 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 003 V2.7.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf + description: ETSI GS NFV-SOL 003 V2.8.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.08.01_60/gs_NFV-SOL003v020801p.pdf basePath: "/callback/v2" @@ -118,7 +118,7 @@ paths: get: description: > - The GET method allows the server to test the notification endpoint that is provided by the API consumer, + The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, e.g. during the creation of the PM job or threshold resource. This method shall follow the provisions specified in the tables 6.4.9.3.2-1 and 6.4.9.3.2-2 for URI query parameters, request and response data structures, and response codes. @@ -252,7 +252,7 @@ paths: get: description: > - The GET method allows the server to test the notification endpoint that is provided by the API consumer + The GET method allows the API producer to test the notification endpoint that is provided by the API consumer e.g. during subscription. This method shall follow the provisions specified in the tables 6.4.9.3.2-1 and 6.4.9.3.2-2 for URI query parameters, request and response data structures, and response codes. diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml index 457871e2..1fa16240 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml @@ -25,9 +25,9 @@ info: url: https://forge.etsi.org/etsi-forge-copyright-notice.txt externalDocs: - description: ETSI GS NFV-SOL 003 V2.7.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.07.01_60/gs_NFV-SOL003v020701p.pdf - + description: ETSI GS NFV-SOL 003 V2.8.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.08.01_60/gs_NFV-SOL003v020801p.pdf + basePath: "/vrqan/v1" schemes: @@ -58,15 +58,15 @@ paths: As the result of successfully executing this method, a new "Individual subscription" resource as defined in clause 11.4.3 shall have been created. This method shall not trigger any notification. - Creation of two "Individual subscription" resources with the same callbackURI and + Creation of two "Individual subscription" resources with the same callback URI and the same filter can result in performance degradation and will provide duplicates of notifications to the VNFM, and might make sense only in very rare use cases. Consequently, the NFVO may either allow creating a new "Individual subscription" resource if another "Individual subscription" resource with the same filter and - callbackUri already exists (in which case it shall return the "201 Created" response code), + callback URI already exists (in which case it shall return the "201 Created" response code), or may decide to not create a duplicate "Individual subscription" resource (in which case it shall return a "303 See Other" response code referencing the existing "Individual subscription" - resource with the same filter and callbackUri). + resource with the same filter and callback URI). parameters: - name: Accept description: > diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/VirtualisedResourcesQuotaAvailableNotificationNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/VirtualisedResourcesQuotaAvailableNotificationNotification.yaml new file mode 100644 index 00000000..bbcef279 --- /dev/null +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/VirtualisedResourcesQuotaAvailableNotificationNotification.yaml @@ -0,0 +1,183 @@ +swagger: "2.0" + +info: + version: "1.2.1-impl:etsi.org:ETSI_NFV_OpenAPI:1" + title: SOL003 - Virtualised Resources Quota Available Notification Notification interface + description: > + SOL003 - Virtualised Resources Quota Available Notification Notificatoion interface + + + IMPORTANT: Please note that this file might be not aligned to the current + version of the ETSI Group Specification it refers to. In case of + discrepancies the published ETSI Group Specification takes precedence. + + + In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based + filtering mechanism is defined. This mechanism is currently not + included in the corresponding OpenAPI design for this GS version. Changes + to the attribute-based filtering mechanism are being considered in v2.5.1 + of this GS for inclusion in the corresponding future ETSI NFV OpenAPI + design. + + Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + license: + name: "ETSI Forge copyright notice" + url: https://forge.etsi.org/etsi-forge-copyright-notice.txt + +externalDocs: + description: ETSI GS NFV-SOL 003 V2.8.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.08.01_60/gs_NFV-SOL003v020801p.pdf + +basePath: "/vrqan/v1" + +schemes: + - https + +consumes: + - "application/json" +produces: + - "application/json" + +paths: + ############################################################################### + # API Versions # + ############################################################################### + '/api_versions': + $ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions' + + ############################################################################### + # Notification endpoint VrQuotaAvailNotification # + ############################################################################### + '/URI-is-provided-by-the-client-when-creating-the-subscription-VrQuotaAvailNotification': + post: + description: > + The POST method delivers a notification from the API producer to an API consumer. + The API consumer shall have previously created an "Individual subscription" resource + with a matching filter. + This method shall follow the provisions specified in the tables 11.4.4.3.1-1 and + 11.4.4.3.1-2 for URI query parameters, request and response data structures, and + response codes. + parameters: + - name: VrQuotaAvailNotification + description: > + A notification related to the availability of the virtualised resources quota. + in: body + required: true + schema: + $ref: "./definitions/VirtualisedResourcesQuotaAvailableNotificationNotification_def.yaml#/definitions/VrQuotaAvailNotification" + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Content-Type + description: > + The Content-Type header shall be set to + "application/merge-patch+json" according to + IETF RFC 7396. + in: header + required: true + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + 204 NO CONTENT + + Shall be returned when the notification has been delivered successfully. + The response body shall be empty. + headers: + 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. + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + + get: + description: > + The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, + e.g. during subscription. + This method shall follow the provisions specified in the tables 7.4.6.3.2-1 and 7.4.6.3.2-2 + for URI query parameters, request and response data structures, and response codes. + parameters: + - name: Authorization + description: > + The authorization token for the request. + Reference: IETF RFC 7235 + in: header + required: false + type: string + - name: Version + description: > + Version of the API requested to use when responding to this request. + in: header + required: true + type: string + responses: + 204: + description: > + 204 NO CONTENT + + Shall be returned to indicate that the notification endpoint has been tested successfully. + The response body shall be empty. + headers: + 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. + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + type: string + maximum: 1 + minimum: 1 + 400: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" + 401: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401" + 403: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403" + 405: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405" + 406: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406" + 500: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500" + 503: + $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" + + \ No newline at end of file diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/definitions/VirtualisedResourcesQuotaAvailableNotificationNotification_def.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/definitions/VirtualisedResourcesQuotaAvailableNotificationNotification_def.yaml new file mode 100644 index 00000000..10798f24 --- /dev/null +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/definitions/VirtualisedResourcesQuotaAvailableNotificationNotification_def.yaml @@ -0,0 +1,77 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt + +definitions: + VrQuotaAvailNotification: + description: > + This type represents a notification which indicates the availability + of a quota applicable to the consumer. It shall comply with the provisions + defined in table 11.5.2.4-1. Support of this notification is mandatory if + the Virtualised Resources Quota Available Notification interface is supported. + The notification shall be triggered by the NFVO when a virtualised resource + quota applicable to the consumer has been set. + type: object + required: + - id + - notificationType + - subscriptionId + - timeStamp + - resourceGroupId + - _links + properties: + id: + description: > + Identifier of this notification. If a notification is sent multiple times + due to multiple subscriptions, the "id" attribute of all these notifications + shall have the same value. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + notificationType: + description: > + Discriminator for the different notification types. + Shall be set to "VrQuotaAvailNotification" for this notification type. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" + subscriptionId: + description: > + Identifier of the subscription that this notification relates to. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + timeStamp: + description: > + Date-time of the generation of the notification. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + resourceGroupId: + description: > + Identifier of the "infrastructure resource group", logical grouping of + virtual resources assigned to a tenant within an Infrastructure Domain. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVim" + vimConnectionInfo: + description: > + Information about the VIM connection to manage the virtualised resources quota. + This attribute shall only be supported and present when VNF-related Resource Management + in direct mode is applicable. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" + resourceProviderId: + description: > + Identifies the entity responsible for the management of the virtualised resources quota. + This attribute shall only be supported and present when VNF-related Resource Management + in indirect mode is applicable. The identification scheme is outside the scope of the + present document. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + _links: + description: > + Links to resources related to this notification. + $ref: "#/definitions/QuotaAvailLinks" + + QuotaAvailLinks: + description: > + This type represents the links to resources that a notification of type "VrQuotaAvailNotification" + can contain. It shall comply with the provisions defined in table 11.5.3.3-1. + type: object + required: + - subscription + properties: + subscription: + description: > + Link to the related subscription. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/NotificationLink" + + diff --git a/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml b/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml index 1a3ef012..f52fdd70 100644 --- a/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml @@ -98,7 +98,7 @@ definitions: rootCauseFaultyResource: description: > The virtualised resources that are causing the VNF fault. - Shall be present if the alarm affects virtualized resources. + Shall be present if the alarm affects virtualised resources. $ref: "#/definitions/FaultyResourceInfo" alarmRaisedTime: description: > diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 658fcdfb..efb81174 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -22,11 +22,10 @@ definitions: type: string metadata: description: > - If present, this attribute provides values for the "metadata" attribute in "VnfInstance", - as defined in clause 5.5.2.2. - If a “metadata” entry in this CreateVnfRequest data structure has a corresponding default - value declared in the VNFD, the value in the “metadata” entry in the CreateVnfRequest - structure takes precedence. + If present, this attribute provides additional initial values, overriding those + obtained from the VNFD, for the "metadata" attribute in "VnfInstance", as defined + in clause 5.5.2.2. Provisions for handling metadata during the operation are defined + in clause 5.4.2.3.1. $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" ScaleVnfRequest: @@ -279,7 +278,9 @@ definitions: grantId: description: > Identifier of the grant related to this VNF LCM operation - occurrence, if such grant exists. + occurrence. Shall be set to the value of the "id" attribute + in the "Grant" representing the associated "Individual Grant", + if such grant exists. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" operation: description: > @@ -339,7 +340,7 @@ definitions: description: > Information about VNFC instances that were affected during the lifecycle operation. - This allows the NFVO to obtain the information contained in the + NOTE 1: This allows the NFVO to obtain the information contained in the latest "result" notification if it has not received it due to an error or a wrongly configured subscription filter. type: array @@ -348,13 +349,34 @@ definitions: affectedVirtualLinks: description: > Information about VL instances that were affected during the - lifecycle operation. - This allows the NFVO to obtain the information contained in the - latest "result" notification if it has not received it due to an + lifecycle operation. See note 1 and note 2. + + NOTE 1: This allows the NFVO to obtain the information contained in + the latest "result" notification if it has not received it due to an error or a wrongly configured subscription filter. + NOTE 2: For a particular affected VL, there shall be as many + "AffectedVirtualLink" entries as needed for signalling the different + types of changes, i.e., one per virtual link and change type. For instance, + in the case of signaling affected VL instances involving the addition of a + particular VL instance with links ports, one "AffectedVirtualLink" entry + signals the addition of the VL by using the "changeType" attribute of + "AffectedVirtualLink" structure equal to "ADDED", and another "AffectedVirtualLink" + entry signals the addition of externally visible VNF link ports of the VL by using + the "changeType" equal to "LINK_PORT_ADDED". type: array items: $ref: "#/definitions/AffectedVirtualLink" + affectedExtLinkPorts: + description: > + Information about external VNF link ports that were affected during the lifecycle + operation. See note 1. + + NOTE 1: This allows the NFVO to obtain the information contained in the latest "result" + notification if it has not received it due to an error or a wrongly configured subscription + filter. + type: array + items: + $ref: "#/definitions/AffectedExtLinkPort" affectedVirtualStorages: description: > Information about virtualised storage instances that were affected @@ -762,7 +784,7 @@ definitions: $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" resourceHandle: description: > - Reference to the virtualised network resource realizing this link + Reference to the virtualised resource realizing this link port. $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" cpInstanceId: @@ -996,7 +1018,8 @@ definitions: AffectedVirtualLink: description: > This type provides information about added, deleted, modified and - temporary VLs. + temporary VLs, and added or removed VNF link ports. + It shall comply with the provisions in table 5.5.3.14-1. type: object required: - id @@ -1322,6 +1345,8 @@ definitions: subscriptionId: description: > Identifier of the subscription that this notification relates to. + Shall be set to the value of the "id" attribute of the "LccnSubscription" + representing the associated "Individual subscription" resource. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" timeStamp: description: > @@ -1364,6 +1389,9 @@ definitions: description: > The identifier of the VNF lifecycle management operation occurrence associated to the notification. + Shall be set to the value of the "id" attribute of the "VnfLcmOpOcc" + representing the associated "Individual VNF lifecycle management operation + occurrence" resource. $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" affectedVnfcs: description: > @@ -1382,15 +1410,38 @@ definitions: description: > Information about VL instances that were affected during the lifecycle operation. - Shall be present if the "notificationStatus" is set to "RESULT" 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 VNF LCM operation occurrence and by any of the error - handling procedures for that operation occurrence. + + NOTE 1: Shall be present if the "notificationStatus" is set to "RESULT" + 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 VNF LCM operation + occurrence and by any of the error handling procedures for that operation + occurrence. + NOTE 2: For a particular affected VL, there shall be as many "AffectedVirtualLink" + entries as needed for signalling the different types of changes, i.e., one per + virtual link and change type. For instance, in the case of signaling affected VL + instances involving the addition of a particular VL instance with links ports, + one "AffectedVirtualLink" entry signals the addition of the VL by using the + "changeType" attribute of "AffectedVirtualLink" structure equal to "ADDED", + and another "AffectedVirtualLink" entry signals the addition of externally visible + VNF link ports of the VL by using the "changeType" equal to "LINK_PORT_ADDED". type: array items: $ref: "#/definitions/AffectedVirtualLink" + affectedExtLinkPorts: + description: > + Information about external VNF link ports that were affected during the + lifecycle operation. See note 1. + + NOTE 1: Shall be present if the "notificationStatus" is set to "RESULT" + 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 VNF LCM operation + occurrence and by any of the error handling procedures for that operation + occurrence. + type: array + items: + $ref: "#/definitions/AffectedExtLinkPort" affectedVirtualStorages: description: > Information about virtualised storage instances that were affected @@ -1435,6 +1486,8 @@ definitions: _links: description: > Links to resources related to this notification. + The link URIs in this structure shall be set to point to the resources identified + by the corresponding identifier attributes in this notification. $ref: "#/definitions/LccnLinks" VnfIdentifierCreationNotification: diff --git a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml index 9b6e1c47..ecee4b99 100644 --- a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml @@ -125,6 +125,7 @@ definitions: - id - notificationType - timeStamp + - pmJobId - objectType - objectInstanceId - _links @@ -147,6 +148,10 @@ definitions: description: > Date and time of the generation of the notification. $ref: "SOL002SOL003_def.yaml#/definitions/DateTime" + pmJobId: + description: > + Identifier of the PM job for which performance information is available. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" objectType: description: > Type of the measured object. @@ -180,7 +185,7 @@ definitions: objectInstance: description: > Link to the resource representing the measured object instance to which the - notified change applies. Shall be present if the measured object instance + notification applies. Shall be present if the measured object instance information is accessible as a resource. $ref: "SOL002SOL003_def.yaml#/definitions/NotificationLink" pmJob: @@ -394,7 +399,7 @@ definitions: New value of the "authentication" attribute, or "null" to remove the attribute. If present in a request body, these modifications shall be applied according to the - rules of JSON Merge PATCH. + rules of JSON Merge Patch. This attribute shall not be present in response bodies. At least one of the attributes defined in this type shall be present in request bodies. $ref: "SOL002SOL003_def.yaml#/definitions/SubscriptionAuthentication" @@ -418,7 +423,7 @@ definitions: performanceMetricGroup: description: > Group of performance metrics. A metric group is a pre-defined list - of metrics, known to the producer that it can decompose to + of metrics, known to the API producer that it can decompose to individual metrics. Valid values are specified as "Measurement Group" values in clause 7.2 of ETSI GS NFV-IFA 027. At least one of the two attributes (performance metric or group) @@ -428,15 +433,20 @@ definitions: type: string collectionPeriod: description: > - Specifies the periodicity at which the producer will collect - performance information. The unit shall be seconds. - At the end of each reportingPeriod, the producer will inform the - consumer about availability of the performance data collected for + Specifies the periodicity at which the API producer will collect + performance information. The unit shall be seconds. See notes 1 and 2. + + NOTE 1: At the end of each reportingPeriod, the API producer will inform the + API consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together. + + NOTE 2: In particular when choosing short collection and reporting periods, + the number of PM jobs that can be supported depends on the capability of the + producing entity. type: integer minimum: 0 maximum: 1024 @@ -444,15 +454,21 @@ definitions: # Done using min and max params to set a range for positive int. reportingPeriod: description: > - Specifies the periodicity at which the producer will report to the - consumer. about performance information. The unit shall be seconds. - At the end of each reportingPeriod, the producer will inform the - consumer about availability of the performance data collected for + Specifies the periodicity at which the API producer will report to the + API consumer about performance information. The unit shall be seconds. + See notes 1 and 2. + + NOTE 1: At the end of each reportingPeriod, the API producer will inform the + API consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together. + + NOTE 2: In particular when choosing short collection and reporting periods, + the number of PM jobs that can be supported depends on the capability of the + producing entity. type: integer minimum: 0 maximum: 1024 @@ -546,7 +562,7 @@ definitions: New value of the "authentication" attribute, or "null" to remove the attribute. If present in a request body, these modifications shall be applied according to the - rules of JSON Merge PATCH. + rules of JSON Merge Patch. This attribute shall not be present in response bodies. At least one of the attributes defined in this type shall be present in request bodies. $ref: "SOL002SOL003_def.yaml#/definitions/SubscriptionAuthentication" @@ -614,7 +630,6 @@ definitions: maximum: 1024 format: float - ThresholdCrossedNotification: description: > This type represents a notification that is sent when a threshold has -- GitLab From ee6d7ed483f9c656f524d669bf27c1c35ba1f764 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Wed, 10 Feb 2021 10:02:42 +0100 Subject: [PATCH 03/22] SOL003: minor fix --- .../definitions/SOL003VNFLifecycleManagement_def.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index 25fdd95f..04af3ddc 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -874,7 +874,7 @@ definitions: startTime: description: > Date-time of the start of the operation. - $ref: "SOL002SOL003_def.yaml#/definitions/DateTime" + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" vnfInstanceId: description: > Identifier of the VNF instance to which the operation applies @@ -1125,7 +1125,7 @@ definitions: be found by dereferencing the identifiers in the "vnfLinkPortIds" attribute. type: array items: - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" resourceDefinitionId: description: > The identifier of the "ResourceDefinition" in the granting exchange -- GitLab From b0ad36f585077c305d02ffd5c2322f297b6f572e Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Wed, 10 Feb 2021 10:20:31 +0100 Subject: [PATCH 04/22] SOL002-SOL003: fix in common data types --- ...OL002SOL003VNFLifecycleManagement_def.yaml | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index efb81174..e77e2f50 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -1086,6 +1086,42 @@ definitions: "metadata" attribute of the VnfVirtualLinkResourceInfo structure. $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + AffectedExtLinkPort: + description: > + This type provides information about added and deleted external link ports (link ports attached to external + virtual links). It shall comply with the provisions in table 5.5.3.14a-1. + type: object + required: + - id + - changeType + - extCpInstanceId + - resourceHandle + properties: + id: + description: > + Identifier of the link port, identifying the applicable "extLinkPorts" entry in the "ExtVirtualLinkInfo" + data type (see clause 5.5.3.2). + $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + changeType: + description: > + Signals the type of change. + Permitted values: + - ADDED + - REMOVED + type: string + enum: + - ADDED + - REMOVED + extCpInstanceId: + description: > + Identifier of the related external CP instance. + $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + resourceHandle: + description: > + Reference to the link port resource. Detailed information is (for added resources) + or has been (for removed resources) available from the VIM. + $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" + AffectedVirtualStorage: description: > This type provides information about added, deleted, modified and -- GitLab From 5e2fe459e2dab2bf8bb44f940f62f91bc2d8cf4d Mon Sep 17 00:00:00 2001 From: zulfiqar Date: Thu, 18 Feb 2021 10:49:08 +0100 Subject: [PATCH 05/22] SOll002_2 added and API version updated --- src/SOL002/APIVersion/APIVersion.yaml | 4 ++-- .../VNFLifecycleManagement/VNFLifecycleManagement.yaml | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/SOL002/APIVersion/APIVersion.yaml b/src/SOL002/APIVersion/APIVersion.yaml index c050b054..eb009b66 100644 --- a/src/SOL002/APIVersion/APIVersion.yaml +++ b/src/SOL002/APIVersion/APIVersion.yaml @@ -17,8 +17,8 @@ info: name: NFV-SOL WG externalDocs: - description: ETSI GS NFV-SOL 002 V2.7.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf + description: ETSI GS NFV-SOL 002 V2.8.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.08.01_60/gs_NFV-SOL002v020801p.pdf schemes: - http diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 51bbbc5c..a9e1532e 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "1.4.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "1.5.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL002 - VNF Lifecycle Management interface description: > SOL002 - VNF Lifecycle Management interface @@ -17,8 +17,8 @@ info: name: NFV-SOL WG externalDocs: - description: ETSI GS NFV-SOL 002 V2.7.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf + description: ETSI GS NFV-SOL 002 V2.8.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.08.01_60/gs_NFV-SOL002v020801p.pdf basePath: /vnflcm/v1 @@ -43,7 +43,7 @@ paths: # VNF instances # ############################################################################### '/vnf_instances': - #SOL003 location: 5.4.2 + #SOL002 location: 5.4.2 parameters: - name: Version description: > @@ -60,7 +60,7 @@ paths: type: string post: description: > - The POST method creates a new VNF instance resource. + The POST method creates a new VNF instance resource based on a VNF package that is onboarded and in "ENABLED" state. parameters: - name: createVnfRequest description: > -- GitLab From 82c80017b8cb6160d63f1a593aa82e14edb9c1d2 Mon Sep 17 00:00:00 2001 From: zulfiqar Date: Mon, 22 Feb 2021 12:01:49 +0100 Subject: [PATCH 06/22] SOL002_11 and minor fixes --- .../VNFLifecycleManagement.yaml | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index a9e1532e..8da94598 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -293,7 +293,7 @@ paths: # Individual VNF instance # ############################################################################### '/vnf_instances/{vnfInstanceId}': - #SOL003 location: 5.4.3.2 + #SOL002 location: 5.4.3.2 parameters: - name: vnfInstanceId description: > @@ -531,7 +531,7 @@ paths: # Instantiate VNF task # ############################################################################### '/vnf_instances/{vnfInstanceId}/instantiate': - #SOL003 location: 5.4.4.2 + #SOL002 location: 5.4.4.2 parameters: - name: vnfInstanceId description: > @@ -643,7 +643,7 @@ paths: # Scale VNF task # ############################################################################### '/vnf_instances/{vnfInstanceId}/scale': - #SOL003 location: 5.4.5.2 + #SOL002 location: 5.4.5.2 parameters: - name: vnfInstanceId description: > @@ -757,7 +757,7 @@ paths: # Scale VNF to Level task # ############################################################################### '/vnf_instances/{vnfInstanceId}/scale_to_level': - #SOL003 location: 5.4.6.2 + #SOL002 location: 5.4.6.2 parameters: - name: vnfInstanceId description: > @@ -984,7 +984,7 @@ paths: # Terminate VNF task # ############################################################################### '/vnf_instances/{vnfInstanceId}/terminate': - #SOL003 location: 5.4.8.2 + #SOL002 location: 5.4.8.2 parameters: - name: vnfInstanceId description: > @@ -1027,7 +1027,7 @@ paths: The request has been accepted for processing. The response body shall be empty. The HTTP response shall include a "Location" HTTP header that contains the URI of the - newly-created "VNF LCM operation occurrence" resource corresponding to the operation. + newly-created "Individual VNF LCM operation occurrence" resource corresponding to the operation. headers: Content-Type: description: The MIME type of the body of the response. @@ -1096,7 +1096,7 @@ paths: # Heal VNF task # ############################################################################### '/vnf_instances/{vnfInstanceId}/heal': - #SOL003 location: 5.4.9.2 + #SOL002 location: 5.4.9.2 parameters: - name: vnfInstanceId description: > @@ -1208,7 +1208,7 @@ paths: # Operate VNF task # ############################################################################### '/vnf_instances/{vnfInstanceId}/operate': - #SOL003 location: 5.4.9.2 + #SOL002 location: 5.4.9.2 parameters: - name: vnfInstanceId description: > @@ -1320,7 +1320,7 @@ paths: # Change external VNF connectivity task # ############################################################################### '/vnf_instances/{vnfInstanceId}/change_ext_conn': - #SOL003 location: 5.4.9.2 + #SOL002 location: 5.4.9.2 parameters: - name: vnfInstanceId description: > @@ -1433,7 +1433,7 @@ paths: # VNF LCM operation occurrences # ############################################################################### '/vnf_lcm_op_occs': - #SOL003 location: 5.4.12 + #SOL002 location: 5.4.12 parameters: - name: Version description: > @@ -1600,7 +1600,7 @@ paths: # Individual VNF LCM operation occurrence # ############################################################################### '/vnf_lcm_op_occs/{vnfLcmOpOccId}': - #SOL003 location: 5.4.13 + #SOL002 location: 5.4.13 parameters: - name: vnfLcmOpOccId description: > @@ -1688,7 +1688,7 @@ paths: # Retry operation task # ############################################################################### '/vnf_lcm_op_occs/{vnfLcmOpOccId}/retry': - #SOL003 location: 5.4.14 + #SOL002 location: 5.4.14 parameters: - name: vnfLcmOpOccId description: > @@ -1782,7 +1782,7 @@ paths: # Rollback operation task # ############################################################################### '/vnf_lcm_op_occs/{vnfLcmOpOccId}/rollback': - #SOL003 location: 5.4.15 + #SOL002 location: 5.4.15 parameters: - name: vnfLcmOpOccId description: > @@ -1875,7 +1875,7 @@ paths: # Fail operation task # ############################################################################### '/vnf_lcm_op_occs/{vnfLcmOpOccId}/fail': - #SOL003 location: 5.4.16 + #SOL002 location: 5.4.16 parameters: - name: vnfLcmOpOccId description: > @@ -1975,7 +1975,7 @@ paths: # Cancel operation task # ############################################################################### '/vnf_lcm_op_occs/{vnfLcmOpOccId}/cancel': - #SOL003 location: 5.4.17 + #SOL002 location: 5.4.17 parameters: - name: vnfLcmOpOccId description: > @@ -2079,7 +2079,7 @@ paths: # Subscriptions # ############################################################################### '/subscriptions': - #SOL003 location: 5.4.18 + #SOL002 location: 5.4.18 parameters: - name: Version description: > @@ -2100,7 +2100,7 @@ paths: parameters: - name: LccnSubscriptionRequest description: > - Details of the subscription to be created. + Details of the subscription to be created, as defined in clause 5.5.2.15. in: body required: true schema: @@ -2279,7 +2279,7 @@ paths: # Individual subscription # ############################################################################### '/subscriptions/{subscriptionId}': - #SOL003 location: 5.4.19 + #SOL002 location: 5.4.19 parameters: - name: subscriptionId description: > -- GitLab From 2a7a98b747d11254003f51c3ccb257f2c36e2dee Mon Sep 17 00:00:00 2001 From: zulfiqar Date: Tue, 23 Feb 2021 09:42:43 +0100 Subject: [PATCH 07/22] SOL002_16 & 48 added --- .../SOL002VNFLifecycleManagement_def.yaml | 176 ++++++++++++++---- 1 file changed, 137 insertions(+), 39 deletions(-) diff --git a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml index 61385094..15dd90e4 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml @@ -13,7 +13,6 @@ definitions: - vnfProductName - vnfSoftwareVersion - vnfdVersion - - vnfPkgInfoId - instantiationState - _links properties: @@ -37,11 +36,11 @@ definitions: This attribute can be modified with the PATCH method. Modifying the value of this attribute shall not be performed when conflicts exist between the previous and the newly referred - VNF package, i.e. when the new VNFD is not changed with respect - to the previous VNFD apart from referencing to other VNF software - images. In order to avoid misalignment of the VnfInstance with - the current VNF's on-boarded VNF package, the values of attributes - in the VnfInstance that have corresponding attributes in the VNFD + VNF package, i.e. when the new VNFD is changed with respect + to the previous VNFD in other aspects than merely referencing to + other VNF software images. In order to avoid misalignment of the + VnfInstance with the current VNF's on-boarded VNF package, the values + of attributes in the VnfInstance that have corresponding attributes in the VNFD shall be kept in sync with the values in the VNFD. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" vnfProvider: @@ -60,12 +59,6 @@ definitions: description: > Identifies the version of the VNFD. The value is copied from the VNFD. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Version" - vnfPkgId: - description: > - Identifier of information held by the NFVO about the specific VNF - package on which the VNF is based. This identifier was allocated by the - NFVO. This attribute can be modified with the PATCHmethod. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" vnfConfigurableProperties: description: > Additional VNF-specific attributes that provide the current values @@ -79,18 +72,14 @@ definitions: VNF instantiation operation (if the VNF instance is in NOT_INSTANTIATED state at the time of the modification). Configurable properties referred in these attributes shall be declared - in the VNFD. - The declaration of configurable properties in the VNFD can optionally - contain the specification of initial values. - ETSI GS NFV-SOL 001 specifies the structure and format of the - VNFD based on TOSCA specifications. - VNF configurable properties are sometimes also referred to as configuration - parameters applicable to a VNF. Some of these are set prior to instantiation - and cannot be modified if the VNF is instantiated, some are set prior to - instantiation (are part of initial configuration) and can be modified later, - and others can be set only after instantiation. The applicability of certain - configuration may depend on the VNF and the required operation of the VNF at - a certain point in time. + in the VNFD. The declaration of configurable properties in the VNFD can optionally + contain the specification of initial values. See note 2, note 3 and note 4. + ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. + VNF configurable properties are sometimes also referred to as configuration parameters applicable to a VNF. + Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, some are set + prior to instantiation (are part of initial configuration) and can be modified later, and others can be set + only after instantiation. The applicability of certain configuration may depend on the VNF and the required + operation of the VNF at a certain point in time. These configurable properties include the following standard attributes, which are declared in the VNFD if auto-scaling and/or auto-healing are supported by the VNF: @@ -100,7 +89,17 @@ definitions: - isAutohealEnabled: If present, the VNF supports auto-healing. If set to true, auto-healing is currently enabled. If set to false, auto-healing is currently disabled. - This attributeThese attributes can be modified with the PATCH method. + These configurable properties can be initialized with default values from the VNFD (see note 4). + Configurable properties can be modified with values passed in the request structures + of certain LCM operations, such as the InstantiateVnfRequest structure. + Further, these configurable properties can be created, modified or deleted with the PATCH method. + + note 4: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes + of "vnfConfigurableProperties", "metadata" and "extensions" that were declared in the VNFD with a defined + initial value. The defined initial values can be declared in the VNFD, and/or, in case of "metadata", + obtained from the "CreateVnfRequest" structure. Child attributes of "vnfConfigurableProperties", "metadata" + and "extensions" that have no defined initial value shall not be created, in order to be consistent with the + semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion request. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" instantiationState: description: > @@ -182,7 +181,7 @@ definitions: by the VNFCs of the VNF instance. type: array items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcResourceInfo" + $ref: "#/definitions/VnfcResourceInfo" virtualLinkResourceInfo: description: > Information about the virtualised network resources used by the VLs @@ -196,6 +195,12 @@ definitions: type: array items: $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VirtualStorageResourceInfo" + vnfcInfo: + description: > + Information about the VNFC instances. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcInfo" metadata: description: > Additional VNF-specific attributes that provide metadata describing the VNF instance. @@ -209,9 +214,9 @@ definitions: accept requests to write metadata that are not are declared in the VNFD. These attributes can be initialized with default values from VNFD and/or with values - passed in the CreateVnfRequest structure (see clause 5.5.2.3). + passed in the CreateVnfRequest structure (see clause 5.4.2.3.1). - This attribute can be modified with the PATCH method. + These attributes can be created, modified or removed with the PATCH method. ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" @@ -221,24 +226,24 @@ definitions: VNF instance by the VNFM, or the lifecycle management scripts. These attributes represent values that are stored persistently in the VnfInstance structure for consumption by the VNFM, or by the lifecycle management scripts - during the execution of VNF lifecycle management operations. + during the execution of VNF lifecycle management operations. + All extensions that are allowed for the VNF are declared in the VNFD. The declaration of + an extension in the VNFD contains information on whether its presence is optional or + required, and optionally can specify an initial value. See note 2 and note 4. + The VNFM shall reject requests to write extension attributes that are not declared in the VNFD + with a "422 Unprocessable entity" error response as defined in clause 6.4 of ETSI GS NFV SOL 013. Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified attribute values can be considered during subsequent VNF lifecycle management operations, which means that the modified values can indirectly affect the configuration of the VNF instance. - All extensions that are allowed for the VNF shall be declared in the VNFD. - This attribute can be be initialized with default values from VNFD and/or - with values passed in the InstantiateVnfRequest structure (see clause 5.5.2.4). + These attributes can be initialized with default values from the VNFD. - A value initialised with default values from the VNFD can be updated with values - passed in the InstantiateVnfRequest structure. + These attributes can be modified with values passed in the request structures of certain LCM operations, + such as the InstantiateVnfRequest structure - Further, these attributes can be modified with the PATCH method. - - ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on - TOSCA specifications. + Further, these attributes can be created, modified or deleted with the PATCH method. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" _links: description: > @@ -552,4 +557,97 @@ definitions: to be used as "deleteIdList" as defined below this table. type: array items: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" \ No newline at end of file + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + + + VnfcResourceInfo: + description: > + This type represents the information on virtualised compute and storage + resources used by a VNFC in a VNF instance. + type: object + required: + - id + - vduId + - computeResource + properties: + id: + description: > + Identifier of this VnfcResourceInfo instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + vduId: + description: > + Reference to the applicable VDU in the VNFD. + ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + computeResource: + description: > + Reference to the VirtualCompute resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + storageResourceIds: + description: > + References to the VirtualStorage resources. The value refers to a + VirtualStorageResourceInfo item in the VnfInstance. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + reservationId: + description: > + The reservation identifier applicable to the resource. It shall be + present when an applicable reservation exists. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfcCpInfo: + description: > + All CPs of the VNFC instance. + type: array + items: + type: object + required: + - id + - cpdId + properties: + id: + description: > + Identifier of this VNFC CP instance and the associated array + entry. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + cpdId: + description: > + Identifier of the VDU CPD, cpdId, in the VNFD. + ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfExtCpId: + description: > + Identifier of the related external CP. Shall be present when the VNFC CP is exposed + as an external CP of the VNF instance or connected to an external CP of the VNF instance + (see note 2) and shall be absent otherwise. + + 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. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + cpProtocolInfo: + description: > + Network protocol information for this CP. + May be omitted if the VNFC CP is exposed as an external CP. See note 3. + + NOTE 3: The information can be omitted because it is already available as part of the external + CP information. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/CpProtocolInfo" + vnfLinkPortId: + description: > + Identifier of the "VnfLinkPorts" structure in the + "VnfVirtualLinkResourceInfo" structure. Shall be present if the CP is associated to a link port + on an internal VL of the VNF instance and shall be absent otherwise. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + metadata: + description: > + Metadata about this CP. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + metadata: + description: > + Metadata about this resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + -- GitLab From cef5f246321f89ea92cd37adcb04f7f9d468c520 Mon Sep 17 00:00:00 2001 From: zulfiqar Date: Tue, 23 Feb 2021 10:20:08 +0100 Subject: [PATCH 08/22] SOL002_23 added --- .../SOL002VNFLifecycleManagement_def.yaml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml index 15dd90e4..cb87cf16 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml @@ -335,7 +335,12 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" extManagedVirtualLinks: description: > - Information about external VLs to connect the VNF to. + Information about internal VLs that are managed by other entities than the VNFM. + NOTE: 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. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" @@ -352,9 +357,9 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" extensions: description: > - If present, this attribute provides values for the "extensions" attribute in "VnfInstance", - as defined in clause 5.5.2.2. If an entry with the same key exists in the VnfInstance data structure, - the VNFM shall replace its value with the value passed in the InstantiateVnfRequest data structure. + If present, this attribute provides modifications to the default values, as obtained from the VNFD, of + the "extensions" attribute in "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling + extensions during operation are defined in clause 5.4.4.3.1. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" vnfConfigurableProperties: description: > -- GitLab From 63b4435ea1cc38283a16cfe95a39905c38770610 Mon Sep 17 00:00:00 2001 From: zulfiqar Date: Tue, 23 Feb 2021 10:34:23 +0100 Subject: [PATCH 09/22] SOL002_24 added --- .../SOL002VNFLifecycleManagement_def.yaml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml index cb87cf16..0c6a769f 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml @@ -396,7 +396,12 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" extManagedVirtualLinks: description: > - Information about external VLs to connect the VNF to. + Information about internal VLs that are managed by other entities than the VNFM. + NOTE: 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. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" @@ -406,6 +411,18 @@ definitions: to the VNF being instantiated, as declared in the VNFD as part of "InstantiateVnfOpConfig". $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + extensions: + description: > + If present, this attribute provides modifications to the values of the "extensions" attribute in + "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling extensions during the operation, + are defined in clause 5.4.7.3.1. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + vnfConfigurableProperties: + description: > + If present, this attribute provides modifications to the values of the vnfConfigurableProperties" attribute + in "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling VNF configurable properties during + the operation, are defined in clause 5.4.7.3.1. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" TerminateVnfRequest: type: object -- GitLab From a09addeb0dca17b6e790223d9fa30ef1862031ba Mon Sep 17 00:00:00 2001 From: zulfiqar Date: Tue, 23 Feb 2021 15:38:37 +0100 Subject: [PATCH 10/22] added from SOL002_19 -> SOL002_34 --- .../SOL002VNFLifecycleManagement_def.yaml | 544 +++++++++++++++++- ...NFLifecycleManagementNotification_def.yaml | 37 +- ...OL002SOL003VNFLifecycleManagement_def.yaml | 24 +- 3 files changed, 573 insertions(+), 32 deletions(-) diff --git a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml index 0c6a769f..f9dfb02d 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml @@ -200,7 +200,7 @@ definitions: Information about the VNFC instances. type: array items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcInfo" + $ref: "#/definitions/VnfcInfo" metadata: description: > Additional VNF-specific attributes that provide metadata describing the VNF instance. @@ -435,9 +435,27 @@ definitions: Permitted values: * FORCEFUL: The VNFM will shut down the VNF and release the resources immediately after accepting the request. + * GRACEFUL: The VNFM will first arrange to take the VNF out + of service after accepting the request. Once the operation of + taking the VNF out of service finishes (irrespective of whether + it has succeeded or failed) or once the timer value specified in + the "gracefulTerminationTimeout" attribute expires, the VNFM will + shut down the VNF and release the resources. type: string enum: - FORCEFUL + - GRACEFUL + gracefulTerminationTimeout: + description: > + This attribute is only applicable in case of graceful termination. + It defines the time to wait for the VNF to be taken out of service + before shutting down the VNF and releasing the resources. + The unit is seconds. + If not given and the "terminationType" attribute is set to + "GRACEFUL", it is expected that the VNFM waits for the successful + taking out of service of the VNF, no matter how long it takes, + before shutting down the VNF and releasing the resources. + type: integer additionalParams: description: > Additional parameters passed by the NFVO as input to the termination @@ -450,7 +468,10 @@ definitions: properties: vnfcInstanceId: description: > - List of VNFC instances requiring a healing action. + List identifiers of of VNFC instances for which a healing action is requested. + Each identifier references the "id" attribute in a "VnfcInfo" structure. + Cardinality can be "0" to denote that the request applies to the whole VNF + and not a specific VNFC instance. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" @@ -479,7 +500,8 @@ definitions: properties: vnfcInstanceId: description: > - Identifier of VNFC instances. Cardinality can be "0" to denote + List of identifiers of VNFC instances. Each identifier references the "id" attribute + in a "VnfcInfo" structure. Cardinality can be "0" to denote that the request applies to the whole VNF and not a specific VNFC instance. type: array items: @@ -492,12 +514,30 @@ definitions: stopType: description: > It signals whether forceful or graceful stop is requested. - Ignored if changeStateTo=STARTED. - Permitted values: - FORCEFUL: The VNFM will stop down the VNF or the affected VNFCs immediately after accepting the request. - type: string - enum: - - FORCEFUL + 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" is equal to "STOPPED" and the "stopType" attribute is + equal to "GRACEFUL". The "gracefulStopTimeout" attribute shall be absent, + when the "changeStateTo" attribute is equal to "STOPPED" and the "stopType" + attribute is equal to "FORCEFUL". The request shall be treated as if the + "stopType" attribute has been set to "FORCEFUL", when the "changeStateTo" + attribute is equal to "STOPPED" and the "stopType" attribute is absent. + $ref: "#/definitions/StopType" + gracefulStopTimeout: + description: > + The time interval (in seconds) to wait for the VNF to be taken out + of service during graceful stop, before stopping the VNF. + 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" is equal to "STOPPED" and the "stopType" attribute is + equal to "GRACEFUL". The "gracefulStopTimeout" attribute shall be absent, + when the "changeStateTo" attribute is equal to "STOPPED" and the "stopType" + attribute is equal to "FORCEFUL". The request shall be treated as if the + "stopType" attribute has been set to "FORCEFUL", when the "changeStateTo" + attribute is equal to "STOPPED" and the "stopType" attribute is absent. + type: integer additionalParams: description: > Additional parameters passed by the NFVO as input to the process, @@ -552,19 +592,19 @@ definitions: description: > Modifications of the "vnfConfigurableProperties" attribute in "VnfInstance". If present, these modifications shall be applied according to the rules of - JSON Merge PATCH (see IETF RFC 7396 [15]). + JSON Merge Patch (see IETF RFC 7396). $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" metadata: description: > - Modifications of the "metadattametadata" attribute in "VnfInstance". + Modifications of the "metadata" attribute in "VnfInstance". If present, these modifications shall be applied according to the rules of - JSON Merge PATCH (see IETF RFC 7396 [15]). + JSON Merge Patch (see IETF RFC 7396). $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" extensions: description: > Modifications of the "extensions" attribute in "VnfInstance". If present, these modifications shall be applied according to the rules of - JSON Merge PATCH (see IETF RFC 7396 [15]). + JSON Merge Patch (see IETF RFC 7396). $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" vnfcInfoModifications: description: > @@ -573,14 +613,6 @@ definitions: type: array items: $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcInfoModifications" - vnfcInfoModificationsDeleteIds: - description: > - List of identifiers entries to be deleted from the 'vnfcInfoModifications" attribute array - to be used as "deleteIdList" as defined below this table. - type: array - items: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - VnfcResourceInfo: description: > @@ -672,4 +704,474 @@ definitions: Metadata about this resource. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + StopType: + description: > + * FORCEFUL: The VNFM will stop the VNF instance or VNFC instance(s) immediately after + accepting the request. + * GRACEFUL: The VNFM will first arrange to take the VNF instance or VNFC instance(s) out of service + after accepting the request. Once that operation is successful or once + the timer value specified in the "gracefulStopTimeout" attribute + expires, the VNFM will stop the VNF instance or VNFC instance(s). + type: string + enum: + - FORCEFUL + - GRACEFUL + VnfInfoModifications: + description: > + This type represents attribute modifications that were performed on an + "Individual VNF instance" resource. The attributes that can be included + consist of those requested to be modified explicitly in the + "VnfInfoModificationRequest" data structure, and additional attributes + of the "VnfInstance" data structure that were modified implicitly e.g. + when modifying the referenced VNF package. + type: object + properties: + vnfInstanceName: + description: > + If present, this attribute signals modifications of the + "vnfInstanceName" attribute in "VnfInstance". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" + vnfInstanceDescription: + description: > + If present, this attribute signals modifications of the + "vnfInstanceDescription" attribute in "VnfInstance". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" + vnfConfigurableProperties: + description: > + If present, this attribute signals modifications of the + "vnfConfigurableProperties" attribute in "VnfInstance". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + metadata: + description: > + If present, this attribute signals modifications of the "metadata" + attribute in "VnfInstance". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + extensions: + description: > + If present, this attribute signals modifications of the "extensions" + attribute in "VnfInstance". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + vnfdId: + description: > + If present, this attribute signals modifications of the "vnfdId" + attribute in "VnfInstance". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfProvider: + description: > + If present, this attribute signals modifications of the + "vnfProvider" attribute in "VnfInstance". + If present, this attribute (which depends on the value of the + "vnfPkgId" attribute) was modified implicitly following a request to + modify the "vnfPkgId" attribute, by copying the value of this + attribute from the VNFD in the VNF Package identified by the + "vnfPkgId” attribute. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" + vnfProductName: + description: > + If present, this attribute signals modifications of the + "vnfProductName" attribute in "VnfInstance". + If present, this attribute (which depends on the value of the + "vnfPkgId" attribute) was modified implicitly following a request to + modify the "vnfPkgId" attribute, by copying the value of this + attribute from the VNFD in the VNF Package identified by the + "vnfPkgId” attribute. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" + vnfSoftwareVersion: + description: > + If present, this attribute signals modifications of the + "vnfSoftwareVersion" attribute in "VnfInstance". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Version" + vnfdVersion: + description: > + If present, this attribute signals modifications of the + "vnfdVersion" attribute in "VnfInstance". + If present, this attribute (which depends on the value of the + "vnfdId" attribute) was modified implicitly following a request to + modify the "vnfdId" attribute, by copying the value of this + attribute from the VNFD in the VNF Package identified by the + "vnfdId” attribute. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Version" + vnfcInfoModifications: + description: > + If present, this attribute signals modifications of certain + entries in the "vnfcInfo" attribute array in the + "instantiatedVnfInfo" attribute of "VnfInstance", as defined + in clause 5.5.2.12 + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcInfoModifications" + + AffectedVirtualLink: + description: > + This type provides information about added, deleted, modified and + temporary VLs, and added or removed VNF link ports. + It shall comply with the provisions in table 5.5.3.20-1. + type: object + required: + - id + - vnfVirtualLinkDescId + - changeType + - networkResource + properties: + id: + description: > + Identifier of the virtual link instance, identifying the applicable + "vnfVirtualLinkResourceInfo" entry in the "VnfInstance" data type. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + vnfVirtualLinkDescId: + description: > + Identifier of the related VLD in the VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + changeType: + description: > + Signals the type of change. Permitted values: + * ADDED + * REMOVED + * MODIFIED + * TEMPORARY + * LINK_PORT_ADDED + * LINK_PORT_REMOVED + For a temporary resource, an AffectedVirtualLink structure exists as + long as the temporary resource exists. + + NOTE: When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link + ports, the "networkResource" and "resourceDefinitionId" attributes refer to the affected virtual + link instance, not the link port instance. The resource handles of the affected VNF link ports can + be found by dereferencing the identifiers in the "vnfLinkPortIds" attribute. + type: string + enum: + - ADDED + - REMOVED + - MODIFIED + - TEMPORARY + - LINK_PORT_ADDED + - LINK_PORT_REMOVED + networkResource: + description: > + Reference to the VirtualNetwork resource. Detailed information is + (for new and modified resources) or has been (for removed + resources) available from the VIM. + + NOTE 1: When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link + ports, the "networkResource" and "resourceDefinitionId" attributes refer to the affected virtual + link instance, not the link port instance. The resource handles of the affected VNF link ports can + be found by dereferencing the identifiers in the "vnfLinkPortIds" attribute. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + virtualLinkPortIds: + description: > + Identifiers of the link ports of the affected VL related to the change. + Each identifier references a "VnfLinkPortInfo" structure. + Shall be set when changeType is equal to "LINK_PORT_ADDED" or "LINK_PORT_REMOVED", + and the related "VnfLinkPortInfo" structures are present (case "added") or have + been present (case "removed") in the "VnfVirtualLinkResourceInfo" or "ExtManagedVirtualLinkInfo" + structures that are represented by the "vnfVirtualLinkResource¬Info" or "extManagedVirtualLinkInfo" + attribute in the "VnfInstance" structure. See note. + + NOTE: When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link + ports, the "networkResource" and "resourceDefinitionId" attributes refer to the affected virtual + link instance, not the link port instance. The resource handles of the affected VNF link ports can + be found by dereferencing the identifiers in the "vnfLinkPortIds" attribute. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + metadata: + description: > + Metadata about this resource. + The content of this attribute shall be a copy of the content of the + "metadata" attribute of the VnfVirtualLinkResourceInfo structure. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + VnfLcmOpOcc: + description: > + This type represents a VNF lifecycle management operation occurrence. + type: object + required: + - id + - operationState + - stateEnteredTime + - startTime + - vnfInstanceId + - operation + - isAutomaticInvocation + - isCancelPending + properties: + id: + description: > + Identifier of this VNF lifecycle management operation occurrence. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + operationState: + description: > + The state of the LCM operation. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LcmOperationStateType" + stateEnteredTime: + description: > + Date-time when the current state has been entered. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + startTime: + description: > + Date-time of the start of the operation. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" + vnfInstanceId: + description: > + Identifier of the VNF instance to which the operation applies + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + grantId: + description: > + Identifier of the grant related to this VNF LCM operation + occurrence. Shall be set to the value of the "id" attribute + in the "Grant" representing the associated "Individual Grant", + if such grant exists. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + operation: + description: > + Type of the actual LCM operation represented by this VNF LCM + operation occurrence. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/LcmOperationType" + isAutomaticInvocation: + description: > + Set to true if this VNF LCM operation occurrence has been triggered + by an automated procedure inside the VNFM (i.e. + ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf + triggered by auto-heal). Set to false otherwise. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" + operationParams: + description: > + Input parameters of the LCM operation. This attribute shall be + formatted according to the request data type of the related LCM + operation. The following mapping between operationType and the + data type of this attribute shall apply: + * INSTANTIATE: InstantiateVnfRequest + * SCALE: ScaleVnfRequest + * SCALE_TO_LEVEL: ScaleVnfToLevelRequest + * CHANGE_FLAVOUR: ChangeVnfFlavourRequest + * OPERATE: OperateVnfRequest + * HEAL: HealVnfRequest + * CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest + * TERMINATE: TerminateVnfRequest + * MODIFY_INFO: VnfInfoModifications + + This attribute shall be present if this data type is returned in a response + to reading an individual resource, and may be present according to the + chosen attribute selector parameter if this data type is returned in a + response to a query of a container resource. + type: object + isCancelPending: + description: > + If the VNF LCM operation occurrence is in "STARTING", "PROCESSING" + or "ROLLING_BACK" state and the operation is being cancelled, this + attribute shall be set to true. Otherwise, it shall be set to false. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean" + cancelMode: + description: > + The mode of an ongoing cancellation. Shall be present when + isCancelPending=true, and shall be absent otherwise. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/CancelModeType" + error: + description: > + If "operationState" is "FAILED_TEMP" or "FAILED" or "operationState" + is "PROCESSING" or "ROLLING_BACK" and previous value of + "operationState" was "FAILED_TEMP", this attribute shall be present + and contain error information, unless it has been requested to be + excluded via an attribute selector. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" + resourceChanges: + description: > + This attribute contains information about the cumulative changes to + virtualised resources that were performed so far by the LCM + operation since its start, if applicable. + type: object + properties: + affectedVnfcs: + description: > + Information about VNFC instances that were affected during the + lifecycle operation. + NOTE 1: This allows the API consumer to obtain the information contained in the + latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/AffectedVnfc" + affectedVirtualLinks: + description: > + Information about VL instances that were affected during the + lifecycle operation. See note 1 and note 2. + + NOTE 1: This allows the API consumer to obtain the information contained in + the latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + NOTE 2: For a particular affected VL, there shall be as many + "AffectedVirtualLink" entries as needed for signalling the different + types of changes, i.e., one per virtual link and change type. For instance, + in the case of signaling affected VL instances involving the addition of a + particular VL instance with links ports, one "AffectedVirtualLink" entry + signals the addition of the VL by using the "changeType" attribute of + "AffectedVirtualLink" structure equal to "ADDED", and another "AffectedVirtualLink" + entry signals the addition of externally visible VNF link ports of the VL by using + the "changeType" equal to "LINK_PORT_ADDED". + type: array + items: + $ref: "#/definitions/AffectedVirtualLink" + affectedExtLinkPorts: + description: > + Information about external VNF link ports that were affected during + the lifecycle operation. + + NOTE 1: This allows the API consumer to obtain the information contained in + the latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + type: array + items: + $ref: "#/definitions/AffectedExtLinkPort" + affectedVirtualStorages: + description: > + Information about virtualised storage instances that were affected + during the lifecycle operation. + This allows the NFVO to obtain the information contained in the + latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualStorage" + changedInfo: + description: > + Information about the changed VNF instance information, including + VNF configurable properties, if applicable. + This allows the API consumer to obtain the information contained in the + latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + $ref: "#/definitions/VnfInfoModifications" + changedExtConnectivity: + description: > + Information about changed external connectivity, if applicable. + This allows the API consumer to obtain the information contained in the + latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkInfo" + _links: + description: > + Links to resources related to this resource. + type: object + required: + - self + - vnfInstance + properties: + self: + description: > + URI of this resource. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + vnfInstance: + description: > + Link to the VNF instance that the operation applies to. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + grant: + description: > + Link to the grant for this operation, if one exists. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + cancel: + description: > + Link to the task resource that represents the "cancel" operation + for this VNF LCM operation occurrence, if cancelling is + currently allowed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + retry: + description: > + Link to the task resource that represents the "retry" operation + for this VNF LCM operation occurrence, if retrying is currently + allowed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + rollback: + description: > + Link to the task resource that represents the "rollback" + operation for this VNF LCM operation occurrence, if rolling back + is currently allowed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + fail: + description: > + Link to the task resource that represents the "fail" operation + for this VNF LCM operation occurrence, if declaring as failed is + currently allowed. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + + AffectedExtLinkPort: + description: > + This type provides information about added and deleted external link ports (link ports attached to external + virtual links). It shall comply with the provisions in table 5.5.3.20a-1. + type: object + required: + - id + - changeType + - extCpInstanceId + - resourceHandle + properties: + id: + description: > + Identifier of the link port, identifying the applicable "extLinkPorts" entry in the "ExtVirtualLinkInfo" + data type (see clause 5.5.3.3). + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + changeType: + description: > + Signals the type of change. Permitted values: + - ADDED + - REMOVED + type: string + enum: + - ADDED + - REMOVED + extCpInstanceId: + description: > + Identifier of the related external CP instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + resourceHandle: + description: > + Reference to the link port resource. Detailed information is (for added resources) + or has been (for removed resources) available from the VIM. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" + + VnfcInfo: + description: > + This type represents the information about a VNFC instance that is part of a VNF instance. It shall comply with the + provisions defined in table 5.5.3.23-1. + type: object + required: + - id + - vduId + - vnfcState + properties: + id: + description: > + Identifier of the VNFC instance. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + vduId: + description: > + Reference to the applicable VDU information element in + the VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + vnfcResourceInfoId: + description: > + Identifier of the VnfcResourceInfo instance representing + the virtualised resources used by this VNFC instance. + Shall be present in case a corresponding VnfcResourceInfo instance exists. See note. + NOTE: This allows to represent the error condition that a VNFC instance has lost its resources. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + vnfcState: + description: > + State of the VNFC instance. + Permitted values: + • STARTED: The VNFC instance is up and + running. + • STOPPED: The VNFC instance has been shut down + type: string + enum: + - STARTED + - STOPPED + vnfcConfigurableProperties: + description: > + Current values of the configurable properties of the + VNFC instance. + Configurable properties referred in this attribute are + declared in the VNFD. + This attribute can be modified with the PATCH method. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" \ No newline at end of file diff --git a/src/SOL002/VNFLifecycleManagementNotification/definitions/VNFLifecycleManagementNotification_def.yaml b/src/SOL002/VNFLifecycleManagementNotification/definitions/VNFLifecycleManagementNotification_def.yaml index c425ca3b..2b4f7e53 100644 --- a/src/SOL002/VNFLifecycleManagementNotification/definitions/VNFLifecycleManagementNotification_def.yaml +++ b/src/SOL002/VNFLifecycleManagementNotification/definitions/VNFLifecycleManagementNotification_def.yaml @@ -10,7 +10,7 @@ definitions: notification is mandatory. This notification shall be triggered by the VNFM when there is a change in the VNF lifecycle caused by a VNF LCM operation occurrence, - including: + which represents an occurrence of one the following LCM operations: * Instantiation of the VNF * Scaling of the VNF instance (including auto-scaling) * Healing of the VNF instance (including auto-healing) @@ -64,6 +64,8 @@ definitions: subscriptionId: description: > Identifier of the subscription that this notification relates to. + Shall be set to the value of the "id" attribute of the "LccnSubscription" + representing the associated "Individual subscription" resource. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" timeStamp: description: > @@ -105,7 +107,9 @@ definitions: vnfLcmOpOccId: description: > The identifier of the VNF lifecycle management operation occurrence - associated to the notification. + associated to the notification. Shall be set to the value of the "id" + attribute of the "VnfLcmOpOcc" representing the associated + "Individual VNF lifecycle management operation occurrence" resource. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" affectedVnfcs: description: > @@ -124,15 +128,36 @@ definitions: description: > Information about VL instances that were affected during the lifecycle operation. - Shall be present if the "notificationStatus" is set to "RESULT" and + NOTE 1: Shall be present if the "notificationStatus" is set to "RESULT" 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 VNF LCM operation occurrence and by any of the error handling procedures for that operation occurrence. + NOTE 2: For a particular affected VL, there shall be as many "AffectedVirtualLink" + entries as needed for signalling the different types of changes, i.e., one per + virtual link and change type. For instance, in the case of signaling affected VL + instances involving the addition of a particular VL instance with links ports, one + "AffectedVirtualLink" entry signals the addition of the VL by using the "changeType" + attribute of "AffectedVirtualLink" structure equal to "ADDED", and another + "AffectedVirtualLink" entry signals the addition of VNF link ports of the VL + by using the "changeType" equal to "LINK_PORT_ADDED". type: array items: $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualLink" + affectedExtLinkPorts: + description: > + Information about external VNF link ports that were affected during the lifecycle + operation. See note 1. + + NOTE 1: Shall be present if the "notificationStatus" is set to "RESULT" 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 VNF LCM operation occurrence and by any of the error handling procedures for that + operation occurrence. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedExtLinkPort" affectedVirtualStorages: description: > Information about virtualised storage instances that were affected @@ -170,10 +195,12 @@ definitions: description: > Details of the latest error, if one has occurred during executing the LCM operation. Shall be present if the "operationState" - attribute is "FAILED_TEMP" or "FAILED", and shall be absent + attribute is "FAILED_TEMP", "FAILED" or, ROLLED_BACK" and shall be absent otherwise. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" _links: description: > - Links to resources related to this notification. + Links to resources related to this notification. The link URIs in this structure + shall be set to point to the resources identified by the corresponding identifier + attributes in this notification. $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnLinks" diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index e77e2f50..f89cf3e1 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -309,6 +309,11 @@ definitions: * CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest * TERMINATE: TerminateVnfRequest * MODIFY_INFO: VnfInfoModifications + + This attribute shall be present if this data type is returned in a + response to reading an individual resource, and may be present according + to the chosen attribute selector parameter if this data type is returned + in a response to a query of a container resource. type: object isCancelPending: description: > @@ -340,7 +345,7 @@ definitions: description: > Information about VNFC instances that were affected during the lifecycle operation. - NOTE 1: This allows the NFVO to obtain the information contained in the + NOTE 1: This allows the NFVO/API consumer to obtain the information contained in the latest "result" notification if it has not received it due to an error or a wrongly configured subscription filter. type: array @@ -351,7 +356,7 @@ definitions: Information about VL instances that were affected during the lifecycle operation. See note 1 and note 2. - NOTE 1: This allows the NFVO to obtain the information contained in + NOTE 1: This allows the NFVO/API consumer to obtain the information contained in the latest "result" notification if it has not received it due to an error or a wrongly configured subscription filter. NOTE 2: For a particular affected VL, there shall be as many @@ -371,7 +376,7 @@ definitions: Information about external VNF link ports that were affected during the lifecycle operation. See note 1. - NOTE 1: This allows the NFVO to obtain the information contained in the latest "result" + NOTE 1: This allows the NFVO/API consumer to obtain the information contained in the latest "result" notification if it has not received it due to an error or a wrongly configured subscription filter. type: array @@ -381,7 +386,7 @@ definitions: description: > Information about virtualised storage instances that were affected during the lifecycle operation. - This allows the NFVO to obtain the information contained in the + This allows the NFVO/API consumer to obtain the information contained in the latest "result" notification if it has not received it due to an error or a wrongly configured subscription filter. type: array @@ -391,14 +396,14 @@ definitions: description: > Information about the changed VNF instance information, including VNF configurable properties, if applicable. - This allows the NFVO to obtain the information contained in the + This allows the NFVO/API consumer to obtain the information contained in the latest "result" notification if it has not received it due to an error or a wrongly configured subscription filter. $ref: "#/definitions/VnfInfoModifications" changedExtConnectivity: description: > Information about changed external connectivity, if applicable. - This allows the NFVO to obtain the information contained in the + This allows the NFVO/API consumer to obtain the information contained in the latest "result" notification if it has not received it due to an error or a wrongly configured subscription filter. type: array @@ -1628,10 +1633,17 @@ definitions: id: description: > Identifier of the VNFC instance of which the information is to be modified. + The identifier references the "id" attribute in a "VnfcInfo" structure. + NOTE: The attribute "id" in this data type represents the same identifier as + the attribute "vnfcInstanceId" in other related data types in the present document. + For reasons of backward compatibility, this misalignment is not corrected. $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" vnfcConfigurableProperties: description: > Changes of the configurable properties of the VNFC instance. + When this structure is part of a request, the modifications signalled + in this attribute shall be applied according to the rules of + JSON Merge Patch (see IETF RFC 7396). $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" VnfcInfo: description: > -- GitLab From 9781b45edc4ed98fd375c36504436ca107e0b046 Mon Sep 17 00:00:00 2001 From: zulfiqar Date: Wed, 24 Feb 2021 08:49:56 +0100 Subject: [PATCH 11/22] SOL002_36 -> 44 & minor changes --- .../definitions/SOL002VNFConfiguration_def.yaml | 1 + .../VNFFaultManagement/VNFFaultManagement.yaml | 12 ++++++------ .../VNFFaultManagementNotification.yaml | 6 +++--- src/SOL002/VNFIndicator/VNFIndicator.yaml | 10 +++++----- .../VNFIndicatorNotification.yaml | 6 +++--- .../VNFPerformanceManagement.yaml | 14 +++++++------- .../VNFPerformanceManagementNotification.yaml | 8 ++++---- .../SOL002SOL003VNFFaultManagement_def.yaml | 4 +++- .../SOL002SOL003VNFPerformanceManagement_def.yaml | 6 +++--- 9 files changed, 35 insertions(+), 32 deletions(-) diff --git a/src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml b/src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml index 45d66889..f2a34e4d 100644 --- a/src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml +++ b/src/SOL002/VNFConfiguration/definitions/SOL002VNFConfiguration_def.yaml @@ -100,6 +100,7 @@ definitions: vnfcInstanceId: description: > Identifier of a VNFC instance to which this set of configuration data applies. + The identifier references the "id" attribute in a "VnfcInfo" structure. $ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf' intCpConfig: description: > diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index 0b7df075..ad94ae40 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -17,8 +17,8 @@ info: name: NFV-SOL WG externalDocs: - description: ETSI GS NFV-SOL 002 V2.7.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf + description: ETSI GS NFV-SOL 002 V2.8.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.08.01_60/gs_NFV-SOL002v020801p.pdf basePath: /vnffm/v1 @@ -43,7 +43,7 @@ paths: # Alarms # ############################################################################### '/alarms': - #SOL003 location: 7.4.2 + #SOL002 location: 7.4.2 parameters: - name: Version description: > @@ -190,7 +190,7 @@ paths: # Individual alarm # ############################################################################### '/alarms/{alarmId}': - #SOL003 location: 7.4.3 + #SOL002 location: 7.4.3 parameters: - name: alarmId description: > @@ -474,7 +474,7 @@ paths: # Subscriptions # ############################################################################### '/subscriptions': - #SOL003 location: 7.4.4 + #SOL002 location: 7.4.5 parameters: - name: Version description: > @@ -667,7 +667,7 @@ paths: description: > 200 OK - The list of subscriptions has been queried successfully. The response + Shall be returned when the list of subscriptions has been queried successfully. The response body shall contain the representations of all active subscriptions of the functional block that invokes the method. If the "filter" URI parameter was supplied in the request, the data diff --git a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index 061f08c2..41c4b7be 100644 --- a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -17,8 +17,8 @@ info: name: NFV-SOL WG externalDocs: - description: ETSI GS NFV-SOL 002 V2.7.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf + description: ETSI GS NFV-SOL 002 V2.8.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.08.01_60/gs_NFV-SOL002v020801p.pdf basePath: /callback/v1 @@ -112,7 +112,7 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" get: description: > - The GET method allows the server to test the notification endpoint + The GET method allows the API producer to test the notification endpoint that is provided by the client, e.g. during subscription. responses: 204: diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index cb5532d7..21946f8f 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -17,8 +17,8 @@ info: name: NFV-SOL WG externalDocs: - description: ETSI GS NFV-SOL 002 V2.7.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf + description: ETSI GS NFV-SOL 002 V2.8.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.08.01_60/gs_NFV-SOL002v020801p.pdf basePath: /vnfind/v1 @@ -110,8 +110,8 @@ paths: Shall be returned when information about zero or more VNF indicators was queried successfully. The response body shall contain in an array the - representations of all VNF indicators that match the attribute-based - filtering parameters, i.e. zero or more representations of VNF indicators + representations of all VNF indicators that match the attribute + filter, i.e. zero or more representations of VNF indicators as defined in clause 8.5.2.2. If the "filter" URI parameter was supplied in the request, the data in the response body shall have been transformed according to the rules @@ -741,7 +741,7 @@ paths: description: > 204 NO CONTENT - Shall be returned when the subscription has been deleted successfully. + Shall be returned when the "Individual subscription" has been deleted successfully. The response body shall be empty. headers: Version: diff --git a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml index 3bc5145b..ab5d2eca 100644 --- a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -17,8 +17,8 @@ info: name: NFV-SOL WG externalDocs: - description: ETSI GS NFV-SOL 002 V2.7.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf + description: ETSI GS NFV-SOL 002 V2.8.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.08.01_60/gs_NFV-SOL002v020801p.pdf schemes: - http @@ -98,7 +98,7 @@ paths: description: > Service Unavailable - The GET method allows the server to test the notification endpoint that is provided + The GET method allows the API producer to test the notification endpoint that is provided by the client, e.g. during subscription. responses: 204: diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 143e76e2..ba4a3d2c 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL002 - VNF Perfomance Management interface description: > SOL002 - VNF Performance Management interface @@ -17,8 +17,8 @@ info: name: NFV-SOL WG externalDocs: - description: ETSI GS NFV-SOL 002 V2.7.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf + description: ETSI GS NFV-SOL 002 V2.8.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.08.01_60/gs_NFV-SOL002v020801p.pdf basePath: /vnfpm/v2 @@ -43,7 +43,7 @@ paths: # PM jobs # ############################################################################### '/pm_jobs': - #SOL003 location: 6.4.2 + #SOL002 location: 6.4.2 parameters: - name: Version description: > @@ -640,7 +640,7 @@ paths: # Thresholds # ############################################################################### '/thresholds': - #SOL003 location: 6.4.5 + #SOL002 location: 6.4.5 parameters: - name: Version description: > @@ -757,7 +757,7 @@ paths: description: > Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. The VNFM shall support receiving this parameter as part of the URI query string. - The EM may supply this parameter. All attribute names that appear in the Thresholds + The API consumer may supply this parameter. All attribute names that appear in the Thresholds and in data types referenced from it shall be supported by the VNFM in attribute-based filtering expression. EXAMPLE @@ -869,7 +869,7 @@ paths: # Individual threshold # ############################################################################### '/thresholds/{thresholdId}': - #SOL003 location: 6.4.6 + #SOL002 location: 6.4.6 parameters: - name: thresholdId description: > diff --git a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index 030a04b3..6d1794e1 100644 --- a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL002 - VNF Performance Management Notification interface description: > SOL002 - VNF Performance Management Notification interface @@ -17,8 +17,8 @@ info: name: NFV-SOL WG externalDocs: - description: ETSI GS NFV-SOL 002 V2.7.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf + description: ETSI GS NFV-SOL 002 V2.8.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.08.01_60/gs_NFV-SOL002v020801p.pdf basePath: /callback/v1 @@ -110,7 +110,7 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" get: description: > - The GET method allows the server to test the notification endpoint + The GET method allows the API producer to test the notification endpoint that is provided by the client, e.g. during subscription. parameters: - name: Authorization diff --git a/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml b/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml index f52fdd70..db3e9306 100644 --- a/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml @@ -91,7 +91,9 @@ definitions: $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" vnfcInstanceIds: description: > - Identifiers of the affected VNFC instances. + Identifiers of the affected VNFC instances. Each identifier references + the "id" attribute in a "VnfcInfo" structure. Shall be present if the + alarm affects at least one VNFC instance. type: array items: $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" diff --git a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml index ecee4b99..7fcb1c10 100644 --- a/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFPerformanceManagement_def.yaml @@ -202,7 +202,7 @@ definitions: PerformanceReport: description: > - This type defines the format of a performance report provided by the VNFM to the EM as a result + This type defines the format of a performance report provided by the VNFM to the API consumer as a result of collecting performance information as part of a PM job. The type shall comply with the provisions defined in table 6.5.2.10-1. type: object @@ -305,7 +305,7 @@ definitions: string objectInstanceIds: description: > - Identifiers of the VNF instances for which performance information + Identifiers of the measured object instances for which performance information is collected. type: array items: @@ -374,7 +374,7 @@ definitions: $ref: "SOL002SOL003_def.yaml#/definitions/Link" objects: description: > - Links to resources representing the measure + Links to resources representing the measured object instances for which performance information is collected. Shall be present if the measured object instance information is -- GitLab From 9b9b6950f023c6e00c49bb3c13f8e1e1e9160e91 Mon Sep 17 00:00:00 2001 From: zulfiqar Date: Mon, 1 Mar 2021 07:19:03 +0100 Subject: [PATCH 12/22] removed different datatypes from common file --- ...OL002SOL003VNFLifecycleManagement_def.yaml | 196 ------------------ 1 file changed, 196 deletions(-) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index f89cf3e1..7bd7efee 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -601,95 +601,6 @@ definitions: maximum value shall be <= maxScaleLevel as described in the VNFD. type: integer - VnfcResourceInfo: - description: > - This type represents the information on virtualised compute and storage - resources used by a VNFC in a VNF instance. - type: object - required: - - id - - vduId - - computeResource - properties: - id: - description: > - Identifier of this VnfcResourceInfo instance. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - vduId: - description: > - Reference to the applicable VDU in the VNFD. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" - computeResource: - description: > - Reference to the VirtualCompute resource. - $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" - zoneId: - description: > - The identifier of the resource zone, as managed by the - resource management layer (typically, the VIM), where - the referenced VirtualCompute resource is placed. - Shall be provided if this information is available from the VIM. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - storageResourceIds: - description: > - References to the VirtualStorage resources. The value refers to a - VirtualStorageResourceInfo item in the VnfInstance. - type: array - items: - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - reservationId: - description: > - The reservation identifier applicable to the resource. It shall be - present when an applicable reservation exists. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - vnfcCpInfo: - description: > - CPs of the VNFC instance. - Shall be present when that particular CP of the VNFC instance is - associated to an external CP of the VNF instance. - May be present otherwise. - type: array - items: - type: object - required: - - id - - cpdId - properties: - id: - description: > - Identifier of this VNFC CP instance and the associated array - entry. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - cpdId: - description: > - Identifier of the VDU CPD, cpdId, in the VNFD. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" - vnfExtCpId: - description: > - When the VNFC CP is exposed as external CP of the VNF, the - identifier of this external VNF CP. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - cpProtocolInfo: - description: > - Network protocol information for this CP. - type: array - items: - $ref: "#/definitions/CpProtocolInfo" - vnfLinkPortId: - description: > - Identifier of the "vnfLinkPorts" structure in the - "VnfVirtualLinkResourceInfo" structure. Shall be present if - the CP is associated to a link port. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - metadata: - description: > - Metadata about this CP. - $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - metadata: - description: > - Metadata about this resource. - $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - VnfVirtualLinkResourceInfo: description: > This type represents the information that allows addressing a virtualised @@ -1020,113 +931,6 @@ definitions: items: $ref: "#/definitions/LcmOperationStateType" - AffectedVirtualLink: - description: > - This type provides information about added, deleted, modified and - temporary VLs, and added or removed VNF link ports. - It shall comply with the provisions in table 5.5.3.14-1. - type: object - required: - - id - - vnfVirtualLinkDescId - - changeType - - networkResource - properties: - id: - description: > - Identifier of the virtual link instance, identifying the applicable - "vnfVirtualLinkResourceInfo" entry in the "VnfInstance" data type. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - vnfVirtualLinkDescId: - description: > - Identifier of the related VLD in the VNFD. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" - changeType: - description: > - Signals the type of change. Permitted values: - * ADDED - * REMOVED - * MODIFIED - * TEMPORARY - * LINK_PORT_ADDED - * LINK_PORT_REMOVED - For a temporary resource, an AffectedVirtualLink structure exists as - long as the temporary resource exists. - type: string - enum: - - ADDED - - REMOVED - - MODIFIED - - TEMPORARY - - LINK_PORT_ADDED - - LINK_PORT_REMOVED - networkResource: - description: > - Reference to the VirtualNetwork resource. Detailed information is - (for new and modified resources) or has been (for removed - resources) available from the VIM. - $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" - resourceDefinitionId: - description: > - The identifier of the "ResourceDefinition" in the granting exchange - related to the LCM operation occurrence. It shall be present when an - applicable GrantInfo for the granted resource exists. - The "resourceDefinitionId" attribute provides information to the API - consumer (i.e. the NFVO) to assist in correlating the resource changes - performed during the LCM operation with the granted resources in a - specific Grant exchange, which is identified by the "grantId" available - in the "Individual VNF lifecycle management operation occurrence" and - the "id" in the "Individual Grant". - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierLocal" - zoneId: - description: > - The identifier of the resource zone, as managed by the resource - management layer (typically, the VIM), where the referenced VirtualNetwork - resource is placed. Shall be provided if this information is available from the VIM. - $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" - metadata: - description: > - Metadata about this resource. - The content of this attribute shall be a copy of the content of the - "metadata" attribute of the VnfVirtualLinkResourceInfo structure. - $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - - AffectedExtLinkPort: - description: > - This type provides information about added and deleted external link ports (link ports attached to external - virtual links). It shall comply with the provisions in table 5.5.3.14a-1. - type: object - required: - - id - - changeType - - extCpInstanceId - - resourceHandle - properties: - id: - description: > - Identifier of the link port, identifying the applicable "extLinkPorts" entry in the "ExtVirtualLinkInfo" - data type (see clause 5.5.3.2). - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - changeType: - description: > - Signals the type of change. - Permitted values: - - ADDED - - REMOVED - type: string - enum: - - ADDED - - REMOVED - extCpInstanceId: - description: > - Identifier of the related external CP instance. - $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - resourceHandle: - description: > - Reference to the link port resource. Detailed information is (for added resources) - or has been (for removed resources) available from the VIM. - $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" - AffectedVirtualStorage: description: > This type provides information about added, deleted, modified and -- GitLab From 8b5370adf5380558a623135cc8163baf741ec041 Mon Sep 17 00:00:00 2001 From: zulfiqar Date: Mon, 1 Mar 2021 08:02:21 +0100 Subject: [PATCH 13/22] fix: restore deleted datatype --- ...OL002SOL003VNFLifecycleManagement_def.yaml | 107 ++++++++++++++++++ 1 file changed, 107 insertions(+) diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index 7bd7efee..8b3f671d 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -931,6 +931,113 @@ definitions: items: $ref: "#/definitions/LcmOperationStateType" + AffectedVirtualLink: + description: > + This type provides information about added, deleted, modified and + temporary VLs, and added or removed VNF link ports. + It shall comply with the provisions in table 5.5.3.14-1. + type: object + required: + - id + - vnfVirtualLinkDescId + - changeType + - networkResource + properties: + id: + description: > + Identifier of the virtual link instance, identifying the applicable + "vnfVirtualLinkResourceInfo" entry in the "VnfInstance" data type. + $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + vnfVirtualLinkDescId: + description: > + Identifier of the related VLD in the VNFD. + $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + changeType: + description: > + Signals the type of change. Permitted values: + * ADDED + * REMOVED + * MODIFIED + * TEMPORARY + * LINK_PORT_ADDED + * LINK_PORT_REMOVED + For a temporary resource, an AffectedVirtualLink structure exists as + long as the temporary resource exists. + type: string + enum: + - ADDED + - REMOVED + - MODIFIED + - TEMPORARY + - LINK_PORT_ADDED + - LINK_PORT_REMOVED + networkResource: + description: > + Reference to the VirtualNetwork resource. Detailed information is + (for new and modified resources) or has been (for removed + resources) available from the VIM. + $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" + resourceDefinitionId: + description: > + The identifier of the "ResourceDefinition" in the granting exchange + related to the LCM operation occurrence. It shall be present when an + applicable GrantInfo for the granted resource exists. + The "resourceDefinitionId" attribute provides information to the API + consumer (i.e. the NFVO) to assist in correlating the resource changes + performed during the LCM operation with the granted resources in a + specific Grant exchange, which is identified by the "grantId" available + in the "Individual VNF lifecycle management operation occurrence" and + the "id" in the "Individual Grant". + $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierLocal" + zoneId: + description: > + The identifier of the resource zone, as managed by the resource + management layer (typically, the VIM), where the referenced VirtualNetwork + resource is placed. Shall be provided if this information is available from the VIM. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + metadata: + description: > + Metadata about this resource. + The content of this attribute shall be a copy of the content of the + "metadata" attribute of the VnfVirtualLinkResourceInfo structure. + $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + AffectedExtLinkPort: + description: > + This type provides information about added and deleted external link ports (link ports attached to external + virtual links). It shall comply with the provisions in table 5.5.3.14a-1. + type: object + required: + - id + - changeType + - extCpInstanceId + - resourceHandle + properties: + id: + description: > + Identifier of the link port, identifying the applicable "extLinkPorts" entry in the "ExtVirtualLinkInfo" + data type (see clause 5.5.3.2). + $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + changeType: + description: > + Signals the type of change. + Permitted values: + - ADDED + - REMOVED + type: string + enum: + - ADDED + - REMOVED + extCpInstanceId: + description: > + Identifier of the related external CP instance. + $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" + resourceHandle: + description: > + Reference to the link port resource. Detailed information is (for added resources) + or has been (for removed resources) available from the VIM. + $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle" + AffectedVirtualStorage: description: > This type provides information about added, deleted, modified and -- GitLab From 549fca7978210168a5e305a7d2a7fb84e8120f63 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 1 Mar 2021 17:00:20 +0100 Subject: [PATCH 14/22] fixed version --- src/SOL002/VNFConfiguration/VNFConfiguration.yaml | 4 ++-- .../VNFLifecycleManagementNotification.yaml | 6 +++--- .../VNFLifecycleManagementNotification.yaml | 2 +- .../VNFPackageManagementNotification.yaml | 2 +- .../VNFPerformanceManagementNotification.yaml | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml index b70febcf..844a9fbe 100644 --- a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml +++ b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml @@ -17,8 +17,8 @@ info: name: NFV-SOL WG externalDocs: - description: ETSI GS NFV-SOL 002 V2.7.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf + description: ETSI GS NFV-SOL 002 V2.8.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.08.01_60/gs_NFV-SOL002v020801p.pdf basePath: /vnfconfig/v1 diff --git a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index f3c25abf..fa3cd213 100644 --- a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "1.4.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "1.5.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL002 - VNF Lifecycle Management Notification interface description: > SOL002 - VNF Lifecycle Management Notification interface @@ -17,8 +17,8 @@ info: name: NFV-SOL WG externalDocs: - description: ETSI GS NFV-SOL 002 V2.7.1 - url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf + description: ETSI GS NFV-SOL 002 V2.8.1 + url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.08.01_60/gs_NFV-SOL002v020801p.pdf basePath: /callback/v1 diff --git a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index 02ad9ac1..067acc7c 100644 --- a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "1.4.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "1.5.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL003 - VNF Lifecycle Management Notification interface description: > SOL003 - VNF Lifecycle Management Notification interface diff --git a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index 56ffa0b0..e2478126 100644 --- a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL003 - VNF Package Management Notification interface description: > SOL003 - VNF Package Management Notification interface diff --git a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index 54b63408..34e5c264 100644 --- a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -1,7 +1,7 @@ swagger: "2.0" info: - version: "2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" + version: "2.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1" title: SOL003 - VNF Performance Management Notification interface description: > SOL003 - VNF Performance Management Notification interface -- GitLab From cd64ba82a43fc24b7c776bd552601ae5ae2814de Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Wed, 31 Mar 2021 12:27:38 +0200 Subject: [PATCH 15/22] updated link to issue tracker --- src/SOL002/APIVersion/APIVersion.yaml | 2 +- src/SOL002/VNFConfiguration/VNFConfiguration.yaml | 2 +- src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml | 2 +- .../VNFFaultManagementNotification.yaml | 2 +- src/SOL002/VNFIndicator/VNFIndicator.yaml | 2 +- .../VNFIndicatorNotification.yaml | 2 +- .../VNFLifecycleManagement.yaml | 2 +- .../VNFLifecycleManagementNotification.yaml | 2 +- .../VNFPerformanceManagement.yaml | 2 +- .../VNFPerformanceManagementNotification.yaml | 2 +- src/SOL003/APIVersion/APIVersion.yaml | 2 +- src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml | 2 +- .../VNFFaultManagementNotification.yaml | 11 +---------- src/SOL003/VNFIndicator/VNFIndicator.yaml | 2 +- .../VNFIndicatorNotification.yaml | 11 +---------- .../VNFLifecycleManagement.yaml | 11 +---------- .../VNFLifecycleManagementNotification.yaml | 11 +---------- .../VNFLifecycleOperationGranting.yaml | 10 +--------- .../VNFPackageManagement/VNFPackageManagement.yaml | 11 +---------- .../VNFPackageManagementNotification.yaml | 11 +---------- .../VNFPerformanceManagement.yaml | 11 +---------- .../VNFPerformanceManagementNotification.yaml | 11 +---------- ...irtualisedResourcesQuotaAvailableNotification.yaml | 2 +- ...sourcesQuotaAvailableNotificationNotification.yaml | 11 +---------- 24 files changed, 24 insertions(+), 113 deletions(-) diff --git a/src/SOL002/APIVersion/APIVersion.yaml b/src/SOL002/APIVersion/APIVersion.yaml index eb009b66..884fcdad 100644 --- a/src/SOL002/APIVersion/APIVersion.yaml +++ b/src/SOL002/APIVersion/APIVersion.yaml @@ -9,7 +9,7 @@ info: version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt diff --git a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml index 844a9fbe..355fb4f9 100644 --- a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml +++ b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml @@ -9,7 +9,7 @@ info: version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index ad94ae40..d7c87986 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -9,7 +9,7 @@ info: version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt diff --git a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index 41c4b7be..10a79b32 100644 --- a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -9,7 +9,7 @@ info: version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index 21946f8f..4fde700c 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -9,7 +9,7 @@ info: version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt diff --git a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml index ab5d2eca..acd4095e 100644 --- a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -9,7 +9,7 @@ info: version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 8da94598..087713f9 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -9,7 +9,7 @@ info: version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt diff --git a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index fa3cd213..1d0fd3c0 100644 --- a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -9,7 +9,7 @@ info: version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index ba4a3d2c..8789017f 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -9,7 +9,7 @@ info: version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt diff --git a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index 6d1794e1..82c1ceb1 100644 --- a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -9,7 +9,7 @@ info: version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues license: name: ETSI Forge copyright notice url: https://forge.etsi.org/etsi-forge-copyright-notice.txt diff --git a/src/SOL003/APIVersion/APIVersion.yaml b/src/SOL003/APIVersion/APIVersion.yaml index a8b02c56..0c008351 100644 --- a/src/SOL003/APIVersion/APIVersion.yaml +++ b/src/SOL003/APIVersion/APIVersion.yaml @@ -8,7 +8,7 @@ info: version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt diff --git a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml index 9e4a11b9..88c42b4e 100644 --- a/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL003/VNFFaultManagement/VNFFaultManagement.yaml @@ -19,7 +19,7 @@ info: of this GS for inclusion in the corresponding future ETSI NFV OpenAPI design. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt diff --git a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index f7dbef92..51365bc8 100644 --- a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -6,20 +6,11 @@ info: description: > SOL003 - VNF Fault Management Notification interface - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based - filtering mechanism is defined. This mechanism is currently not - included in the corresponding OpenAPI design for this GS version. Changes - to the attribute-based filtering mechanism are being considered in v2.5.1 - of this GS for inclusion in the corresponding future ETSI NFV OpenAPI - design. - - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt diff --git a/src/SOL003/VNFIndicator/VNFIndicator.yaml b/src/SOL003/VNFIndicator/VNFIndicator.yaml index b61130cb..1625c60e 100644 --- a/src/SOL003/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL003/VNFIndicator/VNFIndicator.yaml @@ -8,7 +8,7 @@ info: IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt diff --git a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml index fffec75b..71740b22 100644 --- a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -6,20 +6,11 @@ info: description: > SOL003 - VNF Indicator interface - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based - filtering mechanism is defined. This mechanism is currently not - included in the corresponding OpenAPI design for this GS version. Changes - to the attribute-based filtering mechanism are being considered in v2.5.1 - of this GS for inclusion in the corresponding future ETSI NFV OpenAPI - design. - - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 74516fbe..d542bf79 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -6,20 +6,11 @@ info: description: > SOL003 - VNF Lifecycle Management interface definition - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based - filtering mechanism is defined. This mechanism is currently not - included in the corresponding OpenAPI design for this GS version. Changes - to the attribute-based filtering mechanism are being considered in v2.5.1 - of this GS for inclusion in the corresponding future ETSI NFV OpenAPI - design. - - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt diff --git a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index 067acc7c..bcb28a2d 100644 --- a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -6,20 +6,11 @@ info: description: > SOL003 - VNF Lifecycle Management Notification interface - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based - filtering mechanism is defined. This mechanism is currently not - included in the corresponding OpenAPI design for this GS version. Changes - to the attribute-based filtering mechanism are being considered in v2.5.1 - of this GS for inclusion in the corresponding future ETSI NFV OpenAPI - design. - - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt diff --git a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml index 9730268e..4aae43be 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/VNFLifecycleOperationGranting.yaml @@ -11,15 +11,7 @@ info: version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based - filtering mechanism is defined. This mechanism is currently not - included in the corresponding OpenAPI design for this GS version. Changes - to the attribute-based filtering mechanism are being considered in v2.5.1 - of this GS for inclusion in the corresponding future ETSI NFV OpenAPI - design. - - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index 0d9f1fb6..71361601 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -6,20 +6,11 @@ info: description: > SOL003 - VNF Package Management interface - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based - filtering mechanism is defined. This mechanism is currently not - included in the corresponding OpenAPI design for this GS version. Changes - to the attribute-based filtering mechanism are being considered in v2.5.1 - of this GS for inclusion in the corresponding future ETSI NFV OpenAPI - design. - - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt diff --git a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index e2478126..8f97dd5b 100644 --- a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -6,20 +6,11 @@ info: description: > SOL003 - VNF Package Management Notification interface - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based - filtering mechanism is defined. This mechanism is currently not - included in the corresponding OpenAPI design for this GS version. Changes - to the attribute-based filtering mechanism are being considered in v2.5.1 - of this GS for inclusion in the corresponding future ETSI NFV OpenAPI - design. - - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt diff --git a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 24721fe8..a071866e 100644 --- a/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL003/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -6,20 +6,11 @@ info: description: > SOL003 - VNF Performance Management interface - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based - filtering mechanism is defined. This mechanism is currently not - included in the corresponding OpenAPI design for this GS version. Changes - to the attribute-based filtering mechanism are being considered in v2.5.1 - of this GS for inclusion in the corresponding future ETSI NFV OpenAPI - design. - - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt diff --git a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index 34e5c264..135f30f6 100644 --- a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -6,20 +6,11 @@ info: description: > SOL003 - VNF Performance Management Notification interface - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based - filtering mechanism is defined. This mechanism is currently not - included in the corresponding OpenAPI design for this GS version. Changes - to the attribute-based filtering mechanism are being considered in v2.5.1 - of this GS for inclusion in the corresponding future ETSI NFV OpenAPI - design. - - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml index 1fa16240..40c29348 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotification/VirtualisedResourcesQuotaAvailableNotification.yaml @@ -19,7 +19,7 @@ info: of this GS for inclusion in the corresponding future ETSI NFV OpenAPI design. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/VirtualisedResourcesQuotaAvailableNotificationNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/VirtualisedResourcesQuotaAvailableNotificationNotification.yaml index bbcef279..0914aa2c 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/VirtualisedResourcesQuotaAvailableNotificationNotification.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/VirtualisedResourcesQuotaAvailableNotificationNotification.yaml @@ -6,20 +6,11 @@ info: description: > SOL003 - Virtualised Resources Quota Available Notification Notificatoion interface - IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - - In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based - filtering mechanism is defined. This mechanism is currently not - included in the corresponding OpenAPI design for this GS version. Changes - to the attribute-based filtering mechanism are being considered in v2.5.1 - of this GS for inclusion in the corresponding future ETSI NFV OpenAPI - design. - - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= + Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues license: name: "ETSI Forge copyright notice" url: https://forge.etsi.org/etsi-forge-copyright-notice.txt -- GitLab From dfc267e60e07bf88fba036e2fbfaa1304a49b70e Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Thu, 15 Apr 2021 14:43:24 +0200 Subject: [PATCH 16/22] SOL002: v2.8.1 review fixes --- .../VNFConfiguration/VNFConfiguration.yaml | 2 +- .../VNFFaultManagement.yaml | 12 ++-- .../SOL002VNFFaultManagement_def.yaml | 4 +- .../VNFFaultManagementNotification.yaml | 10 +-- src/SOL002/VNFIndicator/VNFIndicator.yaml | 2 +- .../VNFIndicatorNotification.yaml | 2 +- .../VNFLifecycleManagement.yaml | 13 ++-- .../SOL002VNFLifecycleManagement_def.yaml | 63 +++++++++---------- .../VNFLifecycleManagementNotification.yaml | 6 +- .../VNFPerformanceManagement.yaml | 14 ++--- .../VNFPerformanceManagementNotification.yaml | 6 +- src/definitions/SOL002SOL003_def.yaml | 3 + 12 files changed, 68 insertions(+), 69 deletions(-) diff --git a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml index 355fb4f9..dd4091c1 100644 --- a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml +++ b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml @@ -60,7 +60,7 @@ paths: get: summary: Read VNF/VNFC configuration from VNF description: > - The client can use this method to read configuration information about a VNF instance and/or its VNFC instances. + The API consumer can use this method to read configuration information about a VNF instance and/or its VNFC instances. responses: 200: description: > diff --git a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml index d7c87986..716f53ae 100644 --- a/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml +++ b/src/SOL002/VNFFaultManagement/VNFFaultManagement.yaml @@ -60,7 +60,7 @@ paths: type: string get: description: > - The client can use this method to retrieve information about the alarm + The API consumer can use this method to retrieve information about the alarm list. parameters: - name: Accept @@ -218,7 +218,7 @@ paths: type: string get: description: > - The client can use this method to read an individual alarm. + The API consumer can use this method to read an individual alarm. parameters: - name: Accept description: > @@ -602,8 +602,8 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" get: description: > - The client can use this method to retrieve the list of active - subscriptions for VNF alarms subscribed by the client. It can be used + The API consumer can use this method to retrieve the list of active + subscriptions for VNF alarms subscribed by the API consumer. It can be used e.g. for resynchronization after error situations. parameters: - name: Accept @@ -759,8 +759,8 @@ paths: type: string get: description: > - The client can use this method for reading an individual subscription - for VNF alarms subscribed by the client. + The API consumer can use this method for reading an individual subscription + for VNF alarms subscribed by the API consumer. parameters: - name: Accept description: > diff --git a/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml b/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml index e2b4c336..7a6da418 100644 --- a/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml +++ b/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml @@ -28,7 +28,9 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" vnfcInstanceIds: description: > - Identifiers of the affected VNFC instances. + Identifiers of the affected VNFC instances. Each identifier references the "id" + attribute in a "VnfcInfo" structure. Shall be present if the alarm affects at + least one VNFC instance. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" diff --git a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index 10a79b32..c4fc5968 100644 --- a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -113,7 +113,7 @@ paths: get: description: > The GET method allows the API producer to test the notification endpoint - that is provided by the client, e.g. during subscription. + that is provided by the API consumer, e.g. during subscription. responses: 204: description: > @@ -230,8 +230,8 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" get: description: > - The GET method allows the server to test the notification endpoint - that is provided by the client, e.g. during subscription. + The GET method allows the API producer to test the notification endpoint + that is provided by the API consumer, e.g. during subscription. responses: 204: description: > @@ -348,8 +348,8 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" get: description: > - The GET method allows the server to test the notification endpoint - that is provided by the client, e.g. during subscription. + The GET method allows the API producer to test the notification endpoint + that is provided by the API consumer, e.g. during subscription. responses: 204: description: > diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index 4fde700c..ce151c87 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -653,7 +653,7 @@ paths: description: > Service Unavailable - This resource represents an individual subscription. The client can use this resource to + This resource represents an individual subscription. The API consumer can use this resource to read and to terminate a subscription to notifications related to VNF indicator value changes. parameters: - name: subscriptionId diff --git a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml index acd4095e..127b76e9 100644 --- a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -99,7 +99,7 @@ paths: Service Unavailable The GET method allows the API producer to test the notification endpoint that is provided - by the client, e.g. during subscription. + by the API consumer, e.g. during subscription. responses: 204: description: > diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 087713f9..547f1e0c 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -375,14 +375,9 @@ paths: 504: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" patch: - #SOL003 location: 5.4.3.3.4 + #SOL002/SOL003 location: 5.4.3.3.4 description: > - This method modifies an "Individual VNF instance" resource. Changes to - the VNF configurable properties are applied to the configuration in - the VNF instance, and are reflected in the representation of this - resource. Other changes are applied to the VNF instance information - managed by the VNFM, and are reflected in the representation of this - resource + This method modifies an "Individual VNF instance" resource. parameters: - name: vnfInfoModifications description: Input parameters for VNF info modification @@ -1450,7 +1445,7 @@ paths: type: string get: description: > - The client can use this method to query status information about + The API consumer can use this method to query status information about multiple VNF lifecycle management operation occurrences. parameters: - name: filter @@ -1628,7 +1623,7 @@ paths: type: string get: description: > - The client can use this method to retrieve status information about a + The API consumer can use this method to retrieve status information about a VNF lifecycle management operation occurrence by reading an "Individual VNF LCM operation occurrence" resource. responses: diff --git a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml index f9dfb02d..067fa5b1 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml @@ -222,28 +222,30 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" extensions: description: > - Additional VNF specific attributes that affect the lifecycle management of this - VNF instance by the VNFM, or the lifecycle management scripts. - These attributes represent values that are stored persistently in the VnfInstance - structure for consumption by the VNFM, or by the lifecycle management scripts - during the execution of VNF lifecycle management operations. - All extensions that are allowed for the VNF are declared in the VNFD. The declaration of - an extension in the VNFD contains information on whether its presence is optional or - required, and optionally can specify an initial value. See note 2 and note 4. - The VNFM shall reject requests to write extension attributes that are not declared in the VNFD - with a "422 Unprocessable entity" error response as defined in clause 6.4 of ETSI GS NFV SOL 013. - - Modifying the values of these attributes has no direct effect on the VNF instance; - however, the modified attribute values can be considered during subsequent VNF - lifecycle management operations, which means that the modified values can indirectly - affect the configuration of the VNF instance. - - These attributes can be initialized with default values from the VNFD. - - These attributes can be modified with values passed in the request structures of certain LCM operations, - such as the InstantiateVnfRequest structure - + Additional VNF specific attributes that affect the lifecycle management of this VNF instance. + These attributes represent values that are stored persistently in the VnfInstance structure for + consumption by the VNFM, or by the lifecycle management scripts during the execution of VNF + lifecycle management operations. + All extensions that are allowed for the VNF are declared in the VNFD. The declaration of an extension + in the VNFD contains information on whether its presence is optional or required, and optionally can + specify an initial value. See note 2 and note 4. The VNFM shall reject requests to write extension + attributes that are not declared in the VNFD with a "422 Unprocessable entity" error response as defined + in clause 6.4 of ETSI GS NFV SOL 013. + Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified + attribute values can be considered during subsequent VNF lifecycle management operations, which means that + the modified values can indirectly affect the configuration of the VNF instance. + These attributes can be initialized with default values from the VNFD (see note 4). + These attributes can be modified with values passed in the request structures of certain LCM operations, + such as the InstantiateVnfRequest structure. Further, these attributes can be created, modified or deleted with the PATCH method. + + NOTE 2: ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. + NOTE 4: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes + of "vnfConfigurableProperties", "metadata" and "extensions" that were declared in the VNFD with a defined + initial value. The defined initial values can be declared in the VNFD, and/or, in case of "metadata", + obtained from the "CreateVnfRequest" structure. Child attributes of "vnfConfigurableProperties", "metadata" + and "extensions" that have no defined initial value shall not be created, in order to be consistent with the + semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion request. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" _links: description: > @@ -363,12 +365,9 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" vnfConfigurableProperties: description: > - This parameter provides values for the VNF configurable - properties attribute in the "VnfInstance", as defined in - clause 5.5.2.2. If an entry with the same key exists in the - VnfInstance data structure, the VNFM shall replace its - value with the value passed in the InstantiateVnfRequest - data structure. + If present, this attribute provides modifications to the default values, as obtained from the VNFD, + of the "vnfConfigurableProperties" attribute in "VnfInstance", as defined in clause 5.5.2.2. + Provisions for handling configurable properties during the operation are defined in clause 5.4.4.3.1. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" ChangeVnfFlavourRequest: @@ -609,7 +608,7 @@ definitions: vnfcInfoModifications: description: > Modifications of certain entries in the "vnfcInfo" attribute array in the - "instantiatedVnfInfo" attribute of "VnfInstance"." to be used as "newList" as defined below this table. + "instantiatedVnfInfo" attribute of "VnfInstance" to be used as "newList" as defined below this table. type: array items: $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcInfoModifications" @@ -868,10 +867,10 @@ definitions: structures that are represented by the "vnfVirtualLinkResource¬Info" or "extManagedVirtualLinkInfo" attribute in the "VnfInstance" structure. See note. - NOTE: When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link - ports, the "networkResource" and "resourceDefinitionId" attributes refer to the affected virtual - link instance, not the link port instance. The resource handles of the affected VNF link ports can - be found by dereferencing the identifiers in the "vnfLinkPortIds" attribute. + NOTE: When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, + the "networkResource" attribute refers to the affected virtual link instance, not the link port + instance. The resource handles of the affected VNF link ports can be found by dereferencing the + identifiers in the "vnfLinkPortIds" attribute. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" diff --git a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index 1d0fd3c0..fcc396d3 100644 --- a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -118,7 +118,7 @@ paths: get: description: > - The GET method allows the server to test the notification endpoint + The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, e.g. during subscription. parameters: - name: Authorization @@ -256,7 +256,7 @@ paths: get: description: > - The GET method allows the server to test the notification endpoint + The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, e.g. during subscription. parameters: - name: Authorization @@ -394,7 +394,7 @@ paths: get: description: > - The GET method allows the server to test the notification endpoint + The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, e.g. during subscription. parameters: - name: Authorization diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 8789017f..5be3b2cc 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -146,7 +146,7 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" get: description: > - The client can use this method to retrieve information about PM jobs. + The API consumer can use this method to retrieve information about PM jobs. parameters: - name: Accept description: > @@ -166,7 +166,7 @@ paths: description: > Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. The VNFM shall support receiving this parameter as part of the URI query string. - The EM may supply this parameter. All attribute names that appear in the PmJob + The API consumer may supply this parameter. All attribute names that appear in the PmJob and in data types referenced from it shall be supported by the VNFM in attribute-based filtering expression. EXAMPLE @@ -337,7 +337,7 @@ paths: type: string get: description: > - The client can use this method for reading an individual PM job. + The API consumer can use this method for reading an individual PM job. parameters: - name: Accept description: > @@ -572,7 +572,7 @@ paths: type: string get: description: > - The client can use this method for reading an individual performance + The API consumer can use this method for reading an individual performance report. parameters: - name: Accept @@ -657,7 +657,7 @@ paths: type: string post: description: > - The POST method can be used by the client to create a threshold. + The POST method can be used by the API consumer to create a threshold. As the result of successfully executing this method, a new "Individual threshold" resource as defined in clause 6.4.6 shall have been created. @@ -744,7 +744,7 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" get: description: > - The client can use this method to query information about thresholds. + The API consumer can use this method to query information about thresholds. parameters: - name: Accept description: > @@ -896,7 +896,7 @@ paths: type: string get: description: > - The client can use this method for reading an individual threshold. + The API consumer can use this method for reading an individual threshold. parameters: - name: Accept description: > diff --git a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index 82c1ceb1..3ce6cb07 100644 --- a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -111,7 +111,7 @@ paths: get: description: > The GET method allows the API producer to test the notification endpoint - that is provided by the client, e.g. during subscription. + that is provided by the API consumer, e.g. during subscription. parameters: - name: Authorization description: > @@ -240,8 +240,8 @@ paths: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" get: description: > - The GET method allows the server to test the notification endpoint - that is provided by the client, e.g. during subscription. + The GET method allows the API producer to test the notification endpoint + that is provided by the API consumer, e.g. during subscription. parameters: - name: Authorization description: > diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index abd97498..ab1ad9ad 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -696,6 +696,9 @@ definitions: LcmOperationType: description: > + The enumeration LcmOpType defines the permitted values to represent VNF lifecycle operation + types in VNF lifecycle management operation occurrence resources and VNF lifecycle management + operation occurrence notifications. It shall comply with the provisions defined in table 5.5.4.5-1. Value | Description ------|------------ INSTANTIATE | Represents the "Instantiate VNF" LCM operation. -- GitLab From 4e8e17f2af4bb9a56212d8dcf67868c7642bc487 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Thu, 15 Apr 2021 16:46:45 +0200 Subject: [PATCH 17/22] SOL003: v2.8.1 review fixes --- .../VNFLifecycleManagement.yaml | 2 +- .../SOL003VNFLifecycleManagement_def.yaml | 10 +++-- .../VNFLifecycleManagementNotification.yaml | 4 +- .../VNFLifecycleOperationGranting_def.yaml | 2 +- .../VNFPackageManagement.yaml | 45 +++++++++++++------ .../definitions/VNFPackageManagement_def.yaml | 5 ++- .../SOL002SOL003VNFFaultManagement_def.yaml | 2 +- 7 files changed, 46 insertions(+), 24 deletions(-) diff --git a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml index d542bf79..7c6760a3 100644 --- a/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL003/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -2096,7 +2096,7 @@ paths: Shall be returned when the state of the VNF lifecycle management operation occurrence has been changed successfully. - The response shall include a representation of the "Individual VNF lifecycle operation occurrence" resource. + The response body shall include a representation of the "Individual VNF lifecycle operation occurrence" resource. headers: Content-Type: description: The MIME type of the body of the response. diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index 04af3ddc..891592e7 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -216,7 +216,7 @@ definitions: The VNFM shall accept requests to write metadata that are not declared in the VNFD. These attributes can be initialized with default values from the VNFD or with values passed in the CreateVnfRequest structure (see clause 5.4.2.3.1). - This attributeThese attributes can be created, modified or removed with the PATCH method. + These attributes can be created, modified or removed with the PATCH method. ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes @@ -832,7 +832,7 @@ definitions: $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/CpProtocolInfo" vnfLinkPortId: description: > - Identifier of the "VnfLinkPorts" structure in the + Identifier of the "VnfLinkPortInfo" structure in the "VnfVirtualLinkResourceInfo" structure. Shall be present if the CP is associated to a link port on an internal VL of the VNF instance and shall be absent otherwise. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" @@ -1109,7 +1109,7 @@ definitions: link instance, not the link port instance. The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the "vnfLinkPortIds" attribute. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" - virtualLinkPortIds: + vnfLinkPortIds: description: > Identifiers of the link ports of the affected VL related to the change. Each identifier references a "VnfLinkPortInfo" structure. @@ -1142,6 +1142,10 @@ definitions: ports, the "networkResource" and "resourceDefinitionId" attributes refer to the affected virtual link instance, not the link port instance. The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the "vnfLinkPortIds" attribute. + NOTE 2: The "resourceDefinitionId" attribute provides information to the API consumer (i.e. the NFVO) + to assist in correlating the resource changes performed during the LCM operation with the granted + resources in a specific Grant exchange, which is identified by the "grantId" available in the "Individual + VNF lifecycle management operation occurrence" and the "id" in the "Individual Grant". $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierLocal" zoneId: description: > diff --git a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index bcb28a2d..76ad8fa8 100644 --- a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -238,7 +238,7 @@ paths: get: description: > - The GET method allows the server to test the notification endpoint that is provided by the API consumer, + The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, e.g. during subscription. This method shall follow the provisions specified in the tables 5.4.20.3.2-1 and 5.4.20.3.2-2 for URI query parameters, request and response data structures, and response codes. @@ -370,7 +370,7 @@ paths: get: description: > - The GET method allows the server to test the notification endpoint that is provided by the API consumer, + The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, e.g. during subscription. This method shall follow the provisions specified in the tables 5.4.20.3.2-1 and 5.4.20.3.2-2 for URI query parameters, request and response data structures, and response codes. diff --git a/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml b/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml index b1603e39..8fe17a62 100644 --- a/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml +++ b/src/SOL003/VNFLifecycleOperationGranting/definitions/VNFLifecycleOperationGranting_def.yaml @@ -445,7 +445,7 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" resourceTemplateId: description: > - Reference to athe applicable resource template in the VNFD as follows: + Reference to the applicable resource template in the VNFD as follows: - If type="VL": VnfVirtualLinkDesc, - If type="COMPUTE": VirtualComputeDesc, - If type="LINKPORT": VnfExtCpd, diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index 71361601..ff8e63db 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -622,24 +622,41 @@ paths: The GET method reads the content of the VNFD within a VNF package. The VNFD is implemented as a collection of one or more files. A ZIP archive embedding these files shall be returned when reading this resource. - The default format of the ZIP archive shall be the one specified in ETSI GS NFV-SOL 004 - where only the files representing the VNFD and information needed to navigate the ZIP - archive and to identify the file that is the entry point for parsing the VNFD, and, - if requested, further security information are included. This means that the structure - of the ZIP archive shall correspond to the directory structure used in the VNF package - and that the archive shall contain the following files from the package: - • TOSCA.meta (if available in the package) - • The main TOSCA definitions YAML file (either as referenced from TOSCA.meta - or available as a file with the extension ".yml" or ".yaml" from the root of the archive) - • Every component of the VNFD referenced (recursively) from the main TOSCA definitions YAML file - • The related security information, if the "include_signatures" URI parameter is provided, as follows: + The default format of the ZIP archive shall comply with CSAR format as specified + in ETSI GS NFV-SOL 004 where only the files representing the VNFD and information + needed to navigate the ZIP archive and to identify the file that is the entry point + for parsing the VNFD, and, if requested, further security information are included, + and software images as well as other artifacts referenced from the YAML files are + excluded. This means that the structure of the ZIP archive shall correspond to the + directory structure used in the VNF package and that the archive shall contain the + following files from the package: + • TOSCA.meta (if available in the package). + • The main TOSCA definitions YAML file (either as referenced from TOSCA.meta or + available as a file with the extension ".yml" or ".yaml" from the root of the + archive). + • Every component of the VNFD referenced (recursively) from the main TOSCA definitions + YAML file. + + NOTE 1: For a VNFD based on TOSCA, it includes all the imported type definition files + as indicated in the top level service template and in any of the lower level service + template if it has any as described in ETSI GS NFV-SOL 001. + + NOTE 2: For a VNFD based on YANG, it includes the file as indicated by the + "yang_definitions" keyname in the metadata section of the main yaml file as described + in ETSI GS NFV-SOL 004. + + • The related security information, if the "include_signatures" URI parameter is provided, + as follows: - the manifest file - - the singleton certificate file in the root of the VNF package (if available in the package) - - the signing certificates of the individual files included in the ZIP archive (if available in the package) + - the singleton certificate file in the root of the VNF package (if available in the + package) + - the signing certificates of the individual files included in the ZIP archive + (if available in the package) - the signatures of the individual files (if available in the package) + Three examples are provided below. - NOTE: These examples do not show the security related files. + NOTE 3: These examples do not show the security related files. EXAMPLE 1: Assuming a request is sent for the following VNF package (as described in clause A.1 in ETSI GS NFV-SOL 004): diff --git a/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml b/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml index 3fd175f8..e1b12e18 100644 --- a/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml +++ b/src/SOL003/VNFPackageManagement/definitions/VNFPackageManagement_def.yaml @@ -227,8 +227,9 @@ definitions: VnfPackageSoftwareImageInfo: description: > - This type represents an artifact contained in a VNF package which - represents a software image. + This type represents an artifact contained in or external to a VNF package + which represents a software image. It shall comply with provisions defined + in table 10.5.3.2-1 type: object required: - id diff --git a/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml b/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml index db3e9306..d0d45a3e 100644 --- a/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFFaultManagement_def.yaml @@ -156,7 +156,7 @@ definitions: description: > Attribute indicating if this fault is the root for other correlated alarms. If true, then the alarms listed in the attribute - "correlatedAlarmId" are caused by this fault. + "correlatedAlarmIds" are caused by this fault. type: boolean correlatedAlarmIds: description: > -- GitLab From 57b6d96eeb4261001bfea344def8cb519f6e9212 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Wed, 21 Apr 2021 11:43:52 +0200 Subject: [PATCH 18/22] updated summary --- src/SOL002/VNFConfiguration/VNFConfiguration.yaml | 2 -- src/SOL002/VNFIndicator/VNFIndicator.yaml | 7 ------- .../VNFIndicatorNotification/VNFIndicatorNotification.yaml | 2 -- src/endpoints/SOL002SOL003_endpoints.yaml | 1 - 4 files changed, 12 deletions(-) diff --git a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml index dd4091c1..bcefa18d 100644 --- a/src/SOL002/VNFConfiguration/VNFConfiguration.yaml +++ b/src/SOL002/VNFConfiguration/VNFConfiguration.yaml @@ -58,7 +58,6 @@ paths: required: false type: string get: - summary: Read VNF/VNFC configuration from VNF description: > The API consumer can use this method to read configuration information about a VNF instance and/or its VNFC instances. responses: @@ -113,7 +112,6 @@ paths: 504: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" patch: - summary: Modify VNF/VNFC configuration. description: This method sets or modifies a configuration resource. parameters: - name: configModifications diff --git a/src/SOL002/VNFIndicator/VNFIndicator.yaml b/src/SOL002/VNFIndicator/VNFIndicator.yaml index ce151c87..7f29eb85 100644 --- a/src/SOL002/VNFIndicator/VNFIndicator.yaml +++ b/src/SOL002/VNFIndicator/VNFIndicator.yaml @@ -58,7 +58,6 @@ paths: required: false type: string get: - summary: Query multiple indicators description: Get a list of indicators. Support of attribute based filtering via query parameters. parameters: - name: filter @@ -195,7 +194,6 @@ paths: required: false type: string get: - summary: Query multiple indicators related to a VNF instance. description: > Get a list of indicators related to a specific VNF instance. Support of attribute based filtering via query parameters. parameters: @@ -341,7 +339,6 @@ paths: required: false type: string get: - summary: Read an inidividual VNF indicator related to a VNF instance. description: > Read an individual VNF indicator related to a specific VNF instance. NOTE: This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a @@ -396,7 +393,6 @@ paths: ############################################################################### /subscriptions: post: - summary: Create a new subscription to VNF indicator change notifications description: > This method creates a new subscription. As the result of successfully executing this method, a new "Individual @@ -518,7 +514,6 @@ paths: 504: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" get: - summary: Query multiple subscriptions. description: > Service Unavailable @@ -649,7 +644,6 @@ paths: required: false type: string get: - summary: Read an individual subscription. description: > Service Unavailable @@ -713,7 +707,6 @@ paths: 504: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" delete: - summary: Delete a subscription description: > This method terminates an individual subscription. As the result of successfully executing this method, the "Individual diff --git a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml index 127b76e9..2b94227b 100644 --- a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -50,7 +50,6 @@ paths: required: false type: string post: - summary: Notification endpoint description: > The API producer can use this resource to send notifications related to VNF indicator value changes to a subscribed API consumer, which has provided the URI of this resource @@ -94,7 +93,6 @@ paths: 503: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503" get: - summary: Test notification endpoint. description: > Service Unavailable diff --git a/src/endpoints/SOL002SOL003_endpoints.yaml b/src/endpoints/SOL002SOL003_endpoints.yaml index 9ae760ed..c4be6f65 100644 --- a/src/endpoints/SOL002SOL003_endpoints.yaml +++ b/src/endpoints/SOL002SOL003_endpoints.yaml @@ -10,7 +10,6 @@ endpoints: required: false type: string get: - summary: Retrieve API version information description: > The GET method reads API version information. This method shall follow the provisions specified in table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not -- GitLab From 10af6d1880bd2d570699e4f8238c863013c2efa0 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Wed, 21 Apr 2021 11:47:49 +0200 Subject: [PATCH 19/22] updated titles --- .../VNFIndicatorNotification/VNFIndicatorNotification.yaml | 4 ++-- .../VNFIndicatorNotification/VNFIndicatorNotification.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml index 2b94227b..a7d23f03 100644 --- a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -2,9 +2,9 @@ swagger: "2.0" info: version: "1.2.1-impl:etsi.org:ETSI_NFV_OpenAPI:1" - title: SOL002 - VNF Indicator Notification Endpoint interface + title: SOL002 - VNF Indicator Notification interface description: > - SOL002 - VNF Indicator Notification Endpoint interface + SOL002 - VNF Indicator Notification interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies the published ETSI diff --git a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml index 71740b22..fa62daf3 100644 --- a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -2,9 +2,9 @@ swagger: "2.0" info: version: "1.2.1-impl:etsi.org:ETSI_NFV_OpenAPI:1" - title: SOL003 - VNF Indicator interface + title: SOL003 - VNF Indicator Notification Interface description: > - SOL003 - VNF Indicator interface + SOL003 - VNF Indicator Notification interface IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of -- GitLab From 8fb49f430d88cb4f6227184112f7f48844dc7fec Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 29 Apr 2021 13:12:05 +0200 Subject: [PATCH 20/22] fixed api versions endpoints 405 return code --- src/endpoints/SOL002SOL003_endpoints.yaml | 28 +++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/src/endpoints/SOL002SOL003_endpoints.yaml b/src/endpoints/SOL002SOL003_endpoints.yaml index c4be6f65..032deeb1 100644 --- a/src/endpoints/SOL002SOL003_endpoints.yaml +++ b/src/endpoints/SOL002SOL003_endpoints.yaml @@ -39,7 +39,6 @@ endpoints: 401: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/401' } 403: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/403' } 404: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/404' } - 405: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/405' } 406: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/406' } 413: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/413' } 414: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/414' } @@ -48,4 +47,29 @@ endpoints: 429: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/429' } 500: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/500' } 503: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/503' } - 504: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/504' } \ No newline at end of file + 504: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/504' } + + post: + description: > + This method is not supported. When this method is requested on this resource, the API producer shall + return a "405 Method Not Allowed" response + responses: + 405: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/405' } + put: + description: > + This method is not supported. When this method is requested on this resource, the API producer shall + return a "405 Method Not Allowed" response + responses: + 405: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/405' } + patch: + description: > + This method is not supported. When this method is requested on this resource, the API producer shall + return a "405 Method Not Allowed" response + responses: + 405: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/405' } + delete: + description: > + This method is not supported. When this method is requested on this resource, the API producer shall + return a "405 Method Not Allowed" response + responses: + 405: { $ref: '../responses/SOL002SOL003_resp.yaml#/responses/405' } \ No newline at end of file -- GitLab From ede4d893c6d1e2a6f52d1445a090e8e808a8fd6f Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 29 Apr 2021 15:52:40 +0200 Subject: [PATCH 21/22] updated notification endpoints --- .../VNFFaultManagementNotification.yaml | 6 +++--- .../VNFIndicatorNotification/VNFIndicatorNotification.yaml | 2 +- .../VNFLifecycleManagementNotification.yaml | 6 +++--- .../VNFPerformanceManagementNotification.yaml | 4 ++-- .../VNFFaultManagementNotification.yaml | 6 +++--- .../VNFIndicatorNotification/VNFIndicatorNotification.yaml | 2 +- .../VNFLifecycleManagementNotification.yaml | 6 +++--- .../VNFPackageManagementNotification.yaml | 4 ++-- .../VNFPerformanceManagementNotification.yaml | 4 ++-- ...isedResourcesQuotaAvailableNotificationNotification.yaml | 2 +- 10 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index c4fc5968..da9b2c9a 100644 --- a/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL002/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -36,7 +36,7 @@ paths: ############################################################################### # Notification endpoint AlarmNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription_AlarmNotification': + '/URI_is_provided_by_the_client_when_creating_the_subscription-AlarmNotification': parameters: - name: Version description: > @@ -154,7 +154,7 @@ paths: ############################################################################### # Notification endpoint AlarmClearedNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription_AlarmClearedNotification': + '/URI_is_provided_by_the_client_when_creating_the_subscription-AlarmClearedNotification': parameters: - name: Version description: > @@ -272,7 +272,7 @@ paths: ############################################################################### # Notification endpoint AlarmListRebuiltNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription_AlarmListRebuiltNotification': + '/URI_is_provided_by_the_client_when_creating_the_subscription-AlarmListRebuiltNotification': parameters: - name: Version description: > diff --git a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml index a7d23f03..5a601c57 100644 --- a/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL002/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -34,7 +34,7 @@ paths: ############################################################################### # Notification endpoint VnfIndicatorValueChangeNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription_VnfIndicatorValueChangeNotification': + '/URI_is_provided_by_the_client_when_creating_the_subscription-VnfIndicatorValueChangeNotification': parameters: - name: Version description: > diff --git a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index fcc396d3..05a61013 100644 --- a/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL002/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -36,7 +36,7 @@ paths: ############################################################################### # Notification endpoint VnfLcmOperationOccurrenceNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription_VnfLcmOperationOccurrenceNotification': + '/URI_is_provided_by_the_client_when_creating_the_subscription-VnfLcmOperationOccurrenceNotification': parameters: - name: Version description: > @@ -172,7 +172,7 @@ paths: ############################################################################### # Notification endpoint VnfIdentifierCreationNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription_VnfIdentifierCreationNotification': + '/URI_is_provided_by_the_client_when_creating_the_subscription-VnfIdentifierCreationNotification': parameters: - name: Version description: > @@ -310,7 +310,7 @@ paths: ############################################################################### # Notification endpoint VnfIdentifierDeletionNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription_VnfIdentifierDeletionNotification': + '/URI_is_provided_by_the_client_when_creating_the_subscription-VnfIdentifierDeletionNotification': parameters: - name: Version description: > diff --git a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index 3ce6cb07..8f52e816 100644 --- a/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL002/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -36,7 +36,7 @@ paths: ############################################################################### # Notification endpoint PerformanceInformationAvailableNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription_PerformanceInformationAvailableNotification': + '/URI_is_provided_by_the_client_when_creating_the_subscription-PerformanceInformationAvailableNotification': post: description: > Notify @@ -166,7 +166,7 @@ paths: ############################################################################### # Notification endpoint ThresholdCrossedNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription_ThresholdCrossedNotification': + '/URI_is_provided_by_the_client_when_creating_the_subscription-ThresholdCrossedNotification': post: description: > Notify diff --git a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml index 51365bc8..6b9b0dc3 100644 --- a/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml +++ b/src/SOL003/VNFFaultManagementNotification/VNFFaultManagementNotification.yaml @@ -33,7 +33,7 @@ paths: ############################################################################### # Notification endpoint AlarmNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription-AlarmNotification': + '/URI_is_provided_by_the_client_when_creating_the_subscription-AlarmNotification': #SOL003 location: 7.4.6 post: description: > @@ -168,7 +168,7 @@ paths: ############################################################################### # Notification endpoint AlarmClearedNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription-AlarmClearedNotification': + '/URI_is_provided_by_the_client_when_creating_the_subscription-AlarmClearedNotification': #SOL003 location: 7.4.6 post: description: > @@ -303,7 +303,7 @@ paths: ############################################################################### # Notification endpoint AlarmListRebuiltNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription-AlarmListRebuiltNotification': + '/URI_is_provided_by_the_client_when_creating_the_subscription-AlarmListRebuiltNotification': #SOL003 location: 7.4.6 post: description: > diff --git a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml index fa62daf3..f05658fb 100644 --- a/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml +++ b/src/SOL003/VNFIndicatorNotification/VNFIndicatorNotification.yaml @@ -33,7 +33,7 @@ paths: ############################################################################### # Notification endpoint VnfIndicatorValueChangeNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription-VnfIndicatorValueChangeNotification': + '/URI_is_provided_by_the_client_when_creating_the_subscription-VnfIndicatorValueChangeNotification': #SOL003 location: 8.4.7 post: description: > diff --git a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index 76ad8fa8..e70949d8 100644 --- a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -33,7 +33,7 @@ paths: ############################################################################### # Notification endpoint VnfLcmOperationOccurrenceNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription-VnfLcmOperationOccurrenceNotification': + '/URI_is_provided_by_the_client_when_creating_the_subscription-VnfLcmOperationOccurrenceNotification': post: description: > Notify. @@ -164,7 +164,7 @@ paths: ############################################################################### # Notification endpoint VnfIdentifierCreationNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription-VnfIdentifierCreationNotification': + '/URI_is_provided_by_the_client_when_creating_the_subscription-VnfIdentifierCreationNotification': post: description: > Notify. @@ -296,7 +296,7 @@ paths: ############################################################################### # Notification endpoint VnfIdentifierDeletionNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription-VnfIdentifierDeletionNotification': + '/URI_is_provided_by_the_client_when_creating_the_subscription-VnfIdentifierDeletionNotification': post: description: > Notify. diff --git a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml index 8f97dd5b..b0dce5c6 100644 --- a/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml +++ b/src/SOL003/VNFPackageManagementNotification/VNFPackageManagementNotification.yaml @@ -33,7 +33,7 @@ paths: ############################################################################### # Notification endpoint VnfPackageOnboardingNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription-VnfPackageOnboardingNotification': + '/URI_is_provided_by_the_client_when_creating_the_subscription-VnfPackageOnboardingNotification': #SOL003 location: 10.4.9 post: description: > @@ -165,7 +165,7 @@ paths: ############################################################################### # Notification endpoint VnfPackageChangeNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription-VnfPackageChangeNotification': + '/URI_is_provided_by_the_client_when_creating_the_subscription-VnfPackageChangeNotification': #SOL003 location: 10.4.9 post: description: > diff --git a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml index 135f30f6..b226a2ce 100644 --- a/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml +++ b/src/SOL003/VNFPerformanceManagementNotification/VNFPerformanceManagementNotification.yaml @@ -33,7 +33,7 @@ paths: ############################################################################### # Notification endpoint PerformanceInformationAvailableNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription-PerformanceInformationAvailableNotification': + '/URI_is_provided_by_the_client_when_creating_the_subscription-PerformanceInformationAvailableNotification': #SOL003 location: 6.4.9 post: description: > @@ -167,7 +167,7 @@ paths: ############################################################################### # Notification endpoint ThresholdCrossedNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription-ThresholdCrossedNotification': + '/URI_is_provided_by_the_client_when_creating_the_subscription-ThresholdCrossedNotification': #SOL003 location: 6.4.9 post: description: > diff --git a/src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/VirtualisedResourcesQuotaAvailableNotificationNotification.yaml b/src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/VirtualisedResourcesQuotaAvailableNotificationNotification.yaml index 0914aa2c..99e6355c 100644 --- a/src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/VirtualisedResourcesQuotaAvailableNotificationNotification.yaml +++ b/src/SOL003/VirtualisedResourcesQuotaAvailableNotificationNotification/VirtualisedResourcesQuotaAvailableNotificationNotification.yaml @@ -39,7 +39,7 @@ paths: ############################################################################### # Notification endpoint VrQuotaAvailNotification # ############################################################################### - '/URI-is-provided-by-the-client-when-creating-the-subscription-VrQuotaAvailNotification': + '/URI_is_provided_by_the_client_when_creating_the_subscription-VrQuotaAvailNotification': post: description: > The POST method delivers a notification from the API producer to an API consumer. -- GitLab From 2325aca6ee43c597a57ab37839cd2d0e5a6b2b29 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 7 May 2021 09:43:35 +0200 Subject: [PATCH 22/22] upd readme --- Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index 2b31823c..36c1f1f2 100644 --- a/Readme.md +++ b/Readme.md @@ -9,7 +9,7 @@ The APIs described in this repository are defined for the following reference po * `Or-Vnfm` * `Ve-vnfm` -**IMPORTANT: These [OpenAPI](https://www.openapis.org/) specifications are in development phase. In case of discrepancies the published ETSI Group Specification takes precedence.** +**IMPORTANT: In case of discrepancies the published ETSI Group Specification takes precedence.** More information at [NFV Solutions wiki](https://nfvwiki.etsi.org/index.php?title=NFV_Solutions). -- GitLab