commit 4134f882cc695a4e1efa22502bc5dddc31a9865f
Author: Kevin Benton <email address hidden>
Date: Wed Feb 15 21:13:18 2017 -0800
Make ML2 OVO push notification asynchronous
The OVO push notification logic was blocking the AFTER_UPDATE
event for all core resources. This isn't problematic for individual
HTTP API calls. However, the agent current updates the status of
every port it wires two times, including on agent restarts.
In order to drastically reduce the impact of this notifier, this
patch moves it into a spawned eventlet coroutine so it doesn't
block the main AFTER_UPDATE events. A semaphore is used to prevent
multiple coroutines from trying to hit the database at once in the
background.
This doesn't change the semantics of the notifier since its goal
is always to send the latest events.
Reviewed: https:/ /review. openstack. org/434678 /git.openstack. org/cgit/ openstack/ neutron/ commit/ ?id=4134f882cc6 95a4e1efa22502b c5dddc31a9865f
Committed: https:/
Submitter: Jenkins
Branch: master
commit 4134f882cc695a4 e1efa22502bc5dd dc31a9865f
Author: Kevin Benton <email address hidden>
Date: Wed Feb 15 21:13:18 2017 -0800
Make ML2 OVO push notification asynchronous
The OVO push notification logic was blocking the AFTER_UPDATE
event for all core resources. This isn't problematic for individual
HTTP API calls. However, the agent current updates the status of
every port it wires two times, including on agent restarts.
In order to drastically reduce the impact of this notifier, this
patch moves it into a spawned eventlet coroutine so it doesn't
block the main AFTER_UPDATE events. A semaphore is used to prevent
multiple coroutines from trying to hit the database at once in the
background.
This doesn't change the semantics of the notifier since its goal
is always to send the latest events.
Partial-Bug: #1665215 c45f5b900e0979c 9a91865089b
Change-Id: Ic259bad6f65f4b