[openstack-dev] [Nova] RFC: Generate API sample files from API schemas
Rochelle.RochelleGrober
rochelle.grober at huawei.com
Thu Feb 6 23:41:40 UTC 2014
+1
Really lots more than just +1
This leads to so many more efficiencies and increase in effectiveness.
--Rocky
-----Original Message-----
From: Vishvananda Ishaya [mailto:vishvananda at gmail.com]
Sent: Thursday, February 06, 2014 10:17 AM
To: OpenStack Development Mailing List (not for usage questions)
Subject: Re: [openstack-dev] [Nova] RFC: Generate API sample files from API schemas
On Feb 6, 2014, at 5:38 AM, Kenichi Oomichi <oomichi at mxs.nes.nec.co.jp> wrote:
>
> Hi,
>
> I'd like to propose one idea that autogenerates API sample files from
> API schema for Nova v3 API.
>
> We are working on API validation for v3 API, the works require API
> schema which is defined with JSONSchema for each API. On the other
> hand, API sample files of v3 API are autogenerated from the template
> files of v3 API under nova/tests/integrated/v3/api_samples, as api_samples's README.rst[1].
> The API schema files are similar to the template files, because both
> represent the API parameter structures and each API name.
>
> For example, the template file of keypairs is
> ----------------------------------------------------------------------
> ----
> {
> "keypair": {
> "name": "%(keypair_name)s"
> }
> }
> ----------------------------------------------------------------------
> ----
>
> and the API schema file is
> ----------------------------------------------------------------------
> ----
> create = {
> 'type': 'object',
> 'properties': {
> 'keypair': {
> 'type': 'object',
> 'properties': {
> 'name': {
> 'type': 'string', 'minLength': 1, 'maxLength': 255,
> 'pattern': '^[a-zA-Z0-9 _-]+$'
> },
> 'public_key': {'type': 'string'},
> },
> 'required': ['name'],
> 'additionalProperties': False,
> },
> },
> 'required': ['keypair'],
> 'additionalProperties': False,
> }
> ----------------------------------------------------------------------
> ----
>
> When implementing new v3 API, we need to write/review both files and
> that would be hard works. For reducing the workload, I'd like to
> propose one idea[2] that autogenerates API sample files from API
> schema instead of template files. We would not need to write a template file of a request.
+1
The template files were there because we didn't have a clear schema defined.
It would be awesome to get rid of the templates.
Vish
>
> The XML support is dropped from Nova v3 API, and the decision could
> make this implementation easier. The NOTE is that we still need
> response template files even if implementing this idea, because API
> schema files of response don't exist.
>
> Any comments are welcome.
>
>
> Thanks
> Ken'ichi Ohmichi
>
> ---
> [1]:
> https://github.com/openstack/nova/blob/master/nova/tests/integrated/ap
> i_samples/README.rst
> [2]: https://review.openstack.org/#/c/71465/
>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
More information about the OpenStack-dev
mailing list