summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Finucane <stephenfin@redhat.com>2021-02-13 17:18:53 +0000
committerStephen Finucane <stephenfin@redhat.com>2021-08-09 15:34:40 +0100
commitbf8b5fc7d05e0a66031a03e50e8f6bb76a921046 (patch)
tree0accacdc0bcb6add164be98d77d33a97917a9af1
parentaec2ca94686f016c343cc4b97c2e310bb135fd27 (diff)
downloadnova-bf8b5fc7d05e0a66031a03e50e8f6bb76a921046.tar.gz
db: Move remaining 'nova.db.sqlalchemy' modules
The two remaining modules, 'api_models' and 'api_migrations', are moved to the new 'nova.db.api' module. Change-Id: I138670fe36b07546db5518f78c657197780c5040 Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
-rw-r--r--doc/source/user/upgrade.rst2
-rw-r--r--nova/db/api/legacy_migrations/README (renamed from nova/db/sqlalchemy/api_migrations/migrate_repo/README)0
-rw-r--r--nova/db/api/legacy_migrations/__init__.py (renamed from nova/db/sqlalchemy/__init__.py)0
-rw-r--r--nova/db/api/legacy_migrations/manage.py (renamed from nova/db/sqlalchemy/api_migrations/migrate_repo/manage.py)0
-rw-r--r--nova/db/api/legacy_migrations/migrate.cfg (renamed from nova/db/sqlalchemy/api_migrations/migrate_repo/migrate.cfg)0
-rw-r--r--nova/db/api/legacy_migrations/versions/067_train.py (renamed from nova/db/sqlalchemy/api_migrations/migrate_repo/versions/067_train.py)2
-rw-r--r--nova/db/api/legacy_migrations/versions/068_placeholder.py (renamed from nova/db/sqlalchemy/api_migrations/migrate_repo/versions/068_placeholder.py)0
-rw-r--r--nova/db/api/legacy_migrations/versions/069_placeholder.py (renamed from nova/db/sqlalchemy/api_migrations/migrate_repo/versions/069_placeholder.py)0
-rw-r--r--nova/db/api/legacy_migrations/versions/070_placeholder.py (renamed from nova/db/sqlalchemy/api_migrations/migrate_repo/versions/070_placeholder.py)0
-rw-r--r--nova/db/api/legacy_migrations/versions/071_placeholder.py (renamed from nova/db/sqlalchemy/api_migrations/migrate_repo/versions/071_placeholder.py)0
-rw-r--r--nova/db/api/legacy_migrations/versions/072_placeholder.py (renamed from nova/db/sqlalchemy/api_migrations/migrate_repo/versions/072_placeholder.py)0
-rw-r--r--nova/db/api/legacy_migrations/versions/073_placeholder.py (renamed from nova/db/sqlalchemy/api_migrations/migrate_repo/versions/073_placeholder.py)0
-rw-r--r--nova/db/api/legacy_migrations/versions/074_placeholder.py (renamed from nova/db/sqlalchemy/api_migrations/migrate_repo/versions/074_placeholder.py)0
-rw-r--r--nova/db/api/legacy_migrations/versions/075_placeholder.py (renamed from nova/db/sqlalchemy/api_migrations/migrate_repo/versions/075_placeholder.py)0
-rw-r--r--nova/db/api/legacy_migrations/versions/076_placeholder.py (renamed from nova/db/sqlalchemy/api_migrations/migrate_repo/versions/076_placeholder.py)0
-rw-r--r--nova/db/api/legacy_migrations/versions/077_placeholder.py (renamed from nova/db/sqlalchemy/api_migrations/migrate_repo/versions/077_placeholder.py)0
-rw-r--r--nova/db/api/legacy_migrations/versions/078_placeholder.py (renamed from nova/db/sqlalchemy/api_migrations/migrate_repo/versions/078_placeholder.py)0
-rw-r--r--nova/db/api/legacy_migrations/versions/079_placeholder.py (renamed from nova/db/sqlalchemy/api_migrations/migrate_repo/versions/079_placeholder.py)0
-rw-r--r--nova/db/api/legacy_migrations/versions/080_placeholder.py (renamed from nova/db/sqlalchemy/api_migrations/migrate_repo/versions/080_placeholder.py)0
-rw-r--r--nova/db/api/legacy_migrations/versions/081_placeholder.py (renamed from nova/db/sqlalchemy/api_migrations/migrate_repo/versions/081_placeholder.py)0
-rw-r--r--nova/db/api/legacy_migrations/versions/082_placeholder.py (renamed from nova/db/sqlalchemy/api_migrations/migrate_repo/versions/082_placeholder.py)0
-rw-r--r--nova/db/api/legacy_migrations/versions/083_placeholder.py (renamed from nova/db/sqlalchemy/api_migrations/migrate_repo/versions/083_placeholder.py)0
-rw-r--r--nova/db/api/legacy_migrations/versions/084_placeholder.py (renamed from nova/db/sqlalchemy/api_migrations/migrate_repo/versions/084_placeholder.py)0
-rw-r--r--nova/db/api/legacy_migrations/versions/085_placeholder.py (renamed from nova/db/sqlalchemy/api_migrations/migrate_repo/versions/085_placeholder.py)0
-rw-r--r--nova/db/api/legacy_migrations/versions/086_placeholder.py (renamed from nova/db/sqlalchemy/api_migrations/migrate_repo/versions/086_placeholder.py)0
-rw-r--r--nova/db/api/legacy_migrations/versions/087_placeholder.py (renamed from nova/db/sqlalchemy/api_migrations/migrate_repo/versions/087_placeholder.py)0
-rw-r--r--nova/db/api/legacy_migrations/versions/__init__.py (renamed from nova/db/sqlalchemy/api_migrations/__init__.py)0
-rw-r--r--nova/db/api/models.py (renamed from nova/db/sqlalchemy/api_models.py)0
-rw-r--r--nova/db/migration.py4
-rw-r--r--nova/db/sqlalchemy/api_migrations/migrate_repo/__init__.py0
-rw-r--r--nova/db/sqlalchemy/api_migrations/migrate_repo/versions/__init__.py0
-rw-r--r--nova/objects/aggregate.py2
-rw-r--r--nova/objects/build_request.py2
-rw-r--r--nova/objects/cell_mapping.py2
-rw-r--r--nova/objects/flavor.py2
-rw-r--r--nova/objects/host_mapping.py2
-rw-r--r--nova/objects/instance_group.py2
-rw-r--r--nova/objects/instance_mapping.py2
-rw-r--r--nova/objects/keypair.py2
-rw-r--r--nova/objects/quotas.py2
-rw-r--r--nova/objects/request_spec.py2
-rw-r--r--nova/quota.py2
-rw-r--r--nova/tests/functional/db/api/test_migrations.py8
-rw-r--r--nova/tests/functional/db/test_aggregate.py7
-rw-r--r--nova/tests/functional/db/test_aggregate_model.py2
-rw-r--r--nova/tests/functional/db/test_flavor.py2
-rw-r--r--nova/tests/functional/db/test_flavor_model.py2
-rw-r--r--nova/tests/functional/db/test_instance_group.py2
-rw-r--r--nova/tests/functional/db/test_quota_model.py2
-rw-r--r--nova/tests/unit/conductor/test_conductor.py2
-rw-r--r--nova/tests/unit/db/test_migrations.py5
-rw-r--r--nova/tests/unit/db/test_models.py2
-rw-r--r--nova/tests/unit/objects/test_flavor.py4
-rwxr-xr-xtools/reserve-migrations.py2
54 files changed, 33 insertions, 37 deletions
diff --git a/doc/source/user/upgrade.rst b/doc/source/user/upgrade.rst
index 9ba36b7385..4f421651f0 100644
--- a/doc/source/user/upgrade.rst
+++ b/doc/source/user/upgrade.rst
@@ -177,7 +177,7 @@ Schema Migrations
Schema migrations are defined in
``nova/db/main/legacy_migrations/versions`` and in
-``nova/db/sqlalchemy/api_migrations/migrate_repo/versions``. They are
+``nova/db/api/legacy_migrations/versions``. They are
the routines that transform our database structure, which should be
additive and able to be applied to a running system before service
code has been upgraded.
diff --git a/nova/db/sqlalchemy/api_migrations/migrate_repo/README b/nova/db/api/legacy_migrations/README
index 6218f8cac4..6218f8cac4 100644
--- a/nova/db/sqlalchemy/api_migrations/migrate_repo/README
+++ b/nova/db/api/legacy_migrations/README
diff --git a/nova/db/sqlalchemy/__init__.py b/nova/db/api/legacy_migrations/__init__.py
index e69de29bb2..e69de29bb2 100644
--- a/nova/db/sqlalchemy/__init__.py
+++ b/nova/db/api/legacy_migrations/__init__.py
diff --git a/nova/db/sqlalchemy/api_migrations/migrate_repo/manage.py b/nova/db/api/legacy_migrations/manage.py
index 6c2b3842ba..6c2b3842ba 100644
--- a/nova/db/sqlalchemy/api_migrations/migrate_repo/manage.py
+++ b/nova/db/api/legacy_migrations/manage.py
diff --git a/nova/db/sqlalchemy/api_migrations/migrate_repo/migrate.cfg b/nova/db/api/legacy_migrations/migrate.cfg
index 3e2ccef016..3e2ccef016 100644
--- a/nova/db/sqlalchemy/api_migrations/migrate_repo/migrate.cfg
+++ b/nova/db/api/legacy_migrations/migrate.cfg
diff --git a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/067_train.py b/nova/db/api/legacy_migrations/versions/067_train.py
index 2063d9d8f3..fb362629b5 100644
--- a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/067_train.py
+++ b/nova/db/api/legacy_migrations/versions/067_train.py
@@ -15,7 +15,7 @@ from migrate import UniqueConstraint
import sqlalchemy as sa
from sqlalchemy import dialects
-from nova.db.sqlalchemy.api_models import MediumText
+from nova.db.api.models import MediumText
from nova.objects import keypair
diff --git a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/068_placeholder.py b/nova/db/api/legacy_migrations/versions/068_placeholder.py
index 7a93224504..7a93224504 100644
--- a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/068_placeholder.py
+++ b/nova/db/api/legacy_migrations/versions/068_placeholder.py
diff --git a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/069_placeholder.py b/nova/db/api/legacy_migrations/versions/069_placeholder.py
index 7a93224504..7a93224504 100644
--- a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/069_placeholder.py
+++ b/nova/db/api/legacy_migrations/versions/069_placeholder.py
diff --git a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/070_placeholder.py b/nova/db/api/legacy_migrations/versions/070_placeholder.py
index 7a93224504..7a93224504 100644
--- a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/070_placeholder.py
+++ b/nova/db/api/legacy_migrations/versions/070_placeholder.py
diff --git a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/071_placeholder.py b/nova/db/api/legacy_migrations/versions/071_placeholder.py
index 7a93224504..7a93224504 100644
--- a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/071_placeholder.py
+++ b/nova/db/api/legacy_migrations/versions/071_placeholder.py
diff --git a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/072_placeholder.py b/nova/db/api/legacy_migrations/versions/072_placeholder.py
index 7a93224504..7a93224504 100644
--- a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/072_placeholder.py
+++ b/nova/db/api/legacy_migrations/versions/072_placeholder.py
diff --git a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/073_placeholder.py b/nova/db/api/legacy_migrations/versions/073_placeholder.py
index 7a93224504..7a93224504 100644
--- a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/073_placeholder.py
+++ b/nova/db/api/legacy_migrations/versions/073_placeholder.py
diff --git a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/074_placeholder.py b/nova/db/api/legacy_migrations/versions/074_placeholder.py
index 7a93224504..7a93224504 100644
--- a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/074_placeholder.py
+++ b/nova/db/api/legacy_migrations/versions/074_placeholder.py
diff --git a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/075_placeholder.py b/nova/db/api/legacy_migrations/versions/075_placeholder.py
index 7a93224504..7a93224504 100644
--- a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/075_placeholder.py
+++ b/nova/db/api/legacy_migrations/versions/075_placeholder.py
diff --git a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/076_placeholder.py b/nova/db/api/legacy_migrations/versions/076_placeholder.py
index 7a93224504..7a93224504 100644
--- a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/076_placeholder.py
+++ b/nova/db/api/legacy_migrations/versions/076_placeholder.py
diff --git a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/077_placeholder.py b/nova/db/api/legacy_migrations/versions/077_placeholder.py
index 7a93224504..7a93224504 100644
--- a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/077_placeholder.py
+++ b/nova/db/api/legacy_migrations/versions/077_placeholder.py
diff --git a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/078_placeholder.py b/nova/db/api/legacy_migrations/versions/078_placeholder.py
index 7a93224504..7a93224504 100644
--- a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/078_placeholder.py
+++ b/nova/db/api/legacy_migrations/versions/078_placeholder.py
diff --git a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/079_placeholder.py b/nova/db/api/legacy_migrations/versions/079_placeholder.py
index 7a93224504..7a93224504 100644
--- a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/079_placeholder.py
+++ b/nova/db/api/legacy_migrations/versions/079_placeholder.py
diff --git a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/080_placeholder.py b/nova/db/api/legacy_migrations/versions/080_placeholder.py
index 7a93224504..7a93224504 100644
--- a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/080_placeholder.py
+++ b/nova/db/api/legacy_migrations/versions/080_placeholder.py
diff --git a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/081_placeholder.py b/nova/db/api/legacy_migrations/versions/081_placeholder.py
index 7a93224504..7a93224504 100644
--- a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/081_placeholder.py
+++ b/nova/db/api/legacy_migrations/versions/081_placeholder.py
diff --git a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/082_placeholder.py b/nova/db/api/legacy_migrations/versions/082_placeholder.py
index 7a93224504..7a93224504 100644
--- a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/082_placeholder.py
+++ b/nova/db/api/legacy_migrations/versions/082_placeholder.py
diff --git a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/083_placeholder.py b/nova/db/api/legacy_migrations/versions/083_placeholder.py
index 7a93224504..7a93224504 100644
--- a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/083_placeholder.py
+++ b/nova/db/api/legacy_migrations/versions/083_placeholder.py
diff --git a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/084_placeholder.py b/nova/db/api/legacy_migrations/versions/084_placeholder.py
index 7a93224504..7a93224504 100644
--- a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/084_placeholder.py
+++ b/nova/db/api/legacy_migrations/versions/084_placeholder.py
diff --git a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/085_placeholder.py b/nova/db/api/legacy_migrations/versions/085_placeholder.py
index 7a93224504..7a93224504 100644
--- a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/085_placeholder.py
+++ b/nova/db/api/legacy_migrations/versions/085_placeholder.py
diff --git a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/086_placeholder.py b/nova/db/api/legacy_migrations/versions/086_placeholder.py
index 7a93224504..7a93224504 100644
--- a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/086_placeholder.py
+++ b/nova/db/api/legacy_migrations/versions/086_placeholder.py
diff --git a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/087_placeholder.py b/nova/db/api/legacy_migrations/versions/087_placeholder.py
index 7a93224504..7a93224504 100644
--- a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/087_placeholder.py
+++ b/nova/db/api/legacy_migrations/versions/087_placeholder.py
diff --git a/nova/db/sqlalchemy/api_migrations/__init__.py b/nova/db/api/legacy_migrations/versions/__init__.py
index e69de29bb2..e69de29bb2 100644
--- a/nova/db/sqlalchemy/api_migrations/__init__.py
+++ b/nova/db/api/legacy_migrations/versions/__init__.py
diff --git a/nova/db/sqlalchemy/api_models.py b/nova/db/api/models.py
index 74d6455d66..74d6455d66 100644
--- a/nova/db/sqlalchemy/api_models.py
+++ b/nova/db/api/models.py
diff --git a/nova/db/migration.py b/nova/db/migration.py
index 366fc13e26..a1e49a2160 100644
--- a/nova/db/migration.py
+++ b/nova/db/migration.py
@@ -45,9 +45,7 @@ def get_engine(database='main', context=None):
def find_migrate_repo(database='main'):
"""Get the path for the migrate repository."""
global _REPOSITORY
- rel_path = os.path.join('main', 'legacy_migrations')
- if database == 'api':
- rel_path = os.path.join('sqlalchemy', 'api_migrations', 'migrate_repo')
+ rel_path = os.path.join(database, 'legacy_migrations')
path = os.path.join(os.path.abspath(os.path.dirname(__file__)), rel_path)
assert os.path.exists(path)
if _REPOSITORY.get(database) is None:
diff --git a/nova/db/sqlalchemy/api_migrations/migrate_repo/__init__.py b/nova/db/sqlalchemy/api_migrations/migrate_repo/__init__.py
deleted file mode 100644
index e69de29bb2..0000000000
--- a/nova/db/sqlalchemy/api_migrations/migrate_repo/__init__.py
+++ /dev/null
diff --git a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/__init__.py b/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/__init__.py
deleted file mode 100644
index e69de29bb2..0000000000
--- a/nova/db/sqlalchemy/api_migrations/migrate_repo/versions/__init__.py
+++ /dev/null
diff --git a/nova/objects/aggregate.py b/nova/objects/aggregate.py
index 3c53e43042..5880165cf3 100644
--- a/nova/objects/aggregate.py
+++ b/nova/objects/aggregate.py
@@ -19,8 +19,8 @@ from oslo_utils import uuidutils
from sqlalchemy import orm
from nova.compute import utils as compute_utils
+from nova.db.api import models as api_models
from nova.db.main import api as db_api
-from nova.db.sqlalchemy import api_models
from nova import exception
from nova.i18n import _
from nova import objects
diff --git a/nova/objects/build_request.py b/nova/objects/build_request.py
index 03ebdbd331..67f271cb94 100644
--- a/nova/objects/build_request.py
+++ b/nova/objects/build_request.py
@@ -18,8 +18,8 @@ from oslo_serialization import jsonutils
from oslo_utils import versionutils
from oslo_versionedobjects import exception as ovoo_exc
+from nova.db.api import models as api_models
from nova.db.main import api as db
-from nova.db.sqlalchemy import api_models
from nova import exception
from nova import objects
from nova.objects import base
diff --git a/nova/objects/cell_mapping.py b/nova/objects/cell_mapping.py
index cfd8179033..f19f2f1908 100644
--- a/nova/objects/cell_mapping.py
+++ b/nova/objects/cell_mapping.py
@@ -18,8 +18,8 @@ from sqlalchemy import sql
from sqlalchemy.sql import expression
import nova.conf
+from nova.db.api import models as api_models
from nova.db.main import api as db_api
-from nova.db.sqlalchemy import api_models
from nova import exception
from nova.objects import base
from nova.objects import fields
diff --git a/nova/objects/flavor.py b/nova/objects/flavor.py
index ad223f84df..ae27b63892 100644
--- a/nova/objects/flavor.py
+++ b/nova/objects/flavor.py
@@ -21,8 +21,8 @@ from sqlalchemy import sql
from sqlalchemy.sql import expression
import nova.conf
+from nova.db.api import models as api_models
from nova.db.main import api as db_api
-from nova.db.sqlalchemy import api_models
from nova import exception
from nova.notifications.objects import base as notification
from nova.notifications.objects import flavor as flavor_notification
diff --git a/nova/objects/host_mapping.py b/nova/objects/host_mapping.py
index c3df439746..98e36f3edf 100644
--- a/nova/objects/host_mapping.py
+++ b/nova/objects/host_mapping.py
@@ -14,8 +14,8 @@ from oslo_db import exception as db_exc
from sqlalchemy import orm
from nova import context
+from nova.db.api import models as api_models
from nova.db.main import api as db_api
-from nova.db.sqlalchemy import api_models
from nova import exception
from nova.i18n import _
from nova.objects import base
diff --git a/nova/objects/instance_group.py b/nova/objects/instance_group.py
index 344457b060..26df07df92 100644
--- a/nova/objects/instance_group.py
+++ b/nova/objects/instance_group.py
@@ -22,8 +22,8 @@ from oslo_utils import versionutils
from sqlalchemy import orm
from nova.compute import utils as compute_utils
+from nova.db.api import models as api_models
from nova.db.main import api as db_api
-from nova.db.sqlalchemy import api_models
from nova import exception
from nova import objects
from nova.objects import base
diff --git a/nova/objects/instance_mapping.py b/nova/objects/instance_mapping.py
index 43130acf30..43fa5333ba 100644
--- a/nova/objects/instance_mapping.py
+++ b/nova/objects/instance_mapping.py
@@ -20,8 +20,8 @@ from sqlalchemy import sql
from sqlalchemy.sql import func
from nova import context as nova_context
+from nova.db.api import models as api_models
from nova.db.main import api as db_api
-from nova.db.sqlalchemy import api_models
from nova import exception
from nova.i18n import _
from nova import objects
diff --git a/nova/objects/keypair.py b/nova/objects/keypair.py
index bbd624d717..aa6075c5f9 100644
--- a/nova/objects/keypair.py
+++ b/nova/objects/keypair.py
@@ -17,8 +17,8 @@ from oslo_db.sqlalchemy import utils as sqlalchemyutils
from oslo_log import log as logging
from oslo_utils import versionutils
+from nova.db.api import models as api_models
from nova.db.main import api as db
-from nova.db.sqlalchemy import api_models
from nova import exception
from nova import objects
from nova.objects import base
diff --git a/nova/objects/quotas.py b/nova/objects/quotas.py
index 355e8c3105..39126dbb6d 100644
--- a/nova/objects/quotas.py
+++ b/nova/objects/quotas.py
@@ -16,9 +16,9 @@ import collections
from oslo_db import exception as db_exc
+from nova.db.api import models as api_models
from nova.db.main import api as db
from nova.db.main import models as main_models
-from nova.db.sqlalchemy import api_models
from nova import exception
from nova.objects import base
from nova.objects import fields
diff --git a/nova/objects/request_spec.py b/nova/objects/request_spec.py
index b97d3f14cd..cef1c66334 100644
--- a/nova/objects/request_spec.py
+++ b/nova/objects/request_spec.py
@@ -20,8 +20,8 @@ from oslo_log import log as logging
from oslo_serialization import jsonutils
from oslo_utils import versionutils
+from nova.db.api import models as api_models
from nova.db.main import api as db
-from nova.db.sqlalchemy import api_models
from nova import exception
from nova import objects
from nova.objects import base
diff --git a/nova/quota.py b/nova/quota.py
index be78b44163..e3950e9d99 100644
--- a/nova/quota.py
+++ b/nova/quota.py
@@ -24,8 +24,8 @@ from sqlalchemy import sql
import nova.conf
from nova import context as nova_context
+from nova.db.api import models as api_models
from nova.db.main import api as db
-from nova.db.sqlalchemy import api_models
from nova import exception
from nova import objects
from nova.scheduler.client import report
diff --git a/nova/tests/functional/db/api/test_migrations.py b/nova/tests/functional/db/api/test_migrations.py
index 5b0d10f290..a453fe130d 100644
--- a/nova/tests/functional/db/api/test_migrations.py
+++ b/nova/tests/functional/db/api/test_migrations.py
@@ -37,9 +37,9 @@ from oslo_db.sqlalchemy import test_fixtures
from oslo_db.sqlalchemy import test_migrations
import testtools
+from nova.db.api import legacy_migrations
+from nova.db.api import models
from nova.db import migration
-from nova.db.sqlalchemy.api_migrations import migrate_repo
-from nova.db.sqlalchemy import api_models
from nova import test
from nova.tests import fixtures as nova_fixtures
@@ -63,7 +63,7 @@ class NovaAPIModelsSync(test_migrations.ModelsMigrationsSync):
return self.migrate_engine
def get_metadata(self):
- return api_models.API_BASE.metadata
+ return models.API_BASE.metadata
def include_object(self, object_, name, type_, reflected, compare_to):
if type_ == 'table':
@@ -154,7 +154,7 @@ class NovaAPIMigrationsWalk(test_migrations.WalkVersionsMixin):
@property
def REPOSITORY(self):
return repository.Repository(
- os.path.abspath(os.path.dirname(migrate_repo.__file__)))
+ os.path.abspath(os.path.dirname(legacy_migrations.__file__)))
@property
def migration_api(self):
diff --git a/nova/tests/functional/db/test_aggregate.py b/nova/tests/functional/db/test_aggregate.py
index 2af5c06b74..3c1cf8ded0 100644
--- a/nova/tests/functional/db/test_aggregate.py
+++ b/nova/tests/functional/db/test_aggregate.py
@@ -18,8 +18,8 @@ from oslo_utils.fixture import uuidsentinel
from oslo_utils import timeutils
from nova import context
+from nova.db.api import models as api_models
from nova.db.main import api as db_api
-from nova.db.sqlalchemy import api_models
from nova import exception
import nova.objects.aggregate as aggregate_obj
from nova import test
@@ -401,8 +401,9 @@ class AggregateObjectDbTestCase(test.TestCase):
def test_aggregate_metadata_add_retry(self):
result = _create_aggregate(self.context, metadata=None)
- with mock.patch('nova.db.sqlalchemy.api_models.'
- 'AggregateMetadata.__table__.insert') as insert_mock:
+ with mock.patch(
+ 'nova.db.api.models.AggregateMetadata.__table__.insert'
+ ) as insert_mock:
insert_mock.side_effect = db_exc.DBDuplicateEntry
self.assertRaises(db_exc.DBDuplicateEntry,
aggregate_obj._metadata_add_to_db,
diff --git a/nova/tests/functional/db/test_aggregate_model.py b/nova/tests/functional/db/test_aggregate_model.py
index 79173fd5ef..6b2a68d61c 100644
--- a/nova/tests/functional/db/test_aggregate_model.py
+++ b/nova/tests/functional/db/test_aggregate_model.py
@@ -10,8 +10,8 @@
# License for the specific language governing permissions and limitations
# under the License.
+from nova.db.api import models as api_models
from nova.db.main import models
-from nova.db.sqlalchemy import api_models
from nova import test
diff --git a/nova/tests/functional/db/test_flavor.py b/nova/tests/functional/db/test_flavor.py
index bb4541ad92..3ce192fec7 100644
--- a/nova/tests/functional/db/test_flavor.py
+++ b/nova/tests/functional/db/test_flavor.py
@@ -11,8 +11,8 @@
# under the License.
from nova import context
+from nova.db.api import models as api_models
from nova.db.main import api as db_api
-from nova.db.sqlalchemy import api_models
from nova import exception
from nova import objects
from nova import test
diff --git a/nova/tests/functional/db/test_flavor_model.py b/nova/tests/functional/db/test_flavor_model.py
index 76480df766..2204989153 100644
--- a/nova/tests/functional/db/test_flavor_model.py
+++ b/nova/tests/functional/db/test_flavor_model.py
@@ -10,8 +10,8 @@
# License for the specific language governing permissions and limitations
# under the License.
+from nova.db.api import models as api_models
from nova.db.main import models
-from nova.db.sqlalchemy import api_models
from nova import test
diff --git a/nova/tests/functional/db/test_instance_group.py b/nova/tests/functional/db/test_instance_group.py
index 409bfd6f2f..50314f17ac 100644
--- a/nova/tests/functional/db/test_instance_group.py
+++ b/nova/tests/functional/db/test_instance_group.py
@@ -15,7 +15,7 @@ from oslo_utils.fixture import uuidsentinel as uuids
from oslo_versionedobjects import fixture as ovo_fixture
from nova import context
-from nova.db.sqlalchemy import api_models
+from nova.db.api import models as api_models
from nova import exception
from nova import objects
from nova.objects import base
diff --git a/nova/tests/functional/db/test_quota_model.py b/nova/tests/functional/db/test_quota_model.py
index c62fd44c39..1c6c1dc757 100644
--- a/nova/tests/functional/db/test_quota_model.py
+++ b/nova/tests/functional/db/test_quota_model.py
@@ -10,8 +10,8 @@
# License for the specific language governing permissions and limitations
# under the License.
+from nova.db.api import models as api_models
from nova.db.main import models
-from nova.db.sqlalchemy import api_models
from nova import test
diff --git a/nova/tests/unit/conductor/test_conductor.py b/nova/tests/unit/conductor/test_conductor.py
index fc0fd860ec..152a625286 100644
--- a/nova/tests/unit/conductor/test_conductor.py
+++ b/nova/tests/unit/conductor/test_conductor.py
@@ -39,8 +39,8 @@ from nova.conductor.tasks import live_migrate
from nova.conductor.tasks import migrate
from nova import conf
from nova import context
+from nova.db.api import models as api_models
from nova.db.main import api as db
-from nova.db.sqlalchemy import api_models
from nova import exception as exc
from nova.image import glance as image_api
from nova import objects
diff --git a/nova/tests/unit/db/test_migrations.py b/nova/tests/unit/db/test_migrations.py
index 63f3eee614..c69d110226 100644
--- a/nova/tests/unit/db/test_migrations.py
+++ b/nova/tests/unit/db/test_migrations.py
@@ -274,10 +274,7 @@ class ProjectTestCase(test.NoDBTestCase):
includes_downgrade = []
for directory in (
os.path.join(topdir, 'db', 'main', 'legacy_migrations'),
- os.path.join(
- topdir, 'db', 'sqlalchemy', 'api_migrations',
- 'migrate_repo',
- ),
+ os.path.join(topdir, 'db', 'api', 'legacy_migrations'),
):
py_glob = os.path.join(directory, 'versions', '*.py')
for path in glob.iglob(py_glob):
diff --git a/nova/tests/unit/db/test_models.py b/nova/tests/unit/db/test_models.py
index 0834ccff3b..877d6e83f3 100644
--- a/nova/tests/unit/db/test_models.py
+++ b/nova/tests/unit/db/test_models.py
@@ -13,8 +13,8 @@
# License for the specific language governing permissions and limitations
# under the License.
+from nova.db.api import models as api_models
from nova.db.main import models
-from nova.db.sqlalchemy import api_models
from nova import test
diff --git a/nova/tests/unit/objects/test_flavor.py b/nova/tests/unit/objects/test_flavor.py
index 1524731eb5..92adbc6df9 100644
--- a/nova/tests/unit/objects/test_flavor.py
+++ b/nova/tests/unit/objects/test_flavor.py
@@ -19,8 +19,8 @@ from oslo_db import exception as db_exc
from oslo_utils import uuidutils
from nova import context as nova_context
+from nova.db.api import models as api_models
from nova.db.main import api as db_api
-from nova.db.sqlalchemy import api_models
from nova import exception
from nova import objects
from nova.objects import fields
@@ -189,7 +189,7 @@ class _TestFlavor(object):
flavor = flavor_obj.Flavor(context=self.context, id=123)
self.assertRaises(exception.ObjectActionError, flavor.create)
- @mock.patch('nova.db.sqlalchemy.api_models.Flavors')
+ @mock.patch('nova.db.api.models.Flavors')
def test_create_duplicate(self, mock_flavors):
mock_flavors.return_value.save.side_effect = db_exc.DBDuplicateEntry
fields = dict(fake_flavor)
diff --git a/tools/reserve-migrations.py b/tools/reserve-migrations.py
index 439eec611f..373c574b69 100755
--- a/tools/reserve-migrations.py
+++ b/tools/reserve-migrations.py
@@ -6,7 +6,7 @@ import os
import subprocess
BASE = 'nova/db/main/legacy_migrations/versions'.split('/')
-API_BASE = 'nova/db/sqlalchemy/api_migrations/migrate_repo/versions'.split('/')
+API_BASE = 'nova/db/api/legacy_migrations/versions'.split('/')
STUB = \
"""# Licensed under the Apache License, Version 2.0 (the "License"); you may