Improve list role assignments filtering performance
When listing role assignments, we have the option to filter them by actor, target and role.
As Henry Nash pointed out at [1] , the current implementation uses the standard filtering the V3.wrap_collection.
Given the large number of individual assignments, this is pretty inefficient.
The controller should pass the filters into the driver call, so that the list size is kept a minimum.
For example, if the user wants to filter role assignments by project X, the driver would query the DB only selecting the role assignments where target_id = X.id, instead of querying everything and returning the result to be filtered by the controller.
In addition, expansion logic should be placed at Manager level, while Controller is charged of validating the provided filter combinations.
Blueprint information
- Status:
- Complete
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Samuel de Medeiros Queiroz
- Direction:
- Needs approval
- Assignee:
- Samuel de Medeiros Queiroz
- Definition:
- Superseded
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
- Samuel de Medeiros Queiroz
Related branches
Related bugs
Sprints
Whiteboard
This BP is marked as Superseded since it was wrongly created on Barbican side.
The right spec is at Keystone side [1].
[1] https:/