concurrency: Deprecate 'TpoolDbapiWrapper'

This has been marked as experimented since before oslo.db was split out
of nova. We've no test coverage and no idea of whether it even works
nowadays. It's time to plan for its eventual removal.

Change-Id: Ib7a5a6e1124c44a742b003442f815022a866bcbb
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
This commit is contained in:
Stephen Finucane 2021-06-25 13:54:11 +01:00
parent a778f2d87f
commit 74c6bf266e
2 changed files with 33 additions and 7 deletions

View File

@ -17,23 +17,40 @@ import copy
import logging
import threading
from debtcollector import removals
from oslo_config import cfg
from oslo_db import api
LOG = logging.getLogger(__name__)
tpool_opts = [
cfg.BoolOpt('use_tpool',
default=False,
deprecated_name='dbapi_use_tpool',
deprecated_group='DEFAULT',
help='Enable the experimental use of thread pooling for '
'all DB API calls'),
cfg.BoolOpt(
'use_tpool',
default=False,
deprecated_name='dbapi_use_tpool',
deprecated_group='DEFAULT',
deprecated_for_removal=True,
deprecated_since='10.0.0',
deprecated_reason=(
'This feature has never graduated from experimental status and is '
'now being removed due to lack of maintenance and test coverage'
),
help=(
'Enable the experimental use of thread pooling for '
'all DB API calls'
),
),
]
_removed_msg = (
'Thread pool support in oslo_db is deprecated; you should use '
'oslo_db.api.DBAPI.from_config directly'
)
@removals.removed_class(
'TpoolDbapiWrapper', message=_removed_msg, version='10.0.0')
class TpoolDbapiWrapper(object):
"""DB API wrapper class.

View File

@ -0,0 +1,9 @@
---
deprecations:
- |
The ``oslo_db.concurrency.TpoolDbapiWrapper`` class and supporting
``[database] use_tpool`` config option are now deprecated.
This feature never graduated from experimental status and is slated for
removal due to lack of maintenance and test coverage. Users should switch
to ``oslo_db.api.DBAPI.from_config`` and remove references to the
deprecated config option from their documentation.