OpenStack Networking (Neutron)
Go to file
Rodolfo Alonso Hernandez aaf87aeb55 [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)

Conflicts:
      neutron/tests/unit/agent/linux/openvswitch_firewall/test_firewall.py

Change-Id: I63e446a30cf10e7bcd34a6f0d6ba1711301efcbe
Related-Bug: #1881157
(cherry picked from commit 0eebd002cc)
(cherry picked from commit ed22f7a2ff)
(cherry picked from commit 6615f248e2)
2020-08-21 09:55:56 +00:00
api-ref Fix some typos 2016-06-28 22:46:19 +02:00
bin Use os-xenapi for neutron when XenServer as hypervisor 2017-03-30 18:33:37 +00:00
devstack Devstack plugin for network-segment-range api 2019-03-10 03:37:51 +00:00
doc Add VLAN type conntrack direct flow 2020-02-28 20:58:21 +08:00
etc Merge "Workaround for TCP checksum issue with ovs-dpdk and veth pair" into stable/stein 2020-07-01 19:59:27 +00:00
neutron [OVS][FW] Remote SG IDs left behind when a SG is removed 2020-08-21 09:55:56 +00:00
playbooks OpenDev Migration Patch 2019-04-19 19:39:10 +00:00
rally-jobs Merge "rally-jobs: Add FloatingIP workloads: assoc/dissoc" 2019-03-01 21:24:43 +00:00
releasenotes Merge "Optionally use admin powers when deleting DNS records" into stable/stein 2020-07-19 00:36:47 +00:00
roles OpenDev Migration Patch 2019-04-19 19:39:10 +00:00
tools Set rootwrap daemon timeout for fullstack and functional tests 2019-11-04 09:51:19 +00:00
.coveragerc Cleanup coverage configuration 2016-10-17 17:06:19 +05:30
.gitignore [Configuration] Clean up .gitignore references to personal tools 2019-01-31 16:17:38 +01:00
.gitreview OpenDev Migration Patch 2019-04-19 19:39:10 +00:00
.mailmap Add mailmap entry 2014-05-16 13:40:04 -04:00
.pylintrc Fix pylint R1717 (consider-using-dict-comprehension) refactor messages 2019-03-14 23:19:58 +00:00
.stestr.conf Fix post gate hook to accommodate for new os-testr 2017-09-12 14:20:12 -06:00
.zuul.yaml Revert "Make greande jobs n-v for EM and oldest stable" 2020-07-09 15:47:14 +02:00
CONTRIBUTING.rst Update link for contribution 2017-08-31 16:44:51 +02:00
HACKING.rst Update the documentation link for doc migration 2017-07-22 18:46:13 +09:00
LICENSE Adding Apache Version 2.0 license file. This is the official license agreement under which Quantum code is available to 2011-08-08 12:31:04 -07:00
README.rst Update mailinglist from dev to discuss 2018-12-12 12:44:12 +08:00
TESTING.rst Add method to tox to use local neutron-lib with unit tests 2019-03-02 14:56:15 -07:00
babel.cfg Use babel to generate translation file 2013-01-24 00:20:32 +08:00
bindep.txt Add libffi-dev to bindep.txt 2017-06-13 19:26:49 +00:00
lower-constraints.txt Fix pep8 job 2020-07-10 13:48:00 +00:00
requirements.txt Use dynamic lazy mode for fetching security group rules 2019-03-14 16:23:53 -06:00
setup.cfg fix NetworkSegmentRange OVO entry point 2019-07-22 05:15:29 +00:00
setup.py Updated from global requirements 2017-03-04 11:19:58 +00:00
test-requirements.txt Fix pep8 job 2020-07-10 13:48:00 +00:00
tox.ini Use constraints for docs tox target and cap hacking 2019-12-18 19:29:04 +01:00

README.rst

Team and repository tags

image

Welcome!

To learn more about neutron:

Get in touch via email. Use [Neutron] in your subject.

To learn how to contribute:

CONTRIBUTING.rst