[openstack-dev] [all] Treating notifications as a contract

Chris Dent chdent at redhat.com
Thu Jul 10 15:04:05 UTC 2014


On Thu, 10 Jul 2014, Julien Danjou wrote:

> My initial plan was to leverage a library like voluptuous to do schema
> based validation on the sender side. That would allow for receiver to
> introspect schema and know the data structure to expect. I didn't think
> deeply on how to handle versioning, but that should be doable too.

It's not clear to me in this discussion what it is that is being
versioned, contracted or standardized.

Is it each of the many different notifications that various services
produce now?

Is it the general concept of a notification which can be considered
a "sample" that something like Ceilometer or StackTack might like to
consume?

If it not the latter, why isn't it the latter? Here's some semi-random
noodling:

Wouldn't the metering process be a lot easier if there was a
standardized package for a "sample" and anyone with the proper
credentials could drop a sample on the bus with the right exchange with
the right topic and anything (e.g. Ceilometer, StackTack, the
NewShinyMeteringShiz) that wants to consider itself a metering store can
consume it and hey presto.

If people are going to have to write a bunch of new tests and
related code to get notifications healthier why not make
notifications for metrics _healthy_ and available to any system
without needing to write a bunch of code on both sides of the bus.

Currently Ceilometer is required to know far too much about the
notifications it receives and that knowledge is being represented is
code. That is a BadThing™. I'm sure there are plenty of reasons for
why it has turned out that way, but if there is an opportunity for
change...?

-- 
Chris Dent tw:@anticdent freenode:cdent
https://tank.peermore.com/tanks/cdent


More information about the OpenStack-dev mailing list