← Back to team overview

yahoo-eng-team team mailing list archive

[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