[Openstack] [metering] notification metadata
Nick Barcet
nick.barcet at canonical.com
Wed Jun 13 12:54:20 UTC 2012
On 06/13/2012 01:55 PM, Doug Hellmann wrote:
>
>
> On Wed, Jun 13, 2012 at 6:56 AM, Nick Barcet <nick.barcet at canonical.com
> <mailto:nick.barcet at canonical.com>> wrote:
>
> On 06/12/2012 05:51 PM, Doug Hellmann wrote:
> > See https://review.stackforge.org/163 for the code.
> >
> > On Tue, Jun 12, 2012 at 11:05 AM, Doug Hellmann
> > <doug.hellmann at dreamhost.com <mailto:doug.hellmann at dreamhost.com>
> <mailto:doug.hellmann at dreamhost.com
> <mailto:doug.hellmann at dreamhost.com>>> wrote:
> >
> > I am working on bug 1006120, adding metadata to the
> instance-related
> > metering events. It's easy to add location data like availability
> > zone to the pollsters because the agent has an object from the
> > database with all of the information about the instance (we will
> > have to change that, but presumably we will be able to get the
> data
> > via RPC, too). The notification plugins however, only have the
> data
> > in the incoming message, and those messages don't include all
> of the
> > data about the instance. My current plan is to have the collector
> > code that processes notifications look up the instance in the
> > database to get the rest of the data.
> >
> > Does anyone have any thoughts on this plan?
> >
> > https://bugs.launchpad.net/ceilometer/+bug/1006120
>
> Well, this seems a bit inelegant to me to have collectors to additional
> lookup in an external DB where otherwise it's role would be limited to
> handle and store event. It would definitely add quite a bit of strain
> to the code on the central collector and what would happen if the nova
> DB is not available or overloaded?
>
>
> I want to eventually move off of direct DB access and ask for details
> like that via RPC, so this is just a temporary situation.
>
>
>
> I'd rather have all collection of data done from the agents rather than
> introduce this lookup on the central collector node. What would prevent
> us from doing it this way?
>
>
> That moves the problem even further away from the database. The agent
> runs on the compute node, and we *know* we won't have DB access there by
> the time we're done with Folsom (even nova is eliminating direct DB
> access by the compute node). The agent does not process notification
> events (it only polls) because of the round-tripping of messages through
> the message bus. Even if we move the notification handling into the
> agent, it doesn't have the necessary details so we would still need to
> ask for them somehow.
Yes, I see your point. Bad idea.
> There are a couple of other alternatives:
>
> 1. We could move notification handling into its own daemon to get it out
> of the collector. This new daemon would still run on a central service,
> and would need to be set up to support load balancing just as the
> collector is now. The similarities are why we left the two types of
> processing in the same process to begin with.
RPC seems like a better solution for this, doesn't it?
> 2. We could modify nova to include more details about an instance when
> it publishes a notification. This is the best solution from our
> perspective, and I would like to see all of the properties anyway, but I
> don't know if there is a performance-related reason for leaving out some
> details.
That would be definitely best. Any nova dev willing to comment here?
Nick
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 900 bytes
Desc: OpenPGP digital signature
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20120613/97ca9c7d/attachment.sig>
More information about the Openstack
mailing list