]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commit
Call DVR VMARP notify outside of transaction
authorKevin Benton <blak111@gmail.com>
Sat, 11 Oct 2014 10:42:47 +0000 (03:42 -0700)
committerKevin Benton <blak111@gmail.com>
Tue, 14 Oct 2014 21:01:24 +0000 (14:01 -0700)
commit4c2b42e21744be56cbf32aeac6f4b4f1c87de24e
treec8c6d505afcbbf55c69281a01c32410ae907fb00
parent53b0e04ba195da36f4a45ae8fa5bb05ada04aa6d
Call DVR VMARP notify outside of transaction

The dvr vmarp table update notification was being called inside
of the delete_port transaction in ML2, which can cause a yield
and lead to the glorious mysql/eventlet deadlock.

This patch moves it outside the transaction and adjusts it to
use an existing port dictionary rather than re-looking it up since
the port is now gone from the DB by the time it is called.

Closes-Bug: #1377241
Change-Id: I0b4dac61e49b2a926353f8478e421cd1a70be038
neutron/db/l3_dvr_db.py
neutron/plugins/ml2/plugin.py
neutron/plugins/ml2/rpc.py
neutron/tests/unit/ml2/test_ml2_plugin.py