Commit d9e7a446 authored by Francesca Moscatelli's avatar Francesca Moscatelli
Browse files

SOL005 modifications according to v03004

parent f1c66de3
Pipeline #4537 failed with stage
in 0 seconds
...@@ -13,7 +13,7 @@ info: ...@@ -13,7 +13,7 @@ info:
license: license:
name: ETSI Forge copyright notice name: ETSI Forge copyright notice
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
version: 1.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
externalDocs: externalDocs:
description: ETSI GS NFV-SOL 005 V3.3.1 description: ETSI GS NFV-SOL 005 V3.3.1
...@@ -160,6 +160,8 @@ paths: ...@@ -160,6 +160,8 @@ paths:
$ref: ../responses/SOL005_resp.yaml#/components/responses/405 $ref: ../responses/SOL005_resp.yaml#/components/responses/405
"406": "406":
$ref: ../responses/SOL005_resp.yaml#/components/responses/406 $ref: ../responses/SOL005_resp.yaml#/components/responses/406
"422":
$ref: ../responses/SOL005_resp.yaml#/components/responses/422
"500": "500":
$ref: ../responses/SOL005_resp.yaml#/components/responses/500 $ref: ../responses/SOL005_resp.yaml#/components/responses/500
"503": "503":
...@@ -202,6 +204,40 @@ paths: ...@@ -202,6 +204,40 @@ paths:
"504": "504":
$ref: ../responses/SOL005_resp.yaml#/components/responses/504 $ref: ../responses/SOL005_resp.yaml#/components/responses/504
patch:
summary: Modify an "Individual capacity threshold" resource
description: |
This method iallows to modify an "Individual capacity threshold" resource.
This method shall follow the provisions specified in the Tables 10.4.5.3.4-1 and 10.4.5.3.4-2 for URI query
parameters, request and response data structures, and response codes.
requestBody:
$ref: '#/components/requestBodies/IndividualNfviCapacityThresholdRequest'
responses:
"200":
$ref: '#/components/responses/IndividualCapacityThreshold.Patch'
"400":
$ref: ../responses/SOL005_resp.yaml#/components/responses/400
"401":
$ref: ../responses/SOL005_resp.yaml#/components/responses/401
"403":
$ref: ../responses/SOL005_resp.yaml#/components/responses/403
"404":
$ref: ../responses/SOL005_resp.yaml#/components/responses/404
"405":
$ref: ../responses/SOL005_resp.yaml#/components/responses/405
"406":
$ref: ../responses/SOL005_resp.yaml#/components/responses/406
"412":
$ref: ../responses/SOL005_resp.yaml#/components/responses/412
"422":
$ref: ../responses/SOL005_resp.yaml#/components/responses/422
"500":
$ref: ../responses/SOL005_resp.yaml#/components/responses/500
"503":
$ref: ../responses/SOL005_resp.yaml#/components/responses/503
"504":
$ref: ../responses/SOL005_resp.yaml#/components/responses/504
delete: delete:
summary: Delete an NFVI capacity threshold summary: Delete an NFVI capacity threshold
description: | description: |
...@@ -421,6 +457,16 @@ components: ...@@ -421,6 +457,16 @@ components:
$ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CreateCapacityThresholdRequest $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CreateCapacityThresholdRequest
required: true required: true
IndividualNfviCapacityThresholdRequest:
description: |
Parameters for the capacity threshold modification.
The Content-Type header shall be set to "application/merge-patch+json" according to IETF RFC 7396.
content:
application/json:
schema:
$ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThresholdModifications
required: true
NfviCapacitySubscriptionRequest: NfviCapacitySubscriptionRequest:
description: | description: |
Details of the subscription to be created. Details of the subscription to be created.
...@@ -611,6 +657,38 @@ components: ...@@ -611,6 +657,38 @@ components:
schema: schema:
$ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThreshold $ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThreshold
IndividualCapacityThreshold.Patch:
description: |
200 OK
Shall be returned when the request has been processed successfully.
The response body shall contain a data structure of type "CapacityThresholdModifications".
headers:
Version:
description: |
Version of the API used in the response.
style: simple
explode: false
schema:
type: string
WWW-Authenticate:
description: |
Challenge if the corresponding HTTP request has not provided authorization, or error details if the
corresponding HTTP request has provided an invalid authorization token.
style: simple
explode: false
schema:
type: string
Content-Type:
description: The MIME type of the body of the response.
style: simple
explode: false
schema:
type: string
content:
application/json:
schema:
$ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThresholdModifications
IndividualCapacityThreshold.Delete: IndividualCapacityThreshold.Delete:
description: | description: |
Shall be returned when the NFVI capacity threshold has been deleted successfully. Shall be returned when the NFVI capacity threshold has been deleted successfully.
...@@ -832,12 +910,12 @@ components: ...@@ -832,12 +910,12 @@ components:
description: >- description: >-
This resource represents a notification endpoint for NFVI capacity information. This resource represents a notification endpoint for NFVI capacity information.
The API producer can use this resource to send notifications related to log management events to a The API producer can use this resource to send notifications related to log management events to a
subscribed API consumer, which has provided the URI of this resource during the subscription process. subscribed API consumer, which has provided the URI of this resource during the capacity threshold
creation process.
post: post:
description: >- description: >-
The POST method delivers a notification regarding an NFVI capacity information event from the API producer The POST method delivers a notification regarding an NFVI capacity information event from the API producer
to an API consumer. The API consumer shall have previously created an "individual subscription resource" to an API consumer. The API consumer shall have previously created an "Individual capacity threshold" resource"
with a matching filter.
parameters: parameters:
- $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
- $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization - $ref: ../components/SOL005_params.yaml#/components/parameters/Authorization
...@@ -870,7 +948,7 @@ components: ...@@ -870,7 +948,7 @@ components:
get: get:
description: >- description: >-
The GET method allows the API producer 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. e.g. during creation of the capacity threshold resource.
parameters: parameters:
- $ref: ../components/SOL005_params.yaml#/components/parameters/Version - $ref: ../components/SOL005_params.yaml#/components/parameters/Version
- $ref: ../components/SOL005_params.yaml#/components/parameters/Accept - $ref: ../components/SOL005_params.yaml#/components/parameters/Accept
......
...@@ -24,6 +24,10 @@ components: ...@@ -24,6 +24,10 @@ components:
type: array type: array
items: items:
$ref: '#/components/schemas/NfviCapacityInfoPerZone' $ref: '#/components/schemas/NfviCapacityInfoPerZone'
totalCapacityInfo:
description: |
Total capacity information associated to the VIM.
$ref: '#/components/schemas/NfviCapacityMeasurement'
timeInterval: timeInterval:
description: | description: |
Time interval of the NFVI capacity information. Time interval of the NFVI capacity information.
...@@ -37,6 +41,7 @@ components: ...@@ -37,6 +41,7 @@ components:
- id - id
- objectInstanceId - objectInstanceId
- criteria - criteria
- callbackUri
- _links - _links
properties: properties:
id: id:
...@@ -47,10 +52,21 @@ components: ...@@ -47,10 +52,21 @@ components:
description: | description: |
Identifier of the VIM instance associated with the capacity threshold. Identifier of the VIM instance associated with the capacity threshold.
$ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier $ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier
subObjectInstanceIds:
description: |
Identifiers of the sub-object instances of the measured object instance associate with this capacity threshold.
If this attribute is absent, measurements are taken for all sub-object instances of the measured object instance.
type: array
items:
$ref: ../../definitions/SOL005_def.yaml#/definitions/IdentifierInVim
criteria: criteria:
description: | description: |
Criteria that define this capacity threshold. Criteria that define this capacity threshold.
$ref: '#/components/schemas/CapacityThresholdCriteria' $ref: '#/components/schemas/CapacityThresholdCriteria'
callbackUri:
description: |
The URI of the endpoint to send the notification to.
$ref: ../../definitions/SOL005_def.yaml#/definitions/Uri
_links: _links:
type: object type: object
description: | description: |
...@@ -81,10 +97,27 @@ components: ...@@ -81,10 +97,27 @@ components:
description: | description: |
Identifier of the VIM instance associated with this capacity threshold. Identifier of the VIM instance associated with this capacity threshold.
$ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier $ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier
subObjectInstanceIds:
description: |
Identifiers of the sub-object instances of the measured object instance associate with this capacity threshold.
If this attribute is absent, measurements will be taken for all sub-object instances of the measured object instance.
type: array
items:
$ref: ../../definitions/SOL005_def.yaml#/definitions/IdentifierInVim
criteria: criteria:
description: | description: |
Criteria that define this capacity threshold. Criteria that define this capacity threshold.
$ref: '#/components/schemas/CapacityThresholdCriteria' $ref: '#/components/schemas/CapacityThresholdCriteria'
callbackUri:
description: |
The URI of the endpoint to send the notification to.
$ref: ../../definitions/SOL005_def.yaml#/definitions/Uri
authentication:
description: |
Authentication parameters to configure the use of Authorization when sending notifications corresponding to
this capacity threshold, as defined in clause 8.3.4 of ETSI GS NFV-SOL 013.
This attribute shall only be present if the API consumer requires authorization of notifications.
$ref: ../../definitions/SOL005_def.yaml#/definitions/SubscriptionAuthentication
NfviCapacityInfoSubscription: NfviCapacityInfoSubscription:
type: object type: object
...@@ -151,10 +184,11 @@ components: ...@@ -151,10 +184,11 @@ components:
required: required:
- id - id
- notificationType - notificationType
- subscriptionId - thresholdId
- timeStamp - timeStamp
- direction - direction
- capacityInformation - capacityInformation
- objectInstanceId
properties: properties:
id: id:
description: | description: |
...@@ -166,26 +200,24 @@ components: ...@@ -166,26 +200,24 @@ components:
Discriminator for the different notification types. Discriminator for the different notification types.
Shall be set to "CapacityShortageNotification" for this notification type. Shall be set to "CapacityShortageNotification" for this notification type.
type: string type: string
subscriptionId: thresholdId:
description: | description: |
Identifier of the subscription that this notification relates to. Identifier of the threshold which has been crossed
$ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier $ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier
timeStamp: timeStamp:
description: | description: |
Date and time of the generation of the notification. Date and time of the generation of the notification.
$ref: ../../definitions/SOL005_def.yaml#/definitions/DateTime $ref: ../../definitions/SOL005_def.yaml#/definitions/DateTime
resourceZoneId: objectInstanceId:
description: | description: |
Identifies the resource zone in which the available NFVI capacity has crossed a threshold value. Identifies the VIM’s NFVI capacity information instance (measured object instance) in which the available
Cardinality is 0 if the subscription does not specify a particular resource zone and the overall available NFVI capacity has crossed a threshold value.
NFVI capacity has crossed the threshold.
$ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier $ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier
vimId: subObjectInstanceId:
description: | description: |
Identifies the VIM in which the available NFVI capacity has crossed a threshold value. Identifier of the sub-object of the measured object to which the measurement applies.
Cardinality is 0 if the subscription does not specify a particular VIM and the overall available NFVI capacity Refer to the definition of the "CapacityThreshold" in clause 10.5.2.7.
has crossed the threshold. $ref: ../../definitions/SOL005_def.yaml#/definitions/IdentifierInVim
$ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier
direction: direction:
description: | description: |
Specifies if the threshold has been crossed in UP or DOWN direction. Specifies if the threshold has been crossed in UP or DOWN direction.
...@@ -196,13 +228,26 @@ components: ...@@ -196,13 +228,26 @@ components:
capacityInformation: capacityInformation:
description: | description: |
Information about the available, reserved, allocated/used, and total capacity of the NFVI. Information about the available, reserved, allocated/used, and total capacity of the NFVI.
If the subscription does specify a resource zone and/or vimId, the information is provided for the resource If the threshold creation process does specify a resource zone and/or vimId, the information is provided
zone/vimId where the NFVI capacity has crossed the threshold. for the resource zone/vimId where the NFVI capacity has crossed the thresholdas indicated by the
type: object "subObjectInstanceId" and "objectInstanceId" attributes.
$ref: "#/components/schemas/NfviCapacityMeasurement"
_links: _links:
description: | description: |
Links to resources related to this notification. Links to resources related to this notification.
type: object type: object
required:
- threshold
properties:
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 information is accessible as a resource.
$ref: ../../definitions/SOL005_def.yaml#/definitions/NotificationLink
threshold:
description: |
Link to the resource that represents the threshold that was crossed.
$ref: ../../definitions/SOL005_def.yaml#/definitions/NotificationLink
NfviCapacityInfoNotificationsFilter: NfviCapacityInfoNotificationsFilter:
type: object type: object
...@@ -230,10 +275,6 @@ components: ...@@ -230,10 +275,6 @@ components:
- capacityMetric - capacityMetric
- thresholdType - thresholdType
properties: properties:
resourceZoneId:
description: |
Defines the resource zone of the NFVI capacity information for which the capacity threshold applies.
$ref: ../../definitions/SOL005_def.yaml#/definitions/Identifier
capacityMetric: capacityMetric:
description: | description: |
Defines the capacity metric for which the threshold applies. Defines the capacity metric for which the threshold applies.
...@@ -271,6 +312,8 @@ components: ...@@ -271,6 +312,8 @@ components:
Type of capacity threshold. This attribute determines which other attributes are present in the data structure. Type of capacity threshold. This attribute determines which other attributes are present in the data structure.
Permitted values: Permitted values:
- SIMPLE: Single-valued static threshold. - SIMPLE: Single-valued static threshold.
In the present document, simple thresholds are defined. The definition of additional threshold types is left
for future specification.
type: string type: string
enum: enum:
- SIMPLE - SIMPLE
...@@ -360,6 +403,8 @@ components: ...@@ -360,6 +403,8 @@ components:
description: | description: |
Name of the capacity measurement. Different resource types can have different associated capacity measurements, Name of the capacity measurement. Different resource types can have different associated capacity measurements,
typically associated to different sub-types of the resource type. typically associated to different sub-types of the resource type.
The present document and referred documents do not specify the capacity measurements, thus the capacity
measurement names are not specified in the present document version.
type: string type: string
totalCapacity: totalCapacity:
description: | description: |
...@@ -392,3 +437,21 @@ components: ...@@ -392,3 +437,21 @@ components:
- VR_NETWORK - VR_NETWORK
- VR_STORAGE - VR_STORAGE
- HOST_COMPUTE - HOST_COMPUTE
CapacityThresholdModifications:
description: |
This type represents modifications to a capacity threshold. It shall comply with the provisions defined in table 10.5.2.8-1.
type: object
properties:
callbackUri:
description: |
New value of the "callbackUri" attribute. The value "null" is not permitted.
At least one of the attributes defined in this type shall be present in request bodies.
$ref: ../../definitions/SOL005_def.yaml#/definitions/Uri
authentication:
description: |
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 (see IETF RFC 7396).
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: ../../definitions/SOL005_def.yaml#/definitions/SubscriptionAuthentication
\ No newline at end of file
...@@ -13,7 +13,7 @@ info: ...@@ -13,7 +13,7 @@ info:
license: license:
name: ETSI Forge copyright notice name: ETSI Forge copyright notice
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
externalDocs: externalDocs:
description: ETSI GS NFV-SOL 005 V3.3.1 description: ETSI GS NFV-SOL 005 V3.3.1
......
...@@ -10,7 +10,7 @@ info: ...@@ -10,7 +10,7 @@ info:
license: license:
name: ETSI Forge copyright notice name: ETSI Forge copyright notice
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 version: 2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
externalDocs: externalDocs:
description: ETSI GS NFV-SOL 005 V3.3.1 description: ETSI GS NFV-SOL 005 V3.3.1
......
...@@ -75,10 +75,22 @@ definitions: ...@@ -75,10 +75,22 @@ definitions:
NS is modified as a result of an operation on its NS is modified as a result of an operation on its
composite NS. Set to false otherwise. composite NS. Set to false otherwise.
$ref: "../../definitions/SOL005_def.yaml#/definitions/Boolean" $ref: "../../definitions/SOL005_def.yaml#/definitions/Boolean"
verbosity:
description: >
This attribute signals the verbosity of the notification.
If it is not present, it shall default to the value "FULL".
If the value is "SHORT", full change details can be obtained by performing a GET request on the
"Individual LCM operation occurrence" resource that is signalled by the "nsLcmOpOcc" child attribute
of the "_links" attribute.
$ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/LcmOpOccNotificationVerbosityType"
affectedVnf: affectedVnf:
description: > description: >
Information about the VNF instances that were affected Information about the VNF instances that were affected
during the lifecycle operation. during the lifecycle operation.
Shall be present if the "notificationStatus" is set to "RESULT", the "verbosity" attribute is set to "FULL"
and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains
information about the cumulative changes to virtualised resources that were performed so far by the NS LCM
operation occurrence and by any of the error handling procedures for that operation occurrence.
type: array type: array
items: items:
$ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVnf" $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVnf"
...@@ -86,6 +98,10 @@ definitions: ...@@ -86,6 +98,10 @@ definitions:
description: > description: >
Information about the PNF instances that were affected Information about the PNF instances that were affected
during the lifecycle operation. during the lifecycle operation.
Shall be present if the "notificationStatus" is set to "RESULT", the "verbosity" attribute is set to "FULL"
and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains
information about the cumulative changes to virtualised resources that were performed so far by the NS LCM
operation occurrence and by any of the error handling procedures for that operation occurrence.
type: array type: array
items: items:
$ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedPnf" $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedPnf"
...@@ -93,6 +109,10 @@ definitions: ...@@ -93,6 +109,10 @@ definitions:
description: > description: >
Information about the VL instances that were affected Information about the VL instances that were affected
during the lifecycle operation. during the lifecycle operation.
Shall be present if the "notificationStatus" is set to "RESULT", the "verbosity" attribute is set to "FULL"
and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains
information about the cumulative changes to virtualised resources that were performed so far by the NS LCM
operation occurrence and by any of the error handling procedures for that operation occurrence.
type: array type: array
items: items:
$ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVirtualLink" $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVirtualLink"
...@@ -100,21 +120,31 @@ definitions: ...@@ -100,21 +120,31 @@ definitions:
description: > description: >
Information about the VNFFG instances that were Information about the VNFFG instances that were
affected during the lifecycle operation. affected during the lifecycle operation.
Shall be present if the "notificationStatus" is set to "RESULT", the "verbosity" attribute is set to "FULL"
and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains
information about the cumulative changes to virtualised resources that were performed so far by the NS LCM
operation occurrence and by any of the error handling procedures for that operation occurrence.
type: array type: array
items: items:
$ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVnffg" $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedVnffg"
affectedNs: affectedNs:
description: > description: >
Information about the SAP instances that were affected Information about the SAP instances that were affected
during the lifecycle operation. See note. during the lifecycle operation.
Shall be present if the "notificationStatus" is set to "RESULT", the "verbosity" attribute is set to "FULL"
and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains
information about the cumulative changes to virtualised resources that were performed so far by the NS LCM
operation occurrence and by any of the error handling procedures for that operation occurrence.
type: array type: array
items: items:
$ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedNs" $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedNs"
affectedSap: affectedSap:
description: > description: >
Information about the SAP instances that were affected during the lifecycle operation. Information about the SAP instances that were affected during the lifecycle operation.
Shall be present if the "notificationStatus" is set to "RESULT" and the operation Shall be present if the "notificationStatus" is set to "RESULT", the "verbosity" attribute is set to "FULL"
has performed any resource modification. Shall be absent otherwise. and the operation has performed any resource modification. Shall be absent otherwise. This attribute contains
information about the cumulative changes to virtualised resources that were performed so far by the NS LCM
operation occurrence and by any of the error handling procedures for that operation occurrence.
type: array type: array
items: items:
$ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedSap" $ref: "../../NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/AffectedSap"
...@@ -163,7 +193,9 @@ definitions: ...@@ -163,7 +193,9 @@ definitions:
$ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime" $ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime"
nsInstanceId: nsInstanceId:
description: > description: >
The created NS instance identifier The created NS instance identifier.
Shall be set to the same "id" attribute value of the associated "NsInstance" representation of the
"Individual NS instance" resource.