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

Lu, Lianhao lianhao.lu at intel.com
Wed Dec 16 20:02:10 UTC 2015

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.

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