Fix losses of ovs flows when ovs is restarted

Reinitialize conj_ip_manager when OVS is restarted.

Closes-Bug: #1912651
Change-Id: I5b5cf563f0c3d6ea352303f76323177cffc57c6e
(cherry picked from commit 412160b97f)
This commit is contained in:
Marc Gariepy 2021-01-29 13:21:43 -05:00 committed by Rodolfo Alonso
parent 9f2e07f551
commit 36fc4708be
1 changed files with 7 additions and 3 deletions

View File

@ -475,9 +475,7 @@ class OVSFirewallDriver(firewall.FirewallDriver):
"""
self.permitted_ethertypes = cfg.CONF.SECURITYGROUP.permitted_ethertypes
self.int_br = self.initialize_bridge(integration_bridge)
self.sg_port_map = SGPortMap()
self.conj_ip_manager = ConjIPFlowManager(self)
self.sg_to_delete = set()
self._initialize_sg()
self._update_cookie = None
self._deferred = False
self.iptables_helper = iptables.Helper(self.int_br.br)
@ -491,8 +489,14 @@ class OVSFirewallDriver(firewall.FirewallDriver):
def _init_firewall_callback(self, resource, event, trigger, **kwargs):
LOG.info("Reinitialize Openvswitch firewall after OVS restart.")
self._initialize_sg()
self._initialize_firewall()
def _initialize_sg(self):
self.sg_port_map = SGPortMap()
self.conj_ip_manager = ConjIPFlowManager(self)
self.sg_to_delete = set()
def _initialize_firewall(self):
self._drop_all_unmatched_flows()
self._initialize_common_flows()