OK so it’s looking like sql_mode=‘TRADITIONAL’ that allows it to work. So that is most of it. My MariaDB has no default sql_mode but oslo.db should be setting this, but in any case this seems more like a local oslo.db connection type of thing that I can track down myself, so most of the mystery solved! (at least the part that I didn’t feel like getting into….which I did anyway).
Mike Bayer <mba...@redhat.com> wrote: > working with sdague on IRC, the first thing I’m seeing is that my MariaDB > server is disallowing a change in column that is UNIQUE and has an FK > pointing to it, and this is distinctly different from a straight up MySQL > server (see below). > > http://paste.openstack.org/raw/155896/ > > > old school MySQL: > > Welcome to the MySQL monitor. Commands end with ; or \g. > Your MySQL connection id is 4840 > Server version: 5.6.15 Homebrew > > Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. > > Oracle is a registered trademark of Oracle Corporation and/or its > affiliates. Other names may be trademarks of their respective > owners. > > Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. > > mysql> create table foo (id int, blah int, primary key (id), unique key > (blah)) engine=InnoDB; > Query OK, 0 rows affected (0.01 sec) > > mysql> create table bar(id int, blah_fk int, primary key (id), foreign key > (blah_fk) references foo(blah)) engine=InnoDB; > Query OK, 0 rows affected (0.01 sec) > > mysql> alter table foo change column blah blah int not null; > Query OK, 0 rows affected (0.02 sec) > Records: 0 Duplicates: 0 Warnings: 0 > > mysql> > > > > MariaDB 10: > > MariaDB [test]> create table foo (id int, blah int, primary key (id), unique > key (blah)); > Query OK, 0 rows affected (0.09 sec) > > MariaDB [test]> create table bar(id int, blah_fk int, primary key (id), > foreign key (blah_fk) references foo(blah)); > Query OK, 0 rows affected (0.12 sec) > > MariaDB [test]> alter table foo change column blah blah int not null; > ERROR 1833 (HY000): Cannot change column 'blah': used in a foreign key > constraint 'bar_ibfk_1' of table 'test.bar' > MariaDB [test]> > > Matt Riedemann <mrie...@linux.vnet.ibm.com> wrote: > >> On 1/6/2015 5:40 PM, Mike Bayer wrote: >>> Hello - >>> >>> Victor Sergeyev and I are both observing the following test failure which >>> occurs with all the tests underneath >>> nova.tests.unit.db.test_migrations.TestNovaMigrationsMySQL. This is >>> against master with a brand new tox environment and everything at the >>> default. >>> >>> It does not seem to be occurring on gates that run these tests and >>> interestingly the tests seem to complete very quickly (under seven seconds) >>> on the gate as well; the failures here take between 50-100 seconds to >>> occur, not fully deterministically, and only on the MySQL backend; the >>> Postgresql and SQLite versions of these tests pass. I’m running against >>> MariaDB server 10.0.14 with Python 2.7.8 on Fedora 21. >>> >>> Below is the test just for test_walk_versions, but the warnings (not >>> necessarily the failures themselves) here also occur for test_migration_267 >>> as well as test_innodb_tables. >>> >>> I’m still looking into what the cause of this is, I’d imagine it’s >>> something related to newer MySQL versions or perhaps MariaDB vs. MySQL, I’m >>> just putting it up here in case someone already knows what this is or has >>> some clue to save me some time figuring it out. I apologize if I’m just >>> doing something dumb, I’ve only recently begun to run Nova’s test suite in >>> full against all backends, so I haven’t yet put intelligent thought into >>> this nor have I tried to yet look at the migration in question causing the >>> problem. Will do that next. >>> >>> >>> [mbayer@thinkpad nova]$ tox -e py27 -- >>> nova.tests.unit.db.test_migrations.TestNovaMigrationsMySQL.test_walk_versions >>> py27 develop-inst-noop: /home/mbayer/dev/openstack/nova >>> py27 runtests: PYTHONHASHSEED='0' >>> py27 runtests: commands[0] | find . -type f -name *.pyc -delete >>> py27 runtests: commands[1] | bash tools/pretty_tox.sh >>> nova.tests.unit.db.test_migrations.TestNovaMigrationsMySQL.test_walk_versions >>> running testr >>> running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \ >>> OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \ >>> OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-160} \ >>> ${PYTHON:-python} -m subunit.run discover -t ./ >>> ${OS_TEST_PATH:-./nova/tests} --list >>> running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \ >>> OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \ >>> OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-160} \ >>> ${PYTHON:-python} -m subunit.run discover -t ./ >>> ${OS_TEST_PATH:-./nova/tests} --load-list /tmp/tmpw7zqhE >>> >>> 2015-01-06 18:28:12.913 32435 WARNING oslo.db.sqlalchemy.session >>> [req-5cc6731f-00ef-43df-8aec-4914a44d12c5 ] MySQL SQL mode is '', consider >>> enabling TRADITIONAL or STRICT_ALL_TABLES >>> {0} >>> nova.tests.unit.db.test_migrations.TestNovaMigrationsMySQL.test_walk_versions >>> [51.553131s] ... FAILED >>> >>> Captured traceback: >>> ~~~~~~~~~~~~~~~~~~~ >>> Traceback (most recent call last): >>> File "nova/tests/unit/db/test_migrations.py", line 151, in >>> test_walk_versions >>> self.walk_versions(self.snake_walk, self.downgrade) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/oslo/db/sqlalchemy/test_migrations.py", >>> line 193, in walk_versions >>> self.migrate_up(version, with_data=True) >>> File "nova/tests/unit/db/test_migrations.py", line 148, in migrate_up >>> super(NovaMigrationsCheckers, self).migrate_up(version, with_data) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/oslo/db/sqlalchemy/test_migrations.py", >>> line 263, in migrate_up >>> self.REPOSITORY, version) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/api.py", >>> line 186, in upgrade >>> return _migrate(url, repository, version, upgrade=True, err=err, >>> **opts) >>> File "<string>", line 2, in _migrate >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/util/__init__.py", >>> line 160, in with_engine >>> return f(*a, **kw) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/api.py", >>> line 366, in _migrate >>> schema.runchange(ver, change, changeset.step) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/schema.py", >>> line 93, in runchange >>> change.run(self.engine, step) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/script/py.py", >>> line 148, in run >>> script_func(engine) >>> File >>> "/home/mbayer/dev/openstack/nova/nova/db/sqlalchemy/migrate_repo/versions/267_instance_uuid_non_nullable.py", >>> line 103, in upgrade >>> process_null_records(meta, scan=False) >>> File >>> "/home/mbayer/dev/openstack/nova/nova/db/sqlalchemy/migrate_repo/versions/267_instance_uuid_non_nullable.py", >>> line 89, in process_null_records >>> table.columns.uuid.alter(nullable=False) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/schema.py", >>> line 534, in alter >>> return alter_column(self, *p, **k) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/schema.py", >>> line 141, in alter_column >>> engine._run_visitor(visitorcallable, delta) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 1616, in _run_visitor >>> conn._run_visitor(visitorcallable, element, **kwargs) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 1245, in _run_visitor >>> **kwargs).traverse_single(element) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/ansisql.py", >>> line 56, in traverse_single >>> ret = super(AlterTableVisitor, self).traverse_single(elem) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/sql/visitors.py", >>> line 120, in traverse_single >>> return meth(obj, **kw) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/databases/mysql.py", >>> line 47, in visit_column >>> self.execute() >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/ansisql.py", >>> line 44, in execute >>> return self.connection.execute(self.buffer.getvalue()) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 721, in execute >>> return self._execute_text(object, multiparams, params) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 870, in _execute_text >>> statement, parameters >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 958, in _execute_context >>> context) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 1155, in _handle_dbapi_exception >>> util.raise_from_cause(newraise, exc_info) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/util/compat.py", >>> line 199, in raise_from_cause >>> reraise(type(exception), exception, tb=exc_tb) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 951, in _execute_context >>> context) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/default.py", >>> line 436, in do_execute >>> cursor.execute(statement, parameters) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/MySQLdb/cursors.py", >>> line 205, in execute >>> self.errorhandler(self, exc, value) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/MySQLdb/connections.py", >>> line 36, in defaulterrorhandler >>> raise errorclass, errorvalue >>> OperationalError: (OperationalError) (1833, "Cannot change column >>> 'uuid': used in a foreign key constraint >>> 'block_device_mapping_instance_uuid_fkey' of table >>> 'qzclautyzr.block_device_mapping'") '\nALTER TABLE instances CHANGE COLUMN >>> uuid uuid VARCHAR(36) NOT NULL' () >>> Traceback (most recent call last): >>> _StringException: Empty attachments: >>> stdout >>> >>> stderr: {{{ >>> >>> /home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/default.py:436: >>> Warning: Duplicate index >>> 'block_device_mapping_instance_uuid_virtual_name_device_name_idx' defined >>> on the table 'qzclautyzr.block_device_mapping'. This is deprecated and will >>> be disallowed in a future release. >>> cursor.execute(statement, parameters) >>> }}} >>> >>> Traceback (most recent call last): >>> File "nova/tests/unit/db/test_migrations.py", line 151, in >>> test_walk_versions >>> self.walk_versions(self.snake_walk, self.downgrade) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/oslo/db/sqlalchemy/test_migrations.py", >>> line 193, in walk_versions >>> self.migrate_up(version, with_data=True) >>> File "nova/tests/unit/db/test_migrations.py", line 148, in migrate_up >>> super(NovaMigrationsCheckers, self).migrate_up(version, with_data) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/oslo/db/sqlalchemy/test_migrations.py", >>> line 263, in migrate_up >>> self.REPOSITORY, version) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/api.py", >>> line 186, in upgrade >>> return _migrate(url, repository, version, upgrade=True, err=err, >>> **opts) >>> File "<string>", line 2, in _migrate >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/util/__init__.py", >>> line 160, in with_engine >>> return f(*a, **kw) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/api.py", >>> line 366, in _migrate >>> schema.runchange(ver, change, changeset.step) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/schema.py", >>> line 93, in runchange >>> change.run(self.engine, step) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/script/py.py", >>> line 148, in run >>> script_func(engine) >>> File >>> "/home/mbayer/dev/openstack/nova/nova/db/sqlalchemy/migrate_repo/versions/267_instance_uuid_non_nullable.py", >>> line 103, in upgrade >>> process_null_records(meta, scan=False) >>> File >>> "/home/mbayer/dev/openstack/nova/nova/db/sqlalchemy/migrate_repo/versions/267_instance_uuid_non_nullable.py", >>> line 89, in process_null_records >>> table.columns.uuid.alter(nullable=False) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/schema.py", >>> line 534, in alter >>> return alter_column(self, *p, **k) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/schema.py", >>> line 141, in alter_column >>> engine._run_visitor(visitorcallable, delta) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 1616, in _run_visitor >>> conn._run_visitor(visitorcallable, element, **kwargs) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 1245, in _run_visitor >>> **kwargs).traverse_single(element) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/ansisql.py", >>> line 56, in traverse_single >>> ret = super(AlterTableVisitor, self).traverse_single(elem) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/sql/visitors.py", >>> line 120, in traverse_single >>> return meth(obj, **kw) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/databases/mysql.py", >>> line 47, in visit_column >>> self.execute() >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/ansisql.py", >>> line 44, in execute >>> return self.connection.execute(self.buffer.getvalue()) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 721, in execute >>> return self._execute_text(object, multiparams, params) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 870, in _execute_text >>> statement, parameters >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 958, in _execute_context >>> context) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 1155, in _handle_dbapi_exception >>> util.raise_from_cause(newraise, exc_info) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/util/compat.py", >>> line 199, in raise_from_cause >>> reraise(type(exception), exception, tb=exc_tb) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 951, in _execute_context >>> context) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/default.py", >>> line 436, in do_execute >>> cursor.execute(statement, parameters) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/MySQLdb/cursors.py", >>> line 205, in execute >>> self.errorhandler(self, exc, value) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/MySQLdb/connections.py", >>> line 36, in defaulterrorhandler >>> raise errorclass, errorvalue >>> OperationalError: (OperationalError) (1833, "Cannot change column >>> 'uuid': used in a foreign key constraint >>> 'block_device_mapping_instance_uuid_fkey' of table >>> 'qzclautyzr.block_device_mapping'") '\nALTER TABLE instances CHANGE COLUMN >>> uuid uuid VARCHAR(36) NOT NULL' () >>> >>> Traceback (most recent call last): >>> _StringException: Empty attachments: >>> stdout >>> >>> stderr: {{{ >>> >>> /home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/default.py:436: >>> Warning: Duplicate index >>> 'block_device_mapping_instance_uuid_virtual_name_device_name_idx' defined >>> on the table 'qzclautyzr.block_device_mapping'. This is deprecated and will >>> be disallowed in a future release. >>> cursor.execute(statement, parameters) >>> }}} >>> >>> Traceback (most recent call last): >>> File "nova/tests/unit/db/test_migrations.py", line 151, in >>> test_walk_versions >>> self.walk_versions(self.snake_walk, self.downgrade) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/oslo/db/sqlalchemy/test_migrations.py", >>> line 193, in walk_versions >>> self.migrate_up(version, with_data=True) >>> File "nova/tests/unit/db/test_migrations.py", line 148, in migrate_up >>> super(NovaMigrationsCheckers, self).migrate_up(version, with_data) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/oslo/db/sqlalchemy/test_migrations.py", >>> line 263, in migrate_up >>> self.REPOSITORY, version) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/api.py", >>> line 186, in upgrade >>> return _migrate(url, repository, version, upgrade=True, err=err, >>> **opts) >>> File "<string>", line 2, in _migrate >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/util/__init__.py", >>> line 160, in with_engine >>> return f(*a, **kw) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/api.py", >>> line 366, in _migrate >>> schema.runchange(ver, change, changeset.step) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/schema.py", >>> line 93, in runchange >>> change.run(self.engine, step) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/script/py.py", >>> line 148, in run >>> script_func(engine) >>> File >>> "/home/mbayer/dev/openstack/nova/nova/db/sqlalchemy/migrate_repo/versions/267_instance_uuid_non_nullable.py", >>> line 103, in upgrade >>> process_null_records(meta, scan=False) >>> File >>> "/home/mbayer/dev/openstack/nova/nova/db/sqlalchemy/migrate_repo/versions/267_instance_uuid_non_nullable.py", >>> line 89, in process_null_records >>> table.columns.uuid.alter(nullable=False) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/schema.py", >>> line 534, in alter >>> return alter_column(self, *p, **k) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/schema.py", >>> line 141, in alter_column >>> engine._run_visitor(visitorcallable, delta) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 1616, in _run_visitor >>> conn._run_visitor(visitorcallable, element, **kwargs) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 1245, in _run_visitor >>> **kwargs).traverse_single(element) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/ansisql.py", >>> line 56, in traverse_single >>> ret = super(AlterTableVisitor, self).traverse_single(elem) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/sql/visitors.py", >>> line 120, in traverse_single >>> return meth(obj, **kw) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/databases/mysql.py", >>> line 47, in visit_column >>> self.execute() >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/ansisql.py", >>> line 44, in execute >>> return self.connection.execute(self.buffer.getvalue()) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 721, in execute >>> return self._execute_text(object, multiparams, params) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 870, in _execute_text >>> statement, parameters >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 958, in _execute_context >>> context) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 1155, in _handle_dbapi_exception >>> util.raise_from_cause(newraise, exc_info) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/util/compat.py", >>> line 199, in raise_from_cause >>> reraise(type(exception), exception, tb=exc_tb) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 951, in _execute_context >>> context) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/default.py", >>> line 436, in do_execute >>> cursor.execute(statement, parameters) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/MySQLdb/cursors.py", >>> line 205, in execute >>> self.errorhandler(self, exc, value) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/MySQLdb/connections.py", >>> line 36, in defaulterrorhandler >>> raise errorclass, errorvalue >>> OperationalError: (OperationalError) (1833, "Cannot change column >>> 'uuid': used in a foreign key constraint >>> 'block_device_mapping_instance_uuid_fkey' of table >>> 'qzclautyzr.block_device_mapping'") '\nALTER TABLE instances CHANGE COLUMN >>> uuid uuid VARCHAR(36) NOT NULL' () >>> >>> >>> >>> Captured stderr: >>> ~~~~~~~~~~~~~~~~ >>> >>> /home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/default.py:436: >>> Warning: Duplicate index >>> 'block_device_mapping_instance_uuid_virtual_name_device_name_idx' defined >>> on the table 'qzclautyzr.block_device_mapping'. This is deprecated and will >>> be disallowed in a future release. >>> cursor.execute(statement, parameters) >>> >>> Slowest Tests >>> Test id >>> Runtime (s) >>> ----------------------------------------------------------------------------- >>> ----------- >>> nova.tests.unit.db.test_migrations.TestNovaMigrationsMySQL.test_walk_versions >>> 51.553 >>> >>> ============================== >>> Failed 1 tests - output below: >>> ============================== >>> >>> nova.tests.unit.db.test_migrations.TestNovaMigrationsMySQL.test_walk_versions >>> ----------------------------------------------------------------------------- >>> >>> Captured traceback: >>> ~~~~~~~~~~~~~~~~~~~ >>> Traceback (most recent call last): >>> File "nova/tests/unit/db/test_migrations.py", line 151, in >>> test_walk_versions >>> self.walk_versions(self.snake_walk, self.downgrade) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/oslo/db/sqlalchemy/test_migrations.py", >>> line 193, in walk_versions >>> self.migrate_up(version, with_data=True) >>> File "nova/tests/unit/db/test_migrations.py", line 148, in migrate_up >>> super(NovaMigrationsCheckers, self).migrate_up(version, with_data) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/oslo/db/sqlalchemy/test_migrations.py", >>> line 263, in migrate_up >>> self.REPOSITORY, version) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/api.py", >>> line 186, in upgrade >>> return _migrate(url, repository, version, upgrade=True, err=err, >>> **opts) >>> File "<string>", line 2, in _migrate >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/util/__init__.py", >>> line 160, in with_engine >>> return f(*a, **kw) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/api.py", >>> line 366, in _migrate >>> schema.runchange(ver, change, changeset.step) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/schema.py", >>> line 93, in runchange >>> change.run(self.engine, step) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/script/py.py", >>> line 148, in run >>> script_func(engine) >>> File >>> "/home/mbayer/dev/openstack/nova/nova/db/sqlalchemy/migrate_repo/versions/267_instance_uuid_non_nullable.py", >>> line 103, in upgrade >>> process_null_records(meta, scan=False) >>> File >>> "/home/mbayer/dev/openstack/nova/nova/db/sqlalchemy/migrate_repo/versions/267_instance_uuid_non_nullable.py", >>> line 89, in process_null_records >>> table.columns.uuid.alter(nullable=False) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/schema.py", >>> line 534, in alter >>> return alter_column(self, *p, **k) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/schema.py", >>> line 141, in alter_column >>> engine._run_visitor(visitorcallable, delta) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 1616, in _run_visitor >>> conn._run_visitor(visitorcallable, element, **kwargs) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 1245, in _run_visitor >>> **kwargs).traverse_single(element) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/ansisql.py", >>> line 56, in traverse_single >>> ret = super(AlterTableVisitor, self).traverse_single(elem) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/sql/visitors.py", >>> line 120, in traverse_single >>> return meth(obj, **kw) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/databases/mysql.py", >>> line 47, in visit_column >>> self.execute() >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/ansisql.py", >>> line 44, in execute >>> return self.connection.execute(self.buffer.getvalue()) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 721, in execute >>> return self._execute_text(object, multiparams, params) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 870, in _execute_text >>> statement, parameters >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 958, in _execute_context >>> context) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 1155, in _handle_dbapi_exception >>> util.raise_from_cause(newraise, exc_info) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/util/compat.py", >>> line 199, in raise_from_cause >>> reraise(type(exception), exception, tb=exc_tb) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 951, in _execute_context >>> context) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/default.py", >>> line 436, in do_execute >>> cursor.execute(statement, parameters) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/MySQLdb/cursors.py", >>> line 205, in execute >>> self.errorhandler(self, exc, value) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/MySQLdb/connections.py", >>> line 36, in defaulterrorhandler >>> raise errorclass, errorvalue >>> OperationalError: (OperationalError) (1833, "Cannot change column >>> 'uuid': used in a foreign key constraint >>> 'block_device_mapping_instance_uuid_fkey' of table >>> 'qzclautyzr.block_device_mapping'") '\nALTER TABLE instances CHANGE COLUMN >>> uuid uuid VARCHAR(36) NOT NULL' () >>> Traceback (most recent call last): >>> _StringException: Empty attachments: >>> stdout >>> >>> stderr: {{{ >>> >>> /home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/default.py:436: >>> Warning: Duplicate index >>> 'block_device_mapping_instance_uuid_virtual_name_device_name_idx' defined >>> on the table 'qzclautyzr.block_device_mapping'. This is deprecated and will >>> be disallowed in a future release. >>> cursor.execute(statement, parameters) >>> }}} >>> >>> Traceback (most recent call last): >>> File "nova/tests/unit/db/test_migrations.py", line 151, in >>> test_walk_versions >>> self.walk_versions(self.snake_walk, self.downgrade) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/oslo/db/sqlalchemy/test_migrations.py", >>> line 193, in walk_versions >>> self.migrate_up(version, with_data=True) >>> File "nova/tests/unit/db/test_migrations.py", line 148, in migrate_up >>> super(NovaMigrationsCheckers, self).migrate_up(version, with_data) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/oslo/db/sqlalchemy/test_migrations.py", >>> line 263, in migrate_up >>> self.REPOSITORY, version) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/api.py", >>> line 186, in upgrade >>> return _migrate(url, repository, version, upgrade=True, err=err, >>> **opts) >>> File "<string>", line 2, in _migrate >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/util/__init__.py", >>> line 160, in with_engine >>> return f(*a, **kw) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/api.py", >>> line 366, in _migrate >>> schema.runchange(ver, change, changeset.step) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/schema.py", >>> line 93, in runchange >>> change.run(self.engine, step) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/script/py.py", >>> line 148, in run >>> script_func(engine) >>> File >>> "/home/mbayer/dev/openstack/nova/nova/db/sqlalchemy/migrate_repo/versions/267_instance_uuid_non_nullable.py", >>> line 103, in upgrade >>> process_null_records(meta, scan=False) >>> File >>> "/home/mbayer/dev/openstack/nova/nova/db/sqlalchemy/migrate_repo/versions/267_instance_uuid_non_nullable.py", >>> line 89, in process_null_records >>> table.columns.uuid.alter(nullable=False) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/schema.py", >>> line 534, in alter >>> return alter_column(self, *p, **k) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/schema.py", >>> line 141, in alter_column >>> engine._run_visitor(visitorcallable, delta) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 1616, in _run_visitor >>> conn._run_visitor(visitorcallable, element, **kwargs) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 1245, in _run_visitor >>> **kwargs).traverse_single(element) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/ansisql.py", >>> line 56, in traverse_single >>> ret = super(AlterTableVisitor, self).traverse_single(elem) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/sql/visitors.py", >>> line 120, in traverse_single >>> return meth(obj, **kw) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/databases/mysql.py", >>> line 47, in visit_column >>> self.execute() >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/ansisql.py", >>> line 44, in execute >>> return self.connection.execute(self.buffer.getvalue()) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 721, in execute >>> return self._execute_text(object, multiparams, params) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 870, in _execute_text >>> statement, parameters >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 958, in _execute_context >>> context) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 1155, in _handle_dbapi_exception >>> util.raise_from_cause(newraise, exc_info) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/util/compat.py", >>> line 199, in raise_from_cause >>> reraise(type(exception), exception, tb=exc_tb) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 951, in _execute_context >>> context) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/default.py", >>> line 436, in do_execute >>> cursor.execute(statement, parameters) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/MySQLdb/cursors.py", >>> line 205, in execute >>> self.errorhandler(self, exc, value) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/MySQLdb/connections.py", >>> line 36, in defaulterrorhandler >>> raise errorclass, errorvalue >>> OperationalError: (OperationalError) (1833, "Cannot change column >>> 'uuid': used in a foreign key constraint >>> 'block_device_mapping_instance_uuid_fkey' of table >>> 'qzclautyzr.block_device_mapping'") '\nALTER TABLE instances CHANGE COLUMN >>> uuid uuid VARCHAR(36) NOT NULL' () >>> >>> Traceback (most recent call last): >>> _StringException: Empty attachments: >>> stdout >>> >>> stderr: {{{ >>> >>> /home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/default.py:436: >>> Warning: Duplicate index >>> 'block_device_mapping_instance_uuid_virtual_name_device_name_idx' defined >>> on the table 'qzclautyzr.block_device_mapping'. This is deprecated and will >>> be disallowed in a future release. >>> cursor.execute(statement, parameters) >>> }}} >>> >>> Traceback (most recent call last): >>> File "nova/tests/unit/db/test_migrations.py", line 151, in >>> test_walk_versions >>> self.walk_versions(self.snake_walk, self.downgrade) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/oslo/db/sqlalchemy/test_migrations.py", >>> line 193, in walk_versions >>> self.migrate_up(version, with_data=True) >>> File "nova/tests/unit/db/test_migrations.py", line 148, in migrate_up >>> super(NovaMigrationsCheckers, self).migrate_up(version, with_data) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/oslo/db/sqlalchemy/test_migrations.py", >>> line 263, in migrate_up >>> self.REPOSITORY, version) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/api.py", >>> line 186, in upgrade >>> return _migrate(url, repository, version, upgrade=True, err=err, >>> **opts) >>> File "<string>", line 2, in _migrate >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/util/__init__.py", >>> line 160, in with_engine >>> return f(*a, **kw) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/api.py", >>> line 366, in _migrate >>> schema.runchange(ver, change, changeset.step) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/schema.py", >>> line 93, in runchange >>> change.run(self.engine, step) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/versioning/script/py.py", >>> line 148, in run >>> script_func(engine) >>> File >>> "/home/mbayer/dev/openstack/nova/nova/db/sqlalchemy/migrate_repo/versions/267_instance_uuid_non_nullable.py", >>> line 103, in upgrade >>> process_null_records(meta, scan=False) >>> File >>> "/home/mbayer/dev/openstack/nova/nova/db/sqlalchemy/migrate_repo/versions/267_instance_uuid_non_nullable.py", >>> line 89, in process_null_records >>> table.columns.uuid.alter(nullable=False) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/schema.py", >>> line 534, in alter >>> return alter_column(self, *p, **k) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/schema.py", >>> line 141, in alter_column >>> engine._run_visitor(visitorcallable, delta) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 1616, in _run_visitor >>> conn._run_visitor(visitorcallable, element, **kwargs) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 1245, in _run_visitor >>> **kwargs).traverse_single(element) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/ansisql.py", >>> line 56, in traverse_single >>> ret = super(AlterTableVisitor, self).traverse_single(elem) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/sql/visitors.py", >>> line 120, in traverse_single >>> return meth(obj, **kw) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/databases/mysql.py", >>> line 47, in visit_column >>> self.execute() >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/migrate/changeset/ansisql.py", >>> line 44, in execute >>> return self.connection.execute(self.buffer.getvalue()) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 721, in execute >>> return self._execute_text(object, multiparams, params) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 870, in _execute_text >>> statement, parameters >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 958, in _execute_context >>> context) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 1155, in _handle_dbapi_exception >>> util.raise_from_cause(newraise, exc_info) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/util/compat.py", >>> line 199, in raise_from_cause >>> reraise(type(exception), exception, tb=exc_tb) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py", >>> line 951, in _execute_context >>> context) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/default.py", >>> line 436, in do_execute >>> cursor.execute(statement, parameters) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/MySQLdb/cursors.py", >>> line 205, in execute >>> self.errorhandler(self, exc, value) >>> File >>> "/home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/MySQLdb/connections.py", >>> line 36, in defaulterrorhandler >>> raise errorclass, errorvalue >>> OperationalError: (OperationalError) (1833, "Cannot change column >>> 'uuid': used in a foreign key constraint >>> 'block_device_mapping_instance_uuid_fkey' of table >>> 'qzclautyzr.block_device_mapping'") '\nALTER TABLE instances CHANGE COLUMN >>> uuid uuid VARCHAR(36) NOT NULL' () >>> >>> >>> >>> Captured stderr: >>> ~~~~~~~~~~~~~~~~ >>> >>> /home/mbayer/dev/openstack/nova/.tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/default.py:436: >>> Warning: Duplicate index >>> 'block_device_mapping_instance_uuid_virtual_name_device_name_idx' defined >>> on the table 'qzclautyzr.block_device_mapping'. This is deprecated and will >>> be disallowed in a future release. >>> cursor.execute(statement, parameters) >>> >>> >>> >>> ====== >>> Totals >>> ====== >>> Run: 1 in 51.553131 sec. >>> - Passed: 0 >>> - Skipped: 0 >>> - Failed: 1 >>> >>> ============== >>> Worker Balance >>> ============== >>> - Worker 0 (1 tests) => 0:00:51.553131s >>> ERROR: InvocationError: '/usr/bin/bash tools/pretty_tox.sh >>> nova.tests.unit.db.test_migrations.TestNovaMigrationsMySQL.test_walk_versions' >>> ____________________________________________________________________________________ >>> summary >>> ____________________________________________________________________________________ >>> ERROR: py27: commands failed >>> [mbayer@thinkpad nova]$ >>> >>> >>> >>> >>> _______________________________________________ >>> OpenStack-dev mailing list >>> OpenStack-dev@lists.openstack.org >>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >> >> We're running the migrations with Tempest in an internal CI with MariaDB and >> RHEL 7 and haven't had migration issues like this. >> >> The deprecation warning is odd, unless that's coming from the 216 migration >> where the duplicate index is defined, but it's removed in the 249 migration >> so that shouldn't be a problem. >> >> As for the 267 migration, it's failing to set the instances.uuid column to >> nullable=False. Before it does this, it scans the tables looking for tables >> with an instance_uuid column that has a foreign key back to the instances >> table and where the instance_uuid value is NULL, it will fail it if finds >> one of those (on purpose, you have to manually purge those rows). >> >> Once it's checked that there aren't any null instance_uuid entries with >> fkeys back to instances, it alters the instances.uuid column to be >> non-nullable so the UniqueConstraint on instances.uuid can be created. >> >> There is a known issue with a unique index being created on instances.uuid >> in the 216 migration and the 267 migration adds the unique constraint, so >> there is some duplication there, but I don't think that's what's causing >> your failure. >> >> -- >> >> Thanks, >> >> Matt Riedemann >> >> >> _______________________________________________ >> OpenStack-dev mailing list >> OpenStack-dev@lists.openstack.org >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > > _______________________________________________ > OpenStack-dev mailing list > OpenStack-dev@lists.openstack.org > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev