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 7f647fd223
commit 40feff0e46
1 changed files with 7 additions and 3 deletions

View File

@ -476,9 +476,7 @@ class OVSFirewallDriver(firewall.FirewallDriver):
""" """
self.permitted_ethertypes = cfg.CONF.SECURITYGROUP.permitted_ethertypes self.permitted_ethertypes = cfg.CONF.SECURITYGROUP.permitted_ethertypes
self.int_br = self.initialize_bridge(integration_bridge) self.int_br = self.initialize_bridge(integration_bridge)
self.sg_port_map = SGPortMap() self._initialize_sg()
self.conj_ip_manager = ConjIPFlowManager(self)
self.sg_to_delete = set()
self._update_cookie = None self._update_cookie = None
self._deferred = False self._deferred = False
self.iptables_helper = iptables.Helper(self.int_br.br) self.iptables_helper = iptables.Helper(self.int_br.br)
@ -492,8 +490,14 @@ class OVSFirewallDriver(firewall.FirewallDriver):
def _init_firewall_callback(self, resource, event, trigger, payload=None): def _init_firewall_callback(self, resource, event, trigger, payload=None):
LOG.info("Reinitialize Openvswitch firewall after OVS restart.") LOG.info("Reinitialize Openvswitch firewall after OVS restart.")
self._initialize_sg()
self._initialize_firewall() 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): def _initialize_firewall(self):
self._drop_all_unmatched_flows() self._drop_all_unmatched_flows()
self._initialize_common_flows() self._initialize_common_flows()