Deprecate the os-quota-class-sets API

Registered by Matt Riedemann

See:

http://lists.openstack.org/pipermail/openstack-dev/2016-July/099218.html

The ability to plugin custom quota classes is a legacy artifact for an out of tree API rate limiting paste config that Rackspace used. In reality, the only quota class that anyone uses is the 'default' quota class that's baked into Nova.

There is also no way, besides querying the database directly, to know what quota classes you have.

We should add a microversion such that you can only show default quotas and update default quotas for a project or user, but 404 if you try to create a new quota class (404 because the create happens in the update operation today if the quota class doesn't exist).

We also need to address bug 1602396 by returning a 404 if you try to show quota class details for a non-existent quota class (so really only 'default' will work).

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Matt Riedemann
Direction:
Needs approval
Assignee:
Matt Riedemann
Definition:
Superseded
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Matt Riedemann

Whiteboard

also note that if you've ever used the API to set defaults, then changing the CONF settings doesn't have any effect because the values in the db override them. That is nasty and confusing and we should do something about it.

Gerrit topic: https://review.openstack.org/#q,topic:bp/deprecate-os-quota-class-sets,n,z

Addressed by: https://review.openstack.org/411035
    Deprecate the os-quota-class-sets API (spec)

We agreed at the Pike PTG to just not do anything with this since we want to move limits to keystone. So rather than invest time in cleaning up this API we're going to invest that time in putting limits in keystone, at which point when nova is getting limits from keystone we can just deprecate this API.

https://etherpad.openstack.org/p/nova-ptg-pike-quotas

-- mriedem 20170227

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.