Re: [Openstack] [Metering] Adding a source notion to the schema

2012-05-04 Thread Doug Hellmann
On Fri, May 4, 2012 at 12:29 PM, Nick Barcet nick.bar...@canonical.comwrote:

 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.


That makes sense. It seems like the identifier(s) used are meant to be
defined by the deployer. Is that your intent?


 * 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).


It is not clear why the identity management location needs to be recorded
in ceilometer. If the deployer controls the source strings, they know what
each value means. The only thing that needs to translate the (source,
project, user) values to a billing identity is the end-consumer of all of
this data, which is also under the control of the deployer. Couldn't the
mapping of the source token to the identity location be handled in that
layer?



 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.

 Thanks,

 Nick
 ___
 Mailing list: https://launchpad.net/~openstack
 Post to : openstack@lists.launchpad.net
 Unsubscribe : https://launchpad.net/~openstack
 More help   : https://help.launchpad.net/ListHelp

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] [Metering] Adding a source notion to the schema

2012-05-04 Thread Nick Barcet
On 05/04/2012 02:25 PM, Doug Hellmann wrote:
 
 
 On Fri, May 4, 2012 at 12:29 PM, Nick Barcet nick.bar...@canonical.com
 mailto:nick.bar...@canonical.com wrote:
 
 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.
 
 
 That makes sense. It seems like the identifier(s) used are meant to be
 defined by the deployer. Is that your intent?

Correct.  We'll just need a sane default for Keystone.

 
 * 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). 
 
 
 It is not clear why the identity management location needs to be
 recorded in ceilometer. If the deployer controls the source strings,
 they know what each value means. The only thing that needs to translate
 the (source, project, user) values to a billing identity is the
 end-consumer of all of this data, which is also under the control of the
 deployer. Couldn't the mapping of the source token to the identity
 location be handled in that layer?

True.  It might be over-engineering to try to keep the info in the same
place as well, but the impact on the system would be negligible. I'd be
happy either ways :)

Nick



signature.asc
Description: OpenPGP digital signature
___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] [Metering] Adding a source notion to the schema

2012-05-04 Thread Doug Hellmann
On Fri, May 4, 2012 at 6:03 PM, Nick Barcet nick.bar...@canonical.comwrote:

 On 05/04/2012 02:25 PM, Doug Hellmann wrote:
 
 
  On Fri, May 4, 2012 at 12:29 PM, Nick Barcet nick.bar...@canonical.com
  mailto:nick.bar...@canonical.com wrote:
 
  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.
 
 
  That makes sense. It seems like the identifier(s) used are meant to be
  defined by the deployer. Is that your intent?

 Correct.  We'll just need a sane default for Keystone.


You're focusing on source as the origin for the identity information, but
it seems like a layer sitting on top of OpenStack may well use Keystone for
identity but generate different billable events. Should source be the
origin of the metric data being sent to ceilometer?



 
  * 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).
 
 
  It is not clear why the identity management location needs to be
  recorded in ceilometer. If the deployer controls the source strings,
  they know what each value means. The only thing that needs to translate
  the (source, project, user) values to a billing identity is the
  end-consumer of all of this data, which is also under the control of the
  deployer. Couldn't the mapping of the source token to the identity
  location be handled in that layer?

 True.  It might be over-engineering to try to keep the info in the same
 place as well, but the impact on the system would be negligible. I'd be
 happy either ways :)


It will be easier to add it later if we really need it than to take it out
if we decide we don't.

Doug
___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] [Metering] Adding a source notion to the schema

2012-05-04 Thread Nick Barcet
On 05/04/2012 03:11 PM, Doug Hellmann wrote:
 
 
 On Fri, May 4, 2012 at 6:03 PM, Nick Barcet nick.bar...@canonical.com
 mailto:nick.bar...@canonical.com wrote:
 
 On 05/04/2012 02:25 PM, Doug Hellmann wrote:
 
 
  On Fri, May 4, 2012 at 12:29 PM, Nick Barcet
 nick.bar...@canonical.com mailto:nick.bar...@canonical.com
[...]
  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.
 
 
  That makes sense. It seems like the identifier(s) used are meant to be
  defined by the deployer. Is that your intent?
 
 Correct.  We'll just need a sane default for Keystone.
 
 
 You're focusing on source as the origin for the identity information,
 but it seems like a layer sitting on top of OpenStack may well use
 Keystone for identity but generate different billable events. Should
 source be the origin of the metric data being sent to ceilometer?

As I see it, source should remain the same as long as you can correlate
project_id and user_id from the same source.

 
  * 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).
 
 
  It is not clear why the identity management location needs to be
  recorded in ceilometer. If the deployer controls the source strings,
  they know what each value means. The only thing that needs to
 translate
  the (source, project, user) values to a billing identity is the
  end-consumer of all of this data, which is also under the control
 of the
  deployer. Couldn't the mapping of the source token to the identity
  location be handled in that layer?
 
 True.  It might be over-engineering to try to keep the info in the same
 place as well, but the impact on the system would be negligible. I'd be
 happy either ways :)
 
 
 It will be easier to add it later if we really need it than to take it
 out if we decide we don't.

Agreed.

Nick



signature.asc
Description: OpenPGP digital signature
___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp