HA router can not be deleted in L3 agent after race between HA router creating and deleting
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
Medium
|
LIU Yulong | ||
Kilo |
Invalid
|
Undecided
|
Unassigned |
Bug Description
HA router can not be deleted in L3 agent after race between HA router creating and deleting
Exception:
1. Unable to process HA router %s without HA port (HA router initialize)
2. AttributeError: 'NoneType' object has no attribute 'config' (HA router deleting procedure)
With the newest neutron code, I find a infinite loop in _safe_router_
Consider a HA router without HA port was placed in the l3 agent,
usually because of the race condition.
Infinite loop steps:
1. a HA router deleting RPC comes
2. l3 agent remove it
3. the RouterInfo will delete its the router namespace(
4. the HaRouter, ha_router.delete(), where the AttributeError: 'NoneType' or some error will be raised.
5. _safe_router_
6. self._resync_
7. the router namespace is not existed, RuntimeError raised, go to 5, infinite loop 5 - 7
summary: |
- HA router can not be deleted after race between HA router creating and - deleting + HA router can not be deleted in L3 agent after race between HA router + creating and deleting |
description: | updated |
Changed in neutron: | |
assignee: | nobody → LIU Yulong (dragon889) |
status: | New → In Progress |
description: | updated |
tags: | added: kilo-backport-potential liberty-backport-potential |
tags: | added: l3-ha |
Changed in neutron: | |
assignee: | LIU Yulong (dragon889) → Kevin Benton (kevinbenton) |
Changed in neutron: | |
assignee: | Kevin Benton (kevinbenton) → Assaf Muller (amuller) |
tags: | removed: liberty-backport-potential |
Changed in neutron: | |
assignee: | Assaf Muller (amuller) → LIU Yulong (dragon889) |
Changed in neutron: | |
status: | New → In Progress |
Patch: /review. openstack. org/#/c/ 265672/
https:/