diff options
author | Stephen Finucane <stephenfin@redhat.com> | 2021-04-01 17:49:02 +0100 |
---|---|---|
committer | Stephen Finucane <stephenfin@redhat.com> | 2021-08-09 15:34:40 +0100 |
commit | 100b9dc62c0ec9f7b38739837c06646122c818d5 (patch) | |
tree | 461ffc78155a8ff058796c522b983a47a946717e /nova/cmd/manage.py | |
parent | 84b61790763f91e12eebb96d955e2f83abc00d56 (diff) | |
download | nova-100b9dc62c0ec9f7b38739837c06646122c818d5.tar.gz |
db: Unify 'nova.db.api', 'nova.db.sqlalchemy.api'
Merge these, removing an unnecessary layer of abstraction, and place
them in the new 'nova.db.main' directory. The resulting change is huge,
but it's mainly the result of 's/sqlalchemy import api/main import api/'
and 's/nova.db.api/nova.db.main.api/' with some necessary cleanup. We
also need to rework how we do the blocking of API calls since we no
longer have a 'DBAPI' object that we can monkey patch as we were doing
before. This is now done via a global variable that is set by the 'main'
function of 'nova.cmd.compute'.
The main impact of this change is that it's no longer possible to set
'[database] use_db_reconnect' and have all APIs automatically wrapped in
a DB retry. Seeing as this behavior is experimental, isn't applied to
any of the API DB methods (which don't use oslo.db's 'DBAPI' helper),
and is used explicitly in what would appear to be the critical cases
(via the explicit 'oslo_db.api.wrap_db_retry' decorator), this doesn't
seem like a huge loss.
Change-Id: Iad2e4da4546b80a016e477577d23accb2606a6e4
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Diffstat (limited to 'nova/cmd/manage.py')
-rw-r--r-- | nova/cmd/manage.py | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/nova/cmd/manage.py b/nova/cmd/manage.py index cb141dc32d..335ad29225 100644 --- a/nova/cmd/manage.py +++ b/nova/cmd/manage.py @@ -47,10 +47,9 @@ from nova.compute import api as compute_api import nova.conf from nova import config from nova import context -from nova.db import api as db from nova.db import constants as db_const +from nova.db.main import api as db from nova.db import migration -from nova.db.sqlalchemy import api as sa_db from nova import exception from nova.i18n import _ from nova.network import constants @@ -121,7 +120,7 @@ class DbCommands(object): # Added in Pike quotas_obj.migrate_quota_classes_to_api_db, # Added in Queens - sa_db.migration_migrate_to_uuid, + db.migration_migrate_to_uuid, # Added in Queens block_device_obj.BlockDeviceMapping.populate_uuids, # Added in Rocky @@ -461,13 +460,12 @@ Error: %s""") % str(e)) for cell in cells: identity = _('Cell %s') % cell.identity with context.target_cell(admin_ctxt, cell) as cctxt: - deleted += sa_db.purge_shadow_tables(cctxt, - before_date, - status_fn=status) + deleted += db.purge_shadow_tables( + cctxt, before_date, status_fn=status) else: identity = _('DB') - deleted = sa_db.purge_shadow_tables(admin_ctxt, - before_date, status_fn=status) + deleted = db.purge_shadow_tables( + admin_ctxt, before_date, status_fn=status) if deleted: return 0 else: |