fix DHCP port changed when dhcp-agent restart
When DHCP server is started, the periodic task is running before loading cache state.The method port_update_end need to use the cache information, but the cache information has not been loaded. Change-Id: I0d1da11bb559b7f0f9d4428b82573fb26916a933 Closes-Bug: #1420042
This commit is contained in:
parent
a8f4358e3d
commit
3d2543d710
@ -70,6 +70,9 @@ class DhcpAgent(manager.Manager):
|
||||
config=self.conf,
|
||||
resource_type='dhcp')
|
||||
|
||||
def init_host(self):
|
||||
self.sync_state()
|
||||
|
||||
def _populate_networks_cache(self):
|
||||
"""Populate the networks cache when the DHCP-agent starts."""
|
||||
try:
|
||||
|
@ -221,6 +221,12 @@ class TestDhcpAgent(base.BaseTestCase):
|
||||
self.mock_makedirs_p = mock.patch("os.makedirs")
|
||||
self.mock_makedirs = self.mock_makedirs_p.start()
|
||||
|
||||
def test_init_host(self):
|
||||
dhcp = dhcp_agent.DhcpAgent(HOSTNAME)
|
||||
with mock.patch.object(dhcp, 'sync_state') as sync_state:
|
||||
dhcp.init_host()
|
||||
sync_state.assert_called_once_with()
|
||||
|
||||
def test_dhcp_agent_manager(self):
|
||||
state_rpc_str = 'neutron.agent.rpc.PluginReportStateAPI'
|
||||
# sync_state is needed for this test
|
||||
|
Loading…
Reference in New Issue
Block a user