07a8e30f76
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
9 lines
395 B
YAML
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.
|