Enforce router admin_state_up=False before distributed update
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
Medium
|
Matt Welch |
Bug Description
Until now, the API has allowed changing the distributed attribute of a router in the same request with changing its admin-state-up attribute to False. This does not seem to cause a problem when upgrading a router from centralized to distributed, but downgrading a distributed router to centralized can cause an issue.
When the distributed attribute is set to false, then a notification should be sent to the node hosting the centralized router or all of the nodes hosting the distributed router. If the distributed attribute is set to false, the notification will only to one node, resulting in all the other instances of the distributed router getting stuck configured as distributed. This can affect communication to VM instances until the L3 agent realizes the router is no longer set to distributed and cleans up the node. This delay can be as long as the length of the agent audit interval.
Rather than remembering the old state of the router, we have chosen to enforce that the user update the admin-state-up attribute to false before changing the distributed attribute. Effectively, routers will need to be in admin-state-
Before this change the following was possible:
neutron router-update tenant2-router --distributed false --admin-state-up false
neutron router-update tenant2-router --admin-state-up true
After this change the following is required:
neutron router-update tenant2-router --admin-state-up false
neutron router-update tenant2-router --distributed false --admin-state-up true
Horizon workflows may need a similar restriction.
*Version*
OpenStack installed via devstack, git hash d1fe5ad507c6dcb
Neutron git hash 77a8b020c3da77f
Changed in neutron: | |
assignee: | nobody → Matt Welch (mattw4) |
status: | New → In Progress |
tags: | added: rfe |
summary: |
- Enforce router admin_state_up=False before distributed update + [RFE] Enforce router admin_state_up=False before distributed update |
Changed in neutron: | |
importance: | Undecided → Wishlist |
Changed in neutron: | |
status: | Confirmed → In Progress |
Changed in neutron: | |
assignee: | Matt Welch (mattw4) → Igor D.C. (igordc) |
Changed in neutron: | |
assignee: | Igor D.C. (igordc) → nobody |
Changed in neutron: | |
assignee: | nobody → Matt Welch (mattw4) |
description: | updated |
summary: |
- [RFE] Enforce router admin_state_up=False before distributed update + Enforce router admin_state_up=False before distributed update |
Have you spoken to anyone on the neutron drivers team regards this change?
IMHO it seems borderline RFE and appears to change the API behavior.
Before going too far with the work on this one, we should probably have someone from the drivers team confirm it.