← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1497980] [NEW] DB Exception during rescheduling

 

Public bug reported:

The follwoing trace can be seen on Kilo code during router failover:

 28608 ERROR neutron.db.l3_agentschedulers_db [req-a4af4755-6bf4-4082-bf0f-f5ad12e341ac ] Exception encountered during router rescheduling.
 28608 TRACE neutron.db.l3_agentschedulers_db Traceback (most recent call last):
 28608 TRACE neutron.db.l3_agentschedulers_db File "/usr/lib/python2.7/dist-packages/neutron/db/l3_agentschedulers_db.py", line 121, in reschedule_routers_from_down_agents
 28608 TRACE neutron.db.l3_agentschedulers_db self.reschedule_router(context, binding.router_id)
 28608 TRACE neutron.db.l3_agentschedulers_db File "/usr/lib/python2.7/dist-packages/neutron/db/l3_agentschedulers_db.py", line 263, in reschedule_router
 28608 TRACE neutron.db.l3_agentschedulers_db self._unbind_router(context, router_id, agent['id'])
 28608 TRACE neutron.db.l3_agentschedulers_db File "/usr/lib/python2.7/dist-packages/neutron/db/l3_dvrscheduler_db.py", line 357, in _unbind_router
 28608 TRACE neutron.db.l3_agentschedulers_db self.unbind_snat_servicenode(context, router_id)
 28608 TRACE neutron.db.l3_agentschedulers_db File "/usr/lib/python2.7/dist-packages/neutron/db/l3_dvrscheduler_db.py", line 317, in unbind_snat_servicenode
 28608 TRACE neutron.db.l3_agentschedulers_db binding = self.unbind_snat(context, router_id)
 28608 TRACE neutron.db.l3_agentschedulers_db File "/usr/lib/python2.7/dist-packages/neutron/db/l3_dvrscheduler_db.py", line 265, in unbind_snat
 28608 TRACE neutron.db.l3_agentschedulers_db binding = query.one()
 28608 TRACE neutron.db.l3_agentschedulers_db File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2378, in one
 28608 TRACE neutron.db.l3_agentschedulers_db "Multiple rows were found for one()")
 28608 TRACE neutron.db.l3_agentschedulers_db MultipleResultsFound: Multiple rows were found for one()

User impact: In case such condition is hit (multiple bindings for snat
router) rescheduling will always fail, potentially preventing routers to
failover.

** Affects: neutron
     Importance: Medium
     Assignee: Eugene Nikanorov (enikanorov)
         Status: New


** Tags: db l3-ipam-dhcp

** Tags added: l3-ipam-dhcp

** Tags added: db

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1497980

Title:
  DB Exception during rescheduling

Status in neutron:
  New

Bug description:
  The follwoing trace can be seen on Kilo code during router failover:

   28608 ERROR neutron.db.l3_agentschedulers_db [req-a4af4755-6bf4-4082-bf0f-f5ad12e341ac ] Exception encountered during router rescheduling.
   28608 TRACE neutron.db.l3_agentschedulers_db Traceback (most recent call last):
   28608 TRACE neutron.db.l3_agentschedulers_db File "/usr/lib/python2.7/dist-packages/neutron/db/l3_agentschedulers_db.py", line 121, in reschedule_routers_from_down_agents
   28608 TRACE neutron.db.l3_agentschedulers_db self.reschedule_router(context, binding.router_id)
   28608 TRACE neutron.db.l3_agentschedulers_db File "/usr/lib/python2.7/dist-packages/neutron/db/l3_agentschedulers_db.py", line 263, in reschedule_router
   28608 TRACE neutron.db.l3_agentschedulers_db self._unbind_router(context, router_id, agent['id'])
   28608 TRACE neutron.db.l3_agentschedulers_db File "/usr/lib/python2.7/dist-packages/neutron/db/l3_dvrscheduler_db.py", line 357, in _unbind_router
   28608 TRACE neutron.db.l3_agentschedulers_db self.unbind_snat_servicenode(context, router_id)
   28608 TRACE neutron.db.l3_agentschedulers_db File "/usr/lib/python2.7/dist-packages/neutron/db/l3_dvrscheduler_db.py", line 317, in unbind_snat_servicenode
   28608 TRACE neutron.db.l3_agentschedulers_db binding = self.unbind_snat(context, router_id)
   28608 TRACE neutron.db.l3_agentschedulers_db File "/usr/lib/python2.7/dist-packages/neutron/db/l3_dvrscheduler_db.py", line 265, in unbind_snat
   28608 TRACE neutron.db.l3_agentschedulers_db binding = query.one()
   28608 TRACE neutron.db.l3_agentschedulers_db File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2378, in one
   28608 TRACE neutron.db.l3_agentschedulers_db "Multiple rows were found for one()")
   28608 TRACE neutron.db.l3_agentschedulers_db MultipleResultsFound: Multiple rows were found for one()

  User impact: In case such condition is hit (multiple bindings for snat
  router) rescheduling will always fail, potentially preventing routers
  to failover.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1497980/+subscriptions


Follow ups