[SRU] Neutron agent blocks during VM deletion when a remote security group is involved
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu Cloud Archive |
Invalid
|
Undecided
|
Unassigned | ||
Ussuri |
Fix Released
|
Medium
|
Unassigned | ||
Victoria |
Fix Released
|
Medium
|
Unassigned | ||
neutron |
Fix Released
|
Medium
|
Henning Eggers | ||
neutron (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Medium
|
Unassigned |
Bug Description
When deleting a VM that has a security group referring to a remote security group, the neutron agent will block for as long as it takes to remove the respective flows. This happens when the remote security group contains many (thousands) ports referring to other VMs.
Steps to reproduce:
- Create a VM with security group A
- Add a rule to security group A allowing access from a remote security group B
- Add a large number or ports to security group B (e.g. 2000)
- The respective ovs flows will be added
- Delete the VM
- The ovs flows will be removed
Expected:
- VM and flow to be deleted within seconds
- No impact to other VMs on the same hypervisor
Actual:
- Flow deletion takes a long time, sometimes up to 10 minutes
- While flows are being deleted, no VMs can be created on the same hypervisor
The reason for this behavior is that under the hood the agent calls ovs-ofctl (via execve()) once for each port in the remote security group. These calls quickly add up to minutes if there are many ports.
The proposed solution would be to use deferred execution for the flow deletion. In that case it becomes a bulk operation and around 400 flows are deleted in one call. In addition it runs in the background and does not block the agent for other operations.
[Impact]
Please see LP bug description for full details.
[Test Plan]
Please see the section 'Steps to reproduce in LP bug description.
[Regression Potential]
This is fixed in ubuntu jammy and in cloud archive wallaby+ releases. The SRU will include fixes for usuri/victoria cloud archives and ubuntu focal. The fix[1] is already in the upstream stable branches.
[1] https:/
tags: | added: ovs-fw |
Changed in neutron: | |
importance: | Undecided → Medium |
Changed in neutron: | |
assignee: | nobody → Henning Eggers (henninge) |
Changed in cloud-archive: | |
status: | New → Invalid |
Changed in neutron (Ubuntu Focal): | |
status: | New → Triaged |
Changed in neutron (Ubuntu): | |
status: | New → Invalid |
Changed in neutron (Ubuntu Focal): | |
importance: | Undecided → Medium |
description: | updated |
tags: |
added: verification-victoria-done removed: verification-victoria-needed |
Fix proposed to branch: master /review. opendev. org/c/openstack /neutron/ +/843253
Review: https:/