← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1811166] [NEW] Enforce router admin_state_up=False before distributed update

 

Public bug reported:

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, the 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-up=False to modify the distributed attribute.
Once disabled, the user can modify the distributed attribute and admin
state in a single request.

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 d1fe5ad507c6dcb6955d66fab0b6bc9fb59a80f2
Neutron git hash 77a8b020c3da77fd0329ae349a2cab952e4bc37a

** Affects: neutron
     Importance: Undecided
         Status: New


** Tags: l3-dvr-backlog

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

Title:
  Enforce router admin_state_up=False before distributed update

Status in neutron:
  New

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, the 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-up=False to modify the distributed
  attribute.  Once disabled, the user can modify the distributed
  attribute and admin state in a single request.

  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 d1fe5ad507c6dcb6955d66fab0b6bc9fb59a80f2
  Neutron git hash 77a8b020c3da77fd0329ae349a2cab952e4bc37a

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


Follow ups