A few of the database tests fail when running with sqlalchemy 0.7.4, which is an acceptable version according to pip-requires:
======================================================================
ERROR: test_instance_get_all_by_filters_metadata (nova.tests.test_db_api.DbApiTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/opt/stack/nova/nova/tests/test_db_api.py", line 93, in test_instance_get_all_by_filters_metadata
{'metadata': {'foo': 'bar'}})
File "/opt/stack/nova/nova/db/api.py", line 594, in instance_get_all_by_filters
marker=marker)
File "/opt/stack/nova/nova/db/sqlalchemy/api.py", line 129, in wrapper
return f(*args, **kwargs)
File "/opt/stack/nova/nova/db/sqlalchemy/api.py", line 1607, in instance_get_all_by_filters
instances = query_prefix.all()
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 1947, in all
return list(self)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2057, in __iter__
return self._execute_and_instances(context)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2072, in _execute_and_instances
result = conn.execute(querycontext.statement, self._params)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1405, in execute
params)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1530, in _execute_clauseelement
inline=len(distilled_params) > 1)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/expression.py", line 1722, in compile
return self._compiler(dialect, bind=bind, **kw)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/expression.py", line 1728, in _compiler
return dialect.statement_compiler(dialect, self, **kw)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/compiler.py", line 267, in __init__
engine.Compiled.__init__(self, dialect, statement, **kwargs)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 699, in __init__
self.string = self.process(self.statement)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 718, in process
return obj._compiler_dispatch(self, **kwargs)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/visitors.py", line 59, in _compiler_dispatch
return getter(visitor)(self, **kw)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/compiler.py", line 867, in visit_select
t = select._whereclause._compiler_dispatch(self, **kwargs)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/visitors.py", line 59, in _compiler_dispatch
return getter(visitor)(self, **kw)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/compiler.py", line 457, in visit_clauselist
for c in clauselist.clauses)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/compiler.py", line 455, in <genexpr>
s for s in
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/compiler.py", line 457, in <genexpr>
for c in clauselist.clauses)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/visitors.py", line 59, in _compiler_dispatch
return getter(visitor)(self, **kw)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/compiler.py", line 457, in visit_clauselist [566/1897]
for c in clauselist.clauses)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/compiler.py", line 455, in <genexpr>
s for s in
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/compiler.py", line 457, in <genexpr>
for c in clauselist.clauses)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/visitors.py", line 59, in _compiler_dispatch
return getter(visitor)(self, **kw)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/compiler.py", line 337, in visit_grouping
return "(" + grouping.element._compiler_dispatch(self, **kwargs) + ")"
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/visitors.py", line 59, in _compiler_dispatch
return getter(visitor)(self, **kw)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/compiler.py", line 552, in visit_unary
s = unary.element._compiler_dispatch(self, **kw)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/visitors.py", line 59, in _compiler_dispatch
return getter(visitor)(self, **kw)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/compiler.py", line 337, in visit_grouping
return "(" + grouping.element._compiler_dispatch(self, **kwargs) + ")"
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/visitors.py", line 59, in _compiler_dispatch
return getter(visitor)(self, **kw)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/compiler.py", line 867, in visit_select
t = select._whereclause._compiler_dispatch(self, **kwargs)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/visitors.py", line 59, in _compiler_dispatch
return getter(visitor)(self, **kw)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/compiler.py", line 457, in visit_clauselist
for c in clauselist.clauses)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/compiler.py", line 455, in <genexpr>
s for s in
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/compiler.py", line 457, in <genexpr>
for c in clauselist.clauses)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/util.py", line 374, in _compiler_dispatch
return self.__element.__class__._compiler_dispatch(self, visitor, **kw)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/visitors.py", line 59, in _compiler_dispatch
return getter(visitor)(self, **kw)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/compiler.py", line 457, in visit_clauselist
for c in clauselist.clauses)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/compiler.py", line 455, in <genexpr>
s for s in
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/compiler.py", line 457, in <genexpr>
for c in clauselist.clauses)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/util.py", line 374, in _compiler_dispatch
return self.__element.__class__._compiler_dispatch(self, visitor, **kw)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/visitors.py", line 59, in _compiler_dispatch
return getter(visitor)(self, **kw)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/compiler.py", line 572, in visit_binary
**kw
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/compiler.py", line 617, in _operator_dispatch
return fn(OPERATORS[operator])
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/compiler.py", line 571, in <lambda>
self, **kw),
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/util.py", line 374, in _compiler_dispatch
return self.__element.__class__._compiler_dispatch(self, visitor, **kw)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/visitors.py", line 59, in _compiler_dispatch
return getter(visitor)(self, **kw)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/compiler.py", line 642, in visit_bindparam
bindparam.key
CompileError: Bind parameter '%(58498704 deleted)s' conflicts with unique bind parameter of the same name
======================================================================
ERROR: Test that migration 91 works correctly.
----------------------------------------------------------------------
Traceback (most recent call last):
File "/opt/stack/nova/nova/tests/test_migrations.py", line 447, in test_migration_91
self.assertEqual(vol1_id, query.execute().fetchone().volume_id)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/expression.py", line 2734, in execute
return e._execute_clauseelement(self, multiparams, params)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 2304, in _execute_clauseelement
return connection._execute_clauseelement(elem, multiparams, params)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1538, in _execute_clauseelement
compiled_sql, distilled_params
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1646, in _execute_context
context)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1639, in _execute_context
context)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 330, in do_execute
cursor.execute(statement, parameters)
OperationalError: (OperationalError) no such table: iscsi_targets u'SELECT iscsi_targets.created_at, iscsi_targets.updated_at, iscsi_targets.deleted_at, iscsi_targets.deleted, iscsi_targets.id, iscsi_ta
rgets.target_num, iscsi_targets.host, iscsi_targets.volume_id \nFROM iscsi_targets \nWHERE iscsi_targets.id = ?' (7,)
======================================================================
ERROR: Walks all version scripts for each tested database, ensuring
----------------------------------------------------------------------
Traceback (most recent call last):
File "/opt/stack/nova/nova/tests/test_migrations.py", line 210, in test_walk_versions
self._walk_versions(engine, self.snake_walk)
File "/opt/stack/nova/nova/tests/test_migrations.py", line 286, in _walk_versions
self._migrate_down(engine, version)
File "/opt/stack/nova/nova/tests/test_migrations.py", line 294, in _migrate_down
version)
File "/usr/lib/python2.7/dist-packages/migrate/versioning/api.py", line 202, in downgrade
return _migrate(url, repository, version, upgrade=False, err=err, **opts)
File "<string>", line 2, in _migrate
File "/opt/stack/nova/nova/db/sqlalchemy/migration.py", line 44, in patched_with_engine
return f(*a, **kw)
File "/usr/lib/python2.7/dist-packages/migrate/versioning/api.py", line 366, in _migrate
schema.runchange(ver, change, changeset.step)
File "/usr/lib/python2.7/dist-packages/migrate/versioning/schema.py", line 91, in runchange
change.run(self.engine, step)
File "/usr/lib/python2.7/dist-packages/migrate/versioning/script/sql.py", line 41, in run
dbapi.executescript(text)
OperationalError: no such table: iscsi_targets
Fix proposed to branch: master /review. openstack. org/13730
Review: https:/