[placement][ptg] Allocation Partitioning
On 04/16/2019 01:38 PM, melanie witt wrote:
> On Tue, 16 Apr 2019 10:33:45 -0700, Dan Smith <dms at 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.
Yeah, +1 from me as well. Great point about the migrations being
separate consumer type than instance.