OpenStack Networking (Neutron)
Go to file
Rodolfo Alonso Hernandez 0eebd002cc [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
2020-07-20 08:45:46 +00:00
api-ref Fix some typos 2016-06-28 22:46:19 +02:00
devstack Merge "Update cirros image to cirros-0.5.1-x86_64 globally" 2020-07-09 13:30:07 +00:00
doc Merge "Remove tempest-integrated-networking job from neutron queue" 2020-07-14 15:27:03 +00:00
etc Merge "Migrate "dhcp_release" to oslo.privsep" 2020-07-08 16:01:21 +00:00
neutron [OVS][FW] Remote SG IDs left behind when a SG is removed 2020-07-20 08:45:46 +00:00
playbooks Add ensure-tox in functional job 2020-06-19 09:19:23 -05:00
rally-jobs [ci] Fix several rally task arguments 2020-05-06 14:56:27 +03:00
releasenotes Merge "Optionally use admin powers when deleting DNS records" 2020-07-12 12:16:21 +00:00
roles [OVN] Unify OVN/OVS compilation 2020-07-07 22:05:59 +00:00
tools Merge "migration: Use ansible-inventory to parse tripleo inventory" 2020-07-14 14:40:33 +00:00
vagrant/ovn [OVN] Merge networking-ovn vagrant into neutron 2020-02-18 17:26:15 -05:00
zuul.d Merge "Remove tempest-integrated-networking job from neutron queue" 2020-07-14 15:27:03 +00:00
.coveragerc Cleanup coverage configuration 2016-10-17 17:06:19 +05:30
.gitignore Add etc/neutron/*.sample files to be ignored by git 2019-12-12 12:38:24 +01:00
.gitreview OpenDev Migration Patch 2019-04-19 19:38:27 +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
CONTRIBUTING.rst [Community goal] Add contributor and PTL guide 2020-03-03 04:43:26 +01:00
HACKING.rst Use unittest.mock instead of mock 2020-06-17 14:42:03 +00: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 Start README.rst with a better title 2019-11-19 17:42:57 +01:00
TESTING.rst Updates for python3.8 2020-04-28 14:03:21 -04:00
bindep.txt Merge "Stop testing python 2" 2019-10-28 00:52:16 +00:00
lower-constraints.txt [OVN] Use new distributed device_owner for OVN distributed services 2020-07-08 13:26:35 +00:00
plugin.spec Add OSP16.1 choice to migration plugin spec 2020-05-04 20:34:16 +03:00
requirements.txt [OVN] Use new distributed device_owner for OVN distributed services 2020-07-08 13:26:35 +00:00
setup.cfg Remove translation sections from setup.cfg 2020-05-27 22:43:15 +08:00
setup.py Updated from global requirements 2017-03-04 11:19:58 +00:00
test-requirements.txt Fix pep8 job 2020-07-07 10:23:15 +00:00
tox.ini Use unittest.mock instead of mock 2020-06-17 14:42:03 +00:00

README.rst

OpenStack Neutron

image

Neutron is an OpenStack project to provide "network connectivity as a service" between interface devices (e.g., vNICs) managed by other OpenStack services (e.g., Nova).

To learn more about neutron:

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

To learn how to contribute, please read the CONTRIBUTING.rst file.