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
(cherry picked from commit 3d2543d710
)
This commit is contained in:
parent
bdf194a0e1
commit
68459f99ed
|
@ -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:
|
||||
|
|
|
@ -222,6 +222,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