Skip to content

Commit 5c276fb

Browse files
Zuulopenstack-gerrit
authored andcommitted
Merge "db: Compact Train database migrations"
2 parents 1650a0c + 5c9c81e commit 5c276fb

15 files changed

+17
-364
lines changed

nova/db/sqlalchemy/migrate_repo/versions/392_placeholder.py

Lines changed: 0 additions & 22 deletions
This file was deleted.

nova/db/sqlalchemy/migrate_repo/versions/393_placeholder.py

Lines changed: 0 additions & 22 deletions
This file was deleted.

nova/db/sqlalchemy/migrate_repo/versions/394_placeholder.py

Lines changed: 0 additions & 22 deletions
This file was deleted.

nova/db/sqlalchemy/migrate_repo/versions/395_placeholder.py

Lines changed: 0 additions & 22 deletions
This file was deleted.

nova/db/sqlalchemy/migrate_repo/versions/396_placeholder.py

Lines changed: 0 additions & 22 deletions
This file was deleted.

nova/db/sqlalchemy/migrate_repo/versions/397_migrations_cross_cell_move.py

Lines changed: 0 additions & 24 deletions
This file was deleted.

nova/db/sqlalchemy/migrate_repo/versions/398_add_vpmems.py

Lines changed: 0 additions & 31 deletions
This file was deleted.

nova/db/sqlalchemy/migrate_repo/versions/399_add_instances_hidden.py

Lines changed: 0 additions & 28 deletions
This file was deleted.

nova/db/sqlalchemy/migrate_repo/versions/400_enforce_service_uuid.py

Lines changed: 0 additions & 33 deletions
This file was deleted.

nova/db/sqlalchemy/migrate_repo/versions/401_add_user_id_and_project_id_to_migrations.py

Lines changed: 0 additions & 27 deletions
This file was deleted.

nova/db/sqlalchemy/migrate_repo/versions/402_add_resources.py

Lines changed: 0 additions & 31 deletions
This file was deleted.

nova/db/sqlalchemy/migrate_repo/versions/391_stein.py renamed to nova/db/sqlalchemy/migrate_repo/versions/402_train.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -675,6 +675,13 @@ def upgrade(migrate_engine):
675675
'locked_by', Enum('owner', 'admin', name='instances0locked_by')),
676676
Column('cleaned', Integer, default=0),
677677
Column('ephemeral_key_uuid', String(36)),
678+
# NOTE(danms): This column originally included default=False. We
679+
# discovered in bug #1862205 that this will attempt to rewrite
680+
# the entire instances table with that value, which can time out
681+
# for large data sets (and does not even abort).
682+
# NOTE(stephenfin): This was originally added by sqlalchemy-migrate
683+
# which did not generate the constraints
684+
Column('hidden', Boolean(create_constraint=False)),
678685
Index('uuid', 'uuid', unique=True),
679686
UniqueConstraint('uuid', name='uniq_instances0uuid'),
680687
mysql_engine='InnoDB',
@@ -732,6 +739,8 @@ def upgrade(migrate_engine):
732739
Column('keypairs', Text, nullable=True),
733740
Column('device_metadata', Text, nullable=True),
734741
Column('trusted_certs', Text, nullable=True),
742+
Column('vpmems', Text, nullable=True),
743+
Column('resources', Text, nullable=True),
735744
mysql_engine='InnoDB',
736745
mysql_charset='utf8',
737746
)
@@ -811,6 +820,13 @@ def upgrade(migrate_engine):
811820
Column('disk_processed', BigInteger, nullable=True),
812821
Column('disk_remaining', BigInteger, nullable=True),
813822
Column('uuid', String(36)),
823+
# NOTE(stephenfin): This was originally added by sqlalchemy-migrate
824+
# which did not generate the constraints
825+
Column(
826+
'cross_cell_move', Boolean(create_constraint=False),
827+
default=False),
828+
Column('user_id', String(255), nullable=True),
829+
Column('project_id', String(255), nullable=True),
814830
Index('migrations_uuid', 'uuid', unique=True),
815831
mysql_engine='InnoDB',
816832
mysql_charset='utf8'

nova/db/sqlalchemy/migration.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
from nova.i18n import _
3030

3131
INIT_VERSION = {}
32-
INIT_VERSION['main'] = 390
32+
INIT_VERSION['main'] = 401
3333
INIT_VERSION['api'] = 0
3434
_REPOSITORY = {}
3535

nova/tests/unit/db/test_migrations.py

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -162,13 +162,11 @@ def _skippable_migrations(self):
162162
self.INIT_VERSION + 1,
163163
]
164164

165-
stein_placeholders = list(range(392, 397))
166165
train_placeholders = list(range(403, 408))
167166
ussuri_placeholders = list(range(408, 413))
168167
victoria_placeholders = list(range(413, 418))
169168

170169
return (special +
171-
stein_placeholders +
172170
train_placeholders +
173171
ussuri_placeholders +
174172
victoria_placeholders)
@@ -226,36 +224,6 @@ def removed_column(element):
226224
def test_walk_versions(self):
227225
self.walk_versions(snake_walk=False, downgrade=False)
228226

229-
def _check_397(self, engine, data):
230-
for prefix in ('', 'shadow_'):
231-
self.assertColumnExists(
232-
engine, '%smigrations' % prefix, 'cross_cell_move')
233-
234-
def _check_398(self, engine, data):
235-
self.assertColumnExists(engine, 'instance_extra', 'vpmems')
236-
self.assertColumnExists(engine, 'shadow_instance_extra', 'vpmems')
237-
238-
def _check_399(self, engine, data):
239-
for prefix in ('', 'shadow_'):
240-
self.assertColumnExists(
241-
engine, '%sinstances' % prefix, 'hidden')
242-
243-
def _check_400(self, engine, data):
244-
# NOTE(mriedem): This is a dummy migration that just does a consistency
245-
# check. The actual test for 400 is in TestServicesUUIDCheck.
246-
pass
247-
248-
def _check_401(self, engine, data):
249-
for prefix in ('', 'shadow_'):
250-
self.assertColumnExists(
251-
engine, '%smigrations' % prefix, 'user_id')
252-
self.assertColumnExists(
253-
engine, '%smigrations' % prefix, 'project_id')
254-
255-
def _check_402(self, engine, data):
256-
self.assertColumnExists(engine, 'instance_extra', 'resources')
257-
self.assertColumnExists(engine, 'shadow_instance_extra', 'resources')
258-
259227

260228
class TestNovaMigrationsSQLite(NovaMigrationsCheckers,
261229
test_fixtures.OpportunisticDBTestMixin,

0 commit comments

Comments
 (0)