On 08/19/2013 08:27 AM, Sandy Walsh wrote:


On 08/19/2013 05:08 AM, Julien Danjou wrote:
On Sun, Aug 18 2013, Jay Pipes wrote:

I'm proposing that in these cases, a *new* resource would be added to the
resource table (and its ID inserted in meter) table with the new
flavor/instance's metadata.

Ah I see. Considering we're storing metadata as a serialized string
(whereas it's a dict), isn't there a chance we fail?
I'm not sure about the idempotence of the JSON serialization on dicts.

Yeah, using a json blob should only be for immutable data.

Well, to be perfectly frank, fields that store JSON blobs in a RDBMS should be reserved for:

a) Data that never needs to be used in a search filter
b) Data that never needs to aggregated in a group by

If any part of a JSON blob doesn't meet the above, it should be removed from the JSON blob and put into its own fields in a table (or alternately, put into something like the Trait model)

> I'm assuming
metadata can change so we'd need idempotence. I could easily see two
pipelines altering metadata fields. Last write wins. :(

I actually don't think metadata about resources does change, or at least, if it does change, then it describes a new resource.

As an example, if an instance resource is resized from an m1.tiny to an m2.xlarge, is it still really the same resource? I would say "no", it isn't...at least as far as CM should be concerned, since it consumes an entirely different pattern of metered usages now.

Best,
-jay



_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to