← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1715370] Re: Migration between DVR+HA and HA creating redundant "network:router_ha_interface" ports

 

Reviewed:  https://review.openstack.org/501366
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=5b0165e9407da95dd1d26cd3ba226a939af80582
Submitter: Jenkins
Branch:    master

commit 5b0165e9407da95dd1d26cd3ba226a939af80582
Author: venkata anil <anilvenkata@xxxxxxxxxx>
Date:   Wed Sep 6 18:00:29 2017 +0000

    Avoid redundant HA port creation during migration
    
    When a router is migrated between DVR+HA and HA(i.e DVR+HA->HA and
    HA->DVR+HA), redundant "network:router_ha_interface" ports are created.
    For binding a HA router to a agent, existing code can create multiple
    ports, but is using only one port and other ports remain still in DB
    until router is deleted.
    
    In this patch, when duplicate entry is detected while binding,
    we remove the port which is created at that time for binding.
    
    Closes-Bug: 1715370
    Change-Id: I0c6c5f9dfce1bf2d99672b5cf9e072bfb0228a17


** Changed in: neutron
       Status: In Progress => 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/1715370

Title:
  Migration between DVR+HA and HA creating redundant
  "network:router_ha_interface" ports

Status in neutron:
  Fix Released

Bug description:
  When a router is migrated between DVR+HA and HA(i.e DVR+HA->HA and
  HA->DVR+HA), redundant "network:router_ha_interface" ports are
  created.

  To reproduce the issue(2 node setup with "dvr" and "dvr-snat" modes is sufficient), create a router 
  dr1 in DVR+HA mode. Then repeatedly flip this router's  DVR+HA and HA flags. You can see redundant "network:router_ha_interface" ports.

  I have a 2 node devstack setup, 1st l3-agent in "dvr" mode and 2nd one in "dvr-snat" mode.
  Whenever  HA flag is set to router, port with device_owner "network:router_ha_interface" should be created for only 2nd node i.e l3 agent  with "dvr-snat" mode.

  Steps to reproduce:
  1) create a network n1, and subnet on this network with name sn1
  2) create a DVR+HA router(with name 'dr1'), attach it to sn1 through router interface add and set gateway(router-gateway-set public)
  3) boot a vm on n1 and associate a floating ip
  4) set admin-state to False i.e neutron router-update --admin-state-up False dr1
  5) Now update the router to HA  i.e
     neutron router-update --distributed=False --ha=True <router-id>
     set admin-state to True
  6) There will be two "network:router_ha_interface" ports, though one will be used by qrouter-xx namespace
  7_ Again update router to DVR+HA
  8) There will be three "network:router_ha_interface" ports, though one will be used by snat-xx namespace

  I observed the "network:router_ha_interface" port first created will
  always be used by qrouter-xx(when router is HA) and snat-xx(when
  router is DVR+HA) and later created ports are never used.

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


References