Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1062031 - [RFE][keystone]: Api Based Layout
Summary: [RFE][keystone]: Api Based Layout
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: RFEs
Version: unspecified
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
: ---
Assignee: RHOS Maint
QA Contact:
Whiteboard: upstream_milestone_none upstream_stat...
Depends On:
TreeView+ depends on / blocked
Reported: 2014-02-06 05:09 UTC by RHOS Integration
Modified: 2015-03-19 16:50 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Last Closed: 2015-03-19 16:50:07 UTC
Target Upstream Version:

Attachments (Terms of Use)

Description RHOS Integration 2014-02-06 05:09:21 UTC
Cloned from launchpad blueprint


Keystone has grown from v2 to v3 more than it was ever planned. One of the results of this is that concepts that are present in both v2 and v3 have been lumped together and it can be quite non-intuitive to trace what code is being called from what apis and api versions. 

We already somewhat have the concept of models and controllers, they are however grouped by the conept they underpin (eg identity) rather that the URI they represent (eg Users). This is very much mixing the backend with the view layer. 

I propose we start following a similar layout to other projects. In the root of the directory we have an api folder which will contain a v2.0 and v3 folder and will as closely as possible represent the structure of the URLs. Backends (generally identified by {name}_api eg token_api) will stay in there current top level folders and be imported as required into the controllers.

The introduction of Pecan will help with this as it lends itself to such a layout (and we are not looking for a new API version in the foreseeable future to do this rollover).

Specification URL (additional information):


Note You need to log in before you can comment on or make changes to this bug.