DVR routers attached to shared networks aren't being unscheduled from a compute node after deleting the VMs using the shared net
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
Undecided
|
Oleg Bondarev | ||
Juno |
Fix Released
|
Undecided
|
Unassigned | ||
Kilo |
New
|
Undecided
|
Unassigned |
Bug Description
As the administrator, a DVR router is created and attached to a shared network. The administrator also created the shared network.
As a non-admin tenant, a VM is created with the port using the shared network. The only VM using the shared network is scheduled to a compute node. When the VM is deleted, it is expected the qrouter namespace of the DVR router is removed. But it is not. This doesn't happen with routers attached to networks that are not shared.
The environment consists of 1 controller node and 1 compute node.
Routers having the problem are created by the administrator attached to shared networks that are also owned by the admin:
As the administrator, do the following commands on a setup having 1 compute node and 1 controller node:
1. neutron net-create shared-net -- --shared True
Shared net's uuid is f9ccf1f9-
2. neutron subnet-create --name shared-subnet shared-net 10.0.0.0/16
3. neutron router-create shared-router
Router's UUID is ab78428a-
4. neutron router-
5. neutron router-gateway-set shared-router public
As a non-admin tenant (tenant-id: 95cd5d9c61cf45c
1. neutron net-show shared-net
+------
| Field | Value |
+------
| admin_state_up | True |
| id | f9ccf1f9-
| name | shared-net |
| router:external | False |
| shared | True |
| status | ACTIVE |
| subnets | c4fd4279-
| tenant_id | 2a54d6758fab47f
+------
At this point, there are no VMs using the shared-net network running in the environment.
2. Boot a VM that uses the shared-net network: nova boot ... --nic net-id=
3. Assign a floating IP to the VM "vm_sharednet"
4. Delete "vm_sharednet". On the compute node, the qrouter namespace of the shared router (qrouter-
stack@DVR-
qrouter-
...
This is consistent with the output of "neutron l3-agent-
$ neutron l3-agent-
+------
| id | host | admin_state_up | alive |
+------
| 42f12eb0-
| ff869dc5-
+------
Running the "neutron l3-agent-
$ neutron l3-agent-
Removed router ab78428a-
stack@DVR-
stack@DVR-
This is a workaround to get the qrouter namespace deleted from the compute node. The L3-agent scheduler should have removed the router from the compute node when the VM is deleted.
Changed in neutron: | |
assignee: | nobody → Stephen Ma (stephen-ma) |
tags: | added: l3-dvr-backlog |
tags: | added: juno-backport-potential |
Changed in neutron: | |
milestone: | none → liberty-1 |
status: | Fix Committed → Fix Released |
Changed in neutron: | |
milestone: | liberty-1 → 7.0.0 |
tags: | removed: juno-backport-potential |
Fix proposed to branch: master /review. openstack. org/159296
Review: https:/