[openstack-dev] [nova] Versioned notifications... who cares about the version?
gord chung
gord at live.ca
Fri Nov 20 18:32:02 UTC 2015
On 20/11/15 11:33 AM, Alexis Lee wrote:
> gord chung said on Thu, Nov 19, 2015 at 11:59:33PM -0500:
>> just to clarify, the idea doesn't involve tailoring the notification
>> payload to ceilometer, just that if a producer is producing a
>> notification it knows contains a useful datapoint, the producer
>> should tell someone explicitly 'this datapoint exists'.
> I know very little about Nova notifications or Ceilometer, so stepping
> wildly into the unknown here but... why would a producer spit out
> non-useful datapoints? If no-one cares or will ever care, it simply
> shouldn't be included.
fully agree.
it seems like even before addressing versioning, that the notification
paradigm itself should be discussed. right now the producer is just
sending out a grab bag of data that it thinks is important but doesn't
define who the audience is. while that makes it extremely flexible so
that anyone can consume the message, it also guarantees nothing (not
even that it's being consumed). you can version a payload or make a
schema accessible as much as you like but if no one is listening or the
data published isn't useful to those listening, it's just noise.
i think a lot of the complexity we have in versioning is that the
projects are too silo'd. i think some of the versioning issues would be
irrelevant if the producer knew it's consumers before sending rather
than producers just tossing out a chunk of data (versioned schema or
not) and considering their job complete once it leaves it's own walls.
the producer doesn't necessarily have to be the individual project teams
but whoever the producer of notifications is, it should know it's audience.
>
> The problem is knowing what each consumer thinks is interesting and that
> isn't something that can be handled by the producer. If Ceilometer is
> just a pipeline that has no opinion on what's relevant and what isn't,
> that's a special case easily implemented by an identity function.
the notification consumption service in ceilometer is essentially just a
pipeline that normalises select incoming notifications into a data
model(s) and pushes that model to whoever wants it (a known consumer is
the storage service but it's configurable to allow other consumers).
cheers,
--
gord
More information about the OpenStack-dev
mailing list