[openstack-dev] [api] [wsme] [ceilometer] Replacing WSME with _____ ?
Jay Pipes
jaypipes at gmail.com
Fri Aug 28 16:29:45 UTC 2015
On 08/28/2015 07:22 AM, Chris Dent wrote:
>
> This morning I kicked off a quick spec for replacing WSME in
> Ceilometer with ... something:
>
> https://review.openstack.org/#/c/218155/
>
> This is because not only is WSME not that great, it also results in
> controller code that is inscrutable.
>
> The problem with the spec is that it doesn't know what to replace
> WSME with.
>
> So, for your Friday afternoon pleasure I invite anyone with an
> opinion to hold forth on what framework they would choose. The spec
> lists a few options but please feel to not limit yourself to those.
>
> If you just want to shoot the breeze please respond here. If you
> have specific comments on the spec please response there.
I'm not going to get into another discussion about what WSGI/routing
framework to use (go Falcon! ;) ). But, since you are asking
specifically about *validation* of request input, I'd like to suggest
just using plain ol' JSONSchema, and exposing the JSONSchema documents
in a GET /schemas/{object_type} resource endpoint.
voluptuous may be more Pythonic, as Julien mentioned, but the problem is
you can't expose the validation schema to the end user via any standard
document format (like JSONSchema). Using the jsonschema library along
with standard JSONSchema documents allows the API to publish its
expected request and response schemas to the end user, allowing, for
example, a client library to pull the schema documents and utilize a
JSONSchema parsing/validation library locally to pre-validate data
before ever sending it over the wire.
Best,
-jay
More information about the OpenStack-dev
mailing list