When migrating DB to 67 readd_iscsi_targets_table,
we will add foreign key "volumes.id", but we miss
to define the volumes table, that will cause the
migrating process fail: 'NoReferencedTableError'.
Fix this issue by adding volume table definition
before creating iscsi_targets table. test is
added as well.
Change-Id: Id0e0970517a5d3414e0ed124b2b7b3a5b1973761
Closes-Bug: #
1554329
def upgrade(migrate_engine):
meta = MetaData()
meta.bind = migrate_engine
+ Table('volumes', meta, autoload=True)
table = Table(
'iscsi_targets', meta,
self.assertIsInstance(reservations.c.allocated_id.type,
self.INTEGER_TYPE)
+ def _check_067(self, engine, data):
+ iscsi_targets = db_utils.get_table(engine, 'iscsi_targets')
+ fkey, = iscsi_targets.c.volume_id.foreign_keys
+ self.assertIsNotNone(fkey)
+
def test_walk_versions(self):
self.walk_versions(False, False)