Reviewed: https://review.opendev.org/364793 Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=8f057fb49ac637bd0dbf60ca07b89f0e4a59c7b7 Submitter: Zuul Branch: master
commit 8f057fb49ac637bd0dbf60ca07b89f0e4a59c7b7 Author: LIU Yulong <[email protected]> Date: Fri Aug 19 10:16:44 2016 +0800 DVR: Ignore DHCP port during DVR host query For large scale deployment, the dvr router will be installed to the scheduled DHCP host. This will definitely increase the l3 agent service pressure, especially in large number of concurrent updates, creation, or agent restart. This patch adds a config ``host_dvr_for_dhcp`` for the DHCP port device_owner filter during DVR host query. Then if we set ``host_dvr_for_dhcp = False``, L3-agent will not host the DVR router namespace in its connected networks' DHCP agent hosts. Closes-Bug: #1609217 Change-Id: I53e20be9b306bf9d3b34ec6a31e3afabd5a0fd6f ** 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/1609217 Title: DVR: dvr router ns should not exist in scheduled DHCP agent nodes Status in neutron: Fix Released Bug description: ENV: stable/mitaka hosts: compute1 (nova-compute, l3-agent (dvr), metedate-agent) compute2 (nova-compute, l3-agent (dvr), metedate-agent) network1 (l3-agent (dvr_snat), metedata-agent, dhcp-agent) network2 (l3-agent(dvr_snat), metedata-agent, dhcp-agent) How to reproduce? (scenario 1) set: dhcp_agents_per_network = 2 1. create a DVR router: neutron router-create --ha False --distributed True test1 2. Create a network & subnet with dhcp enabled. neutron net-create test1 neutron subnet-create --enable-dhcp test1 --name test1 192.168.190.0/24 3. Attach the router and subnet neutron router-interface-add test1 subnet=test1 Then the router test1 will exist in both network1 and network2. But in the DB routerl3agentbindings, there is only one record for DVR router to one l3 agent. http://paste.openstack.org/show/547695/ And for another scenario 2: change the network2 node deployment to only run metedata-agent, dhcp-agent. Both in the qdhcp-namespace and the VM could ping each other. So qrouter-namespace in the not-binded network node is not used, and should not exist. Code: The essential code issue may be DHCP port should not be considered in DVR host query. https://github.com/openstack/neutron/blob/master/neutron/common/utils.py#L258 To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1609217/+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

