← Back to team overview

openstack team mailing list archive

[Metering] Adding a source notion to the schema


Following up on the discussion on IRC yesterday during the metering meeting, I'd like to explain my proposal to add the notion of source to the schema of our event.  The current goal we have for ceilometer is to provide a common way to accumulate counters/meters from various openstack component in a central repository that can be then used by other tools to produce bills in fine.   One thing we can currently assume in Essex is that all components share a common repository for identity management: Keystone.  This is the assumption we made when defining the existing schema. However, I think we need to plan a little further ahead here, and allow for this not to necessarily remain the same in some complex deployment cases.

For example, it could be envisioned that some software, outside of the OpenStack project, maybe deployed and used on top of an OpenStack deployment.  This software may need to be billed to customers, and collecting meters for it maybe as important for the provider than doing it for OpenStack components. It cannot be assumed that the identity management used by  the software will be keystone. The software may not provide a metering interface built in, and it would make sense for the provider to be able to implement this using existing tool present in the underlying OpenStack deployment: ceilometer.  

In order to allow for this I think it would make sense to:
* extend the current schema to allow for an additional "source" field in the event record.  This should be a short identifier.
* add another record definition that maps source to identity managment URL location
* Collecting agent would be in charge to specify the source they map to (keystone by default).  

I think this would allow for easy extension of ceilometer to support other software, but I'd like to know if you share the usefulness of this extension from your experiences.



Follow ups