networking-calico core plugin security group rule updates are slow
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
networking-calico |
Fix Released
|
Undecided
|
Doug Wiegley |
Bug Description
The core plugin is currently using the "emulated" bulk handlers, but the default native handlers will also work. Native support is on by default in ML2, but not inherited. Potential fix is https:/
Neutron has some legacy "bulk api" handlers that are just a for loop around single actions. There are also a bunch of default "native" bulk handlers that are much better. The default native bulk handlers are *not* enabled by default, and *not* enabled by inheritance, for legacy reasons.
The change above flips on the native bulk api default handlers.
To repro this issue, make a security group, then make a bulk api call to add 50 rules. Then 50 more. And repeat. Note that for every 50, it gets a *lot* slower, linearly.
With this change, it still gets slower linearly, but I think that's a side effect of all the get/intialization foo that that the ovo objects are incurring (which is a bug in the bulk handlers for security groups, IMO.)
Changed in networking-calico: | |
assignee: | nobody → Doug Wiegley (dougwig) |
status: | New → In Progress |
description: | updated |
Reviewed: https:/ /review. openstack. org/628063 /git.openstack. org/cgit/ openstack/ networking- calico/ commit/ ?id=8b315a138c0 6e5ac13bb67298f 1bb832a151fc26
Committed: https:/
Submitter: Zuul
Branch: master
commit 8b315a138c06e5a c13bb67298f1bb8 32a151fc26
Author: Doug Wiegley <email address hidden>
Date: Wed Jan 2 15:50:28 2019 -0700
Enable native handlers for neutron API operations
Since this plugin inherits from the ml2 plugin, make use of
the native bulk, paging, and sorting handlers.
Closes-bug: 1810350 8282b0f5fe478b4 470e76c675e
Change-Id: Id2deeea9b6722f