Merge "Remove "_get_network_lock_id" compatibility method"

This commit is contained in:
Zuul 2021-10-18 10:40:00 +00:00 committed by Gerrit Code Review
commit 4206adf191
2 changed files with 6 additions and 37 deletions

View File

@ -537,30 +537,9 @@ class DhcpAgent(manager.Manager):
# Use the update handler for the subnet create event.
subnet_create_end = subnet_update_end
def _get_network_lock_id(self, payload):
"""Determine which lock to hold when servicing an RPC event"""
# TODO(alegacy): in a future release this function can be removed and
# uses of it can be replaced with payload['network_id']. It exists
# only to satisfy backwards compatibility between older servers and
# newer agents. Once the 'network_id' attribute is guaranteed to be
# sent by the server on all *_delete_end events then it can be removed.
if 'network_id' in payload:
return payload['network_id']
elif 'subnet_id' in payload:
subnet_id = payload['subnet_id']
network = self.cache.get_network_by_subnet_id(subnet_id)
return network.id if network else None
elif 'port_id' in payload:
port_id = payload['port_id']
port = self.cache.get_port_by_id(port_id)
return port.network_id if port else None
def subnet_delete_end(self, context, payload):
"""Handle the subnet.delete.end notification event."""
network_id = self._get_network_lock_id(payload)
if not network_id:
return
update = DHCPResourceUpdate(network_id,
update = DHCPResourceUpdate(payload['network_id'],
payload.get('priority', DEFAULT_PRIORITY),
action='_subnet_delete',
resource=payload, obj_type='subnet')
@ -569,9 +548,6 @@ class DhcpAgent(manager.Manager):
@_wait_if_syncing
@log_helpers.log_method_call
def _subnet_delete(self, payload):
network_id = self._get_network_lock_id(payload)
if not network_id:
return
subnet_id = payload['subnet_id']
network = self.cache.get_network_by_subnet_id(subnet_id)
if not network:
@ -711,10 +687,7 @@ class DhcpAgent(manager.Manager):
def port_delete_end(self, context, payload):
"""Handle the port.delete.end notification event."""
network_id = self._get_network_lock_id(payload)
if not network_id:
return
update = DHCPResourceUpdate(network_id,
update = DHCPResourceUpdate(payload['network_id'],
payload.get('priority', DEFAULT_PRIORITY),
action='_port_delete',
resource=payload, obj_type='port')
@ -723,9 +696,6 @@ class DhcpAgent(manager.Manager):
@_wait_if_syncing
@log_helpers.log_method_call
def _port_delete(self, payload):
network_id = self._get_network_lock_id(payload)
if not network_id:
return
port_id = payload['port_id']
port = self.cache.get_port_by_id(port_id)
self.cache.add_to_deleted_ports(port_id)

View File

@ -1245,7 +1245,8 @@ class TestDhcpAgentEventHandler(base.BaseTestCase):
subnets=[fake_subnet1, fake_subnet3],
ports=[fake_port1]))
payload = dict(subnet_id=fake_subnet1.id, priority=FAKE_PRIORITY)
payload = {'subnet_id': fake_subnet1.id, 'priority': FAKE_PRIORITY,
'network_id': fake_network.id}
self.cache.get_network_by_subnet_id.return_value = prev_state
self.cache.get_network_by_id.return_value = prev_state
self.plugin.get_network_info.return_value = fake_network
@ -1254,8 +1255,6 @@ class TestDhcpAgentEventHandler(base.BaseTestCase):
self.dhcp._process_resource_update()
self.cache.assert_has_calls([
mock.call.get_network_by_subnet_id(
'bbbbbbbb-bbbb-bbbb-bbbbbbbbbbbb'),
mock.call.get_network_by_subnet_id(
'bbbbbbbb-bbbb-bbbb-bbbbbbbbbbbb'),
mock.call.get_network_by_id('12345678-1234-5678-1234567890ab'),
@ -1415,7 +1414,8 @@ class TestDhcpAgentEventHandler(base.BaseTestCase):
[mock.call.call_driver('reload_allocations', fake_network)])
def test_port_delete_end_no_network_id(self):
payload = dict(port_id=fake_port2.id, priority=FAKE_PRIORITY)
payload = {'port_id': fake_port2.id, 'priority': FAKE_PRIORITY,
'network_id': fake_network.id}
self.cache.get_network_by_id.return_value = fake_network
self.cache.get_port_by_id.return_value = fake_port2
@ -1425,7 +1425,6 @@ class TestDhcpAgentEventHandler(base.BaseTestCase):
self.dhcp._process_resource_update()
self.cache.assert_has_calls(
[mock.call.get_port_by_id(fake_port2.id),
mock.call.get_port_by_id(fake_port2.id),
mock.call.add_to_deleted_ports(fake_port2.id),
mock.call.get_network_by_id(fake_network.id),
mock.call.remove_port(fake_port2)])