DVR: dvr router ns should not exist in scheduled DHCP agent nodes
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
High
|
LIU Yulong |
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(
How to reproduce? (scenario 1)
set: dhcp_agents_
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-
Then the router test1 will exist in both network1 and network2. But in the DB routerl3agentbi
http://
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:/
description: | updated |
description: | updated |
description: | updated |
description: | updated |
Changed in neutron: | |
assignee: | nobody → LIU Yulong (dragon889) |
Changed in neutron: | |
assignee: | LIU Yulong (dragon889) → nobody |
description: | updated |
tags: | added: l3-dvr-backlog |
tags: | removed: l3-dvr-backlog |
tags: | added: l3-dvr-backlog |
Changed in neutron: | |
status: | New → Incomplete |
Changed in neutron: | |
assignee: | nobody → LIU Yulong (dragon889) |
status: | Incomplete → In Progress |
Changed in neutron: | |
status: | In Progress → Invalid |
Changed in neutron: | |
status: | Invalid → In Progress |
description: | updated |
summary: |
- DVR: dvr router should not exist in not-binded network node + DVR: dvr router should not exist in not-binded node |
summary: |
- DVR: dvr router should not exist in not-binded node + DVR: dvr router ns should not exist in scheduled DHCP agent nodes |
Changed in neutron: | |
importance: | Undecided → Wishlist |
Changed in neutron: | |
status: | In Progress → Invalid |
assignee: | LIU Yulong (dragon889) → nobody |
Changed in neutron: | |
assignee: | nobody → LIU Yulong (dragon889) |
status: | Opinion → In Progress |
Changed in neutron: | |
assignee: | LIU Yulong (dragon889) → Brian Haley (brian-haley) |
Changed in neutron: | |
assignee: | Brian Haley (brian-haley) → LIU Yulong (dragon889) |
Changed in neutron: | |
assignee: | LIU Yulong (dragon889) → Brian Haley (brian-haley) |
Changed in neutron: | |
assignee: | Brian Haley (brian-haley) → LIU Yulong (dragon889) |
tags: | added: neutron-proactive-backport-potential |
I do not think this is a bug, it is expected behavior.
On the first network node, the dvr_snat router was scheduled and created - so you should see both qrouter- and snat- namespaces. It will handle all routing and snat for instances.
On the other network node, the DHCP agent was scheduled. In that case, a DVR router is required for the dhcp server to be able to route, so a qrouter- was created for that purpose.
If you moved the dhcp agent to the other network node you should see that qrouter- namespace get deleted. Can you try that and confirm it works?