<div dir="ltr"><div style>We do a bit of data validation... but not across the entire API nor on responses, both of which would be great to have.</div><div><br></div>I'd actually like to see the jsonschema validation provided by keystoneclient, which keystone can consume through a new middleware (say, keystone.contrib.json_schema) or publish through the HTTP API. Reason being that I think enabling --debug in the client should trigger the client to validate it's own requests & responses (or perhaps it should always validate it's own requests?), and that can be applied during integration tests as well.<div>
<br></div><div>There would also be a LOT of similarity between various v3 API request/response formats, and I'd hate to have to maintain a jungle of .json schema files. Instead, it'd be awesome if the schemas could be produced on the fly by inheriting common attributes, etc.<br>
<div class="gmail_extra"><div><div><br></div>-Dolph</div>
<br><br><div class="gmail_quote">On Sun, Jun 2, 2013 at 4:11 AM, Bruno Semperlotti <span dir="ltr"><<a href="mailto:bruno.semperlotti@gmail.com" target="_blank">bruno.semperlotti@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div>Hi,</div><div><br></div><div>As a first contribution, I recently worked on a small bug about bad error response when passing incorrect parameters in API requests (<span style="color:rgb(102,102,102);font-family:Ubuntu,'Bitstream Vera Sans','DejaVu Sans',Tahoma,sans-serif;font-size:12px;line-height:18px"><a href="https://bugs.launchpad.net/keystone/+bug/1110435" target="_blank">#1110435</a></span>).</div>


<div>There is also this other bug about bad application behavior when API requests data are incorrect or missing (<a href="https://bugs.launchpad.net/keystone/+bug/999084" target="_blank">#999084</a>)</div><div><br></div>
<div>

My point is that no systematic data validation seems to be made when receiving API requests, leading to potential unwanted behavior or instability.</div><div><br></div><div>I am working on a prototype to enable simple validation of all API requests data using json schemas and the python package <a href="https://pypi.python.org/pypi/jsonschema" target="_blank">jsonschema</a>.</div>


<div><br></div><div>As I am new in the openstack community and also because my work uses the json schema specification which is still a draft with a new package dependency, I was looking for some feedback about this idea before going on and filling a blueprint. </div>


<div><br></div><div>Regards,</div><br clear="all"><div>--<br>Bruno Semperlotti</div>
</div>
<br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div></div></div>