Provide WADL files for the Quantum API
As a part of the documentation effort, we will also provide a WADL file for the Quantum API.
The WADL file will allow users of the Quantum API to automatically generate stubs for using the API itself.
== TODO list summary ==
1. Need XSD to represent plural attr_types and None's
There are expression limits in the WADL syntax that it is essential to use XSD to describe Nil, list, string_or_none, etc. data structures. There is a blueprint quantum-api-xsd filed for future work. Once the XSD files are generated, WADL files will import the XSD files and utilize them.
2. Remove hard coding in DELETE return codes and apply multiple return codes for GET, POST, and PUT
Quantum is fortunate enough to have RESOURCE_ATTR_MAPS which is helps writing scripts that generate WADL files. However currently it is cumbersome to know every positive and negative return codes and results for all HTTP method calls. We should devise a way to put all return cases in a RESOURCE_ATTR_MAPS style dict to automatically generate all response cases in WADL files.
3. Process extended resources
Each API extension has a method called get_extended_
4. Make use of extension namespace
Current WADL files only uses the "http://
Blueprint information
- Status:
- Complete
- Approver:
- Salvatore Orlando
- Priority:
- Medium
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- Obsolete
- Series goal:
- None
- Implementation:
- Needs Code Review
- Milestone target:
- None
- Started by
- Zhongyue Luo
- Completed by
- Armando Migliaccio
Related branches
Related bugs
Bug #1102927: Extension contracts not inheriting from extensions.ExtensionDescriptor | Fix Released |
Bug #1104882: Include api params in quantum.api.extensions.ResourceExtension | Fix Released |
Sprints
Whiteboard
Dan
I want He jie xu to deal with it. ideas?
Yong: that would be great. I'd probably reach out to others on the mailing list to see who is doing this for other projects, and whether there are tools they have already standardized on. Want to make sure we aren't re-inventing the wheel.
we can follow what nova integrated tests has done to auto generates api samples and docs.
--Yaguang
I wrote a specification at http://
--zyluo
zyluo:
Will u tell u how we can use it to help test, document writing and so on? We can get some experience from nova just as said by Yaguang. And u can grab this BP to u.
--yong
Yaguang is referring to this bp https:/
I'll take a look and fill in your question
--zyluo
Nova has manually created json/XML samples of each REST API's request and response in nova/doc/
Each of the sample files also have a template file in nova/tests/
This BP should be responsible of creating WADL files for Quantum REST APIs. These WADL files will automatically generate API sample files and templates that will be used in manuals and integration tests respectively in the next phase of development.
--zyluo
Gerrit topic: https:/
Addressed by: https:/
Fix all extension contract classes inherit from extensions.
Gerrit topic: https:/
Addressed by: https:/
Adds API parameters to quantum.
Update 2013-01-28
We have some patches under review, although it does not seem they complete the work.
I am keeping it targeted for G-3 at the moment.
Gerrit topic: https:/
Addressed by: https:/
Quantum API WADL doc generation