diff --git a/CHANGELOG.md b/CHANGELOG.md
index 802f3fa..6a5308d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,7 @@
# Changelog Network Slice Booking
## Table of Contents
+- [r2.1](#r2.1)
- [r1.2](#r1.2)
- [r1.1](#r1.1)
@@ -14,6 +15,39 @@ The below sections record the changes for each API version in each release as fo
* for subsequent release-candidate(s), only the delta to the previous release-candidate
* for a public release, the consolidated changes since the previous public release
+# r2.1
+## Release Notes
+This release contains the definition and documentation of
+
+- network-slice-booking v0.2.0-rc.1
+- network-slice-assignment v0.1.0-rc.1
+
+The API definition(s) are based on
+
+- Commonalities v0.7.0
+- Identity and Consent Management v0.5.0
+## network-slice-booking v0.2.0-rc.1
+**network-slice-booking v0.2.0-rc.1 is the first release candidate of the version 0.2.0**
+network-slice-booking v0.2.0 will be a minor update of the API, and is backward compatible with v0.1.0.
+- API definition **with inline documentation**:
+ - [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/NetworkSliceBooking/r2.1/code/API_definitions/network-slice-booking.yaml&nocors)
+ - [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/NetworkSliceBooking/r2.1/code/API_definitions/network-slice-booking.yaml)
+ - OpenAPI [YAML spec file](https://github.com/camaraproject/NetworkSliceBooking/blob/r2.1/code/API_definitions/network-slice-booking.yaml)
+### Changed
+* Modify the term session to slice in [#87](https://github.com/camaraproject/NetworkSliceBooking/pull/87)
+* Split NetworkSliceBooking422-SERVICE_NOT_APPLICABLE into SERVICE_AREA_NOT_SUPPORTED and RESOURCES_INSUFFICIENT in [#92](https://github.com/camaraproject/NetworkSliceBooking/pull/92)
+
+## network-slice-assignment v0.1.0-rc.1
+**network-slice-assignment v0.1.0-rc.1 is the first release-candidate version of the network-slice-assignment API**
+- API definition **with inline documentation**:
+ - [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/NetworkSliceBooking/r2.1/code/API_definitions/network-slice-assignment.yaml&nocors)
+ - [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/NetworkSliceBooking/r2.1/code/API_definitions/network-slice-assignment.yaml)
+ - OpenAPI [YAML spec file](https://github.com/camaraproject/NetworkSliceBooking/blob/r2.1/code/API_definitions/network-slice-assignment.yaml)
+### Added
+* Add network-slice-assignment API initial definition in [#87](https://github.com/camaraproject/NetworkSliceBooking/pull/87)
+### Changed
+* Modified the paths structure with `sliceId` in path and `device` in request body in [#96](https://github.com/camaraproject/NetworkSliceBooking/pull/96)
+
# r1.2
## Release Notes
This release contains the definition and documentation of
diff --git a/README.md b/README.md
index 1d0f4d3..a950bd5 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,8 @@ Sandbox API Repository to describe, develop, document, and test the NetworkSlice
## Scope
* Service APIs for “Network Slice Booking” (see APIBacklog.md)
* It provides the API consumer with the ability to:
- * reserve, dynamically provisioning, query, dynamically delete a slice with customized SLA assurance capabilities, customized service duration, expected slice covered locations.
+ * reserve, dynamically provisioning, query, dynamically delete a slice with customized SLA assurance capabilities, customized service duration, expected slice covered locations.
+ * manage user subscription to the network slices.
* Describe, develop, document and test the APIs (with 1-2 Telcos)
* Started: January 2024
@@ -28,11 +29,15 @@ Sandbox API Repository to describe, develop, document, and test the NetworkSlice
> [!NOTE]
> Please be aware that the project will have frequent updates to the main branch. There are no compatibility guarantees associated with code in any branch, including main, until a new release is created. For example, changes may be reverted before a release is created. **For best results, use the latest available release**.
-* **NEW**: The latest public release is [r1.2](https://github.com/camaraproject/NetworkSliceBooking/releases/tag/r1.2) (Fall25), with the following API versions:
- * **network-slice-booking v0.1.0**
- [[YAML]](https://github.com/camaraproject/NetworkSliceBooking/blob/r1.2/code/API_definitions/network-slice-booking.yaml)
- [[ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/NetworkSliceBooking/r1.2/code/API_definitions/network-slice-booking.yaml&nocors)
- [[Swagger]](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/NetworkSliceBooking/r1.2/code/API_definitions/network-slice-booking.yaml)
+* **NEW**: The latest pre-release is [r2.1](https://github.com/camaraproject/NetworkSliceBooking/releases/tag/r2.1), with the following API versions:
+ * **network-slice-booking v0.2.0-rc.1**
+ [[YAML]](https://github.com/camaraproject/NetworkSliceBooking/blob/r2.1/code/API_definitions/network-slice-booking.yaml)
+ [[ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/NetworkSliceBooking/r2.1/code/API_definitions/network-slice-booking.yaml&nocors)
+ [[Swagger]](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/NetworkSliceBooking/r2.1/code/API_definitions/network-slice-booking.yaml)
+ * **network-slice-assignment v0.1.0-rc.1**
+ [[YAML]](https://github.com/camaraproject/NetworkSliceBooking/blob/r2.1/code/API_definitions/network-slice-assignment.yaml)
+ [[ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/NetworkSliceBooking/r2.1/code/API_definitions/network-slice-assignment.yaml&nocors)
+ [[Swagger]](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/NetworkSliceBooking/r2.1/code/API_definitions/network-slice-assignment.yaml)
* The latest public release is always available here: https://github.com/camaraproject/NetworkSliceBooking/releases/latest
* Other releases of this repository are available in https://github.com/camaraproject/NetworkSliceBooking/releases
* For changes see [CHANGELOG.md](https://github.com/camaraproject/NetworkSliceBooking/blob/main/CHANGELOG.md)
diff --git a/code/API_definitions/network-slice-assignment.yaml b/code/API_definitions/network-slice-assignment.yaml
index 75890c2..03110f9 100644
--- a/code/API_definitions/network-slice-assignment.yaml
+++ b/code/API_definitions/network-slice-assignment.yaml
@@ -48,7 +48,7 @@ info:
As a specific rule, error `501 - NOT_IMPLEMENTED` can be only a possible error response if it is explicitly documented in the API.
- version: wip
+ version: 0.1.0-rc.1
x-camara-commonalities: "0.7"
license:
name: Apache 2.0
@@ -57,7 +57,7 @@ externalDocs:
description: Project documentation at CAMARA
url: https://github.com/camaraproject/NetworkSliceBooking
servers:
- - url: "{apiRoot}/network-slice-assignment/vwip"
+ - url: "{apiRoot}/network-slice-assignment/v0.1rc1"
variables:
apiRoot:
default: http://localhost:9100
diff --git a/code/API_definitions/network-slice-booking.yaml b/code/API_definitions/network-slice-booking.yaml
index 8e1b3a4..e12f65c 100644
--- a/code/API_definitions/network-slice-booking.yaml
+++ b/code/API_definitions/network-slice-booking.yaml
@@ -43,7 +43,7 @@ info:
As a specific rule, error `501 - NOT_IMPLEMENTED` can be only a possible error response if it is explicitly documented in the API.
- version: wip
+ version: 0.2.0-rc.1
x-camara-commonalities: "0.7"
license:
name: Apache 2.0
@@ -52,7 +52,7 @@ externalDocs:
description: Project documentation at CAMARA
url: https://github.com/camaraproject/NetworkSliceBooking
servers:
- - url: "{apiRoot}/network-slice-booking/vwip"
+ - url: "{apiRoot}/network-slice-booking/v0.2rc1"
variables:
apiRoot:
default: http://localhost:9100
diff --git a/code/Test_definitions/network-slice-assignment-assignDevice.feature b/code/Test_definitions/network-slice-assignment-assignDevice.feature
index 68e642c..18b4c22 100644
--- a/code/Test_definitions/network-slice-assignment-assignDevice.feature
+++ b/code/Test_definitions/network-slice-assignment-assignDevice.feature
@@ -1,4 +1,4 @@
-Feature: CAMARA Network Slice Assignment API vwip - Operation assignDevice
+Feature: CAMARA Network Slice Assignment API v0.1.0-rc.1 - Operation assignDevice
# Input to be provided by the implementation to the tester
#
@@ -7,11 +7,11 @@ Feature: CAMARA Network Slice Assignment API vwip - Operation assignDevice
# * List of device identifier types which are not supported, among: phoneNumber, ipv4Address, ipv6Address.
# * For this version, CAMARA does not allow the use of networkAccessIdentifier, so it is considered by default as not supported.
#
- # References to OAS spec schemas refer to schemas specified in network-slice-assignment.yaml, version wip
+ # References to OAS spec schemas refer to schemas specified in network-slice-assignment.yaml, version 0.1.0-rc.1
Background: Common assignDevice setup
Given an environment at "apiRoot"
- And the resource "/network-slice-assignment/vwip/slices/{sliceId}/devices"
+ And the resource "/network-slice-assignment/v0.1rc1/slices/{sliceId}/devices"
And the header "Content-Type" is set to "application/json"
And the header "Authorization" is set to a valid access token
And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator"
diff --git a/code/Test_definitions/network-slice-assignment-getDevices.feature b/code/Test_definitions/network-slice-assignment-getDevices.feature
index d6b5020..eaf68a6 100644
--- a/code/Test_definitions/network-slice-assignment-getDevices.feature
+++ b/code/Test_definitions/network-slice-assignment-getDevices.feature
@@ -1,4 +1,4 @@
-Feature: CAMARA Network Slice Assignment API vwip - Operation getDevices
+Feature: CAMARA Network Slice Assignment API v0.1.0-rc.1 - Operation getDevices
# Get information about devices assigned to an existing network slice.
@@ -14,11 +14,11 @@ Feature: CAMARA Network Slice Assignment API vwip - Operation getDevices
# * List of device identifier types which are not supported, among: phoneNumber, ipv4Address, ipv6Address.
# * For this version, CAMARA does not allow the use of networkAccessIdentifier, so it is considered by default as not supported.
#
- # References to OAS spec schemas refer to schemas specified in network-slice-assignment.yaml, version wip
+ # References to OAS spec schemas refer to schemas specified in network-slice-assignment.yaml, version 0.1.0-rc.1
Background: Common getDevices setup
Given an environment at "apiRoot"
- And the resource "/network-slice-assignment/vwip/slices/{sliceId}/devices"
+ And the resource "/network-slice-assignment/v0.1rc1/slices/{sliceId}/devices"
And the header "Content-Type" is set to "application/json"
And the header "Authorization" is set to a valid access token
And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator"
diff --git a/code/Test_definitions/network-slice-assignment-releaseDevice.feature b/code/Test_definitions/network-slice-assignment-releaseDevice.feature
index c92685e..6c251b2 100644
--- a/code/Test_definitions/network-slice-assignment-releaseDevice.feature
+++ b/code/Test_definitions/network-slice-assignment-releaseDevice.feature
@@ -1,4 +1,4 @@
-Feature: CAMARA Network Slice Assignment API vwip - Operation releaseDevice
+Feature: CAMARA Network Slice Assignment API v0.1.0-rc.1 - Operation releaseDevice
# Input to be provided by the implementation to the tester
#
@@ -9,11 +9,11 @@ Feature: CAMARA Network Slice Assignment API vwip - Operation releaseDevice
# * The DeviceAssignmentInfo of an existing Slice assignment
# * The DeviceAssignmentInfo of an existing Slice assignment with status "AVAILABLE", and with provided values for "sink" and "sinkCredential"
#
- # References to OAS spec schemas refer to schemas specified in network-slice-assignment.yaml, version wip
+ # References to OAS spec schemas refer to schemas specified in network-slice-assignment.yaml, version 0.1.0-rc.1
Background: Common releaseDevice setup
Given an environment at "apiRoot"
- And the resource "/network-slice-assignment/vwip/slices/{sliceId}/release"
+ And the resource "/network-slice-assignment/v0.1rc1/slices/{sliceId}/release"
And the header "Content-Type" is set to "application/json"
And the header "Authorization" is set to a valid access token
And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator"
diff --git a/code/Test_definitions/network-slice-assignment-retrieveSlicesByDevice.feature b/code/Test_definitions/network-slice-assignment-retrieveSlicesByDevice.feature
index e4035c1..574636f 100644
--- a/code/Test_definitions/network-slice-assignment-retrieveSlicesByDevice.feature
+++ b/code/Test_definitions/network-slice-assignment-retrieveSlicesByDevice.feature
@@ -1,4 +1,4 @@
-Feature: CAMARA Network Slice Assignment API vwip - Operation retrieveSlicesByDevice
+Feature: CAMARA Network Slice Assignment API v0.1.0-rc.1 - Operation retrieveSlicesByDevice
# Retrieve the list of network slices to which a device is assigned.
@@ -14,11 +14,11 @@ Feature: CAMARA Network Slice Assignment API vwip - Operation retrieveSlicesByDe
# * List of device identifier types which are not supported, among: phoneNumber, ipv4Address, ipv6Address.
# * For this version, CAMARA does not allow the use of networkAccessIdentifier, so it is considered by default as not supported.
#
- # References to OAS spec schemas refer to schemas specified in network-slice-assignment.yaml, version wip
+ # References to OAS spec schemas refer to schemas specified in network-slice-assignment.yaml, version 0.1.0-rc.1
Background: Common retrieveSlicesByDevice setup
Given an environment at "apiRoot"
- And the resource "/network-slice-assignment/vwip/retrieve-slices"
+ And the resource "/network-slice-assignment/v0.1rc1/retrieve-slices"
And the header "Content-Type" is set to "application/json"
And the header "Authorization" is set to a valid access token
And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator"
diff --git a/code/Test_definitions/network-slice-booking-createSlice.feature b/code/Test_definitions/network-slice-booking-createSlice.feature
index 4751340..66a700f 100644
--- a/code/Test_definitions/network-slice-booking-createSlice.feature
+++ b/code/Test_definitions/network-slice-booking-createSlice.feature
@@ -1,4 +1,4 @@
-Feature: CAMARA Network Slice Booking API vwip - Operation createSlice
+Feature: CAMARA Network Slice Booking API v0.2.0-rc.1 - Operation createSlice
# Input to be provided by the implementation to the tester
#
@@ -14,11 +14,11 @@ Feature: CAMARA Network Slice Booking API vwip - Operation createSlice
# * An Area outside the supported area
# * A combination of request parameters including service area, start time, and end time, configuration information of network slicing
#
- # References to OAS spec schemas refer to schemas specified in network-slice-booking.yaml, version wip
+ # References to OAS spec schemas refer to schemas specified in network-slice-booking.yaml, version 0.2.0-rc.1
Background: Common createSlice setup
Given an environment at "apiRoot"
- And the resource "/network-slice-booking/vwip/slices"
+ And the resource "/network-slice-booking/v0.2rc1/slices"
And the header "Content-Type" is set to "application/json"
And the header "Authorization" is set to a valid access token
And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator"
diff --git a/code/Test_definitions/network-slice-booking-deleteSlice.feature b/code/Test_definitions/network-slice-booking-deleteSlice.feature
index 6ea2fc5..1ceccf0 100644
--- a/code/Test_definitions/network-slice-booking-deleteSlice.feature
+++ b/code/Test_definitions/network-slice-booking-deleteSlice.feature
@@ -1,4 +1,4 @@
-Feature: CAMARA Network Slice Booking API vwip - Operation deleteSlice
+Feature: CAMARA Network Slice Booking API v0.2.0-rc.1 - Operation deleteSlice
# Input to be provided by the implementation to the tester
#
@@ -7,11 +7,11 @@ Feature: CAMARA Network Slice Booking API vwip - Operation deleteSlice
#
# Testing assets:
# * The sliceId of an existing slice.
- # * References to OAS spec schemas refer to schemas specified in network-slice-booking.yaml, version wip
+ # * References to OAS spec schemas refer to schemas specified in network-slice-booking.yaml, version 0.2.0-rc.1
Background: Common deleteSlice setup
Given an environment at "apiRoot"
- And the resource "/network-slice-booking/vwip/slices/{sliceId}"
+ And the resource "/network-slice-booking/v0.2rc1/slices/{sliceId}"
And the header "Content-Type" is set to "application/json"
And the header "Authorization" is set to a valid access token
And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator"
diff --git a/code/Test_definitions/network-slice-booking-getSlice.feature b/code/Test_definitions/network-slice-booking-getSlice.feature
index 8605ed9..8473577 100644
--- a/code/Test_definitions/network-slice-booking-getSlice.feature
+++ b/code/Test_definitions/network-slice-booking-getSlice.feature
@@ -1,4 +1,4 @@
-Feature: CAMARA Network Slice Booking API vwip - Operation getSlice
+Feature: CAMARA Network Slice Booking API v0.2.0-rc.1 - Operation getSlice
# Input to be provided by the implementation to the tester
#
@@ -7,11 +7,11 @@ Feature: CAMARA Network Slice Booking API vwip - Operation getSlice
#
# Testing assets:
# * The sliceId of an existing slice.
- # * References to OAS spec schemas refer to schemas specified in network-slice-booking.yaml, version wip
+ # * References to OAS spec schemas refer to schemas specified in network-slice-booking.yaml, version 0.2.0-rc.1
Background: Common getSlice setup
Given an environment at "apiRoot"
- And the resource "/network-slice-booking/vwip/slices/{sliceId}"
+ And the resource "/network-slice-booking/v0.2rc1/slices/{sliceId}"
And the header "Content-Type" is set to "application/json"
And the header "Authorization" is set to a valid access token
And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator"
diff --git a/documentation/API_documentation/network-slice-assignment-API-Readiness-Checklist.md b/documentation/API_documentation/network-slice-assignment-API-Readiness-Checklist.md
new file mode 100644
index 0000000..6668732
--- /dev/null
+++ b/documentation/API_documentation/network-slice-assignment-API-Readiness-Checklist.md
@@ -0,0 +1,20 @@
+# API Readiness Checklist
+
+Checklist for network-slice-assignment v0.1.0-rc.1 in r2.1
+
+| Nr | API release assets | alpha | release-candidate | initial
public | stable
public | Status | Reference information |
+|----|----------------------------------------------|:-----:|:-----------------:|:-------:|:------:|:----:|:-------------------------------------------------------------------------------------------:|
+| 1 | API definition | M | M | M | M | Y | [link](/code/API_definitions/network-slice-assignment.yaml) |
+| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r3.4](https://github.com/camaraproject/Commonalities/releases/tag/r3.4) |
+| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r3.3](https://github.com/camaraproject/IdentityAndConsentManagement/releases/tag/r3.3) |
+| 4 | API versioning convention applied | M | M | M | M | Y | v0.1.0-rc.1 |
+| 5 | API documentation | M | M | M | M | Y | Embed documentation into API spec - [link](/code/API_definitions/network-slice-assignment.yaml) |
+| 6 | User stories | O | O | O | M | Y | [UserStory for Network Slicing Assignment](/documentation/API_documentation/NSA_User_Story.md) |
+| 7 | Basic API test cases & documentation | O | M | M | M | Y | [link](/code/Test_definitions) |
+| 8 | Enhanced API test cases & documentation | O | O | O | M | Y | [link](/code/Test_definitions) |
+| 9 | Test result statement | O | O | O | M | N | |
+| 10 | API release numbering convention applied | M | M | M | M | Y | |
+| 11 | Change log updated | M | M | M | M | Y | [link](/CHANGELOG.md) |
+| 12 | Previous public release was certified | O | O | O | M | N | |
+| 13 | API description (for marketing) | O | O | M | M | Y | [Wiki link](https://lf-camaraproject.atlassian.net/wiki/spaces/CAM/pages/535625738/NetworkSliceAssignment+API+description) | |
+
diff --git a/documentation/API_documentation/network-slice-booking-API-Readiness-Checklist.md b/documentation/API_documentation/network-slice-booking-API-Readiness-Checklist.md
index 257aaa5..afb8b49 100644
--- a/documentation/API_documentation/network-slice-booking-API-Readiness-Checklist.md
+++ b/documentation/API_documentation/network-slice-booking-API-Readiness-Checklist.md
@@ -1,13 +1,13 @@
# API Readiness Checklist
-Checklist for network-slicing-book v0.1.0 in r1.2
+Checklist for network-slicing-booking v0.2.0-rc.1 in r2.1
| Nr | API release assets | alpha | release-candidate | initial
public | stable
public | Status | Reference information |
|----|----------------------------------------------|:-----:|:-----------------:|:-------:|:------:|:----:|:-------------------------------------------------------------------------------------------:|
| 1 | API definition | M | M | M | M | Y | [link](/code/API_definitions/network-slice-booking.yaml) |
-| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r3.3](https://github.com/camaraproject/Commonalities/releases/tag/r3.3) |
+| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r3.4](https://github.com/camaraproject/Commonalities/releases/tag/r3.4) |
| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r3.3](https://github.com/camaraproject/IdentityAndConsentManagement/releases/tag/r3.3) |
-| 4 | API versioning convention applied | M | M | M | M | Y | v0.1.0 |
+| 4 | API versioning convention applied | M | M | M | M | Y | v0.2.0-rc.1 |
| 5 | API documentation | M | M | M | M | Y | Embed documentation into API spec - [link](/code/API_definitions/network-slice-booking.yaml) |
| 6 | User stories | O | O | O | M | Y | [UserStory for Network Slicing Booking](/documentation/API_documentation/NSB_User_Story.md) |
| 7 | Basic API test cases & documentation | O | M | M | M | Y | [link](/code/Test_definitions) |