Set binding profile directly from OVNTrunkDriver (redo)
Setting binding profile for Trunk subports takes
time - for 125 subports rally CreateAndListTrunks
scenario [0] takes about 150 seconds. We need to
bump up the perfomance because large number of
subports is widly used in Kuryr deployments.
To achieve that I changed setting the binding
profile to be saved directly to the neutron DB.
Instead calling port_update I update only related
fields in OVN NorthBound DB rows. That gave performance
improvement in trunk port creation:
from 101 sec to 35.6 for 95%ile
from 99 sec to 34.2 for 50%ile
The same thing has been done for Trunk deletion.
This reverts commit 2e0832f7b8bfc31780b657aa0abda4e8b244fbbd
Note: While this is a back-merge from Rocky, special care was
needed to account for the fact that in Queens release there
is only one port binding for a db_port. Thus no iteration over
db_port.bindings is used.
Change-Id: I6b659cbede25f271fa3b6a1c9e72019694ab6608
Closes-Bug: #1834637
Related-Bug: #1845479
Co-authored-by: Maciej Józefczyk <email address hidden>
(cherry picked from commit 62eb828186f9248e99fa12cc9c0c8397e1520514)
Reviewed: https:/ /review. opendev. org/687972 /git.openstack. org/cgit/ openstack/ networking- ovn/commit/ ?id=01d86c3c97b 196279769522532 ccdef2c3bf52ec
Committed: https:/
Submitter: Zuul
Branch: stable/queens
commit 01d86c3c97b1962 79769522532ccde f2c3bf52ec
Author: Flavio Fernandes <email address hidden>
Date: Thu Sep 5 09:29:45 2019 +0000
Set binding profile directly from OVNTrunkDriver (redo)
Setting binding profile for Trunk subports takes
time - for 125 subports rally CreateAndListTrunks
scenario [0] takes about 150 seconds. We need to
bump up the perfomance because large number of
subports is widly used in Kuryr deployments.
To achieve that I changed setting the binding
profile to be saved directly to the neutron DB.
Instead calling port_update I update only related
fields in OVN NorthBound DB rows. That gave performance
improvement in trunk port creation:
from 101 sec to 35.6 for 95%ile
from 99 sec to 34.2 for 50%ile
The same thing has been done for Trunk deletion.
This reverts commit 2e0832f7b8bfc31 780b657aa0abda4 e8b244fbbd
[0] https:/ /github. com/openstack/ rally-openstack /blob/master/ rally_openstack /scenarios/ neutron/ trunk.py# L37
Note: While this is a back-merge from Rocky, special care was port.bindings is used.
needed to account for the fact that in Queens release there
is only one port binding for a db_port. Thus no iteration over
db_
Change-Id: I6b659cbede25f2 71fa3b6a1c9e720 19694ab6608 e99fa12cc9c0c83 97e1520514)
Closes-Bug: #1834637
Related-Bug: #1845479
Co-authored-by: Maciej Józefczyk <email address hidden>
(cherry picked from commit 62eb828186f9248