The error below is very frequent in functional tests.
It looks like it could be some race condition with the SqlFixtures that use a single in-memory database [0]. Need to investigate as it's causing lots of failures in our gate lately.
Also, it's weird that the offending table is always 'qos_fip_policy_bindings'.
[0] http://git.openstack.org/cgit/openstack/neutron/tree/neutron/tests/unit/testlib_api.py#n146
ft2.1: networking_ovn.tests.functional.test_router.TestRouter.test_gateway_chassis_least_loaded_scheduler_StringException: Traceback (most recent call last):
File "/opt/stack/new/networking-ovn/.tox/dsvm-functional-py35/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
context)
File "/opt/stack/new/networking-ovn/.tox/dsvm-functional-py35/lib/python3.5/site-packages/sqlalchemy/engine/default.py", line 509, in do_execute
cursor.execute(statement, parameters)
sqlite3.OperationalError: no such table: qos_fip_policy_bindings
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/opt/stack/new/networking-ovn/.tox/dsvm-functional-py35/lib/python3.5/site-packages/fixtures/fixture.py", line 125, in cleanUp
return self._cleanups(raise_errors=raise_first)
File "/opt/stack/new/networking-ovn/.tox/dsvm-functional-py35/lib/python3.5/site-packages/fixtures/callmany.py", line 89, in __call__
reraise(error[0], error[1], error[2])
File "/opt/stack/new/networking-ovn/.tox/dsvm-functional-py35/lib/python3.5/site-packages/testtools/_compat3x.py", line 16, in reraise
raise exc_obj.with_traceback(exc_tb)
File "/opt/stack/new/networking-ovn/.tox/dsvm-functional-py35/lib/python3.5/site-packages/fixtures/callmany.py", line 83, in __call__
cleanup(*args, **kwargs)
File "/opt/stack/new/networking-ovn/.tox/dsvm-functional-py35/lib/python3.5/site-packages/neutron/tests/unit/testlib_api.py", line 100, in <lambda>
self.addCleanup(lambda: self._delete_from_schema(engine))
File "/opt/stack/new/networking-ovn/.tox/dsvm-functional-py35/lib/python3.5/site-packages/neutron/tests/unit/testlib_api.py", line 85, in _delete_from_schema
conn.execute(table.delete())
File "/opt/stack/new/networking-ovn/.tox/dsvm-functional-py35/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 948, in execute
return meth(self, multiparams, params)
File "/opt/stack/new/networking-ovn/.tox/dsvm-functional-py35/lib/python3.5/site-packages/sqlalchemy/sql/elements.py", line 269, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/opt/stack/new/networking-ovn/.tox/dsvm-functional-py35/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1060, in _execute_clauseelement
compiled_sql, distilled_params
File "/opt/stack/new/networking-ovn/.tox/dsvm-functional-py35/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context
context)
File "/opt/stack/new/networking-ovn/.tox/dsvm-functional-py35/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1409, in _handle_dbapi_exception
util.raise_from_cause(newraise, exc_info)
File "/opt/stack/new/networking-ovn/.tox/dsvm-functional-py35/lib/python3.5/site-packages/sqlalchemy/util/compat.py", line 265, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/opt/stack/new/networking-ovn/.tox/dsvm-functional-py35/lib/python3.5/site-packages/sqlalchemy/util/compat.py", line 248, in reraise
raise value.with_traceback(tb)
File "/opt/stack/new/networking-ovn/.tox/dsvm-functional-py35/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
context)
File "/opt/stack/new/networking-ovn/.tox/dsvm-functional-py35/lib/python3.5/site-packages/sqlalchemy/engine/default.py", line 509, in do_execute
cursor.execute(statement, parameters)
oslo_db.exception.DBNonExistentTable: (sqlite3.OperationalError) no such table: qos_fip_policy_bindings [SQL: 'DELETE FROM qos_fip_policy_bindings'] (Background on this error at: http://sqlalche.me/e/e3q8)
Sorry, it's not always the same table. Sometimes another tables like ml2_geneve_ allocations are found missing.