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 <[email protected]> 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 -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

