[openstack-dev] [Cinder] [Nova] Quota delete API behavior and incorrect Quota usage reported after deletion

Gorka Eguileor geguileo at redhat.com
Wed Apr 8 20:13:27 UTC 2015


Hi all,

This message is in relation with a bug on Quota deletion API that
affects both Nova [1] and Cinder [2], so we should discuss together
what's the desired solution as to be consistent in both projects.

Currently Quota deletion API removes not only Quota limits, but also
Current Quota Usage and Quota Reservations. Which, from an Operator's
point of view doesn't make that much sense, since they expect
preservation of Usage and Reservations.

I first created a patch for Cinder [3], then seeing that Nova's issue
was the same I created one for Nova as well [4], but the solution was
not unanimously accepted, and it was suggested that a new endpoint
should be created for this new behavior (only deleting Quota limits).

My reasoning for not creating a new endpoint in the first place and
changing current endpoint instead, is that I saw this as a bug, not a
new feature; I believe delete endpoint, like create, is only meant to
affect Quota limits, as Usage and Reservations are handled by OpenStack
itself. If you cannot create Quota usage you shouldn't be able to
manually delete them either.

Some additional topics were discussed on IRC and Gerrit:
- Shouldn't delete set quota limits to unlimited instead of deleting
  them and thus apply default quota limits?: This is a matter of how the
  "Quota delete" is understood, as "Delete quotas and leave no quota
  limits, not even defaults" or just "Delete additional quota limits
  that override defaults".
- What about cascade deleting a tenant? Wouldn't it need to delete Usage
  and Reservations with the same API call?: Since Quota Reservations and
  Usage are handled by OpenStack, once related resources are deleted so
  will be the pertinent Reservations and Usage Quotas.

In the matter of setting Quotas to unlimited on deletion I believe we
should keep current behavior, which means it would use defaults or any
other quotas that are in place, for example you delete a User's Quota
limits, but Tenant's limits would still apply.

As I see it, we should decide if it's OK to change existing endpoint or
if, as it was suggested, we should create a new endpoint with a more
pertinent name, like something related to reset quota limits.

I, for one, believe we should change current behavior as it's not doing
what it's meant to do. But I must admit that my understanding of how
this endpoint is currently being used and how such a decision affects
services is limited.

Anyway, I have no problem changing the patches to whatever we decide is
best.


Cheers,
Gorka.


[1]: https://bugs.launchpad.net/nova/+bug/1410032
[2]: https://bugs.launchpad.net/cinder/+bug/1410034
[3]: https://review.openstack.org/#/c/162722/
[4]: https://review.openstack.org/#/c/163423/



More information about the OpenStack-dev mailing list