Fix InvalidRequestError in auto_schedule_routers
This was discussed in review [1], and was deferred until the time was ripe for the appropriate fix. As suggested and reported, auto_schedule_routers is too affected by this error. This patch takes care of the issue, in a similar way. [1] - https://review.openstack.org/#/c/112740/ Related-bug: #1354072 Closes-bug: #1360104 Change-Id: Ie3cb0c31dfa571c694cd38e19f72ff8503815635
This commit is contained in:
parent
2b66a38d9a
commit
ebcfed1ecd
@ -116,7 +116,6 @@ class L3Scheduler(object):
|
|||||||
|
|
||||||
:returns: True if routers have been successfully assigned to host
|
:returns: True if routers have been successfully assigned to host
|
||||||
"""
|
"""
|
||||||
with context.session.begin(subtransactions=True):
|
|
||||||
l3_agent = plugin.get_enabled_agent_on_host(
|
l3_agent = plugin.get_enabled_agent_on_host(
|
||||||
context, constants.AGENT_TYPE_L3, host)
|
context, constants.AGENT_TYPE_L3, host)
|
||||||
if not l3_agent:
|
if not l3_agent:
|
||||||
|
@ -100,7 +100,6 @@ class L3SchedulerBaseTestCase(base.BaseTestCase):
|
|||||||
super(L3SchedulerBaseTestCase, self).setUp()
|
super(L3SchedulerBaseTestCase, self).setUp()
|
||||||
self.scheduler = FakeL3Scheduler()
|
self.scheduler = FakeL3Scheduler()
|
||||||
self.plugin = mock.Mock()
|
self.plugin = mock.Mock()
|
||||||
self.context = q_context.get_admin_context()
|
|
||||||
|
|
||||||
def test_auto_schedule_routers(self):
|
def test_auto_schedule_routers(self):
|
||||||
self.plugin.get_enabled_agent_on_host.return_value = [mock.ANY]
|
self.plugin.get_enabled_agent_on_host.return_value = [mock.ANY]
|
||||||
@ -109,7 +108,7 @@ class L3SchedulerBaseTestCase(base.BaseTestCase):
|
|||||||
mock.patch.object(self.scheduler, 'get_routers_can_schedule')) as (
|
mock.patch.object(self.scheduler, 'get_routers_can_schedule')) as (
|
||||||
gs, gr):
|
gs, gr):
|
||||||
result = self.scheduler.auto_schedule_routers(
|
result = self.scheduler.auto_schedule_routers(
|
||||||
self.plugin, self.context, mock.ANY, mock.ANY)
|
self.plugin, mock.ANY, mock.ANY, mock.ANY)
|
||||||
self.assertTrue(self.plugin.get_enabled_agent_on_host.called)
|
self.assertTrue(self.plugin.get_enabled_agent_on_host.called)
|
||||||
self.assertTrue(result)
|
self.assertTrue(result)
|
||||||
self.assertTrue(gs.called)
|
self.assertTrue(gs.called)
|
||||||
@ -118,7 +117,7 @@ class L3SchedulerBaseTestCase(base.BaseTestCase):
|
|||||||
def test_auto_schedule_routers_no_agents(self):
|
def test_auto_schedule_routers_no_agents(self):
|
||||||
self.plugin.get_enabled_agent_on_host.return_value = None
|
self.plugin.get_enabled_agent_on_host.return_value = None
|
||||||
result = self.scheduler.auto_schedule_routers(
|
result = self.scheduler.auto_schedule_routers(
|
||||||
self.plugin, self.context, mock.ANY, mock.ANY)
|
self.plugin, mock.ANY, mock.ANY, mock.ANY)
|
||||||
self.assertTrue(self.plugin.get_enabled_agent_on_host.called)
|
self.assertTrue(self.plugin.get_enabled_agent_on_host.called)
|
||||||
self.assertFalse(result)
|
self.assertFalse(result)
|
||||||
|
|
||||||
@ -127,7 +126,7 @@ class L3SchedulerBaseTestCase(base.BaseTestCase):
|
|||||||
'get_routers_to_schedule') as mock_routers:
|
'get_routers_to_schedule') as mock_routers:
|
||||||
mock_routers.return_value = None
|
mock_routers.return_value = None
|
||||||
result = self.scheduler.auto_schedule_routers(
|
result = self.scheduler.auto_schedule_routers(
|
||||||
self.plugin, self.context, mock.ANY, mock.ANY)
|
self.plugin, mock.ANY, mock.ANY, mock.ANY)
|
||||||
self.assertTrue(self.plugin.get_enabled_agent_on_host.called)
|
self.assertTrue(self.plugin.get_enabled_agent_on_host.called)
|
||||||
self.assertFalse(result)
|
self.assertFalse(result)
|
||||||
|
|
||||||
@ -140,7 +139,7 @@ class L3SchedulerBaseTestCase(base.BaseTestCase):
|
|||||||
mock_unscheduled_routers.return_value = mock.ANY
|
mock_unscheduled_routers.return_value = mock.ANY
|
||||||
mock_target_routers.return_value = None
|
mock_target_routers.return_value = None
|
||||||
result = self.scheduler.auto_schedule_routers(
|
result = self.scheduler.auto_schedule_routers(
|
||||||
self.plugin, self.context, mock.ANY, mock.ANY)
|
self.plugin, mock.ANY, mock.ANY, mock.ANY)
|
||||||
self.assertTrue(self.plugin.get_enabled_agent_on_host.called)
|
self.assertTrue(self.plugin.get_enabled_agent_on_host.called)
|
||||||
self.assertFalse(result)
|
self.assertFalse(result)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user