On Tue, Apr 16, 2019 at 11:05 PM melanie witt <melwittt@gmail.com> wrote:
On Tue, 16 Apr 2019 09:13:47 -0700, Dan Smith <dms@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.
+1
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.
I agree that while we have started the quota counting from placement as an opt-in it would be good to get the missing pieces in to make it whole asap. I can offer help if needed for the pieces. -- Regards, Surya.