Fip namespace and agent gateway port can be shared by multiple dvr routers.
This change uses a set as the control variable for these shared resources
and ensures that Test and Set operation on the control variable are
performed atomically so that race conditions do not occur among
multiple threads processing floating IPs.
Limitation: The scope of this change is limited to addressing the race
condition described in the bug report. It may not address other issues
such as pre-existing issue with handling of DVR floatingips on agent
restart.
Reviewed: https:/ /review. openstack. org/128131 /git.openstack. org/cgit/ openstack/ neutron/ commit/ ?id=99024000390 18d77aa3034147c fb24ca4b2353f6
Committed: https:/
Submitter: Jenkins
Branch: master
commit 9902400039018d7 7aa3034147cfb24 ca4b2353f6
Author: rajeev <email address hidden>
Date: Mon Oct 13 16:25:36 2014 -0400
Fix race condition on processing DVR floating IPs
Fip namespace and agent gateway port can be shared by multiple dvr routers.
This change uses a set as the control variable for these shared resources
and ensures that Test and Set operation on the control variable are
performed atomically so that race conditions do not occur among
multiple threads processing floating IPs.
Limitation: The scope of this change is limited to addressing the race
condition described in the bug report. It may not address other issues
such as pre-existing issue with handling of DVR floatingips on agent
restart.
closes-bug: #1381238
Change-Id: I6dc2b7bad6e8dd baa86c1f7a1e202 8aeacc3afef