From 2e49c2b743e055a3e952d32d4f89012a629dfba2 Mon Sep 17 00:00:00 2001 From: Lucas Alvares Gomes Date: Tue, 4 May 2021 11:33:20 +0100 Subject: [PATCH] [OVN] Check for lock in check_for_mcast_flood_reports The maintenance method check_for_mcast_flood_reports() was not checking if that instance of the maintenance task has a valid lock before trying to execute a transaction. This patch adds such check so instances of the maintenance task without a valid lock will just return. Change-Id: I791026058b37f06d1a19b5fb6823b9dbb2a3eca5 Closes-Bug: #1927077 Signed-off-by: Lucas Alvares Gomes (cherry picked from commit 317407fe61b76b8f0c250ce6fb18d93dd0b667d0) --- .../plugins/ml2/drivers/ovn/mech_driver/ovsdb/maintenance.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/maintenance.py b/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/maintenance.py index 5c626f9fa15..b0478f8684d 100644 --- a/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/maintenance.py +++ b/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/maintenance.py @@ -649,6 +649,9 @@ class DBInconsistenciesPeriodics(SchemaAwarePeriodicsBase): # once per lock due to the use of periodics.NeverAgain(). @periodics.periodic(spacing=600, run_immediately=True) def check_for_mcast_flood_reports(self): + if not self.has_lock: + return + cmds = [] for port in self._nb_idl.lsp_list().execute(check_error=True): port_type = port.type.strip()