Merge "[DHCP] Break reference chain to any Exception object when resync"

This commit is contained in:
Zuul 2022-04-20 17:48:53 +00:00 committed by Gerrit Code Review
commit ca9b8ec0be
2 changed files with 4 additions and 4 deletions

View File

@ -237,7 +237,7 @@ class DhcpAgent(manager.Manager):
# allocation failure. When the subnet is updated with a new
# allocation pool or a port is deleted to free up an IP, this
# will automatically be retried on the notification
self.schedule_resync(e, network.id)
self.schedule_resync(str(e), network.id)
if (isinstance(e, oslo_messaging.RemoteError) and
e.exc_type == 'NetworkNotFound' or
isinstance(e, exceptions.NetworkNotFound)):
@ -362,7 +362,7 @@ class DhcpAgent(manager.Manager):
net = "*"
LOG.debug("resync (%(network)s): %(reason)s",
{"reason": r, "network": net})
self.sync_state(reasons.keys())
self.sync_state(list(reasons.keys()))
def periodic_resync(self):
"""Spawn a thread to periodically resync the dhcp state."""

View File

@ -672,7 +672,7 @@ class TestDhcpAgent(base.BaseTestCase):
sync_state.side_effect = RuntimeError
with testtools.ExpectedException(RuntimeError):
dhcp._periodic_resync_helper()
sync_state.assert_called_once_with(resync_reasons.keys())
sync_state.assert_called_once_with(list(resync_reasons.keys()))
self.assertEqual(0, len(dhcp.needs_resync_reasons))
def test_periodic_resync_helper_with_event(self):
@ -680,7 +680,7 @@ class TestDhcpAgent(base.BaseTestCase):
dhcp = dhcp_agent.DhcpAgent(HOSTNAME)
dhcp.schedule_resync('reason1', 'a')
dhcp.schedule_resync('reason1', 'b')
reasons = dhcp.needs_resync_reasons.keys()
reasons = list(dhcp.needs_resync_reasons.keys())
with mock.patch.object(dhcp, 'sync_state') as sync_state:
sync_state.side_effect = RuntimeError
with testtools.ExpectedException(RuntimeError):