yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #79717
[Bug 1609217] Re: DVR: dvr router ns should not exist in scheduled DHCP agent nodes
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 <liuyulong@xxxxxx>
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
References