Add rearrange-nova-response-schemas spec
This patch adds rearrange-nova-response-schemas spec Partially implements blueprint rearrange-nova-response-schemas Change-Id: Ib6140495c5912c222556a97fcc31f485c9133950
This commit is contained in:
parent
922ff9adeb
commit
117070bbaa
|
@ -0,0 +1,93 @@
|
|||
..
|
||||
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||
License.
|
||||
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||
|
||||
===============================
|
||||
Rearrange Nova Response Schemas
|
||||
===============================
|
||||
|
||||
https://blueprints.launchpad.net/tempest/+spec/rearrange-nova-response-schemas
|
||||
|
||||
Rearrange Nova Response Schemas
|
||||
|
||||
Problem description
|
||||
===================
|
||||
|
||||
Compute response schemas were implemented for v2 and v3 APIs.
|
||||
At that time common parts were defined in common schemas and
|
||||
version specific into respective directories (v2 & v3).
|
||||
|
||||
Now v3 API is not valid for Nova and v2 and v2.1 API`s response are same.
|
||||
After removing v3 schemas (https://review.openstack.org/#/c/141274/)
|
||||
we have only 1 set of schemas for v2 (/v2.1) APIs but those end up in
|
||||
scattered structure.
|
||||
|
||||
It is difficult to read and understand API' complete schema as they are defined
|
||||
in multiple files.
|
||||
|
||||
|
||||
Proposed change
|
||||
===============
|
||||
|
||||
Rearrange current schemas into better file/directory structure and if needed
|
||||
then, defined schemas name more clearly as per API methods.
|
||||
|
||||
As Nova v2.1 APIs are current API (https://review.openstack.org/#/c/149948/),
|
||||
we should move all current schema files to directory name v2.1. As nova is going
|
||||
to release microversion also, schema files for microversion needs to go in their
|
||||
respective new directories.
|
||||
|
||||
Below are the re arrangement details-
|
||||
|
||||
* Directory structure-
|
||||
api_schema/response/compute/v2.1/ -> will contain all the schema files for v2.1.
|
||||
api_schema/response/compute/v2.2/ -> will contain all the schema files for v2.2.
|
||||
and so on
|
||||
|
||||
* Each resource schema will be defined in single files under v2.1 directory
|
||||
For example -hypervisors.py will have all schema of hypervisor resource API.
|
||||
|
||||
* Each schema name should be clear enough to easily understand the API for
|
||||
which they are defined. For example -
|
||||
|
||||
* list_hypervisors - list hypervisors API schema
|
||||
* list_hypervisors_detail - detail list of hypervisors
|
||||
* create_get_update_<resource name> - If schema is same for create, get
|
||||
& update API of any resource.
|
||||
|
||||
Note- Most of the schema names are defined as per above guidelines but
|
||||
if there are some misleading names, those needs to be fixed.
|
||||
For example - quota class set and quota set schemas are defined with same
|
||||
name (quota_set) in quotas.py and quota_classes.py.
|
||||
|
||||
|
||||
After above re arrangement it will be easy to maintain those schemas.
|
||||
|
||||
|
||||
Alternatives
|
||||
------------
|
||||
|
||||
Keep things as they are which will keep schemas readability and maintenance
|
||||
difficult.
|
||||
|
||||
Implementation
|
||||
==============
|
||||
|
||||
Assignee(s)
|
||||
-----------
|
||||
Primary assignees:
|
||||
Ghanshyam Mann<ghanshyam.mann@nectechnologies.in>
|
||||
|
||||
|
||||
Milestones
|
||||
----------
|
||||
Target Milestone for completion:
|
||||
|
||||
* kilo-3
|
||||
|
||||
Work Items
|
||||
------------------------------------
|
||||
* Change schema as per proposed idea.
|
||||
* Import the changed schema according to their new path.
|
||||
* Work will be tracked in: https://etherpad.openstack.org/p/rearrange-compute-response-schemas
|
Loading…
Reference in New Issue