Bug 1765640 - Creating a trunk with many subports is really slow
Summary: Creating a trunk with many subports is really slow
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: python-networking-ovn
Version: 13.0 (Queens)
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: z11
: 13.0 (Queens)
Assignee: ffernand
QA Contact: Eran Kuris
URL:
Whiteboard:
Depends On:
Blocks: 1765678
TreeView+ depends on / blocked
 
Reported: 2019-10-25 16:10 UTC by ffernand
Modified: 2020-03-10 11:26 UTC (History)
5 users (show)

Fixed In Version: python-networking-ovn-4.0.3-18.el7ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1765678 (view as bug list)
Environment:
Last Closed: 2020-03-10 11:26:15 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Expected Rally results after the bulking changes (140.55 KB, image/png)
2019-10-25 16:10 UTC, ffernand
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Launchpad 1834637 0 None None None 2019-10-25 16:14:48 UTC
OpenStack gerrit 687972 0 'None' MERGED Set binding profile directly from OVNTrunkDriver (redo) 2020-03-18 05:25:26 UTC
OpenStack gerrit 693270 0 None MERGED Set binding profile directly from OVNTrunkDriver (redo cont.) 2020-03-18 05:25:26 UTC
Red Hat Product Errata RHBA-2020:0770 0 None None None 2020-03-10 11:26:58 UTC

Description ffernand 2019-10-25 16:10:41 UTC
Created attachment 1629280 [details]
Expected Rally results after the bulking changes

Description of problem:

When running rally create and list trunk scenario [0], the create_trunk operation with 125 subports takes almost 180 seconds to complete. The reason why this happens is that we're updating the binding information for every subport [1]

If we could instead bulk update all the subports with a single call to the plugin, the operation would be much faster. On the other hand but this is not yet supported in ML2 plugin AFAIK.

[0] https://opendev.org/openstack/rally-openstack/src/tag/1.5.0/rally_openstack/scenarios/neutron/trunk.py#L39
[1] https://github.com/openstack/networking-ovn/blob/6.0.0.0rc1/networking_ovn/ml2/trunk_driver.py#L59


Version-Release number of selected component (if applicable):
OSP13 (all versions)

How reproducible:
Always

Steps to Reproduce:
Easiest way for reproducing may be by running Rally. Look for how long it takes
to create 125 subports. Test neutron_create_trunk

Actual results:


Expected results:

https://storage.bhs1.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_d50/686571/7/check/networking-ovn-rally-task/d50dd5d/results/report.html.gz#/NeutronTrunks.create_and_list_trunks


Additional info:

Comment 5 errata-xmlrpc 2020-03-10 11:26:15 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:0770


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