<div>On my phone so will be very brief but perhaps the extensions extension could publish the jsonschema(s) for the extension. I think the only complicating  factor would be where extensions extend extensions but I think it's all doable.</div>
<div><br></div>
<div>Chris</div>
<div class="mailbox_signature">—<br>Sent from <a href="https://www.dropbox.com/mailbox">Mailbox</a> for iPhone</div>
<br><br><div class="gmail_quote"><p>On Mon, Jan 13, 2014 at 1:49 PM, Matthew Treinish <span dir="ltr"><<a href="mailto:mtreinish@kortar.org" target="_blank">mtreinish@kortar.org</a>></span> wrote:<br></p><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><p><snip>
<br>> > Last, is a question, is it possible to currently run the full API an build a
<br>> > json schema for it all? Or to query these validating schemas? We *really*
<br>> > want that over in tempest, so we can completely drop the manual creation of
<br>> > negative testing, and just fuzz known bad against the schema definitions.
<br>> 
<br>> Sorry, I'm not sure I understand this question correctly.
<br>> We need to define schemas for each API with the separated schema patches.
<br>> It is impossible to define one schema for all APIs.
<br>> 
<br>> 
<br>> Hi  David, Marc,
<br>> 
<br>> I guess the negative test generator of Tempest would need each API definition.
<br>> Glance can provide API definitions through API with jsonschema format, but
<br>> Nova does not have such feature.
<br>> We need to port these API schema from Nova to Tempest, I guess. right?
<br>> 
<br><br>As I understand things after reviewing the first versions of the negative test
<br>generator patch is that we have to hard code the schema into a file (right now
<br>it's in the test file, but eventually it'll be an external input file). One of
<br>my issues with doing that is it's highly manual process, essentially a copy and
<br>paste from the nova tree. I think what we're looking for from this jsonschema
<br>validation work is an API which we can query the API and get the jsonschema
<br>definitions; similar to what the glance API offers.
<br><br>I wouldn't advocate making the negative test generator be fully dynamic for the
<br>same reason we don't autodetect which API versions and extensions/features are
<br>enabled in tempest, but rather rely on the config file. But, instead have an
<br>additional tool which could query the schema for all the endpoints in nova and
<br>generate an input file for the negative test generator. That way we'll still
<br>catch breaking API changes in the gate, but it's not a manual process to update
<br>the input file with the schema definitions in tempest when there is a breaking
<br>API change. (Which hopefully should almost never happen)
<br><br><br>-Matt Treinish
<br><br>_______________________________________________
<br>OpenStack-dev mailing list
<br>OpenStack-dev@lists.openstack.org
<br>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
<br></p></blockquote></div><br>