[placement][ptg] Allocation Partitioning

melanie witt melwittt at gmail.com
Tue Apr 16 21:03:24 UTC 2019

On Tue, 16 Apr 2019 09:13:47 -0700, Dan Smith <dms at danplanet.com> wrote:
>> Obviously, all consumers are currently Nova instances in placement
>> since (AFAIK) no other services have begun using placement to store
>> allocations.
> This is not the case, actually. In Nova, we can have consumers that are
> instances, as well as consumers that are migrations (related to
> instances, but distinct). In order to be able to distinguish between the
> two, a partitioning key (I'd prefer we call this consumer type too) is
> needed. The quota work needs this specifically, so that we can know the
> usage by instances separately from usage that is reserved or pinned by
> an ongoing migration.
>>> How urgent is this? Is there anyone available to do the work this
>>> cycle? How damaging is it to punt to U? What details are missing in
>>> the above description?
> I guess we defer this question to Melanie, but I think the ability to
> count most of the quota elements we want using placement instead of the
> current method hinges on the ability to distinguish these things.

The latest incarnation of the quota usage from placement work [1] has 
counting from placement as opt-in, based on a few reasons explained in 
the commit message. And the spec will be amended when/if there is 
confirmation the patches will land in this form.

Given the opt-in nature of the quota stuff ^, it could be tempting to 
punt it. But my biased opinion is that it would be nice to get working 
on it so we can make counting quota usage from placement our default 
behavior sooner than later.

Consumer types would enable us to count instances from placement, I 
believe. Current code [1] has to count instances from instance mappings 
in the API database. Consumer types would also enable us to implement 
the quota usage behavior we want during a resize, to take max('instance' 
usage, 'migration' usage).

Finally, resource provider partitioning would allow quota usage from 
placement to be correct in an environment with multiple nova deployments 
sharing a single placement deployment.

If we are able to fill in those gaps, we would be in a good position to 
make counting quota usage from placement our default behavior in nova.


[1] https://review.openstack.org/#/c/638073/26

More information about the openstack-discuss mailing list