Merge "Return no active network if the agent has not been learnt yet"
This commit is contained in:
commit
7e77fb2647
@ -23,6 +23,7 @@ from neutron.common import constants
|
|||||||
from neutron.common import utils
|
from neutron.common import utils
|
||||||
from neutron.db import agents_db
|
from neutron.db import agents_db
|
||||||
from neutron.db import model_base
|
from neutron.db import model_base
|
||||||
|
from neutron.extensions import agent as ext_agent
|
||||||
from neutron.extensions import dhcpagentscheduler
|
from neutron.extensions import dhcpagentscheduler
|
||||||
from neutron.openstack.common import log as logging
|
from neutron.openstack.common import log as logging
|
||||||
|
|
||||||
@ -184,8 +185,13 @@ class DhcpAgentSchedulerDbMixin(dhcpagentscheduler
|
|||||||
return {'networks': []}
|
return {'networks': []}
|
||||||
|
|
||||||
def list_active_networks_on_active_dhcp_agent(self, context, host):
|
def list_active_networks_on_active_dhcp_agent(self, context, host):
|
||||||
agent = self._get_agent_by_type_and_host(
|
try:
|
||||||
context, constants.AGENT_TYPE_DHCP, host)
|
agent = self._get_agent_by_type_and_host(
|
||||||
|
context, constants.AGENT_TYPE_DHCP, host)
|
||||||
|
except ext_agent.AgentNotFoundByTypeHost:
|
||||||
|
LOG.debug("DHCP Agent not found on host %s", host)
|
||||||
|
return []
|
||||||
|
|
||||||
if not agent.admin_state_up:
|
if not agent.admin_state_up:
|
||||||
return []
|
return []
|
||||||
query = context.session.query(NetworkDhcpAgentBinding.network_id)
|
query = context.session.query(NetworkDhcpAgentBinding.network_id)
|
||||||
|
@ -576,6 +576,12 @@ class OvsAgentSchedulerTestCase(OvsAgentSchedulerTestCaseBase):
|
|||||||
self.assertEqual(1, num_before_remove)
|
self.assertEqual(1, num_before_remove)
|
||||||
self.assertEqual(0, num_after_remove)
|
self.assertEqual(0, num_after_remove)
|
||||||
|
|
||||||
|
def test_list_active_networks_on_not_registered_yet_dhcp_agent(self):
|
||||||
|
plugin = manager.NeutronManager.get_plugin()
|
||||||
|
nets = plugin.list_active_networks_on_active_dhcp_agent(
|
||||||
|
self.adminContext, host=DHCP_HOSTA)
|
||||||
|
self.assertEqual([], nets)
|
||||||
|
|
||||||
def test_reserved_port_after_network_remove_from_dhcp_agent(self):
|
def test_reserved_port_after_network_remove_from_dhcp_agent(self):
|
||||||
dhcp_hosta = {
|
dhcp_hosta = {
|
||||||
'binary': 'neutron-dhcp-agent',
|
'binary': 'neutron-dhcp-agent',
|
||||||
|
Loading…
Reference in New Issue
Block a user