Post meter via the API

Registered by Julien Danjou

Some system needs to send meter to Ceilometer via the REST API.

Blueprint information

Status:
Complete
Approver:
Julien Danjou
Priority:
Low
Drafter:
Julien Danjou
Direction:
Approved
Assignee:
Angus Salkeld
Definition:
Approved
Series goal:
Accepted for havana
Implementation:
Implemented
Milestone target:
milestone icon 2013.2
Started by
Angus Salkeld
Completed by
Julien Danjou

Related branches

Sprints

Whiteboard

We need to be careful about how we implement this. We don't want users publishing their own meter data, right? - dhellmann

Should the API send the data out onto the message bus in case there are other listeners interested in receiving it? Maybe as an option? - dhellmann

Does this mean, even third party service(eg. ganglia gmond) can send the monitoring metrics via this API? will those data pollute the openstack-specific meters from the storage point of view? - shengjie

How about:
If the user/admin wants to publish a counter with a source != "their ip addr" they need to do this as
admin or a dedicated meter-posting-user. Else we accept the meter but the source gets set to
something like "user:<the posters ip addr>". Then it will be easy to ignore the data when doing
billing.

Gerrit topic: https://review.openstack.org/#q,topic:bp/meter-post-api,n,z

Addressed by: https://review.openstack.org/26367
    Allow posting samples via the rest API

----
[Matt Rutkowski] The impl. of this API has to make sure that user injected data (e.g. even by admins) is clearly separated and marked from automated data. In other words, admin submitted data cannot masquerade as components providing their own manual data (intermixed). It is important to remember that this metric data is used beyond development purposes and by providers for billing (usage) and for verifying SLA agreement for performance are met. Auditors of the data need to confirm that all component/automated data was not tampered with in order to certify a provider.

----
Good point. We are addressing that by ensuring that the "source" field for the data is unique and tied to the project of the user submitting the data. That provides a way for clients to filter their queries to ensure they get only the desired data. Does that address your concerns? - dhellmann

----
[nijaba] This BP is marked as implemented but as far as I can tell this is done by:
https://github.com/openstack/ceilometer/commit/c9065364d42d1a2e3ef4da30a09ebf6b49336026
which states that this works only for admins, so I wonder if this is completely implemented?

[jd] This commit seems to allow posting to project the user is authenticated too
https://github.com/openstack/ceilometer/commit/d88a3097 so I guess this solves your issue. :)

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.