fix dhcp bulk reload exceptions
1886969 - The bulk reload code was written for python2 and caused an exception running under python3. This change works under python3. 1890027 - There was an additional exception triggered when deleting networks - reading the network from the cache returned 'None' and this was not properly checked before use. Change-Id: I4e546c0e37146b1f34d8b5e6637c407b0c04ad4d Closes-Bug: 1886969 Closes-Bug: 1890027 Signed-off-by: Matt Vinall <boyvinall@gmail.com>
This commit is contained in:
parent
215a541bd4
commit
20b138ff31
@ -165,10 +165,15 @@ class DhcpAgent(manager.Manager):
|
||||
|
||||
def _reload_bulk_allocations(self):
|
||||
while True:
|
||||
for network_id in self._network_bulk_allocations.keys():
|
||||
# No need to lock access to _network_bulk_allocations because
|
||||
# greenthreads multi-task co-operatively.
|
||||
to_reload = self._network_bulk_allocations.keys()
|
||||
self._network_bulk_allocations = {}
|
||||
|
||||
for network_id in to_reload:
|
||||
network = self.cache.get_network_by_id(network_id)
|
||||
self.call_driver('bulk_reload_allocations', network)
|
||||
del self._network_bulk_allocations[network_id]
|
||||
if network is not None:
|
||||
self.call_driver('bulk_reload_allocations', network)
|
||||
eventlet.greenthread.sleep(self.conf.bulk_reload_interval)
|
||||
|
||||
def call_driver(self, action, network, **action_kwargs):
|
||||
|
Loading…
x
Reference in New Issue
Block a user