Database migration fails when running on sqlite3 3.6.4

Bug #766231 reported by Lorin Hochstein
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Undecided
Dan Prince

Bug Description

I'm running nova on SLES11SP1. "run_tests.sh" fails with a single error:

OperationalError: (OperationalError) cannot commit transaction - SQL statements in progress None None

It fails in 014_add_instance_type_id_to_instances.py (upgrade method), when migrating the database schema:

def upgrade(migrate_engine):
    # Upgrade operations go here. Don't create your own engine;
    # bind migrate_engine to your metadata
    meta.bind = migrate_engine

    instances = Table('instances', meta, autoload=True,
                      autoload_with=migrate_engine)

    instances.create_column(c_instance_type_id)

    recs = migrate_engine.execute(instance_types.select())
    for row in recs:
        type_id = row[0]
        type_name = row[1]
        migrate_engine.execute(instances.update()\
            .where(instances.c.instance_type == type_name)\
            .values(instance_type_id=type_id))

    instances.c.instance_type.drop()

I tracked the problem down to an issue with the version of sqlite3 that ships with SLES11SP1. The installed version is sqlite3 3.6.4. If I install 3.7.6.2 and point Python to the newer version of sqlite3, then the tests pass.

Does somebody with sqlite and sqlalchemy-migrate experience know if it's possible to implement a workaround in this code so this will work with sqlite3 3.6.4? Or will we need to install a newer version of sqlite3 on SUSE deployments?

Tested on nova revision 1003.

Full output follows:

./run_tests.sh -V
ERROR

======================================================================
ERROR: <nose.suite.ContextSuite context=nova.tests>
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/nose/suite.py", line 208, in run
    self.setUp()
  File "/home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/nose/suite.py", line 291, in setUp
    self.setupContext(ancestor)
  File "/home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/nose/suite.py", line 314, in setupContext
    try_run(context, names)
  File "/home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/nose/util.py", line 478, in try_run
    return func()
  File "/home/vagrant/nova/trunk/nova/tests/__init__.py", line 54, in setup
    migration.db_sync()
  File "/home/vagrant/nova/trunk/nova/db/migration.py", line 33, in db_sync
    return IMPL.db_sync(version=version)
  File "/home/vagrant/nova/trunk/nova/db/sqlalchemy/migration.py", line 43, in db_sync
    return versioning_api.upgrade(FLAGS.sql_connection, repo_path, version)
  File "/home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/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/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/util/__init__.py", line 159, in with_engine
    return f(*a, **kw)
  File "/home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/api.py", line 365, in _migrate
    schema.runchange(ver, change, changeset.step)
  File "/home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/schema.py", line 84, in runchange
    change.run(self.engine, step)
  File "/home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/py.py", line 145, in run
    script_func(engine)
  File "/home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/014_add_instance_type_id_to_instances.py", line 63, in upgrade
    .values(instance_type_id=type_id))
  File "/home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/sqlalchemy/engine/base.py", line 1715, in execute
    return connection.execute(statement, *multiparams, **params)
  File "/home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/sqlalchemy/engine/base.py", line 1157, in execute
    params)
  File "/home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/sqlalchemy/engine/base.py", line 1237, in _execute_clauseelement
    return self.__execute_context(context)
  File "/home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/sqlalchemy/engine/base.py", line 1281, in __execute_context
    self._commit_impl()
  File "/home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/sqlalchemy/engine/base.py", line 1081, in _commit_impl
    self._handle_dbapi_exception(e, None, None, None, None)
  File "/home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/sqlalchemy/engine/base.py", line 1078, in _commit_impl
    self.engine.dialect.do_commit(self.connection)
  File "/home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/sqlalchemy/engine/default.py", line 264, in do_commit
    connection.commit()
OperationalError: (OperationalError) cannot commit transaction - SQL statements in progress None None
-------------------- >> begin captured logging << --------------------
2011-04-19 12:09:44,547 DEBUG nova.utils [-] backend <module 'nova.db.sqlalchemy.migration' from '/home/vagrant/nova/trunk/nova/db/sqlalchemy/migration.pyc'> from (pid=11322) __get_backend /home/vagrant/nova/trunk/nova/utils.py:427
2011-04-19 12:09:44,548 DEBUG migrate.versioning.util [-] Constructing engine from (pid=11322) construct_engine /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/util/__init__.py:137
2011-04-19 12:09:44,551 DEBUG migrate.versioning.repository [-] Loading repository /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/repository.py:76
2011-04-19 12:09:44,552 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/001_austin.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,552 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/001_austin.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,553 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/002_bexar.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,553 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/002_bexar.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,553 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/003_add_label_to_networks.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,553 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/003_add_label_to_networks.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,554 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/004_add_zone_tables.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,554 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/004_add_zone_tables.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,554 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/005_add_instance_metadata.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,554 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/005_add_instance_metadata.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,554 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/006_add_provider_data_to_volumes.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,555 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/006_add_provider_data_to_volumes.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,555 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/007_add_ipv6_to_fixed_ips.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,555 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/007_add_ipv6_to_fixed_ips.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,555 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/008_add_instance_types.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,556 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/008_add_instance_types.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,556 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/009_add_instance_migrations.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,556 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/009_add_instance_migrations.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,556 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/010_add_os_type_to_instances.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,556 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/010_add_os_type_to_instances.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,557 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/011_live_migration.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,557 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/011_live_migration.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,557 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/012_add_ipv6_flatmanager.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,557 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/012_add_ipv6_flatmanager.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,557 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/013_add_flavors_to_migrations.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,557 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/013_add_flavors_to_migrations.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,558 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/014_add_instance_type_id_to_instances.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,558 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/014_add_instance_type_id_to_instances.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,558 DEBUG migrate.versioning.repository [-] Repository /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/repository.py:82
2011-04-19 12:09:44,558 DEBUG migrate.versioning.repository [-] Config: {'db_settings': {'__name__': 'db_settings', 'required_dbs': '[]', 'version_table': 'migrate_version', 'repository_id': 'nova'}} from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/repository.py:83
2011-04-19 12:09:44,562 DEBUG migrate.versioning.util [-] Disposing SQLAlchemy engine Engine(sqlite:////home/vagrant/nova/trunk/nova/..//tests.sqlite) from (pid=11322) with_engine /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/util/__init__.py:162
2011-04-19 12:09:44,564 DEBUG migrate.versioning.util [-] Constructing engine from (pid=11322) construct_engine /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/util/__init__.py:137
2011-04-19 12:09:44,565 DEBUG migrate.versioning.repository [-] Loading repository /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/repository.py:76
2011-04-19 12:09:44,565 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/001_austin.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,565 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/001_austin.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,565 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/002_bexar.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,565 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/002_bexar.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,565 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/003_add_label_to_networks.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,566 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/003_add_label_to_networks.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,566 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/004_add_zone_tables.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,566 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/004_add_zone_tables.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,567 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/005_add_instance_metadata.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,567 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/005_add_instance_metadata.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,567 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/006_add_provider_data_to_volumes.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,567 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/006_add_provider_data_to_volumes.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,568 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/007_add_ipv6_to_fixed_ips.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,568 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/007_add_ipv6_to_fixed_ips.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,568 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/008_add_instance_types.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,568 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/008_add_instance_types.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,568 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/009_add_instance_migrations.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,569 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/009_add_instance_migrations.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,569 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/010_add_os_type_to_instances.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,569 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/010_add_os_type_to_instances.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,569 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/011_live_migration.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,569 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/011_live_migration.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,569 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/012_add_ipv6_flatmanager.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,570 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/012_add_ipv6_flatmanager.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,570 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/013_add_flavors_to_migrations.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,570 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/013_add_flavors_to_migrations.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,570 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/014_add_instance_type_id_to_instances.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,570 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/014_add_instance_type_id_to_instances.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,570 DEBUG migrate.versioning.repository [-] Repository /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/repository.py:82
2011-04-19 12:09:44,571 DEBUG migrate.versioning.repository [-] Config: {'db_settings': {'__name__': 'db_settings', 'required_dbs': '[]', 'version_table': 'migrate_version', 'repository_id': 'nova'}} from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/repository.py:83
2011-04-19 12:09:44,637 DEBUG migrate.versioning.util [-] Disposing SQLAlchemy engine Engine(sqlite:////home/vagrant/nova/trunk/nova/..//tests.sqlite) from (pid=11322) with_engine /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/util/__init__.py:162
2011-04-19 12:09:44,638 DEBUG migrate.versioning.util [-] Constructing engine from (pid=11322) construct_engine /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/util/__init__.py:137
2011-04-19 12:09:44,638 DEBUG migrate.versioning.repository [-] Loading repository /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/repository.py:76
2011-04-19 12:09:44,639 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/001_austin.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,639 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/001_austin.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,639 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/002_bexar.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,639 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/002_bexar.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,640 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/003_add_label_to_networks.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,640 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/003_add_label_to_networks.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,640 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/004_add_zone_tables.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,640 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/004_add_zone_tables.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,640 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/005_add_instance_metadata.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,641 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/005_add_instance_metadata.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,641 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/006_add_provider_data_to_volumes.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,641 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/006_add_provider_data_to_volumes.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,642 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/007_add_ipv6_to_fixed_ips.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,642 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/007_add_ipv6_to_fixed_ips.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,642 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/008_add_instance_types.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,642 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/008_add_instance_types.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,642 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/009_add_instance_migrations.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,642 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/009_add_instance_migrations.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,643 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/010_add_os_type_to_instances.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,643 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/010_add_os_type_to_instances.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,643 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/011_live_migration.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,643 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/011_live_migration.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,643 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/012_add_ipv6_flatmanager.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,644 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/012_add_ipv6_flatmanager.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,644 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/013_add_flavors_to_migrations.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,644 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/013_add_flavors_to_migrations.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,644 DEBUG migrate.versioning.script.base [-] Loading script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/014_add_instance_type_id_to_instances.py... from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:27
2011-04-19 12:09:44,644 DEBUG migrate.versioning.script.base [-] Script /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo/versions/014_add_instance_type_id_to_instances.py loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/script/base.py:30
2011-04-19 12:09:44,644 DEBUG migrate.versioning.repository [-] Repository /home/vagrant/nova/trunk/nova/db/sqlalchemy/migrate_repo loaded successfully from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/repository.py:82
2011-04-19 12:09:44,644 DEBUG migrate.versioning.repository [-] Config: {'db_settings': {'__name__': 'db_settings', 'required_dbs': '[]', 'version_table': 'migrate_version', 'repository_id': 'nova'}} from (pid=11322) __init__ /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/repository.py:83
2011-04-19 12:09:44,647 INFO migrate.versioning.api [-] 0 -> 1...
2011-04-19 12:09:46,499 INFO migrate.versioning.api [-] done
2011-04-19 12:09:46,500 INFO migrate.versioning.api [-] 1 -> 2...
2011-04-19 12:09:48,116 INFO migrate.versioning.api [-] done
2011-04-19 12:09:48,116 INFO migrate.versioning.api [-] 2 -> 3...
2011-04-19 12:09:48,315 INFO migrate.versioning.api [-] done
2011-04-19 12:09:48,315 INFO migrate.versioning.api [-] 3 -> 4...
2011-04-19 12:09:48,532 INFO migrate.versioning.api [-] done
2011-04-19 12:09:48,532 INFO migrate.versioning.api [-] 4 -> 5...
2011-04-19 12:09:48,809 INFO migrate.versioning.api [-] done
2011-04-19 12:09:48,810 INFO migrate.versioning.api [-] 5 -> 6...
2011-04-19 12:09:48,915 INFO migrate.versioning.api [-] done
2011-04-19 12:09:48,915 INFO migrate.versioning.api [-] 6 -> 7...
2011-04-19 12:09:48,960 INFO migrate.versioning.api [-] done
2011-04-19 12:09:48,961 INFO migrate.versioning.api [-] 7 -> 8...
2011-04-19 12:09:49,114 INFO migrate.versioning.api [-] done
2011-04-19 12:09:49,114 INFO migrate.versioning.api [-] 8 -> 9...
2011-04-19 12:09:49,217 INFO migrate.versioning.api [-] done
2011-04-19 12:09:49,218 INFO migrate.versioning.api [-] 9 -> 10...
2011-04-19 12:09:49,282 INFO migrate.versioning.api [-] done
2011-04-19 12:09:49,282 INFO migrate.versioning.api [-] 10 -> 11...
2011-04-19 12:09:49,324 INFO migrate.versioning.api [-] done
2011-04-19 12:09:49,325 INFO migrate.versioning.api [-] 11 -> 12...
2011-04-19 12:09:49,732 INFO migrate.versioning.api [-] done
2011-04-19 12:09:49,732 INFO migrate.versioning.api [-] 12 -> 13...
2011-04-19 12:09:49,825 INFO migrate.versioning.api [-] done
2011-04-19 12:09:49,825 INFO migrate.versioning.api [-] 13 -> 14...
2011-04-19 12:09:49,869 DEBUG migrate.versioning.util [-] Disposing SQLAlchemy engine Engine(sqlite:////home/vagrant/nova/trunk/nova/..//tests.sqlite) from (pid=11322) with_engine /home/vagrant/nova/trunk/.nova-venv/lib64/python2.6/site-packages/migrate/versioning/util/__init__.py:162
--------------------- >> end captured logging << ---------------------

----------------------------------------------------------------------
Ran 0 tests in 5.414s

FAILED (errors=1)

Related branches

Lorin Hochstein (lorinh)
description: updated
Dan Prince (dan-prince)
Changed in nova:
assignee: nobody → Dan Prince (dan-prince)
status: New → In Progress
Revision history for this message
Dan Prince (dan-prince) wrote :

Hi Loren,

I think I see what was going on here. The migration had an open cursor open on a select to the instance_types table while it was also trying to update instances. I haven't heard about this causing problems with other databases however we should be able to support this specific Sqlite version as well.

Would you mind trying the attached migration patch on SLES 11 SP1 box with Sqlite 3.6.4? It doesn't seem to break anything and should hopefully fix your issue.

Thanks,

Dan

Revision history for this message
Lorin Hochstein (lorinh) wrote :

Hi Dan:

I'll give it a try.

Lorin

Revision history for this message
Lorin Hochstein (lorinh) wrote :

Yup, that fixes the problem! Some of the tests are failing, but I think those are unrelated to this issue.

Dan Prince (dan-prince)
Changed in nova:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in nova:
milestone: none → diablo-1
Thierry Carrez (ttx)
Changed in nova:
milestone: diablo-1 → 2011.3
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.