On 16/12/2015 4:24 PM, Lu, Lianhao wrote:
On Dec 16, 2015 14:13, Chris Dent wrote:
On Wed, 16 Dec 2015, Lu, Lianhao wrote:

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.
Just for the sake of completeness can you describe the use cases where
the resource_id translation that gnocchi does does not help the use
case. The one way translation is used in the body of search queries as
well as in any URL which contains a resource_id.

I'm sure there are use cases where it breaks down, but I've not heard
them enumerated explicitly.

I'm not saying the translation will break down anything. It's just that in the 
case of using ceilometer/gnocchi together, when ceilometer samples are stored 
into gnocchi, the users need to do extra steps to figure out which resource to 
query to find its related metrics in the bad resource_id case. By simply 
looking at the 
http://docs.openstack.org/admin-guide-cloud/telemetry-measurements.html , the 
users can not easily identify the resource and its related metrics in gnocchi. 
The users need to be able to do a resource search based on resource attributes, 
such as original_resource_id, because in ceilometer/gnocchi cases, they don't 
get a chance to see the new resource_id gnocchi generated unless they search.

Say we have configured nova to send out compute node metrics notification which will be turns into 
compute.node.cpu.percentage samples by ceilometer and stored into gnocchi, the original resource_id would be 
constructed as <nova compute host name>_<nova compute node name> of the nova compute node machine. 
But when admin want to search that resource in gnocchi, he either search for a specific new type of resource with 
some conditions or search for a generic resource with condition of original_resource_id="<nova compute 
host name>_<node name>", otherwise he doesn't have ways to find the resource which is identified by 
the original resource_id.
but when you query, you do use the original resource_id. the translation happens on both writes and reads. while in reality, the db is will store a different id, users shouldn't really be aware of this.

that said, because of pecan, translations don't help when our ids have '/' in them... we should definitely fix that.

--
gord


__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: [email protected]?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to