Rename sql.migration_helpers to sql.upgrades

"Helpers" is one of those terms like "utils" that means "we don't know
what belongs in this module and what doesn't," so let's get rid of it in
favor of a shorter name that better reflects the purpose of everything
in the module. This name nicely opposes to sql.core, which contains
everything we use for more general database interactions.

Change-Id: I65ed77bc597b66eaffe5126275366f8ae141524b
This commit is contained in:
Dolph Mathews 2016-09-15 18:27:28 +00:00
parent 2d79b03951
commit 5c6d1f37c5
13 changed files with 53 additions and 53 deletions

View File

@ -29,7 +29,7 @@ from keystone.cmd import doctor
from keystone.common import driver_hints
from keystone.common import openssl
from keystone.common import sql
from keystone.common.sql import migration_helpers
from keystone.common.sql import upgrades
from keystone.common import utils
import keystone.conf
from keystone.credential.providers import fernet as credential_fernet
@ -435,13 +435,13 @@ class DbSync(BaseApp):
assert_not_extension(CONF.command.extension)
if CONF.command.expand:
migration_helpers.expand_schema()
upgrades.expand_schema()
elif CONF.command.migrate:
migration_helpers.migrate_data()
upgrades.migrate_data()
elif CONF.command.contract:
migration_helpers.contract_schema()
upgrades.contract_schema()
else:
migration_helpers.offline_sync_database_to_version(
upgrades.offline_sync_database_to_version(
CONF.command.version)
@ -464,7 +464,7 @@ class DbVersion(BaseApp):
@staticmethod
def main():
assert_not_extension(CONF.command.extension)
print(migration_helpers.get_db_version())
print(upgrades.get_db_version())
class BasePermissionsSetup(BaseApp):

View File

@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
from keystone.common.sql import migration_helpers
from keystone.common.sql import upgrades
import sqlalchemy as sql
@ -22,7 +22,7 @@ def upgrade(migrate_engine):
credential_table = sql.Table('credential', meta, autoload=True)
credential_table.c.blob.drop()
if migration_helpers.USE_TRIGGERS:
if upgrades.USE_TRIGGERS:
if migrate_engine.name == 'postgresql':
drop_credential_update_trigger = (
'DROP TRIGGER credential_update_read_only on credential;'

View File

@ -13,7 +13,7 @@
import sqlalchemy as sql
from keystone.common import sql as ks_sql
from keystone.common.sql import migration_helpers
from keystone.common.sql import upgrades
# NOTE(lbragstad): MySQL error state of 45000 is a generic unhandled exception.
@ -105,7 +105,7 @@ def upgrade(migrate_engine):
credential_table.create_column(encrypted_blob)
credential_table.c.blob.alter(nullable=True)
if not migration_helpers.USE_TRIGGERS:
if not upgrades.USE_TRIGGERS:
# Skip managing triggers if we're doing an offline upgrade.
return

View File

@ -14,12 +14,12 @@
import sqlalchemy as sql
from keystone.common.sql import migration_helpers
from keystone.common.sql import upgrades
def upgrade(migrate_engine):
try:
extension_version = migration_helpers.get_db_version(
extension_version = upgrades.get_db_version(
extension='endpoint_policy',
engine=migrate_engine)
except Exception:

View File

@ -14,7 +14,7 @@
import sqlalchemy as sql
from keystone.common.sql import migration_helpers
from keystone.common.sql import upgrades
import keystone.conf
CONF = keystone.conf.CONF
@ -23,7 +23,7 @@ _RELAY_STATE_PREFIX = 'relay_state_prefix'
def upgrade(migrate_engine):
try:
extension_version = migration_helpers.get_db_version(
extension_version = upgrades.get_db_version(
extension='federation',
engine=migrate_engine)
except Exception:

View File

@ -14,12 +14,12 @@
import sqlalchemy as sql
from keystone.common.sql import migration_helpers
from keystone.common.sql import upgrades
def upgrade(migrate_engine):
try:
extension_version = migration_helpers.get_db_version(
extension_version = upgrades.get_db_version(
extension='oauth1',
engine=migrate_engine)
except Exception:

View File

@ -14,12 +14,12 @@
import sqlalchemy as sql
from keystone.common.sql import migration_helpers
from keystone.common.sql import upgrades
def upgrade(migrate_engine):
try:
extension_version = migration_helpers.get_db_version(
extension_version = upgrades.get_db_version(
extension='revoke',
engine=migrate_engine)
except Exception:

View File

@ -12,12 +12,12 @@
import sqlalchemy as sql
from keystone.common.sql import migration_helpers
from keystone.common.sql import upgrades
def upgrade(migrate_engine):
try:
extension_version = migration_helpers.get_db_version(
extension_version = upgrades.get_db_version(
extension='endpoint_filter',
engine=migrate_engine)
except Exception:

View File

@ -14,7 +14,7 @@ import json
import sqlalchemy as sql
from keystone.common.sql import migration_helpers
from keystone.common.sql import upgrades
_PROJECT_TABLE_NAME = 'project'
@ -90,7 +90,7 @@ def upgrade(migrate_engine):
# the project domain_id to be its parent_id. We re-enable the constraint
# in the end of this method. We also remove the domain_id constraint,
# while be recreated a FK to the project_id at the end.
migration_helpers.remove_constraints(
upgrades.remove_constraints(
list_existing_project_constraints(project_table, domain_table))
# For each domain, create a project acting as a domain. We ignore the
@ -119,7 +119,7 @@ def upgrade(migrate_engine):
session.execute(update)
session.commit()
migration_helpers.add_constraints(
upgrades.add_constraints(
list_new_project_constraints(project_table))
session.close()

View File

@ -25,7 +25,7 @@ from testtools import matchers
from keystone.cmd import cli
from keystone.common import dependency
from keystone.common.sql import migration_helpers
from keystone.common.sql import upgrades
import keystone.conf
from keystone.i18n import _
from keystone.identity.mapping_backends import mapping as identity_mapping
@ -554,19 +554,19 @@ class CliDBSyncTestCase(unit.BaseTestCase):
super(CliDBSyncTestCase, self).setUp()
self.config_fixture = self.useFixture(config_fixture.Config(CONF))
self.config_fixture.register_cli_opt(cli.command_opt)
migration_helpers.offline_sync_database_to_version = mock.Mock()
migration_helpers.expand_schema = mock.Mock()
migration_helpers.migrate_data = mock.Mock()
migration_helpers.contract_schema = mock.Mock()
upgrades.offline_sync_database_to_version = mock.Mock()
upgrades.expand_schema = mock.Mock()
upgrades.migrate_data = mock.Mock()
upgrades.contract_schema = mock.Mock()
self.command_expand = False
self.command_migrate = False
self.command_contract = False
def _assert_correct_call(self, mocked_function):
for func in [migration_helpers.offline_sync_database_to_version,
migration_helpers.expand_schema,
migration_helpers.migrate_data,
migration_helpers.contract_schema]:
for func in [upgrades.offline_sync_database_to_version,
upgrades.expand_schema,
upgrades.migrate_data,
upgrades.contract_schema]:
if func == mocked_function:
self.assertTrue(func.called)
else:
@ -577,28 +577,28 @@ class CliDBSyncTestCase(unit.BaseTestCase):
CONF, 'command', self.FakeConfCommand(self)))
cli.DbSync.main()
self._assert_correct_call(
migration_helpers.offline_sync_database_to_version)
upgrades.offline_sync_database_to_version)
def test_db_sync_expand(self):
self.command_expand = True
self.useFixture(mockpatch.PatchObject(
CONF, 'command', self.FakeConfCommand(self)))
cli.DbSync.main()
self._assert_correct_call(migration_helpers.expand_schema)
self._assert_correct_call(upgrades.expand_schema)
def test_db_sync_migrate(self):
self.command_migrate = True
self.useFixture(mockpatch.PatchObject(
CONF, 'command', self.FakeConfCommand(self)))
cli.DbSync.main()
self._assert_correct_call(migration_helpers.migrate_data)
self._assert_correct_call(upgrades.migrate_data)
def test_db_sync_contract(self):
self.command_contract = True
self.useFixture(mockpatch.PatchObject(
CONF, 'command', self.FakeConfCommand(self)))
cli.DbSync.main()
self._assert_correct_call(migration_helpers.contract_schema)
self._assert_correct_call(upgrades.contract_schema)
class TestMappingPopulate(unit.SQLDriverOverrides, unit.TestCase):

View File

@ -27,7 +27,7 @@ from keystone.common.sql import contract_repo
from keystone.common.sql import data_migration_repo
from keystone.common.sql import expand_repo
from keystone.common.sql import migrate_repo
from keystone.common.sql import migration_helpers
from keystone.common.sql import upgrades
class DBOperationNotAllowed(Exception):
@ -138,7 +138,7 @@ class KeystoneMigrationsCheckers(test_migrations.WalkVersionsMixin):
@property
def INIT_VERSION(self):
return migration_helpers.get_init_version(
return upgrades.get_init_version(
abs_path=os.path.abspath(os.path.dirname(self.migrate_file)))
@property
@ -159,7 +159,7 @@ class KeystoneMigrationsCheckers(test_migrations.WalkVersionsMixin):
def migrate_fully(self, repo_name):
abs_path = os.path.abspath(os.path.dirname(repo_name))
init_version = migration_helpers.get_init_version(abs_path=abs_path)
init_version = upgrades.get_init_version(abs_path=abs_path)
schema = versioning_api.ControlledSchema.create(
self.migrate_engine, abs_path, init_version)
max_version = schema.repository.version().version

View File

@ -46,7 +46,7 @@ import sqlalchemy.exc
from testtools import matchers
from keystone.common import sql
from keystone.common.sql import migration_helpers
from keystone.common.sql import upgrades
import keystone.conf
from keystone.credential.providers import fernet as credential_fernet
from keystone.tests import unit
@ -127,9 +127,9 @@ DATA_MIGRATION_REPO = 'data_migration_repo'
CONTRACT_REPO = 'contract_repo'
# Test migration_helpers.get_init_version separately to ensure it works before
# Test upgrades.get_init_version separately to ensure it works before
# using in the SqlUpgrade tests.
class MigrationHelpersGetInitVersionTests(unit.TestCase):
class SqlUpgradeGetInitVersionTests(unit.TestCase):
@mock.patch.object(repository, 'Repository')
def test_get_init_version_no_path(self, repo):
migrate_versions = mock.MagicMock()
@ -142,7 +142,7 @@ class MigrationHelpersGetInitVersionTests(unit.TestCase):
# an exception.
with mock.patch('os.path.isdir', return_value=True):
# since 0 is the smallest version expect None
version = migration_helpers.get_init_version()
version = upgrades.get_init_version()
self.assertIsNone(version)
# check that the default path was used as the first argument to the
@ -165,7 +165,7 @@ class MigrationHelpersGetInitVersionTests(unit.TestCase):
path = '/keystone/' + LEGACY_REPO + '/'
# since 0 is the smallest version expect None
version = migration_helpers.get_init_version(abs_path=path)
version = upgrades.get_init_version(abs_path=path)
self.assertIsNone(version)
@mock.patch.object(repository, 'Repository')
@ -182,7 +182,7 @@ class MigrationHelpersGetInitVersionTests(unit.TestCase):
with mock.patch('os.path.isdir', return_value=True):
path = '/keystone/' + LEGACY_REPO + '/'
version = migration_helpers.get_init_version(abs_path=path)
version = upgrades.get_init_version(abs_path=path)
self.assertEqual(initial_version, version)
@ -190,9 +190,9 @@ class MigrationRepository(object):
def __init__(self, engine, repo_name):
self.repo_name = repo_name
self.repo_path = migration_helpers.find_repo(self.repo_name)
self.repo_path = upgrades.find_repo(self.repo_name)
self.min_version = (
migration_helpers.get_init_version(abs_path=self.repo_path))
upgrades.get_init_version(abs_path=self.repo_path))
self.schema_ = versioning_api.ControlledSchema.create(
engine, self.repo_path, self.min_version)
self.max_version = self.schema_.repository.version().version
@ -476,7 +476,7 @@ class SqlLegacyRepoUpgradeTests(SqlMigrateBase):
['id', 'policy_id', 'endpoint_id',
'service_id', 'region_id'])
@mock.patch.object(migration_helpers, 'get_db_version', return_value=1)
@mock.patch.object(upgrades, 'get_db_version', return_value=1)
def test_endpoint_policy_already_migrated(self, mock_ep):
# By setting the return value to 1, the migration has already been
@ -531,7 +531,7 @@ class SqlLegacyRepoUpgradeTests(SqlMigrateBase):
self.assertFalse(sp_table.c.auth_url.nullable)
self.assertFalse(sp_table.c.sp_url.nullable)
@mock.patch.object(migration_helpers, 'get_db_version', return_value=8)
@mock.patch.object(upgrades, 'get_db_version', return_value=8)
def test_federation_already_migrated(self, mock_federation):
# By setting the return value to 8, the migration has already been
@ -580,7 +580,7 @@ class SqlLegacyRepoUpgradeTests(SqlMigrateBase):
'consumer_id',
'expires_at'])
@mock.patch.object(migration_helpers, 'get_db_version', return_value=5)
@mock.patch.object(upgrades, 'get_db_version', return_value=5)
def test_oauth1_already_migrated(self, mock_oauth1):
# By setting the return value to 5, the migration has already been
@ -605,7 +605,7 @@ class SqlLegacyRepoUpgradeTests(SqlMigrateBase):
'expires_at', 'revoked_at',
'audit_chain_id', 'audit_id'])
@mock.patch.object(migration_helpers, 'get_db_version', return_value=2)
@mock.patch.object(upgrades, 'get_db_version', return_value=2)
def test_revoke_already_migrated(self, mock_revoke):
# By setting the return value to 2, the migration has already been
@ -652,7 +652,7 @@ class SqlLegacyRepoUpgradeTests(SqlMigrateBase):
self.upgrade(85)
assert_tables_columns_exist()
@mock.patch.object(migration_helpers, 'get_db_version', return_value=2)
@mock.patch.object(upgrades, 'get_db_version', return_value=2)
def test_endpoint_filter_already_migrated(self, mock_endpoint_filter):
# By setting the return value to 2, the migration has already been
@ -1613,7 +1613,7 @@ class VersionTests(SqlMigrateBase):
self.upgrade()
self.assertRaises(
db_exception.DbMigrationError,
migration_helpers._sync_common_repo,
upgrades._sync_common_repo,
self.repos[LEGACY_REPO].max_version - 1)
def test_these_are_not_the_migrations_you_are_looking_for(self):