Unit tests fails with oslo_db.exception.DBNonExistentTable: (sqlite3.OperationalError) no such table: ml2_geneve_allocations when run with low concurrency or on loaded systems

Bug #2024674 reported by yatin
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Committed
High
yatin

Bug Description

The issue is noticed in RDO openstack-neutron package build[1], the package builds fails as unit tests fails randomly with below Traceback:-
DEBUG: neutron.tests.unit.services.trunk.test_utils.UtilsTestCase.test_is_driver_compatible_multiple_drivers
DEBUG: -----------------------------------------------------------------------------------------------------
DEBUG: Captured traceback:
DEBUG: ~~~~~~~~~~~~~~~~~~~
DEBUG: Traceback (most recent call last):
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
DEBUG: self.dialect.do_execute(
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
DEBUG: cursor.execute(statement, parameters)
DEBUG: sqlite3.OperationalError: no such table: ml2_geneve_allocations
DEBUG:
DEBUG: The above exception was the direct cause of the following exception:
DEBUG: Traceback (most recent call last):
DEBUG: File "/usr/lib/python3.9/site-packages/fixtures/fixture.py", line 196, in setUp
DEBUG: self._setUp()
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/tests/unit/plugins/ml2/test_plugin.py", line 110, in _setUp
DEBUG: self.parent_setup()
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/tests/unit/db/test_db_base_plugin_v2.py", line 166, in setUp
DEBUG: self.api = router.APIRouter()
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/api/v2/router.py", line 21, in APIRouter
DEBUG: return pecan_app.v2_factory(None, **local_config)
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/pecan_wsgi/app.py", line 47, in v2_factory
DEBUG: startup.initialize_all()
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/pecan_wsgi/startup.py", line 39, in initialize_all
DEBUG: manager.init()
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/manager.py", line 301, in init
DEBUG: NeutronManager.get_instance()
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/manager.py", line 252, in get_instance
DEBUG: cls._create_instance()
DEBUG: File "/usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py", line 414, in inner
DEBUG: return f(*args, **kwargs)
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/manager.py", line 238, in _create_instance
DEBUG: cls._instance = cls()
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/manager.py", line 126, in __init__
DEBUG: plugin = self._get_plugin_instance(CORE_PLUGINS_NAMESPACE,
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/manager.py", line 162, in _get_plugin_instance
DEBUG: plugin_inst = plugin_class()
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/quota/resource_registry.py", line 124, in wrapper
DEBUG: return f(*args, **kwargs)
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/plugins/ml2/plugin.py", line 282, in __init__
DEBUG: self.type_manager.initialize()
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/plugins/ml2/managers.py", line 205, in initialize
DEBUG: driver.obj.initialize()
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/plugins/ml2/drivers/type_geneve.py", line 47, in initialize
DEBUG: self._initialize(cfg.CONF.ml2_type_geneve.vni_ranges)
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/plugins/ml2/drivers/type_tunnel.py", line 131, in _initialize
DEBUG: self.sync_allocations()
DEBUG: File "/usr/lib/python3.9/site-packages/neutron_lib/db/api.py", line 139, in wrapped
DEBUG: setattr(e, '_RETRY_EXCEEDED', True)
DEBUG: File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 227, in __exit__
DEBUG: self.force_reraise()
DEBUG: File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
DEBUG: raise self.value
DEBUG: File "/usr/lib/python3.9/site-packages/neutron_lib/db/api.py", line 135, in wrapped
DEBUG: return f(*args, **kwargs)
DEBUG: File "/usr/lib/python3.9/site-packages/oslo_db/api.py", line 154, in wrapper
DEBUG: ectxt.value = e.inner_exc
DEBUG: File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 227, in __exit__
DEBUG: self.force_reraise()
DEBUG: File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
DEBUG: raise self.value
DEBUG: File "/usr/lib/python3.9/site-packages/oslo_db/api.py", line 142, in wrapper
DEBUG: return f(*args, **kwargs)
DEBUG: File "/usr/lib/python3.9/site-packages/neutron_lib/db/api.py", line 187, in wrapped
DEBUG: context_reference.session.rollback()
DEBUG: File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 227, in __exit__
DEBUG: self.force_reraise()
DEBUG: File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
DEBUG: raise self.value
DEBUG: File "/usr/lib/python3.9/site-packages/neutron_lib/db/api.py", line 181, in wrapped
DEBUG: return f(*dup_args, **dup_kwargs)
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/plugins/ml2/drivers/type_tunnel.py", line 205, in sync_allocations
DEBUG: allocs = ctx.session.query(self.model).all()
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/orm/query.py", line 2773, in all
DEBUG: return self._iter().all()
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/orm/query.py", line 2916, in _iter
DEBUG: result = self.session.execute(
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/orm/session.py", line 1714, in execute
DEBUG: result = conn._execute_20(statement, params or {}, execution_options)
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1705, in _execute_20
DEBUG: return meth(self, args_10style, kwargs_10style, execution_options)
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/sql/elements.py", line 334, in _execute_on_connection
DEBUG: return connection._execute_clauseelement(
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1572, in _execute_clauseelement
DEBUG: ret = self._execute_context(
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1943, in _execute_context
DEBUG: self._handle_dbapi_exception(
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 2122, in _handle_dbapi_exception
DEBUG: util.raise_(newraise, with_traceback=exc_info[2], from_=e)
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/util/compat.py", line 211, in raise_
DEBUG: raise exception
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
DEBUG: self.dialect.do_execute(
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
DEBUG: cursor.execute(statement, parameters)
DEBUG: oslo_db.exception.DBNonExistentTable: (sqlite3.OperationalError) no such table: ml2_geneve_allocations
DEBUG: [SQL: SELECT ml2_geneve_allocations.geneve_vni AS ml2_geneve_allocations_geneve_vni, ml2_geneve_allocations.allocated AS ml2_geneve_allocations_allocated
DEBUG: FROM ml2_geneve_allocations]
DEBUG: (Background on this error at: https://sqlalche.me/e/14/e3q8)
DEBUG: Captured traceback-1:
DEBUG: ~~~~~~~~~~~~~~~~~~~~~
DEBUG: Traceback (most recent call last):
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
DEBUG: self.dialect.do_execute(
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
DEBUG: cursor.execute(statement, parameters)
DEBUG: sqlite3.OperationalError: no such table: ml2_geneve_allocations
DEBUG:
DEBUG: The above exception was the direct cause of the following exception:
DEBUG: Traceback (most recent call last):
DEBUG: File "/usr/lib/python3.9/site-packages/fixtures/fixture.py", line 196, in setUp
DEBUG: self._setUp()
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/tests/unit/plugins/ml2/test_plugin.py", line 110, in _setUp
DEBUG: self.parent_setup()
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/tests/unit/db/test_db_base_plugin_v2.py", line 166, in setUp
DEBUG: self.api = router.APIRouter()
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/api/v2/router.py", line 21, in APIRouter
DEBUG: return pecan_app.v2_factory(None, **local_config)
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/pecan_wsgi/app.py", line 47, in v2_factory
DEBUG: startup.initialize_all()
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/pecan_wsgi/startup.py", line 39, in initialize_all
DEBUG: manager.init()
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/manager.py", line 301, in init
DEBUG: NeutronManager.get_instance()
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/manager.py", line 252, in get_instance
DEBUG: cls._create_instance()
DEBUG: File "/usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py", line 414, in inner
DEBUG: return f(*args, **kwargs)
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/manager.py", line 238, in _create_instance
DEBUG: cls._instance = cls()
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/manager.py", line 126, in __init__
DEBUG: plugin = self._get_plugin_instance(CORE_PLUGINS_NAMESPACE,
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/manager.py", line 162, in _get_plugin_instance
DEBUG: plugin_inst = plugin_class()
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/quota/resource_registry.py", line 124, in wrapper
DEBUG: return f(*args, **kwargs)
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/plugins/ml2/plugin.py", line 282, in __init__
DEBUG: self.type_manager.initialize()
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/plugins/ml2/managers.py", line 205, in initialize
DEBUG: driver.obj.initialize()
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/plugins/ml2/drivers/type_geneve.py", line 47, in initialize
DEBUG: self._initialize(cfg.CONF.ml2_type_geneve.vni_ranges)
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/plugins/ml2/drivers/type_tunnel.py", line 131, in _initialize
DEBUG: self.sync_allocations()
DEBUG: File "/usr/lib/python3.9/site-packages/neutron_lib/db/api.py", line 139, in wrapped
DEBUG: setattr(e, '_RETRY_EXCEEDED', True)
DEBUG: File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 227, in __exit__
DEBUG: self.force_reraise()
DEBUG: File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
DEBUG: raise self.value
DEBUG: File "/usr/lib/python3.9/site-packages/neutron_lib/db/api.py", line 135, in wrapped
DEBUG: return f(*args, **kwargs)
DEBUG: File "/usr/lib/python3.9/site-packages/oslo_db/api.py", line 154, in wrapper
DEBUG: ectxt.value = e.inner_exc
DEBUG: File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 227, in __exit__
DEBUG: self.force_reraise()
DEBUG: File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
DEBUG: raise self.value
DEBUG: File "/usr/lib/python3.9/site-packages/oslo_db/api.py", line 142, in wrapper
DEBUG: return f(*args, **kwargs)
DEBUG: File "/usr/lib/python3.9/site-packages/neutron_lib/db/api.py", line 187, in wrapped
DEBUG: context_reference.session.rollback()
DEBUG: File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 227, in __exit__
DEBUG: self.force_reraise()
DEBUG: File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
DEBUG: raise self.value
DEBUG: File "/usr/lib/python3.9/site-packages/neutron_lib/db/api.py", line 181, in wrapped
DEBUG: return f(*dup_args, **dup_kwargs)
DEBUG: File "/builddir/build/BUILD/neutron-23.0.0.0b3.dev123/neutron/plugins/ml2/drivers/type_tunnel.py", line 205, in sync_allocations
DEBUG: allocs = ctx.session.query(self.model).all()
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/orm/query.py", line 2773, in all
DEBUG: return self._iter().all()
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/orm/query.py", line 2916, in _iter
DEBUG: result = self.session.execute(
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/orm/session.py", line 1714, in execute
DEBUG: result = conn._execute_20(statement, params or {}, execution_options)
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1705, in _execute_20
DEBUG: return meth(self, args_10style, kwargs_10style, execution_options)
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/sql/elements.py", line 334, in _execute_on_connection
DEBUG: return connection._execute_clauseelement(
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1572, in _execute_clauseelement
DEBUG: ret = self._execute_context(
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1943, in _execute_context
DEBUG: self._handle_dbapi_exception(
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 2122, in _handle_dbapi_exception
DEBUG: util.raise_(newraise, with_traceback=exc_info[2], from_=e)
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/util/compat.py", line 211, in raise_
DEBUG: raise exception
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
DEBUG: self.dialect.do_execute(
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
DEBUG: cursor.execute(statement, parameters)
DEBUG: oslo_db.exception.DBNonExistentTable: (sqlite3.OperationalError) no such table: ml2_geneve_allocations
DEBUG: [SQL: SELECT ml2_geneve_allocations.geneve_vni AS ml2_geneve_allocations_geneve_vni, ml2_geneve_allocations.allocated AS ml2_geneve_allocations_allocated
DEBUG: FROM ml2_geneve_allocations]
DEBUG: (Background on this error at: https://sqlalche.me/e/14/e3q8)
DEBUG:
DEBUG: During handling of the above exception, another exception occurred:
DEBUG: Traceback (most recent call last):
DEBUG: File "/usr/lib/python3.9/site-packages/fixtures/fixture.py", line 207, in setUp
DEBUG: raise SetupError(details)
DEBUG: fixtures.fixture.SetupError: {}
DEBUG: Captured traceback-2:
DEBUG: ~~~~~~~~~~~~~~~~~~~~~
DEBUG: Traceback (most recent call last):
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
DEBUG: self.dialect.do_execute(
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
DEBUG: cursor.execute(statement, parameters)
DEBUG: sqlite3.OperationalError: no such table: qos_fip_policy_bindings
DEBUG:
DEBUG: The above exception was the direct cause of the following exception:
DEBUG: Traceback (most recent call last):
DEBUG: File "/usr/lib/python3.9/site-packages/fixtures/fixture.py", line 124, in cleanUp
DEBUG: return self._cleanups(raise_errors=raise_first)
DEBUG: File "/usr/lib/python3.9/site-packages/fixtures/callmany.py", line 84, in __call__
DEBUG: raise error[1].with_traceback(error[2])
DEBUG: File "/usr/lib/python3.9/site-packages/fixtures/callmany.py", line 78, in __call__
DEBUG: cleanup(*args, **kwargs)
DEBUG: File "/usr/lib/python3.9/site-packages/neutron_lib/fixture.py", line 134, in <lambda>
DEBUG: self.addCleanup(lambda: self._delete_from_schema(engine))
DEBUG: File "/usr/lib/python3.9/site-packages/neutron_lib/fixture.py", line 119, in _delete_from_schema
DEBUG: conn.execute(table.delete())
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1380, in execute
DEBUG: return meth(self, multiparams, params, _EMPTY_EXECUTION_OPTS)
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/sql/elements.py", line 334, in _execute_on_connection
DEBUG: return connection._execute_clauseelement(
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1572, in _execute_clauseelement
DEBUG: ret = self._execute_context(
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1943, in _execute_context
DEBUG: self._handle_dbapi_exception(
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 2122, in _handle_dbapi_exception
DEBUG: util.raise_(newraise, with_traceback=exc_info[2], from_=e)
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/util/compat.py", line 211, in raise_
DEBUG: raise exception
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
DEBUG: self.dialect.do_execute(
DEBUG: File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
DEBUG: cursor.execute(statement, parameters)
DEBUG: oslo_db.exception.DBNonExistentTable: (sqlite3.OperationalError) no such table: qos_fip_policy_bindings
DEBUG: [SQL: DELETE FROM qos_fip_policy_bindings]
DEBUG: (Background on this error at: https://sqlalche.me/e/14/e3q8)

The tests uses sqlite memory db, and during the test runs the db is wiped off due to reconnection(connection_recycle_time=3600)[2]. The issue can be seen when tests take more than 1 hour to finish.

Running full tests suit on slow/loaded systems or running with less concurrency it's easy to hit this 1 hour timeout. The tables are created once and shared across tests[3]. Due to the timeout tables are wiped off so test fails not finding the table, and then later table.delete()(this TRUNCATES the table, i.e delete rows) also fails due to missing tables.

For slow systems workaround can be to run set of tests in one go instead of all tests.
We can also bump the connection_recycle_time for running unit tests to some larger value or provide an option to override it by an env var.
Also we can check and improve total runtime of tests where possible.

[1] https://trunk.rdoproject.org/api-centos9-master/api/report.html?package=openstack-neutron
[2] https://github.com/openstack/oslo.db/blob/master/oslo_db/options.py#L85-L94
[3] https://github.com/openstack/neutron-lib/blob/master/neutron_lib/fixture.py#L161-L169

Tags: db unittest
tags: added: db unittest
Changed in neutron:
status: New → Confirmed
importance: Undecided → High
Revision history for this message
yatin (yatinkarel) wrote :

For RDO issue pushed https://review.rdoproject.org/r/c/openstack/neutron-distgit/+/48936
It's working fine now[1][2] with split tests.

======
Totals
======
Ran: 9555 tests in 1243.0826 sec.
 - Passed: 7903
 - Skipped: 1652
 - Expected Fail: 0
 - Unexpected Success: 0
 - Failed: 0
Sum of execute time for each test: 4572.6444 sec.
==============
Worker Balance
==============
 - Worker 0 (2389 tests) => 0:20:39.733862
 - Worker 1 (2389 tests) => 0:18:43.469388
 - Worker 2 (2388 tests) => 0:18:19.727628
 - Worker 3 (2389 tests) => 0:18:33.837751

======
Totals
======
Ran: 10767 tests in 1660.7392 sec.
 - Passed: 10742
 - Skipped: 25
 - Expected Fail: 0
 - Unexpected Success: 0
 - Failed: 0
Sum of execute time for each test: 6496.9596 sec.
==============
Worker Balance
==============
 - Worker 0 (2689 tests) => 0:27:40.739204
 - Worker 1 (2690 tests) => 0:27:20.878588
 - Worker 2 (2691 tests) => 0:26:45.340127
 - Worker 3 (2697 tests) => 0:26:35.055340

[1] https://trunk.rdoproject.org/centos9-master/component/network/ae/f2/aef2f285e4f3cd379d16476698c85328e9a60551_b964bc93/build.log
[2] https://trunk.rdoproject.org/centos9-master/component/network/7f/46/7f460ab1afad563e2285693796ea30deefd05714_b964bc93/build.log

Changed in neutron:
assignee: nobody → yatin (yatinkarel)
Revision history for this message
yatin (yatinkarel) wrote :

Proposed in master:-
    Disable pool recycle in StaticSqlFixture https://review.opendev.org/c/openstack/neutron-lib/+/886945

Changed in neutron:
status: Confirmed → In Progress
Revision history for this message
yatin (yatinkarel) wrote :

Proposed in master:-
    https://review.opendev.org/c/openstack/neutron/+/886982 Disable pool recycle in tests

yatin (yatinkarel)
Changed in neutron:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 23.0.0.0b3

This issue was fixed in the openstack/neutron 23.0.0.0b3 development milestone.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 22.1.0

This issue was fixed in the openstack/neutron 22.1.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 21.2.0

This issue was fixed in the openstack/neutron 21.2.0 release.

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.