openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #14013
Re: [metering] resource metadata changes and billing
-
To:
Doug Hellmann <doug.hellmann@xxxxxxxxxxxxx>
-
From:
Julien Danjou <julien@xxxxxxxxxxx>
-
Date:
Mon, 02 Jul 2012 22:58:55 +0200
-
Cc:
openstack@xxxxxxxxxxxxxxxxxxx
-
In-reply-to:
<CADb+p3QLnegO=ac7goz8sMy1s6Nge9FPoF2eLAo8NaoHP3oqkQ@mail.gmail.com> (Doug Hellmann's message of "Fri, 29 Jun 2012 13:38:49 -0400")
-
User-agent:
Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.1.50 (gnu/linux)
On Fri, Jun 29 2012, Doug Hellmann wrote:
Hi Doug,
Sorry for the late reply.
> I don't think I've made the problem clear.
>
> I'm not talking about wanting to calculate the different usage for CPU,
> RAM, etc. The different counters are calculated separately, so we can keep
> the amounts for CPU and RAM completely separate, and the API allows the
> outside user to ask for the amounts for each counter for a resource (or
> globally for a user/project). The problem is in deciding how the metadata
> associated with a meter event might cause the provider to change the rate
> they want to charge for that usage.
It's not metadata of a counter that cause the provider to change the
rate. It's a meter of a resource that can do that.
> That only solves part of the problem, though. As a provider I may want to
> charge different flat rates for the amount of RAM being used. For example,
> 1 unit for 1024 MB of RAM but 2 units for 4096 MB. That means when the size
> of the VM changes, we need to produce multiple totals (the length of time
> that the VM had 1024 MB RAM and then the length of time it had 4096 MB RAM).
Yeah, like I said, for the meter 'RAM' of resource 'instance' you can't
request a total amount used, because the type of this meter (I don't
know how to call it, it's the kind I named
if-i-change-you-need-to-split-the-resource-in-several-stuff in my latest
email) don't have this semantic.
> I might also want to change the rate I bill when a VM is migrated between
> hosts or availability zones (I think we said migration caused a new
> instance to be created, but bear with me). The availability zone for an
> instance is clearly metadata and not something we can track via a counter.
Again, that's also a meter that has the same type of 'RAM' for a
resource 'instance'.
> That's an interesting idea, and it might solve the problem. At this point
> in the Folsom schedule though, I would much rather implement a pared down
> API that handles the simple cases but makes the caller do a bit more data
> manipulation for complex cases, in favor of focusing on counting more
> things than we do now. Is that a reasonable approach?
Problem is that we might break the API a bit with this. This would not
be the first time an OpenStack API is broken, but if we can avoid it,
it'd be better.
I am not sure you can really bill anything if you're not able to handle
a simple thing such a VM resize. So currently, it seems that the API is
not designed correctly to handle such a case, and since it's not yet
implemented, maybe it's still time to fix it?
--
/* Julien Danjou
╭ Free Software hacker & freelance
╰ http://julien.danjou.info */
Attachment:
pgp3UPJyND1NZ.pgp
Description: PGP signature
Follow ups
References