Comment 12 for bug 1372438

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (stable/juno)

Reviewed: https://review.openstack.org/129166
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=4a84be59db123df8618e5c0d0614c8a927e68196
Submitter: Jenkins
Branch: stable/juno

commit 4a84be59db123df8618e5c0d0614c8a927e68196
Author: Vivekanandan Narasimhan <email address hidden>
Date: Tue Sep 23 02:25:16 2014 -0700

    Race for l2pop when ports go up/down on same host

    With l2pop enabled, race exists in delete_port_postcommit
    when both create/update_port and delete_port deal with
    different ports on the same host, where such ports are
    either the first (or) last on same network for that host.
    This race happens outside the DB locking zones in
    the respective methods of ML2 plugin.

    To fix this, we have moved determination of
    fdb_entries back to delete_port_postcommit and removed
    delete_port_precommit altogether from l2pop mechanism
    driver. In order to accomodate dvr interfaces, we
    are storing and re-using the mechanism-driver context
    which hold dvr-port-binding information while
    invoking delete_port_postcommit. We loop through
    dvr interface bindings invoking delete_port_postcommit
    similar to delete_port_precommit.

    Closes-Bug: #1372438
    Change-Id: If0502f57382441fdb4510c81a89794f57a38e696
    (cherry picked from commit 3cd2163d5105faad389bee5175ef446f0bb90289)