** Changed in: neutron
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1452458
Title:
Server returns error 500 when setting a DVR router as a gateway on a
network with no subnet, and then adding an interface
Status in neutron:
Fix Released
Bug description:
Steps to reproduce:
1) Create DVR router
2) Set it as a gateway on an external network with no subnet (Note: I have no
idea what this means or why would someone do this). The operation succeeds as
it does with legacy routers.
3) Add a router interface on an internal subnet. This will return error 500.
The internal port and its SNAT port will be created successfully, with DOWN
status. (Note: This step would succeed / not return error 500 on legacy
routers).
Trace from server log:
2015-05-07 00:16:37.421 25776 ERROR neutron.api.v2.resource
[req-de30ab02-3867-4772-9c1b-55c2f0a864bf ] add_router_interface failed
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource Traceback (most
recent call last):
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/site-packages/neutron/api/v2/resource.py", line 83, in
resource
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource result =
method(request=request, **args)
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/site-packages/neutron/api/v2/base.py", line 207, in
_handle_action
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource return
getattr(self._plugin, name)(*arg_list, **kwargs)
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/site-packages/neutron/db/l3_dvr_db.py", line 309, in
add_router_interface
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource context,
router_interface_info, 'add')
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/site-packages/neutron/db/l3_db.py", line 1304, in
notify_router_interface_action
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource {'subnet_id':
router_interface_info['subnet_id']})
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/site-packages/neutron/db/l3_db.py", line 1280, in
notify_routers_updated
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource context,
router_ids, operation, data)
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/site-packages/neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py",
line 144, in router
s_updated
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource operation,
shuffle_agents)
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/site-packages/neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py",
line 115, in _notif
ication
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource
plugin.schedule_routers(adminContext, router_ids)
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/site-packages/neutron/db/l3_agentschedulers_db.py", line
497, in schedule_routers
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource
self.schedule_router(context, router, candidates=None)
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/site-packages/neutron/db/l3_agentschedulers_db.py", line
492, in schedule_router
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource self,
context, router, candidates=candidates)
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/site-packages/neutron/scheduler/l3_agent_scheduler.py",
line 359, in schedule
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource plugin,
context, router_id, candidates=candidates)
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/site-packages/neutron/scheduler/l3_agent_scheduler.py",
line 253, in _schedule_router
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource plugin,
context, sync_router)
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/site-packages/neutron/scheduler/l3_agent_scheduler.py",
line 185, in get_candidates
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource
active_l3_agents)
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/site-packages/neutron/db/l3_agentschedulers_db.py", line
480, in get_l3_agent_candidat
es
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource context,
l3_agent, sync_router['id'])):
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/site-packages/neutron/db/l3_agentschedulers_db.py", line
377, in check_ports_exist_on_
l3agent
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource subnet_ids =
self.get_subnet_ids_on_router(context, router_id)
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/site-packages/neutron/db/l3_dvrscheduler_db.py", line 143,
in get_subnet_ids_on_router
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource int_subnet =
int_ips[0]['subnet_id']
2015-05-07 00:16:37.421 25776 TRACE neutron.api.v2.resource IndexError: list
index out of range
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1452458/+subscriptions
--
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help : https://help.launchpad.net/ListHelp