Merge "[DHCP] Break reference chain to any Exception object when resync" into stable/ussuri

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

View File

@ -229,7 +229,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)):
@ -354,7 +354,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

@ -599,7 +599,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):
@ -607,7 +607,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):