[openstack-dev] [ceilometer][gnocchi][vitrage] 'bad' resource_id

AFEK, Ifat (Ifat) ifat.afek at alcatel-lucent.com
Thu Dec 17 13:17:29 UTC 2015


In Vitrage[1] project we handle different kinds of resources, even ones 
that are not managed by OpenStack. For example, we can get from nagios
information about an unreachable switch. I don't know in advance what 
the different IDs would look like, since we have an open pluggable 

Our current use cases are about alarms and are related to Aodh and not
to Gnocchi; yet I think we might want to use non-UUID ids on metrics 
in the future.

Please see my comment below.

[1] https://wiki.openstack.org/wiki/Vitrage


> -----Original Message-----
> From: Lu, Lianhao [mailto:lianhao.lu at intel.com]
> Sent: Wednesday, December 16, 2015 10:02 PM
> Hi stackers,
> In ceilometer, some metrics(e.g. network.incoming.bytes for VM net
> interface, hardware.network.incoming.bytes for host net interface,
> compute.node.cpu.percentage for nova compute node host cpu utilization,
> etc.) don't have their resource_id in UUID format(which is required by
> gnocchi). Instead, they have something like <id>.<interface_id> as
> their resource_id, in some cases even the <id> part won't be in uuid
> format.  Gnocchi will treat these kind of resource_id as bad id, and
> build a new UUID format resource_id for them. Since users are mostly
> using resource_id to identify their resources, changing user passed in
> resource_id would require the users extra effort to identify the
> resources in gnocchi and link them with the resources they original
> passed in.
> It seems there're several options to handle this kind of 'bad'
> resource_id problem. I'm writing this email to ask for your opinios.
> 1. Create new types of resource in gnocchi, and put original
> resource_id information as new resource attributes for that specific
> type. This might require adding different new code in gnocchi for
> different types of metrics with 'bad' resource_id, but it might give
> user fine grain control and aware they're dealing with special types of
> resources with 'bad' resource_id.

What do you mean by "create new types of resources"? 
Suppose we want to add a new resource type with a new id format, what
should we do for that? Change Gnocchi code / add a plug-in / add a 
new type definition in the database / ...?

> 2. Added a new resource attribute original_resource_id in the generic
> resource type, and inhence will be inherited by all resource types in
> goncchi. This won't require adding new code for resources with 'bad'
> id, but might require adding a new db index on original_resource_id for
> resource search purpose.
> Any comments or suggestions?
> Best Regards,
> -Lianhao Lu

More information about the OpenStack-dev mailing list