On 04/16/2019 01:38 PM, melanie witt wrote:
On Tue, 16 Apr 2019 10:33:45 -0700, Dan Smith <dms@danplanet.com> wrote:
When you think of "consumer type" do you imagine it as an enumeration with members similar to "instance", "instance-migration", "reservation" where those types are the same in all placement deployments, including those which are being used by multiple clouds (or multiple novas).
I guess it seems more like it needs to be (loosely) an enum within a given shard. Like "I'm nova, my shard is $UUID and within that shard, my consumer types are instance, migration, etc". Might also be "I'm ironic, my shard is $UUID and within that shard, my consumer types are nova-instance, standalone-use, etc".
I don't really want to codify the enum in placement, as I think it's just a key that the consuming service uses to correlate the "reason" for each allocation. Some (like nova) could be a static small enum, but for others it could need to be dynamic and scale per tenant or something like that.
What I'm trying to make sure about is: Is this a concept that is fully distinct from resource provider partitioning/shards/whatever the right word is, solely associated a consumer and the allocations it has right now? If not, how so?
I'd like it to be fully distinct. If it's not, then nova basically needs to define consumers as "instance-$nova_distinct_deployment_uuid" instead of "instance", effectively using the consumer type as both a consumer type and a shard key.
+1 to all of this.
-melanie
Yeah, +1 from me as well. Great point about the migrations being separate consumer type than instance. Best, -jay