From f57e4307c428d71bc0d5a002b61ae916f8c2eb1e Mon Sep 17 00:00:00 2001 From: Kiran Pawar Date: Tue, 16 Sep 2025 11:23:01 +0000 Subject: [PATCH] db purge: raise on missing tables If running with invalid db config, we get no tables and the command silently finished. Change that and raise some suspicion instead. Closes-bug: #2124043 Co-authored-by: Maurice Escher Change-Id: Ie26b05bdd13a4c54ca958056352fab04ceaa9140 Signed-off-by: Kiran Pawar --- manila/db/sqlalchemy/api.py | 7 ++++++- ...-db-purge-raise-on-missing-tables-22eb3c30ee2ab29c.yaml | 6 ++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/bug-2124043-db-purge-raise-on-missing-tables-22eb3c30ee2ab29c.yaml diff --git a/manila/db/sqlalchemy/api.py b/manila/db/sqlalchemy/api.py index 6f97d9e416..3ec7795a51 100644 --- a/manila/db/sqlalchemy/api.py +++ b/manila/db/sqlalchemy/api.py @@ -6437,6 +6437,11 @@ def purge_deleted_records(context, age_in_days): metadata = MetaData() metadata.reflect(get_engine()) + tables = metadata.sorted_tables + if not tables: + msg = 'No tables found, check database connection' + raise exception.InvalidResults(msg) + deleted_age = timeutils.utcnow() - datetime.timedelta(days=age_in_days) # Deleting rows in share_network_security_service_association @@ -6451,7 +6456,7 @@ def purge_deleted_records(context, age_in_days): with context.session.begin_nested(): context.session.delete(assoc) - for table in reversed(metadata.sorted_tables): + for table in reversed(tables): if 'deleted' not in table.columns.keys(): continue diff --git a/releasenotes/notes/bug-2124043-db-purge-raise-on-missing-tables-22eb3c30ee2ab29c.yaml b/releasenotes/notes/bug-2124043-db-purge-raise-on-missing-tables-22eb3c30ee2ab29c.yaml new file mode 100644 index 0000000000..5ad60dd1f4 --- /dev/null +++ b/releasenotes/notes/bug-2124043-db-purge-raise-on-missing-tables-22eb3c30ee2ab29c.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - | + Purge DB records is fixed to raise error in case of missing or invalid + db config. For more details, please check + `launchpad bug #2124043 `_