Add dhcp to Fdb extension's permitted device owners

Change-Id: I8c15f340b82424de44f5477ce36b67efe76dee59
Closes-Bug: #1599473
This commit is contained in:
Edan David 2016-07-06 09:17:48 -04:00
parent 95472a8969
commit b6592c7372
2 changed files with 11 additions and 4 deletions

View File

@ -54,11 +54,18 @@ class FdbPopulationAgentExtension(agent_extension.AgentCoreResourceExtension):
# - device owner "compute": updates the FDB with normal port instances,
# required in order to enable communication between
# SR-IOV direct port instances and normal port instance.
# - device owner "router_interface": updates the FDB woth OVS/LB ports,
# - device owner "router_interface": updates the FDB with OVS/LB ports,
# required in order to enable communication for SR-IOV instances
# with floating ip that are located with the network node.
# - device owner "DHCP": not required because messages are broadcast.
PERMITTED_DEVICE_OWNERS = {'compute', 'network:router_interface'}
# - device owner "DHCP": updates the FDB with the dhcp server.
# When the lease expires a unicast renew message is sent
# to the dhcp server. In case the FDB is not updated
# the message will be sent to the wire, causing the message
# to get lost in case the sender uses direct port and is
# located on the same hypervisor as the network node.
PERMITTED_DEVICE_OWNERS = {'compute',
'network:router_interface',
'network:dhcp'}
class FdbTableTracker(object):
"""FDB table tracker is a helper class

View File

@ -128,7 +128,7 @@ class FdbPopulationExtensionTestCase(base.BaseTestCase):
fdb_extension = self._get_fdb_extension(mock_execute, '')
mock_execute.reset_mock()
details = copy.deepcopy(self.UPDATE_MSG)
details['device_owner'] = 'network:dhcp'
details['device_owner'] = 'neutron:LOADBALANCER'
fdb_extension.handle_port(context=None, details=details)
self.assertFalse(mock_execute.called)
updated_macs_for_device = (