Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release PR for public release r1.2 (M4) #353

Merged
merged 20 commits into from
Sep 6, 2024
Merged
Show file tree
Hide file tree
Changes from 16 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 106 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
# Changelog QualityOnDemand

## Table of Contents
- **[r1.1](#r11)**
- **[r1.2](#r12)**
- [r1.1](#r11)
- [v0.10.1](#v0101)
- [v0.10.0](#v0100)
- [v0.10.0-rc2](#v0100-rc2)
Expand All @@ -12,10 +13,112 @@
- [v0.8.0](#v080)
- [v0.1.0 - Initial contribution](#v010---initial-contribution)

Version numbers 0.2.x to 0.7.x were intentionally not used to avoid conflicts with local implementations.

**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 it has been released. For example, changes may be reverted before a release is published. For the best results, use the latest published release.**

# r1.2
## Release Notes

This public release contains the definition and documentation of
* quality-on-demand v0.11.0
* qos-profiles v0.11.0
* qod-provisioning v0.1.0

The API definition(s) are based on
* Commonalities v0.4.0
* Identity and Consent Management v0.2.0

Note: the previous qod v0.10.1 API with endpoints for QoS Sessions and QoS Profiles has been split into two APIs. There are additional breaking changes.

## quality-on-demand v0.11.0

Version 0.11.0 provides the QoS Sessions endpoints from v0.10.1, adds one endpoint /retrieve-sessions, and is aligned with Commonalities 0.4.0 and Identity and Consent Management 0.2.0. **There are breaking changes compared to v0.10.1.**

- API definition **with inline documentation**:
- [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r1.2/code/API_definitions/quality-on-demand.yaml&nocors)
- [View it on Swagger Editor](https://editor.swagger.io/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r1.2/code/API_definitions/quality-on-demand.yaml)
- OpenAPI [YAML spec file](https://github.com/camaraproject/QualityOnDemand/blob/r1.2/code/API_definitions/quality-on-demand.yaml)

### Added
* Added a new operation `retrieveSessions` to get a list of sessions for a given device by @jlurien in https://github.com/camaraproject/QualityOnDemand/pull/325
* Added the `statusInfo` as parameter to `SessionInfo` by @maxl2287 in https://github.com/camaraproject/QualityOnDemand/pull/273
* Added the `x-correlator` header to requests and responses by @jlurien in https://github.com/camaraproject/QualityOnDemand/pull/283
* Added security scheme and scopes for each endpoint / method by @eric-murray in https://github.com/camaraproject/QualityOnDemand/pull/295
* Added test definitions for quality-on-demand by @jlurien in https://github.com/camaraproject/QualityOnDemand/pull/349

### Changed
* Made `+` prefix mandatory for phoneNumber by @jlurien in https://github.com/camaraproject/QualityOnDemand/pull/301
* Clarified concepts and properties related to the management of session duration and session extension by @jlurien in https://github.com/camaraproject/QualityOnDemand/pull/296
* Updated Authorization and Authentication text to ICM release 0.2.0 wording by @eric-murray in https://github.com/camaraproject/QualityOnDemand/pull/327
* Aligned with Commonalities' updated subscription-model by using `sink` and `sinkCredentials` by @maxl2287 in https://github.com/camaraproject/QualityOnDemand/pull/335
* Aligned quality-on-demand further with Commonalties 0.4.0 by @hdamker in https://github.com/camaraproject/QualityOnDemand/pull/326
* Added documentation about "Handling of device information" within the info description.
* Made device parameter optional within `createSession`
* Aligned `Device` object and `info` object with Commonalities
* Updated schemata for error responses according to Commonalities
* Updated user story for Quality on Demand by @hdamker in https://github.com/camaraproject/QualityOnDemand/pull/354
* Clarified behavior of extendQosSessionDuration if session is not in state AVAILABLE by @hdamker in https://github.com/camaraproject/QualityOnDemand/pull/356

### Fixed
* Removed unresolved documentation reference within quality-on-demand.yaml by @hdamker in https://github.com/camaraproject/QualityOnDemand/pull/324

### Removed
* Removed unused `messages` object in the `SessionInfo` schema by @sfnuser in https://github.com/camaraproject/QualityOnDemand/pull/312
* Removed `TermsOfService` and `Contact` from `info` objects (they may be added by API Providers documenting their APIs) by @RandyLevensalor in https://github.com/camaraproject/QualityOnDemand/pull/311
* Removed cucumber directory and its content by @hdamker in https://github.com/camaraproject/QualityOnDemand/pull/323

## qos-profiles v0.11.0

qos-profiles 0.11.0 provides the QoS Profiles endpoints from v0.10.1, changed the retrieval operation to allow the get the QoS Profiles available for a given device, and is aligned with Commonalities 0.4.0 and Identity and Consent Management 0.2.0. **There are breaking changes compared to v0.10.1.**

- API definition **with inline documentation**:
- [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r1.2/code/API_definitions/qos-profiles.yaml&nocors)
- [View it on Swagger Editor](https://editor.swagger.io/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r1.2/code/API_definitions/qos-profiles.yaml)
- OpenAPI [YAML spec file](https://github.com/camaraproject/QualityOnDemand/blob/r1.2/code/API_definitions/qos-profiles.yaml)

### Added
* Added the option to query QoS profiles available on a given device by @RandyLevensalor in https://github.com/camaraproject/QualityOnDemand/pull/318 and https://github.com/camaraproject/QualityOnDemand/pull/348
* Added `x-correlator` header to requests and responses by @jlurien in https://github.com/camaraproject/QualityOnDemand/pull/283
* Added security scheme and scopes for each endpoint / method by @eric-murray in https://github.com/camaraproject/QualityOnDemand/pull/295
* Added test definitions for qos-profiles by @jlurien in https://github.com/camaraproject/QualityOnDemand/pull/349

### Changed
* Changed the query for `/qos-profiles` from a GET to a POST to support the query for profiles available on a given device and changed the endpoint name to `/retrieve-qos-profiles` by @RandyLevensalor in https://github.com/camaraproject/QualityOnDemand/pull/318 and https://github.com/camaraproject/QualityOnDemand/pull/348
* Updated the description of `maxDuration` by @jlurien in https://github.com/camaraproject/QualityOnDemand/pull/296
* Updated Authorization and Authentication text to ICM release 0.2.0 wording by @eric-murray in https://github.com/camaraproject/QualityOnDemand/pull/327
* Aligned qos-profiles further with Commonalties 0.4.0 by @hdamker in https://github.com/camaraproject/QualityOnDemand/pull/326
* Added documentation about "Handling of device information" within the info description.
* Updated schemata for error responses according to Commonalities

### Fixed
* n/a

### Removed
* Removed `TermsOfService` and `Contact` from `info` objects (they may be added by API Providers documenting their APIs) by @RandyLevensalor in https://github.com/camaraproject/QualityOnDemand/pull/311

## qod-provisioning v0.1.0

qod-provisioning v0.1.0 is the first initial release of this new API. It provides the ability to set a QoS profile for a device within an access network which will be applied each time the device connects to the same access network.

- API definition **with inline documentation**:
- [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r1.2/code/API_definitions/qod-provisioning.yaml&nocors)
- [View it on Swagger Editor](https://editor.swagger.io/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r1.2/code/API_definitions/qod-provisioning.yaml)
- OpenAPI [YAML spec file](https://github.com/camaraproject/QualityOnDemand/blob/r1.2/code/API_definitions/qod-provisioning.yaml)

### Added
* Initial version of QoD Provisioning mode API by @jlurien in https://github.com/camaraproject/QualityOnDemand/pull/299
* Added test definitions for qod-provisioning by @jlurien in https://github.com/camaraproject/QualityOnDemand/pull/349

### Changed
* n/a

### Fixed
* n/a

### Removed
* n/a

**Full Changelog**: https://github.com/camaraproject/QualityOnDemand/compare/v0.10.1...r1.2

# r1.1
hdamker marked this conversation as resolved.
Show resolved Hide resolved
## Release Notes

Expand Down
37 changes: 19 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,31 +22,32 @@ Repository to describe, develop, document and test the QualityOnDemand API famil
* Started: October 2021
* Location: virtually
hdamker marked this conversation as resolved.
Show resolved Hide resolved
hdamker marked this conversation as resolved.
Show resolved Hide resolved

## Status and released versions
## Release Information

* 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 public release**.

* The latest public release is available here: https://github.com/camaraproject/QualityOnDemand/releases/latest
* For changes see [CHANGELOG.md](https://github.com/camaraproject/QualityOnDemand/blob/main/CHANGELOG.md)

* The current pre-release for the [Fall24 meta-release](https://wiki.camaraproject.org/display/CAM/Meta-release+Fall24) is [r1.1](https://github.com/camaraproject/QualityOnDemand/tree/r1.1)
The release r1.1 contains the following API definitions (with inline documentation):
* **quality-on-demand v0.11.0-rc.1**
[[YAML]](https://github.com/camaraproject/QualityOnDemand/blob/r1.1/code/API_definitions/quality-on-demand.yaml)
[[View it on ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r1.1/code/API_definitions/quality-on-demand.yaml&nocors)
[[View it on Swagger Editor]](https://editor.swagger.io/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r1.1/code/API_definitions/quality-on-demand.yaml)
* **The latest public release is [r1.2](https://github.com/camaraproject/QualityOnDemand/tree/r1.2) with the following API definitions:**

* **quality-on-demand v0.11.0**
[[YAML]](https://github.com/camaraproject/QualityOnDemand/blob/r1.2/code/API_definitions/quality-on-demand.yaml)
[[View it on ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r1.2/code/API_definitions/quality-on-demand.yaml&nocors)
[[View it on Swagger Editor]](https://editor.swagger.io/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r1.2/code/API_definitions/quality-on-demand.yaml)

* **qos-profiles v0.11.0-rc.1**
[[YAML]](https://github.com/camaraproject/QualityOnDemand/blob/r1.1/code/API_definitions/qos-profiles.yaml)
[[View it on ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r1.1/code/API_definitions/qos-profiles.yaml&nocors)
[[View it on Swagger Editor]](https://editor.swagger.io/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r1.1/code/API_definitions/qos-profiles.yaml)
* **qos-profiles v0.11.0**
[[YAML]](https://github.com/camaraproject/QualityOnDemand/blob/r1.2/code/API_definitions/qos-profiles.yaml)
[[View it on ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r1.2/code/API_definitions/qos-profiles.yaml&nocors)
[[View it on Swagger Editor]](https://editor.swagger.io/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r1.2/code/API_definitions/qos-profiles.yaml)

* qod-provisioning v0.1.0-rc.1 (new, first initial version)
[[YAML]](https://github.com/camaraproject/QualityOnDemand/blob/r1.1/code/API_definitions/qod-provisioning.yaml)
[[View it on ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r1.1/code/API_definitions/qod-provisioning.yaml&nocors)
[[View it on Swagger Editor]](https://editor.swagger.io/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r1.1/code/API_definitions/qod-provisioning.yaml)
* qod-provisioning v0.1.0 (new, first initial version)
[[YAML]](https://github.com/camaraproject/QualityOnDemand/blob/r1.2/code/API_definitions/qod-provisioning.yaml)
[[View it on ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r1.2/code/API_definitions/qod-provisioning.yaml&nocors)
[[View it on Swagger Editor]](https://editor.swagger.io/?url=https://raw.githubusercontent.com/camaraproject/QualityOnDemand/r1.2/code/API_definitions/qod-provisioning.yaml)

* Previous releases and pre-releases are available here: https://github.com/camaraproject/QualityOnDemand/releases
* For changes see [CHANGELOG.md](https://github.com/camaraproject/QualityOnDemand/blob/main/CHANGELOG.md)
hdamker marked this conversation as resolved.
Show resolved Hide resolved

* Provider implementations (PI) are available within separate repositories (partly for previous releases):
* Provider implementations (PI) for previous releases are available within separate repositories:

* [QualityOnDemand_PI1](https://github.com/camaraproject/QualityOnDemand_PI1) by Deutsche Telekom
* [QualityOnDemand_PI2](https://github.com/camaraproject/QualityOnDemand_PI2) by Orange
Expand Down
6 changes: 3 additions & 3 deletions code/API_definitions/qod-provisioning.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -60,15 +60,15 @@ info:
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
version: wip
x-camara-commonalities: 0.4.0-rc.1
version: 0.1.0
x-camara-commonalities: 0.4.0

externalDocs:
description: Project documentation at CAMARA
url: https://github.com/camaraproject/QualityOnDemand

servers:
- url: "{apiRoot}/qod-provisioning/vwip"
- url: "{apiRoot}/qod-provisioning/v0.1"
variables:
apiRoot:
default: http://localhost:9091
Expand Down
6 changes: 3 additions & 3 deletions code/API_definitions/qos-profiles.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -55,16 +55,16 @@ info:
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
version: wip
x-camara-commonalities: 0.4.0-rc.1
version: 0.11.0
x-camara-commonalities: 0.4.0


externalDocs:
description: Project documentation at Camara
url: https://github.com/camaraproject/QualityOnDemand

servers:
- url: "{apiRoot}/qos-profiles/vwip"
- url: "{apiRoot}/qos-profiles/v0.11"
variables:
apiRoot:
default: http://localhost:9091
Expand Down
8 changes: 4 additions & 4 deletions code/API_definitions/quality-on-demand.yaml
hdamker marked this conversation as resolved.
Show resolved Hide resolved
hdamker marked this conversation as resolved.
Show resolved Hide resolved
hdamker marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -95,15 +95,15 @@ info:
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
version: wip
x-camara-commonalities: 0.4.0-rc.1
version: 0.11.0
x-camara-commonalities: 0.4.0

externalDocs:
description: Project documentation at Camara
url: https://github.com/camaraproject/QualityOnDemand

servers:
- url: "{apiRoot}/quality-on-demand/vwip"
- url: "{apiRoot}/quality-on-demand/v0.11"
variables:
apiRoot:
default: http://localhost:9091
Expand Down Expand Up @@ -516,7 +516,7 @@ components:
SessionInfo:
description: |
Session related information returned in responses.
Optional device object only to be returned if provided in createSession. If more than one type of device identifier was provided, only one identifier will be returned (at implementation choice and with the original value provided in createSession).
Note that the device object is defined as optional and will only to be returned if provided in createSession. If more than one type of device identifier was provided, only one identifier will be returned (at implementation choice and with the original value provided in createSession).
Please note that IP addresses of devices can change and get reused, so the original values may no longer identify the same device. They identified the device at the time of session creation.
allOf:
- $ref: "#/components/schemas/BaseSessionInfo"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,27 @@
# API Readiness Checklist

Checklist for qod-provisioning v0.1.0-rc.1 in r1.1
Checklist for qod-provisioning v0.1.0 in r1.2

| Nr | API release assets | alpha | release-candidate | initial<br>public | stable<br> public | Status | Comments |
|----|----------------------------------------------|:-----:|:-----------------:|:-------:|:------:|:----:|------|
| 1 | API definition | M | M | M | M | Y | /code/API_definitions/qod-provisioning.yaml |
| 1 | API definition | M | M | M | M | Y | [/code/API_definitions/qod-provisioning.yaml](/code/API_definitions/qod-provisioning.yaml) |
| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | |
| 3 | Guidelines from ICM applied | O | M | M | M | Y | |
| 4 | API versioning convention applied | M | M | M | M | Y | |
| 5 | API documentation | M | M | M | M | Y | inline in YAML |
| 6 | User stories | O | O | O | M | N/A | |
| 7 | Basic API test cases & documentation | O | M | M | M | tbd | |
| 8 | Enhanced API test cases & documentation | O | O | O | M | N/A | |
| 9 | Test result statement | O | O | O | M | N/A | |
| 6 | User stories | O | O | O | M | N | |
| 7 | Basic API test cases & documentation | O | M | M | M | Y | [/code/Test_definitions](/code/Test_definitions) |
| 8 | Enhanced API test cases & documentation | O | O | O | M | N | |
| 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 | tbd | /CHANGELOG.md |
| 12 | Previous public release was certified | O | O | O | M | N/A | |
| 11 | Change log updated | M | M | M | M | Y | [/CHANGELOG.md](/CHANGELOG.md) |
| 12 | Previous public release was certified | O | O | O | M | N | |

To fill the checklist:
- in the line above the table, replace the api-name, api-version and the rx.y by their actual values for the current API version and release.
- in the Status column, put "Y" (yes) if the release asset is available or fulfilled in the current release, a "N" (no) or a "tbd". Example use of "tbd" is in case an alpha or release-candidate API version does not yet provide all mandatory assets for the release.
- in the Comments column, provide the link to the asset once available, and any other relevant comments.

Note: the checklists of a public API version and of its preceding release-candidate API version can be the same.

The documentation for the content of the checklist is here: [API Readiness Checklist](https://wiki.camaraproject.org/x/AgAVAQ)
Loading