← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1609217] [NEW] DVR: dvr router should not exist in not-binded network node

 

Public bug reported:

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

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 the network node qrouter-namespace is not used.

Code:
The function in following position should not return the DVR router id in scenario 1.
https://github.com/openstack/neutron/blob/master/neutron/db/l3_dvrscheduler_db.py#L263

** Affects: neutron
     Importance: Undecided
         Status: New

** Description changed:

  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), metedate-agent, dhcp-agent)
- network2 (l3-agent(dvr_snat), metedate-agent, dhcp-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
  
- 
  And for another scenario 2:
- change the network2 node deployment to only run metedate-agent, dhcp-agent.
+ 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 the network node qrouter-namespace is not used.
- 
  
  Code:
  The function in following position should not return the DVR router id in scenario 1.
  https://github.com/openstack/neutron/blob/master/neutron/db/l3_dvrscheduler_db.py#L249

** Description changed:

  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
  
  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 the network node qrouter-namespace is not used.
  
  Code:
  The function in following position should not return the DVR router id in scenario 1.
- https://github.com/openstack/neutron/blob/master/neutron/db/l3_dvrscheduler_db.py#L249
+ https://github.com/openstack/neutron/blob/master/neutron/db/l3_dvrscheduler_db.py#L263

-- 
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 should not exist in not-binded network node

Status in neutron:
  New

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

  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 the network node qrouter-namespace is not used.

  Code:
  The function in following position should not return the DVR router id in scenario 1.
  https://github.com/openstack/neutron/blob/master/neutron/db/l3_dvrscheduler_db.py#L263

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


Follow ups