Comment 57 for bug 1834637

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to networking-ovn (stable/train)

Reviewed: https://review.opendev.org/698863
Committed: https://git.openstack.org/cgit/openstack/networking-ovn/commit/?id=c418dd720b9be9047d779f32407c474e90cb0002
Submitter: Zuul
Branch: stable/train

commit c418dd720b9be9047d779f32407c474e90cb0002
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
    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:

      Service-level agreement
      NeutronTrunks :: neutron.create_trunk

      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 as it's frozen now because of
    the code being merged to Neutron. The patch will be sent to master
    Neutron once code migration is finished.

    Change-Id: I7de3ac2a7cf8869ead8ab5fbb34a9861a96d3a0c
    Closes-Bug: #1834637
    Co-authored-by: Maciej Józefczyk <email address hidden>