Commit f7a91d5b authored by Giacomo Bernini's avatar Giacomo Bernini
Browse files

addressed comments from SOL WG

parent a07628a8
Pipeline #8035 failed with stage
in 0 seconds
......@@ -157,7 +157,7 @@ paths:
"406":
$ref: ../responses/SOL005_resp.yaml#/components/responses/406
"422":
$ref: ../responses/SOL005_resp.yaml#/components/responses/422
$ref: '#/components/responses/CapacityThresholds.Post.422'
"500":
$ref: ../responses/SOL005_resp.yaml#/components/responses/500
"503":
......@@ -218,9 +218,9 @@ paths:
"406":
$ref: ../responses/SOL005_resp.yaml#/components/responses/406
"412":
$ref: ../responses/SOL005_resp.yaml#/components/responses/412
$ref: '#/components/responses/IndividualCapacityThreshold.Patch.412'
"422":
$ref: ../responses/SOL005_resp.yaml#/components/responses/422
$ref: '#/components/responses/IndividualCapacityThreshold.Patch.422'
"500":
$ref: ../responses/SOL005_resp.yaml#/components/responses/500
"503":
......@@ -442,6 +442,44 @@ components:
schema:
$ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThreshold
CapacityThresholds.Post.422:
description: |
422 UNPROCESSABLE ENTITY
Shall be returned upon the following error: The content type of the payload body is supported and the payload
body of a request contains syntactically correct data but the data cannot be processed.
The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16],
including rules for the presence of the response body.
Specifically in case of this resource, the response code 422 shall also be returned if the NFVO has tested
the Notification endpoint as described in clause 10.4.6.3.2 and the test has failed.
In this case, the "detail" attribute in the "ProblemDetails" structure shall convey more information about the error.
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: $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
IndividualCapacityThreshold.Get.200:
description: |
Shall be returned when information about an individual capacity threshold has been read successfully.
......@@ -505,6 +543,75 @@ components:
schema:
$ref: ./definitions/NFVICapacityInformation_def.yaml#/components/schemas/CapacityThresholdModifications
IndividualCapacityThreshold.Patch.412:
description: |
412 PRECONDITION FAILED
A precondition given in an HTTP request header is not fulfilled.
Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity.
The response body should contain a ProblemDetails structure, in which the "detail" attribute should convey
more information about the error
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
IndividualCapacityThreshold.Patch.422:
description: |
422 UNPROCESSABLE ENTITY
content type of the payload body is supported and the payload body of a request contains syntactically
correct data but the data cannot be processed.
The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16],
including rules for the presence of the response body.
Specifically in case of this resource, the response code 422 shall also be returned if the NFVO has tested
the Notification endpoint as described in clause 10.4.6.3.2 and the test has failed.
In this case, the "detail" attribute in the "ProblemDetails" structure shall convey more information about the error.
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: $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
IndividualCapacityThreshold.Delete.204:
description: |
Shall be returned when the NFVI capacity threshold has been deleted successfully.
......
This diff is collapsed.
......@@ -123,9 +123,9 @@ paths:
"406":
$ref: ../responses/SOL005_resp.yaml#/components/responses/406
"409":
$ref: ../responses/SOL005_resp.yaml#/components/responses/409
$ref: '#/components/responses/IndividualAlarm.Patch.409'
"412":
$ref: ../responses/SOL005_resp.yaml#/components/responses/412
$ref: '#/components/responses/IndividualAlarm.Patch.412'
"416":
$ref: ../responses/SOL005_resp.yaml#/components/responses/416
"500":
......@@ -182,7 +182,7 @@ paths:
"201":
$ref: '#/components/responses/FmSubscriptions.Post.201'
"303":
$ref: ../responses/SOL005_resp.yaml#/components/responses/303
$ref: '#/components/responses/FmSubscriptions.Post.303'
"400":
$ref: ../responses/SOL005_resp.yaml#/components/responses/400
"401":
......@@ -196,7 +196,7 @@ paths:
"406":
$ref: ../responses/SOL005_resp.yaml#/components/responses/406
"422":
$ref: ../responses/SOL005_resp.yaml#/components/responses/422
$ref: '#/components/responses/FmSubscriptions.Post.422'
"500":
$ref: ../responses/SOL005_resp.yaml#/components/responses/500
"503":
......@@ -419,6 +419,73 @@ components:
schema:
$ref: ./definitions/SOL005NSFaultManagement_def.yaml#/definitions/AlarmModifications
IndividualAlarm.Patch.409:
description: |
409 CONFLICT
Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict
with the state of the "Individual alarm" resource.
Typically, this is due to the fact that the alarm is already in the state that is requested to be set
(such as trying to acknowledge an already-acknowledged alarm).
The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey
more information about the error.
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/SOL005_def.yaml#/definitions/ProblemDetails"
IndividualAlarm.Patch.412:
description: |
412 Precondition Failed
Shall be returned upon the following error: A precondition given in an HTTP request header is not fulfilled.
Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity.
The response body should contain a ProblemDetails structure, in which the "detail" attribute should
convey more information about the error.
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
FmSubscriptions.Get.200:
description: |
200 OK
......@@ -500,6 +567,79 @@ components:
schema:
$ref: ./definitions/SOL005NSFaultManagement_def.yaml#/definitions/FmSubscription
FmSubscriptions.Post.303:
description: |
303 See Other
Shall be returned when a subscription with the same callback URI and the same filter already exists and the
policy of the NFVO 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.
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
Location:
description: The resource URI of the created NS instance
style: simple
explode: false
schema:
type: string
format: url
FmSubscriptions.Post.422:
description: |
422 Unprocessable Entity
Shall be returned upon the following error: The content type of the payload body is supported and the payload
body of a request contains syntactically correct data but the data cannot be processed.
The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [16],
including rules for the presence of the response body.
Specifically in case of this resource, the response code 422 shall also be returned if the NFVO has tested
the Notification endpoint as described in clause 8.4.6.3.2 and the test has failed.
In this case, the "detail" attribute in the "ProblemDetails" structure shall convey more information about
the error.
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.This header field shall be present if the response has a
non-empty message body.
style: simple
explode: false
schema:
type: string
content:
application/json:
schema:
$ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
IndividualFmSubscription.Get.200:
description: |
200 OK
......
......@@ -198,8 +198,14 @@ definitions:
This type represents a response for Query NS operation.
It shall comply with the provisions defined in Table 6.5.2.10-1.
NOTE: If the "nsState" attribute is INSTANTIATED, at least either one
"vnfInstance" attribute or one "nestedNsInstanceId" attribute shall be present.
NOTE 1: If the "nsState" attribute is INSTANTIATED, at least either one
"vnfInstance" attribute or one "nestedNsInstanceId" attribute shall be present.
NOTE 2: The “priority” attribute of the NS instance is configured in the NSD in the NsDf structure.
The mapping from application-specific priority values to a value in the NsDf is under OSS/BSS responsibility.
The "zero" value expresses the highest priority and the fact that the NS instance based on this DF cannot be
pre-empted during resource allocation.
NOTE 3: Examples for the usage of priority include conflict resolution in case of resource shortage
type: object
required:
- id
......@@ -237,10 +243,15 @@ definitions:
the NS instance. This attribute shall be present if the nsState attribute
value is INSTANTIATED.
$ref: "#/definitions/IdentifierInNsd"
priority:
description: >
Specifies the priority level of the NS instance.
See note 2 and note 3.
$ref: "../../definitions/SOL005_def.yaml#/definitions/Number"
vnfInstance:
description: >
Information on constituent VNF(s) of the NS instance.
See note.
See note 1.
type: array
items:
$ref: "#/definitions/VnfInstance"
......@@ -1113,12 +1124,9 @@ definitions:
$ref: "../../definitions/SOL005_def.yaml#/definitions/KeyValuePairs"
associatedVnfcCpId:
description: >
Identifier of the "vnfcCpInfo" structure in "VnfcResourceInfo" structure that
represents the VNFC CP which is exposed by this external CP instance, either
directly or via a floating IP address. Shall be present in case this CP instance
maps to a VNFC CP.
The attributes "associatedVnfcCpId", "associatedVipCpId" and "associatedVnfVirtualLinkId"
are mutually exclusive. Exactly one shall be present.
Identifier of the "vnfcCpInfo" structure in "VnfcResourceInfo" structure that represents the VNFC CP which
is exposed by this external CP instance, either directly or via a floating IP address. Shall be present in
case this CP instance maps to a VNFC CP. See note 1.
$ref: "#/definitions/IdentifierInVnf"
associatedVipCpId:
description: >
......@@ -1133,9 +1141,7 @@ definitions:
the internal VL or of the "ExtManagedVirtualLinkInfo" structure that represents
the externally-managed internal VL, which is exposed by this external CP instance.
Shall be present in case this CP instance maps to an internal VL (including
externally-managed internal VL).
The attributes "associatedVnfcCpId", "associatedVipCpId" and
"associatedVnfVirtualLinkId" are mutually exclusive. Exactly one shall be present.
externally-managed internal VL). See note 1.
$ref: "#/definitions/IdentifierInVnf"
CpGroupInfo:
......@@ -1562,16 +1568,11 @@ definitions:
description: >
This type represents a link port of an internal VL of a VNF.
It shall comply with the provisions defined in table 6.5.3.64-1.
NOTE 1: Either cpInstanceId with cpInstanceType set to "EXT_CP"
or any combination of cpInstanceId with cpInstanceType set to "VNFC_CP"
and vipCpInstanceId (i.e. one or both of them) shall be present
for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType.
NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 [19] provides examples for
configurations where both vipCpInstanceId and vnfcCpInstanceId are
present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2),
or only vipCpInstanceId is present (UC#6 and UC#6-b).
NOTE 3: The value of "trunkResourceId" is scoped by the value of
"vimConnectionId" in the "resourceHandle" attribute.
NOTE 1: Either cpInstanceId with cpInstanceType set to "EXT_CP" or any combination of cpInstanceId with
cpInstanceType set to "VNFC_CP" and vipCpInstanceId (i.e. one or both of them) shall be present for a
VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId are present,
the two different CP instances share the linkport.
required:
- id
- resourceHandle
......@@ -2361,15 +2362,14 @@ definitions:
description: >
This operation supports the update of a NS instance operation.
NOTE 1: The DF of the VNF instance shall match the VNF DF present in the associated VNF Profile.
NOTE 2: The NS DF of each nested NS shall be one of the allowed flavours in the associated NSD
(as referenced in the nestedNsd attribute of the NSD of the NS to be instantiated).
NOTE 3: The NSD of each referenced NSs (i.e. each nestedInstanceId) shall match the one of
the nested NSD in the composite NSD.
NOTE 4: When the NS is deployed over several sites, the VLs of this NS will include VNs
in each site connected over the WAN. In this case, the "wanConnectionData" provides the needed
information required to connect each VN to the WAN. Annex E provides additional information and
guidelines about the usage of the "wanConnectionData" attribute.
NOTE 1: If a VNF instance is removed from an NS and this NS was the last one for which this VNF instance was a
part, the VNF instance is terminated by the NFVO.
NOTE 2: It depends on the VNF capabilities, and is declared in the VNFD whether the operation is supported for
a particular VNF.
NOTE 3: The operation might be service-disruptive.
NOTE 4: For each of the referred vnfInstanceId in the terminateVnfData, there shall be a corresponding value
in the removeVnfInstanceId.
type: object
required:
- updateType
......@@ -4013,7 +4013,7 @@ definitions:
description: >
Match particular notification types.
Permitted values:
- NsLcmOperationOccurenceNotification
- NsLcmOperationOccurrenceNotification
- NsIdentifierCreationNotification
- NsIdentifierDeletionNotification
- NsLcmCapacityShortageNotification
......@@ -4433,23 +4433,48 @@ definitions:
LcmOpOccStatusForChangeNotificationType:
description: >
The enumeration LcmOpOccStatusForChangeNotificationType represents the status of the lifecycle management
operation occurrence that impacts the NS component and triggers an NS change notification. It shall comply with the
provisions defined in Table 6.5.4.7-1.
Value | Description
------|------------
START | The impact on the NS component is identified.
COMPLETED | The impact on the NS component stops and related lifecycle operation completes successfully.
PARTIALLY_COMPLETED | The impact on the NS component stops and related lifecycle operation partially completes. Inconsistency state may exist on the NS component.
FAILED | The impact on the NS component stops and related lifecycle operation fails. Inconsistency state may exist for the NS component.
ROLLED_BACK | The impact on the NS component stops and related lifecycle operation is rolled back.
The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the
NS component and trigger an NS change notification. It shall comply with the provisions defined in table 6.5.4.6-1.
Value | Description
VNF_INSTANTIATE Represents the "Instantiate VNF" LCM operation.
VNF_SCALE Represents the "Scale VNF" LCM operation.
VNF_SCALE_TO_LEVEL Represents the "Scale VNF to Level" LCM operation.
VNF_CHANGE_FLAVOUR Represents the "Change VNF Flavour" LCM operation.
VNF_TERMINATE Represents the "Terminate VNF" LCM operation.
VNF_HEAL Represents the "Heal VNF" LCM operation.
VNF_OPERATE Represents the "Operate VNF" LCM operation.
VNF_CHANGE_EXT_CONN Represents the "Change external VNF connectivity" LCM operation.
VNF_MODIFY_INFO Represents the "Modify VNF Information" LCM operation.
VNF_CREATE_SNAPSHOT Represents the "Create VNF Snapshot" LCM operation.
VNF_REVERT_TO_SNAPSHOT Represents the "Revert To VNF Snapshot" LCM operation.
VNF_CHANGE_VNFPKG Represents the "Change current VNF package" LCM operation.
NS_INSTANTIATE Represents the "Instantiate NS" LCM operation.
NS_SCALE Represents the "Scale NS" LCM operation.
NS_UPDATE Represents the "Update NS" LCM operation.
NS_TERMINATE Represents the "Terminate NS" LCM operation.
NS_HEAL Represents the "Heal NS" LCM operation.
type: string
enum:
- START
- COMPLETED
- PARTIALLY_COMPLETED
- FAILED
- ROLLED_BACK
- VNF_INSTANTIATE
- VNF_SCALE
- VNF_SCALE_TO_LEVEL
- VNF_CHANGE_FLAVOUR
- VNF_TERMINATE
- VNF_HEAL
- VNF_OPERATE
- VNF_CHANGE_EXT_CONN
- VNF_MODIFY_INFO
- VNF_CREATE_SNAPSHOT
- VNF_REVERT_TO_SNAPSHOT
- VNF_CHANGE_VNFPKG
- NS_INSTANTIATE
- NS_SCALE
- NS_UPDATE
- NS_TERMINATE
- NS_HEAL
NsLcmOpOcc:
description: >
......@@ -4525,7 +4550,7 @@ definitions:
description: >
Input parameters of the LCM operation. This attribute
shall be formatted according to the request data type of
the related LCM operation.
the related LCM operation. In addition, the provisions in clause 6.7 shall apply.
The following mapping between lcmOperationType and
the data type of this attribute shall apply:
- INSTANTIATE: InstantiateNsRequest
......@@ -4680,16 +4705,6 @@ definitions:
This attribute shall be present if the last known HTTP response related to this coordination has
contained a "Retry-After" header, and shall be absent otherwise.
$ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime"
warnings:
description: >
Warning messages that were generated while the operation was executing.
If the operation has included VNF LCM operations or NS LCM coordination
actions and these have resulted in warnings, such warnings should be
added to this attribute.
type: array
items:
type: string
rejectedLcmCoordinations:
description: >
Information about LCM coordination actions (see clause 12) that were rejected by 503 error which means
......@@ -4723,6 +4738,16 @@ definitions:
description: >
The end of the delay period, as calculated from the startTime and "Retry-After" header.
$ref: "../../definitions/SOL005_def.yaml#/definitions/DateTime"
warnings:
description: >
Warning messages that were generated while the operation was executing.
If the operation has included VNF LCM operations or NS LCM coordination
actions and these have resulted in warnings, such warnings should be
added to this attribute.
type: array
items:
type: string
_links:
description: >
Links to resources related to this resource.
......@@ -6644,7 +6669,7 @@ definitions:
$ref: "#/definitions/IdentifierInVnf"
vnfLinkPortId:
description: >
Identifier of the "VnfLinkPortInfo" structure in the "VnfVirtualLinkResourceInfo" or "ExtManagedVirtual-Link¬Info" structure.
Identifier of the "VnfLinkPortInfo" structure in the "VnfVirtualLinkResourceInfo" or "ExtManagedVirtualLinkInfo" structure.
Shall be present if the CP is associated to a link port on an internal VL (including externally-managed internal VL).
$ref: "#/definitions/IdentifierInVnf"
metadata:
......
......@@ -65,7 +65,7 @@ paths:
406:
$ref: "../responses/SOL005_resp.yaml#/components/responses/406"
422:
$ref: "../responses/SOL005_resp.yaml#/components/responses/422"
$ref: '#/components/responses/PmJobs.Post.422'
500:
$ref: "../responses/SOL005_resp.yaml#/components/responses/500"
503:
......@@ -159,9 +159,9 @@ paths:
406:
$ref: "../responses/SOL005_resp.yaml#/components/responses/406"
412:
$ref: "../responses/SOL005_resp.yaml#/components/responses/412"
$ref: '#/components/responses/IndividualPmJob.Patch.412'
422:
$ref: "../responses/SOL005_resp.yaml#/components/responses/422"
$ref: '#/components/responses/IndividualPmJob.Patch.422'
500:
$ref: "../responses/SOL005_resp.yaml#/components/responses/500"
503:
......@@ -261,7 +261,7 @@ paths:
406:
$ref: "../responses/SOL005_resp.yaml#/components/responses/406"
422:
$ref: "../responses/SOL005_resp.yaml#/components/responses/422"
$ref: '#/components/responses/Thresholds.Post.422'
500:
$ref: "../responses/SOL005_resp.yaml#/components/responses/500"
503:
......@@ -353,9 +353,9 @@ paths:
406:
$ref: "../responses/SOL005_resp.yaml#/components/responses/406"
412:
$ref: "../responses/SOL005_resp.yaml#/components/responses/412"
$ref: '#/components/responses/IndividualThreshold.Patch.412'
422:
$ref: "../responses/SOL005_resp.yaml#/components/responses/422"
$ref: '#/components/responses/IndividualThreshold.Patch.422'
500:
$ref: "../responses/SOL005_resp.yaml#/components/responses/500"
503:
......@@ -876,6 +876,47 @@ components:
schema:
$ref: "definitions/SOL005NSPerformanceManagement_def.yaml#/definitions/PmJob"