Defer flow deletion in openvswitch firewall
Reduces the deletion time of conjunction flows on hypervisors
where virtual machines reside which are part of a security
group that has remote security groups as target which contain
thousands of ports.
Without deferred deletion the agent will call ovs-ofctl several
hundred times in succession, during this time the agent will
block any new vm creation or neutron port modifications on this
hypervisor.
This patch has been tested using a single network with a single
vm with a security group that points to a remote security group
with 2000 ports.
During testing without the patch, the iteration time for deletion
was at around 500 seconds. After adding the patch to the l2 agent
on the test environment the same deletion time went down to
4 seconds.
Closes-Bug: #1975674
Change-Id: I46b1fe94b2e358f7f4b2cd4943a74ebaf84f51b8
(cherry picked from commit e09b128f41
)
This commit is contained in:
parent
f7bc92cf22
commit
30ef996f8a
@ -1579,4 +1579,4 @@ class OVSFirewallDriver(firewall.FirewallDriver):
|
||||
# will not match with the ip flow's cookie so OVS won't actually
|
||||
# delete the flow
|
||||
flow['cookie'] = ovs_lib.COOKIE_ANY
|
||||
self._delete_flows(deferred=False, **flow)
|
||||
self._delete_flows(**flow)
|
||||
|
Loading…
Reference in New Issue
Block a user