From ff09a3ee1e26594f22b77ca11f477759c1c953fa Mon Sep 17 00:00:00 2001 From: Jakub Libosvar Date: Wed, 31 Jul 2024 20:03:21 +0000 Subject: [PATCH] NB: Consolidate common code of events to the superclass Change-Id: I7b7d8cb8402695bdd41fb0f87f1cb2e4fff80b50 Signed-off-by: Jakub Libosvar (cherry picked from commit 6e9ee5803ef02fb1a7301c91f90d170e6b3db04c) --- .../openstack/watchers/base_watcher.py | 24 +++++++------------ .../drivers/openstack/watchers/bgp_watcher.py | 6 ++--- .../openstack/watchers/evpn_watcher.py | 6 ++--- 3 files changed, 15 insertions(+), 21 deletions(-) diff --git a/ovn_bgp_agent/drivers/openstack/watchers/base_watcher.py b/ovn_bgp_agent/drivers/openstack/watchers/base_watcher.py index 80749461..05512c19 100644 --- a/ovn_bgp_agent/drivers/openstack/watchers/base_watcher.py +++ b/ovn_bgp_agent/drivers/openstack/watchers/base_watcher.py @@ -23,6 +23,10 @@ LOG = logging.getLogger(__name__) class Event(row_event.RowEvent): + def __init__(self, agent, events, table, condition=None): + self.agent = agent + super().__init__(events, table, condition) + def run(self, *args, **kwargs): try: self._run(*args, **kwargs) @@ -33,10 +37,8 @@ class Event(row_event.RowEvent): class PortBindingChassisEvent(Event): def __init__(self, bgp_agent, events): - self.agent = bgp_agent table = 'Port_Binding' - super(PortBindingChassisEvent, self).__init__( - events, table, None) + super().__init__(bgp_agent, events, table) self.event_name = self.__class__.__name__ def _check_ip_associated(self, mac): @@ -45,10 +47,8 @@ class PortBindingChassisEvent(Event): class OVNLBEvent(Event): def __init__(self, bgp_agent, events): - self.agent = bgp_agent table = 'Load_Balancer' - super(OVNLBEvent, self).__init__( - events, table, None) + super().__init__(bgp_agent, events, table) self.event_name = self.__class__.__name__ def _get_router(self, row, key=constants.OVN_LB_LR_REF_EXT_ID_KEY): @@ -87,19 +87,15 @@ class OVNLBEvent(Event): class LogicalSwitchChassisEvent(Event): def __init__(self, bgp_agent, events): - self.agent = bgp_agent table = 'Logical_Switch' - super(LogicalSwitchChassisEvent, self).__init__( - events, table, None) + super().__init__(bgp_agent, events, table) self.event_name = self.__class__.__name__ class LSPChassisEvent(Event): def __init__(self, bgp_agent, events): - self.agent = bgp_agent table = 'Logical_Switch_Port' - super(LSPChassisEvent, self).__init__( - events, table, None) + super().__init__(bgp_agent, events, table) self.event_name = self.__class__.__name__ def _check_ip_associated(self, mac): @@ -141,10 +137,8 @@ class LSPChassisEvent(Event): class LRPChassisEvent(Event): def __init__(self, bgp_agent, events): - self.agent = bgp_agent table = 'Logical_Router_Port' - super(LRPChassisEvent, self).__init__( - events, table, None) + super().__init__(bgp_agent, events, table) self.event_name = self.__class__.__name__ def _get_network(self, row): diff --git a/ovn_bgp_agent/drivers/openstack/watchers/bgp_watcher.py b/ovn_bgp_agent/drivers/openstack/watchers/bgp_watcher.py index de197a4d..8d394d6d 100644 --- a/ovn_bgp_agent/drivers/openstack/watchers/bgp_watcher.py +++ b/ovn_bgp_agent/drivers/openstack/watchers/bgp_watcher.py @@ -486,11 +486,11 @@ class ChassisCreateEventBase(base_watcher.Event): table = None def __init__(self, bgp_agent): - self.agent = bgp_agent self.first_time = True events = (self.ROW_CREATE,) - super(ChassisCreateEventBase, self).__init__( - events, self.table, (('name', '=', self.agent.chassis),)) + super().__init__( + bgp_agent, events, self.table, + (('name', '=', bgp_agent.chassis),)) self.event_name = self.__class__.__name__ def _run(self, event, row, old): diff --git a/ovn_bgp_agent/drivers/openstack/watchers/evpn_watcher.py b/ovn_bgp_agent/drivers/openstack/watchers/evpn_watcher.py index 7ecd20eb..ddbbe88e 100644 --- a/ovn_bgp_agent/drivers/openstack/watchers/evpn_watcher.py +++ b/ovn_bgp_agent/drivers/openstack/watchers/evpn_watcher.py @@ -218,11 +218,11 @@ class ChassisCreateEventBase(base_watcher.Event): table = None def __init__(self, bgp_agent): - self.agent = bgp_agent self.first_time = True events = (self.ROW_CREATE,) - super(ChassisCreateEventBase, self).__init__( - events, self.table, (('name', '=', self.agent.chassis),)) + super().__init__( + bgp_agent, events, self.table, + (('name', '=', bgp_agent.chassis),)) self.event_name = self.__class__.__name__ def _run(self, event, row, old):