[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