[RFE] Create optional bulk resource_extend
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Triaged
|
Wishlist
|
Unassigned |
Bug Description
When performing bulk actions, one area that is still very much forced into the singleton method of processing is the resource_extend framework, where extensions can register to extend object data. This RFE is to propose the changes needed to make resource_extend work in a bulk context.
The details of the proposal are as follows:
1.) Add an optional additional argument "bulk" to @resource_
2.) Create a new resource_
3.) This would require a revamp of the _resource_
One scenario where this would help is with bulk port creation, because resource extender functions could implement more efficient commits of their various data. Another example is a bug from when I was last bug deputy [1], where a user is complaining of slow responses due to large quantities of SQL queries when using large numbers of trunk ports. I think that with a bulk resource extend the trunk port extender could be implemented as qa single SQL query that fetches information for all affected ports, thus significantly increasing performance.
Please let me know what you think of this idea. I raised it as an RFE because it requires significant enough modification to an element of Neutron that is both foundational and that not many people may have dealt with directly that an open discussion of the merits and implementation would be a positive contribution.
Looks like a good idea, aligned with improving performance overall. If we look at the profiling data we have gathered so far, we spend a lot of time accessing the DB. Would a PoC of this benefit from profiling the before and after situation? I'll be glad to help :-)