neutron/neutron/tests
Rodolfo Alonso Hernandez ed22f7a2ff [OVS][FW] Remote SG IDs left behind when a SG is removed
When any port in the OVS agent is using a security groups (SG) and
this SG is removed, is marked to be deleted. This deletion process
is done in [1].

The SG deletion process consists on removing any reference of this SG
from the firewall and the SG port map. The firewall removes this SG in
[2].

The information of a SG is stored in:
* ConjIPFlowManager.conj_id_map = ConjIdMap(). This class stores the
  conjunction IDS (conj_ids) in a dictionary using the following keys:

    ConjIdMap.id_map[(sg_id, remote_sg_id, direction, ethertype,
      conj_ids)] = conj_id_XXX

* ConjIPFlowManager.conj_ids is a nested dictionary, built in the
  following way:

    self.conj_ids[vlan_tag][(direction, ethertype)][remote_sg_id] = \
      set([conj_id_1, conj_id_2, ...])

This patch stores all conjuntion IDs generated and assigned to the
tuple (sg_id, remote_sg_id, direction, ethertype). When a SG is
removed, the deletion method will look for this SG in the new storage
variable created, ConjIdMap.id_map_group, and will mark all the
conjuntion IDs related to be removed. That will cleanup those rules
left in the OVS matching:
  action=conjunction(conj_id, 1/2)

[1]118930f03d/neutron/agent/linux/openvswitch_firewall/firewall.py (L731)
[2]118930f03d/neutron/agent/linux/openvswitch_firewall/firewall.py (L399)

Change-Id: I63e446a30cf10e7bcd34a6f0d6ba1711301efcbe
Related-Bug: #1881157
(cherry picked from commit 0eebd002cc)
2020-07-31 09:02:31 +00:00
..
common [Fullstack] Handle properly BrokenPipeError exception 2020-04-14 11:35:44 +00:00
contrib [OVN] Unify OVN/OVS compilation 2020-07-17 11:40:37 +00:00
etc Convert policy.json into policy-in-code 2018-12-13 20:37:53 +00:00
fullstack Merge "[fullstack] Add option for custom apipaste.ini" 2020-04-07 22:27:29 +00:00
functional Merge "[OVN] Wait for WaitForDataPathBindingCreateEvent event in functional tests" into stable/ussuri 2020-07-19 01:34:47 +00:00
unit [OVS][FW] Remote SG IDs left behind when a SG is removed 2020-07-31 09:02:31 +00:00
var
__init__.py
base.py HA race condition test for DHCP scheduling 2019-11-18 14:09:32 +01:00
post_mortem_debug.py
tools.py Remove references to unittest2 library 2020-01-14 09:03:26 +00:00