Fix BadRequest error on add_router_interface for DVR
This operation for DVR is made of multiple steps, some of
which are not within the same DB transaction. For this
reason, if a failure occurs, the rollback will be partial.
This inconsistent state leads the retry logic to fail with
BadRequest, because the router is believed to be already
connected to the subnet.
To fix this condition, it is necessary to delete the port
should the DB deadlock occur.
Reviewed: https:/ /review. openstack. org/222873 /git.openstack. org/cgit/ openstack/ neutron/ commit/ ?id=dafa61bd46b 7eacbc708d17a3f a492de971d6dd2
Committed: https:/
Submitter: Jenkins
Branch: master
commit dafa61bd46b7eac bc708d17a3fa492 de971d6dd2
Author: armando-migliaccio <email address hidden>
Date: Sat Sep 12 12:07:35 2015 -0700
Fix BadRequest error on add_router_ interface for DVR
This operation for DVR is made of multiple steps, some of
which are not within the same DB transaction. For this
reason, if a failure occurs, the rollback will be partial.
This inconsistent state leads the retry logic to fail with
BadRequest, because the router is believed to be already
connected to the subnet.
To fix this condition, it is necessary to delete the port
should the DB deadlock occur.
Closes-bug: #1494114
Change-Id: Ia2a73d6f9d1e47 46e761ad072d954 e64267a3ad1