Reviewed: https://review.opendev.org/c/openstack/neutron/+/789547 Committed: https://opendev.org/openstack/neutron/commit/317407fe61b76b8f0c250ce6fb18d93dd0b667d0 Submitter: "Zuul (22348)" Branch: master
commit 317407fe61b76b8f0c250ce6fb18d93dd0b667d0 Author: Lucas Alvares Gomes <[email protected]> Date: Tue May 4 11:33:20 2021 +0100 [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 <[email protected]> ** Changed in: neutron Status: In Progress => Fix Released -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1927077 Title: [OVN] Missing lock check in check_for_mcast_flood_reports Status in neutron: Fix Released Bug description: The maintenance method check_for_mcast_flood_reports() is not checking if that instance of the maintenance task has a proper lock before trying to execute a transaction. If more than one controller is deployed only 1 instance will hold a valid lock the rest will fail with: 2021-05-02 14:23:29.193 599 ERROR futurist.periodics [-] Failed to call periodic 'networking_ovn.common.maintenance.DBInconsistenciesPeriodics.check_for_mcast_flood_reports' (it runs every 600.00 seconds): RuntimeError: OVSDB Error: The transaction failed because the IDL has been configured to require a database lock but didn't get it yet or has already lost it 2021-05-02 14:23:29.193 599 ERROR futurist.periodics Traceback (most recent call last): 2021-05-02 14:23:29.193 599 ERROR futurist.periodics File "/usr/lib/python3.6/site-packages/ovsdbapp/api.py", line 111, in transaction 2021-05-02 14:23:29.193 599 ERROR futurist.periodics yield self._nested_txns_map[cur_thread_id] 2021-05-02 14:23:29.193 599 ERROR futurist.periodics KeyError: 139844066981736 2021-05-02 14:23:29.193 599 ERROR futurist.periodics 2021-05-02 14:23:29.193 599 ERROR futurist.periodics During handling of the above exception, another exception occurred: 2021-05-02 14:23:29.193 599 ERROR futurist.periodics 2021-05-02 14:23:29.193 599 ERROR futurist.periodics Traceback (most recent call last): 2021-05-02 14:23:29.193 599 ERROR futurist.periodics File "/usr/lib/python3.6/site-packages/futurist/periodics.py", line 290, in run 2021-05-02 14:23:29.193 599 ERROR futurist.periodics work() 2021-05-02 14:23:29.193 599 ERROR futurist.periodics File "/usr/lib/python3.6/site-packages/futurist/periodics.py", line 64, in __call__ 2021-05-02 14:23:29.193 599 ERROR futurist.periodics return self.callback(*self.args, **self.kwargs) 2021-05-02 14:23:29.193 599 ERROR futurist.periodics File "/usr/lib/python3.6/site-packages/futurist/periodics.py", line 178, in decorator 2021-05-02 14:23:29.193 599 ERROR futurist.periodics return f(*args, **kwargs) 2021-05-02 14:23:29.193 599 ERROR futurist.periodics File "/usr/lib/python3.6/site-packages/networking_ovn/common/maintenance.py", line 667, in check_for_mcast_flood_reports 2021-05-02 14:23:29.193 599 ERROR futurist.periodics for port in self._nb_idl.lsp_list().execute(check_error=True): 2021-05-02 14:23:29.193 599 ERROR futurist.periodics File "/usr/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/command.py", line 42, in execute 2021-05-02 14:23:29.193 599 ERROR futurist.periodics t.add(self) 2021-05-02 14:23:29.193 599 ERROR futurist.periodics File "/usr/lib64/python3.6/contextlib.py", line 88, in __exit__ 2021-05-02 14:23:29.193 599 ERROR futurist.periodics next(self.gen) 2021-05-02 14:23:29.193 599 ERROR futurist.periodics File "/usr/lib/python3.6/site-packages/networking_ovn/ovsdb/impl_idl_ovn.py", line 196, in transaction 2021-05-02 14:23:29.193 599 ERROR futurist.periodics yield t 2021-05-02 14:23:29.193 599 ERROR futurist.periodics File "/usr/lib64/python3.6/contextlib.py", line 88, in __exit__ 2021-05-02 14:23:29.193 599 ERROR futurist.periodics next(self.gen) 2021-05-02 14:23:29.193 599 ERROR futurist.periodics File "/usr/lib/python3.6/site-packages/ovsdbapp/api.py", line 119, in transaction 2021-05-02 14:23:29.193 599 ERROR futurist.periodics del self._nested_txns_map[cur_thread_id] 2021-05-02 14:23:29.193 599 ERROR futurist.periodics File "/usr/lib/python3.6/site-packages/ovsdbapp/api.py", line 69, in __exit__ 2021-05-02 14:23:29.193 599 ERROR futurist.periodics self.result = self.commit() 2021-05-02 14:23:29.193 599 ERROR futurist.periodics File "/usr/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/transaction.py", line 62, in commit 2021-05-02 14:23:29.193 599 ERROR futurist.periodics raise result.ex 2021-05-02 14:23:29.193 599 ERROR futurist.periodics File "/usr/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/connection.py", line 128, in run 2021-05-02 14:23:29.193 599 ERROR futurist.periodics txn.results.put(txn.do_commit()) 2021-05-02 14:23:29.193 599 ERROR futurist.periodics File "/usr/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/transaction.py", line 115, in do_commit 2021-05-02 14:23:29.193 599 ERROR futurist.periodics raise RuntimeError(msg) 2021-05-02 14:23:29.193 599 ERROR futurist.periodics RuntimeError: OVSDB Error: The transaction failed because the IDL has been configured to require a database lock but didn't get it yet or has already lost it 2021-05-02 14:23:29.193 599 ERROR futurist.periodics To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1927077/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

