Commit db0e979e authored by Michele Carignani's avatar Michele Carignani

Merge branch 'NFV-SOL005-Review' into 'master'

Nfv sol005 review

See merge request !7
parents fbdafb88 2770d6b7
Pipeline #366 passed with stage
in 0 seconds
......@@ -12,10 +12,8 @@ rm build/*-API.json
cd docker
./build-container.sh
./run-container.sh "${run_dir}"
cd ..
python ./scripts/add_change_comment.py
./run-container.sh "${run_dir}"
OUTCOME=$?
exit $?
exit $OUTCOME
This source diff could not be displayed because it is too large. You can view the blob instead.
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
definitions:
Identifier:
description: >
An identifier with the intention of being globally unique.
type: string
KeyValuePairs:
description: >
This type represents a list of key-value pairs. The order of the pairs in the list is not significant.
In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions
defined in clause 4 of IETF RFC 7159.
type: object
String:
description: >
This type represents stack of string values
type: string
Version:
description: >
A Version.
type: string
Uri:
description: >
String formatted according to IETF RFC 3986.
type: string
Link:
description: >
This type represents a link to a resource.
type: object
required:
- href
properties:
href:
description: >
URI of the referenced resource.
type: string
format: url
DateTime:
description: >
Date-time stamp.
Representation: String formatted according to IETF RFC 3339.
type: string
format: "date-time"
ProblemDetails:
#SOL005 location: 4.3.5.3-1
description: >
The definition of the general "ProblemDetails" data structure from
IETF RFC 7807 [19] is reproduced in this structure. Compared to the
general framework defined in IETF RFC 7807 [19], the "status" and
"detail" attributes are mandated to be included by the present document,
to ensure that the response contains additional textual information about
an error. IETF RFC 7807 [19] foresees extensibility of the
"ProblemDetails" type. It is possible that particular APIs in the present
document, or particular implementations, define extensions to define
additional attributes that provide more information about the error.
The description column only provides some explanation of the meaning to
Facilitate understanding of the design. For a full description, see
IETF RFC 7807 [19].
type: object
required:
- statussss
- detail
properties:
type:
description: >
A URI reference according to IETF RFC 3986 [5] that identifies the
problem type. It is encouraged that the URI provides human-readable
documentation for the problem (e.g. using HTML) when dereferenced.
When this member is not present, its value is assumed to be
"about:blank".
type: string
format: URI
title:
description: >
A short, human-readable summary of the problem type. It should not
change from occurrence to occurrence of the problem, except for
purposes of localization. If type is given and other than
"about:blank", this attribute shall also be provided.
A short, human-readable summary of the problem
type. It SHOULD NOT change from occurrence to occurrence of the
problem, except for purposes of localization (e.g., using
proactive content negotiation; see [RFC7231], Section 3.4).
type: string
status:
description: >
The HTTP status code for this occurrence of the problem.
The HTTP status code ([RFC7231], Section 6) generated by the origin
server for this occurrence of the problem.
type: integer
detail:
description: >
A human-readable explanation specific to this occurrence of the
problem.
type: string
instance:
description: >
A URI reference that identifies the specific occurrence of the
problem. It may yield further information if dereferenced.
type: string
format: URI
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
responses:
409-alarm-state-conflict:
description: >
Conflict
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:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
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
schema:
$ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
\ No newline at end of file
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
responses:
303:
description: >
See Other
A subscription with the same callbackURI and the same
filter already exits and the policy of the NFVO is to not
create redundant subscriptions.
The HTTP response shall include a "Location" HTTP
eader that contains the resource URI of the existing
subscription resource.
The response body shall be empty.
400:
description: >
Bad Request
Error: Invalid attribute-based filtering parameters.
The response body shall contain a ProblemDetails
structure, in which the "detail" attribute should convey
more information about the error.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
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
schema:
$ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
400-attr-based-filtering-error:
description: >
Bad Request
Invalid attribute-based filtering parameters or Invalid attribute
selector.
It the request is malformed or syntactically incorrect (e.g. if the
request URI contains incorrect query parameters or a syntactically
incorrect payload body), the API producer shall respond with this
response code. The "ProblemDetails" structure shall be provided,
and should include in the "detail" attribute more information about
the source of the problem.
If the request contains a malformed access token, the API producer
should respond with this response. The details of the error shall
be returned in the WWW-Authenticate HTTP header, as defined in
IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be
provided.
If there is an application error related to the client's input that
cannot be easily mapped to any other HTTP response code ("catch all
error"), the API producer shall respond with this response code.The
"ProblemDetails" structure shall be provided, and shall include in
the "detail" attribute more information about the source of the
problem.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
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
schema:
$ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
401:
description: >
Unauthorized.
If the request contains no access token even though one is
required, or if the request contains an authorization token that
is invalid (e.g. expired or revoked), the API producer should
respond with this response. The details of the error shall be
returned in the WWW-Authenticate HTTP header, as defined in
IETF RFC 6750 and IETF RFC 7235. The ProblemDetails
structure may be provided.
headers:
Content-Type:
type: string
description: The MIME type of the body of the response.
WWW-Authenticate:
type: string
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.
schema:
$ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
403:
description: >
Forbidden
If the API consumer is not allowed to perform a particular request
to a particular resource, the API producer shall respond with this
response code. The "ProblemDetails" structure shall be provided.
It should include in the "detail" attribute information about the
source of the problem, and may indicate how to solve it.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
schema:
$ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
405:
description: >
Method Not Allowed
If a particular HTTP method is not supported for a particular
resource, the API producer shall respond with this response code.
The "ProblemDetails" structure may be omitted in that case.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
schema:
$ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
406:
description: >
If the "Accept" header does not contain at least one
name of a content type for which the NFVO can
provide a representation of the NSD, the NFVO shall
respond with this response code.
The "ProblemDetails" structure may be included with
the "detail" attribute providing more information about
the error.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
schema:
$ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
412:
description: >
Precondition Failed.
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:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
schema:
$ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
500:
description: >
Internal Server Error
If there is an application error not related to the client's input
that cannot be easily mapped to any other HTTP response code
("catch all error"), the API producer shall respond withthis
response code. The ProblemDetails structure shall be provided,
and shall include in the "detail" attribute more information about
the source of the problem.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
schema:
$ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
503:
description: >
Service Unavailable
If the API producer encounters an internal overload situation of
itself or of a system it relies on, it should respond with this
response code, following the provisions in IETF RFC 7231 [13] for
the use of the Retry-After HTTP header and for the alternative
to refuse the connection. The "ProblemDetails" structure may be omitted.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
schema:
$ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
\ No newline at end of file
This diff is collapsed.
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
responses:
202-with-Location:
description: >
202 Accepted
The request was accepted for processing, but the processing has not
been completed.
The response body shall be empty.
The HTTP response shall include a "Location" HTTP
header that contains the URI of the newly-created
"NS lifecycle operation occurrence" resource
corresponding to the operation.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
Location:
description: The resource URI of the created NS instance
type: string
format: url
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
schema:
$ref: "../definitions/SOL005NSLifecycleManagement_def.yaml#/definitions/NsInstance"
202-with-Location-empty:
description: >
Accepted
The request was accepted for processing, but the processing has not
been completed. On success, the HTTP response shall include a
"Location" HTTP header that contains the URI of the newly-created
"NS LCM operation occurrence" resource corresponding to the
operation.
The response body shall be empty.
headers:
Location:
description: The resource URI of the created NS instance
type: string
format: url
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
409-another-lcm-operation-ongoing:
description: >
Conflict
The operation cannot be executed currently, due to a conflict with the
state of the NS instance resource.
Typically, this is due to the fact that another LCM operation is
ongoing.
The response body shall contain a ProblemDetails structure, in which the
"detail" attribute should convey more information about the error.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
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
schema:
$ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
409-inconsistent-state:
description: >
Conflict
Another request is in progress that prohibits the fulfilment of
the current request, or the current resource state is inconsistent
with the request.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
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
schema:
$ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
409-state-conflict-INSTANTIATED:
description: >
Conflict
Error: The operation cannot be executed currently, due
to a conflict with the state of the NS LCM operation
occurrence resource.
Typically, this is due to the fact that the NS LCM
operation occurrence is not in FAILED_TEMP state, or
another error handling action is starting, such as retry or fail.
The response body shall contain a ProblemDetails
structure, in which the "detail" attribute shall convey
more information about the error.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
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
schema:
$ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
409-state-conflict-not-FAILED_TEMP:
description: >
The operation cannot be executed currently, due to a conflict with the
state of the NS instance resource.
Typically, this is due to the fact that the NS instance resource is
not in FAILED_TEMP state, or another error handling action is starting,
such as rollback or fail.
The response body shall contain a ProblemDetails structure, in which the
"detail" attribute should convey more information about the error.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
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
schema:
$ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
409-state-conflict-NOT-INSTANTIATED:
description: >
Conflict
The operation cannot be executed currently, due to a conflict with the
state of the NS instance resource.
Typically, this is due to the fact that the NS instance resource is in
NOT-INSTANTIATED state, or that another lifecycle management operation
is ongoing.
The response body shall contain a ProblemDetails structure, in which the
"detail" attribute should convey more information about the error.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
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
schema:
$ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
\ No newline at end of file
This diff is collapsed.
definitions:
PerformanceReport:
description: >
This type defines the format of a performance report provided by the NFVO
to the OSS/BSS as a result of collecting
performance information as part of a PM job.
The type shall comply with the provisions defined in Table 7.5.2.10-1.
type: object
required:
- entries
properties:
entries:
description: >
List of performance information entries. Each
performance report entry is for a given metric of a given
object (i.e. NS instance), but can include multiple
collected values.
type: array
items:
type: object
required:
- objectType
- objectInstanceId
- performanceMetric
- performanceValue
properties:
objectType:
description: >
Defines the object type for which performance
information is reported (i.e. NS type). The string value
shall be set to the nsdId of the NS instance to which the
performance information relates.
type: string
objectInstanceId:
description: >
The object instance for which the performance metric is
reported.
The object instances for this information element will be
NS instances.
$ref: "SOL005_def.yaml#/definitions/Identifier"
performanceMetric:
description: >
Name of the metric collected.
type: string
performanceValues:
description: >
List of performance values with associated timestamp.
type: array
items:
type: object
required:
- timeStamp
- performanceValue
properties:
timeStamp:
description: >
Time stamp indicating when the data was collected.
$ref: "SOL005_def.yaml#/definitions/DateTime"
value:
description: >
The type of the "performanceValue" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars,
arrays or structures / Objects)) is outside the scope of the present document.
type: object
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment