[openstack-dev] [oslo][versionedobjects][ceilometer] explain the benefits of ceilometer+versionedobjects
gord chung
gord at live.ca
Thu Aug 27 19:37:24 UTC 2015
hi,
there has been a lot of work done across the community and Ceilometer
relating to versionedobjects. in Ceilometer particularly, this effort
has somewhat stalled as contributors are unsure of the benefits of
versionedobjects and how it relates to Ceilometer. there was a little
skeptism because it was originally sold as magic, but reading the slides
from Vancouver[1], it is not magic. rather it seems the main purpose is
to handle the evolution of schemas specifically over RPC which seems
neat but conceptually doesn't seem to fit into how Ceilometer functions.
looking at the patches, Chris brought up a good question in a review[2]
which to summarise:
> If the ceilometer/aodh tools have direct connections to their data
> storage level (they do) and do not use storable distributed objects
> (on which rpc calls are made) in what sense are versioned objects
> useful to the service?
> My understanding is that in Nova (for example) versioned objects are
> useful because rpc calls are made on storable objects that can be in
> flight at any time across the distributed service and thus for their
> to be smooth rolling upgrades those in flight objects need to be able
> to be of different versions.
Ceilometer functions mainly on queue-based IPC. most of the
communication is async transferring of json payloads where callback is
not required. the basic workflows are:
polling agent --- topic queue ---> notification agent --- topic queue
---> collector (direct connection to db)
or
OpenStack service --- topic queue ---> notification agent --- topic
queue ---> collector (direct connection to db)
or
from Aodh/alarming pov:
ceilometer-api (direct connection to db) <--- http --- alarm evaluator
--- rpc ---> alarm notifier --- http ---> [Heat/other]
based on the above workflows, is there a good place for adoption of
versionedobjects? and if so, what is the benefit? most of us are keen on
adopting consistent design practices but none of us can honestly
determine why versionedobjects would be beneficial to Ceilometer. if
someone could explain it to us like we are 5 -- it's probably best to
explain everything/anything like i'm 5 -- that would help immensely on
moving this work forward.
cheers,
--
gord
More information about the OpenStack-dev
mailing list