cyborg/releasenotes/notes/introduce-microversion-39c7f5cc6af4a139.yaml
Xinran WANG 07a8e30f76 Introduce microversion
This patch aims at support microversion in Cyborg API.
The work items is the following:
1. remove old api_version_request.py to avoid the redundancy.
2. add a header in every API request and support to parse it and
route to the correct API method.
3. depracate v1 API.
4. add related UT.

For testing:

CTYPE="Content-Type: application/json"
AUTH="X-Auth-Token: $(openstack token issue -c id -f value)"

curl -s -H "$CTYPE" -H "$AUTH" -H "OpenStack-API-Version: accelerator
2.0" http://localhost/accelerator/devices

This will execute sucessfully because 2.0 microversion is supported.

curl -s -H "$CTYPE" -H "$AUTH" -H "OpenStack-API-Version: accelerator
latest" http://localhost/accelerator/devices

This will execute sucessfully because "latest" will be parsed to 2.0.

curl -s -H "$CTYPE" -H "$AUTH" -H "OpenStack-API-Version: accelerator
2.99" http://localhost/accelerator/devices

This will failed because we don't support 2.99 microversion.

Change-Id: Id9c34dc134d59b2332cefbcae5bbd7e6632e970d
2020-04-07 06:18:50 +00:00

9 lines
395 B
YAML

---
features:
- |
Cyborg now supports microversion in order to allow changes to the API while
preserving backward compatibility. User requests must include an HTTP header
``OpenStack-API-Version: accelerator 2.0`` which is a monotonically increasing
semantic version number starting from 2.0. If that header is absent, the
request defaults to the default microverison 2.0.