[openstack-dev] [Nova] v2.1 API development status

Ken'ichi Ohmichi ken1ohmichi at gmail.com
Thu May 1 06:30:52 UTC 2014


Hi,

After huge discussion related to v3 API[1], we started to implement v2.1 API.
I'd like to share the current status and get feedback before the summit.

Now we are implementing for two items:
1. Add response checks to Tempest for Nova API
2. Implement v2.1 API

* Add response checks to Tempest for Nova API *
On the first item, we are adding checks against responses which Nova
API returns. Through v3 API discussion, we recognized the importance
of the backward compatibility again, but unfortunately Tempest did not
contain enough checks which block backward incompatible changes at the
time because API tests of Tempest did not check all API parameters of
Nova API responses. To improve this situation, we started to implement
response validations which check status codes(HTTP200 etc.) and response
bodies ({"server": {...}}, etc.)for whole Nova API.
Now most checks of whole Nova API are implemented, and the remainders are
reviewed on [2].


* Implement v2.1 API *
The main concern about v3 API was that v3 API is v2 incompatible and we
need to maintain both implementations of both v2 and v3 APIs in long term.
To solve this issue, we are implementing v2.1 API which translates v2
format requests to v3 ones and operates v3 operation. After that, it
translates v3 responses to v2 format ones again and returns them to clients.
The diagram of [3] would be easy to get the design. We will be able to
use both APIs with single API implementation if v2.1 is available.

We picked some APIs as PoC targets and tests them on Tempest of the gate[4].
Before these tests, we have already added the above response checks to API
tests of PoC targets in Tempest and made PoC strict.
As the result, all PoC target tests were passed so they keep v2 backward
compatibility.

We have done everything we expected.
Any thoughts?


Thanks
Ken'ichi Ohmichi

---
[1]: http://lists.openstack.org/pipermail/openstack-dev/2014-March/028724.html
     http://lists.openstack.org/pipermail/openstack-dev/2014-February/027896.html
[2]: https://review.openstack.org/#/q/status:open+project:openstack/tempest+branch:master+topic:bp/nova-api-attribute-test,n,z
[3]: https://wiki.openstack.org/wiki/NovaApiValidationFramework#Combination_of_v2.1_and_v3_APIs
[4]: https://review.openstack.org/#/c/83256/



More information about the OpenStack-dev mailing list