[openstack-dev] [cinder] Nested quota -1 limit race condition

Gorka Eguileor geguileo at redhat.com
Fri Mar 4 09:44:15 UTC 2016

On 03/03, Ryan McNair wrote:
> Hey all,
> Nested quotas has officially started fighting back - while writing Tempest
> tests for the nested quota support [1], I hit a race-condition related to
> the nested quota -1 support that has me stumped. I opened a bug for it [2]
> with more details, but basically the issue occurs when if you change a
> limit to or from -1 for a project while at the same time creating volumes
> on the project (or on it's subtree if child is using -1 also).
> Trying to figure out how to best handle this. Whether suggestions for how
> to fix this, thoughts on how critical this situation is, whether we should
> disable -1 support for now, etc. - all input is welcome.
> Thanks,
> Ryan McNair (mc_nair)
> [1] https://review.openstack.org/#/c/285640/2
> [2] https://bugs.launchpad.net/cinder/+bug/1552944

> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


I haven't looked in depth into the nested quotas, but from reading the
BZ and what I can remember this is not a trivial feature and it seems
like the DB implementation is not properly thought of for the
concurrency issues that usually arise in systems like OpenStack, though
I could be totally wrong here.

My best suggestion from my ignorance on this specific topic is that you
try looking into the conditional updates functionality that was added to
Cinder to remove the API races and if that's not enough you should look
into DB transaction isolation for those operations.

If the information provided in the conditional updates docstrings and
the race removing code that's been merged into the API is not enough and
you need a hand to understand how it works, feel free to ping me on IRC


More information about the OpenStack-dev mailing list