commit 37de2f6c4c831a8f4515eee9938996936dd2776c
Author: Kevin Benton <email address hidden>
Date: Fri Nov 18 04:25:32 2016 -0700
Lock in DHCP agent based on network_id
All cache operations and dnsmasq process operations
are scoped to a network ID so we can always safely
perform concurrent actions on different network IDs.
This patch adjusts the DHCP agent to lock based on
network ID rather than having a global lock for every
operation.
sync_state calls are still protected with a reader/writer
lock to ensure that when sync_state needs to run, all
other operations are blocked.
Related-Bug: #1548190
Change-Id: I56010dc801d82be56f12e834c5164316872c2f8b
(cherry picked from commit d1930cefd27448eefc373a229a26f8da25581983)
Squashed this this commit since tests fail otherwise:
Always acquire network.id lock in dhcp port update
Looking at the cache before aqcuiring a lock may cause the
agent to mistakenly think the network doesn't exist when it
is actually being wired in parallel.
Always acquiring the network-based semaphore will ensure that
the network isn't currently being setup in another coroutine.
Closes-Bug: #1659919
Change-Id: I99ae71e3c5b1cd91dca3f6c80b04d2ecb79de64f
(cherry picked from commit 38de22bf2d4c0879a84db4fbc9fa030f181affc0)
Reviewed: https:/ /review. openstack. org/452623 /git.openstack. org/cgit/ openstack/ neutron/ commit/ ?id=37de2f6c4c8 31a8f4515eee993 8996936dd2776c
Committed: https:/
Submitter: Jenkins
Branch: stable/newton
commit 37de2f6c4c831a8 f4515eee9938996 936dd2776c
Author: Kevin Benton <email address hidden>
Date: Fri Nov 18 04:25:32 2016 -0700
Lock in DHCP agent based on network_id
All cache operations and dnsmasq process operations
are scoped to a network ID so we can always safely
perform concurrent actions on different network IDs.
This patch adjusts the DHCP agent to lock based on
network ID rather than having a global lock for every
operation.
sync_state calls are still protected with a reader/writer
lock to ensure that when sync_state needs to run, all
other operations are blocked.
Related-Bug: #1548190 e56f12e834c5164 316872c2f8b efc373a229a26f8 da25581983)
Change-Id: I56010dc801d82b
(cherry picked from commit d1930cefd27448e
Squashed this this commit since tests fail otherwise:
Always acquire network.id lock in dhcp port update
Looking at the cache before aqcuiring a lock may cause the
agent to mistakenly think the network doesn't exist when it
is actually being wired in parallel.
Always acquiring the network-based semaphore will ensure that
the network isn't currently being setup in another coroutine.
Closes-Bug: #1659919 91dca3f6c80b04d 2ecb79de64f 9a84db4fbc9fa03 0f181affc0)
Change-Id: I99ae71e3c5b1cd
(cherry picked from commit 38de22bf2d4c087