Set binding profile directly from OVNTrunkDriver (redo cont.)
This is a tweak to changes done to fix bug 1834637. Specifically,
this change addresses scaling. The previous gerrit change had
modifications to all OVN sub-ports performed as a single
transaction. That did not account for race-condition on neutron
DB queries, which leads to timeouts under heavy loads.
Another cleanup done by this change is to fold an additional
update on neutron db into ovn trunk driver. That saves
update from doing another database transaction, thus making
it faster. The no longer needed function in mech_driver was
called _update_subport_host_if_needed
By breaking the iteration into multiple transactions, the
change in time is marginal:
Reviewed: https:/ /review. opendev. org/698877 /git.openstack. org/cgit/ openstack/ networking- ovn/commit/ ?id=7f03767fd2e 1eb669e28a3261b 253e3aa3f37486
Committed: https:/
Submitter: Zuul
Branch: stable/rocky
commit 7f03767fd2e1eb6 69e28a3261b253e 3aa3f37486
Author: Flavio Fernandes <email address hidden>
Date: Fri Nov 22 15:11:48 2019 -0500
Set binding profile directly from OVNTrunkDriver (redo cont.)
This is a tweak to changes done to fix bug 1834637. Specifically,
this change addresses scaling. The previous gerrit change had
modifications to all OVN sub-ports performed as a single
transaction. That did not account for race-condition on neutron
DB queries, which leads to timeouts under heavy loads.
Another cleanup done by this change is to fold an additional subport_ host_if_ needed
update on neutron db into ovn trunk driver. That saves
update from doing another database transaction, thus making
it faster. The no longer needed function in mech_driver was
called _update_
By breaking the iteration into multiple transactions, the
change in time is marginal:
Service-level agreement create_ trunk
NeutronTrunks :: neutron.
from 34.2 sec to 35.6 for 50%ile
from 35.6 sec to 36.1 for 95%ile
This patch doesn't go to master networking-ovn. It
has been migrated to master Neutron [1].
[1]: https:/ /review. opendev. org/#/c/ 701646/
Change-Id: I7de3ac2a7cf886 9ead8ab5fbb34a9 861a96d3a0c 47d779f32407c47 4e90cb0002)
Closes-Bug: #1834637
Co-authored-by: Maciej Józefczyk <email address hidden>
(cherry picked from commit c418dd720b9be90