Add the port "fixed_ips" information in the DHCP RPC
In [1], a method to process the DHCP events in the correct order was
implemented. That method checks the port events in order to match
the "fixed_ips" field. That implies the Neutron server provides this
information in the port event, sent via RPC.
However in [2], the "fixed_ips" information was removed from the
``DhcpAgentNotifyAPI._after_router_interface_deleted``, causing a
periodic error in the ``DHCPResourceUpdate.__lt__`` method, as reported
in the LP bug. This patch is restoring this field in the RPC message.
[1]https://review.opendev.org/c/openstack/neutron/+/773160
[2]https://review.opendev.org/c/openstack/neutron/+/639814
Closes-Bug: #2071426
Change-Id: If1362b9b91794e74e8cf6bb233e661fba9fb3b26
(cherry picked from commit b0081ac6c0)
This commit is contained in:
@@ -284,6 +284,7 @@ class DhcpAgentNotifyAPI(object):
|
||||
port = payload.metadata.get('port')
|
||||
self._notify_agents(payload.context, 'port_delete_end',
|
||||
{'port_id': port['id'],
|
||||
'fixed_ips': port['fixed_ips'],
|
||||
'network_id': port['network_id']},
|
||||
port['network_id'])
|
||||
|
||||
|
||||
@@ -251,6 +251,7 @@ class TestDhcpAgentNotifyAPI(base.BaseTestCase):
|
||||
payload = events.DBEventPayload(
|
||||
mock.Mock(), metadata={
|
||||
'port': {'id': 'foo_port_id',
|
||||
'fixed_ips': mock.ANY,
|
||||
'network_id': 'foo_network_id'}})
|
||||
self._test__notify_agents_with_function(
|
||||
lambda: self.notifier._after_router_interface_deleted(
|
||||
|
||||
Reference in New Issue
Block a user