Bug 1041867

Summary: [RFE][keystone]: Allow additional data to be requested for API GET calls to minimise N+1 performance problem
Product: Red Hat OpenStack Reporter: RHOS Integration <rhos-integ>
Component: RFEsAssignee: RHOS Maint <rhos-maint>
Status: CLOSED UPSTREAM QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: markmc, yeylon
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://blueprints.launchpad.net/keystone/+spec/extended-get-apis
Whiteboard: upstream_milestone_none upstream_status_implemented upstream_definition_drafting
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-19 17:34:31 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description RHOS Integration 2013-12-12 19:47:26 UTC
Cloned from launchpad blueprint https://blueprints.launchpad.net/keystone/+spec/extended-get-apis.

Description:

Like many relational-defined repositories, obtaining data via the identity api can sometmes suffer from what is known as the "N+1" problem.  This is when you want to list all objects of a certain class (e.g. users, projects) and also get related information (e.g roles) - which can often result in one GET for the list of objects itself, followed by GET's for each item in the list to obtain the related data.  Often, such a query could be implemented in one go by the underlying storage layer (e.g. SELECT/JOIN in SQL) if only you could express the query correctly via the REST API.

Specification URL (additional information):

None