Fix router listing under OVS
Override methods related to finding routers for particular agents to always return all of the routers, since we don't *have* an agent. Change-Id: I2bf08392fe291265fea21d53b27d9027dd29da48
This commit is contained in:
parent
9cc6d80a31
commit
c8cc9f3ba6
@ -16,6 +16,7 @@
|
|||||||
# under the License.
|
# under the License.
|
||||||
#
|
#
|
||||||
|
|
||||||
|
from neutron.db import l3_agentschedulers_db
|
||||||
from neutron.plugins.openvswitch import ovs_neutron_plugin
|
from neutron.plugins.openvswitch import ovs_neutron_plugin
|
||||||
|
|
||||||
from akanda.neutron.plugins import decorators as akanda
|
from akanda.neutron.plugins import decorators as akanda
|
||||||
@ -46,3 +47,26 @@ class OVSNeutronPluginV2(ovs_neutron_plugin.OVSNeutronPluginV2):
|
|||||||
def update_subnet(self, context, id, subnet):
|
def update_subnet(self, context, id, subnet):
|
||||||
return super(OVSNeutronPluginV2, self).update_subnet(
|
return super(OVSNeutronPluginV2, self).update_subnet(
|
||||||
context, id, subnet)
|
context, id, subnet)
|
||||||
|
|
||||||
|
def list_routers_on_l3_agent(self, context, agent_id):
|
||||||
|
# Override L3AgentSchedulerDbMixin method
|
||||||
|
query = context.session.query(
|
||||||
|
l3_agentschedulers_db.RouterL3AgentBinding.router_id
|
||||||
|
)
|
||||||
|
router_ids = [item[0] for item in query]
|
||||||
|
if router_ids:
|
||||||
|
return {'routers':
|
||||||
|
self.get_routers(context, filters={'id': router_ids})}
|
||||||
|
else:
|
||||||
|
return {'routers': []}
|
||||||
|
|
||||||
|
def list_active_sync_routers_on_active_l3_agent(
|
||||||
|
self, context, host, router_ids):
|
||||||
|
# Override L3AgentSchedulerDbMixin method
|
||||||
|
routers = self.get_routers(context)
|
||||||
|
router_ids = [r['id'] for r in routers]
|
||||||
|
if router_ids:
|
||||||
|
return self.get_sync_data(context, router_ids=router_ids,
|
||||||
|
active=True)
|
||||||
|
else:
|
||||||
|
return []
|
||||||
|
Loading…
x
Reference in New Issue
Block a user