Zed Series Release Notes¶
11.2.0¶
Upgrade Notes¶
The following helpers have been removed from the
oslo_db.sqlalchemy.utils
module:NonCommittingConnectable
NonCommittingEngine
NonCommittingConnection
NonCommittingTransaction
These were unused outside of oslo.db and were not compatible with SQLAlchemy 2.0. In addition, the
RollsBackTransaction
fixture has been removed fromoslo_db.sqlalchemy.test_fixtures
. This was similarly unused and presented similar compatibility issues.
11.0.0¶
Upgrade Notes¶
Checks specific to the DB2 database have been removed. This database has not been supported by any OpenStack project for many years.
The
check_foreign_keys
helper of theoslo_db.sqlalchemy.test_migrations.ModelsMigrationsSync
base test class has been removed. This was deprecated in 1.4.1 as alembic now supports this capability.
The
_walk_versions
,_migrate_down
, and_migrate_up
methods of theoslo_db.sqlalchemy.test_migrations.ModelsMigrationsSync
base test class have been removed. These were deprecated in 0.5.0 in favour of their non-private equivalents,walk_versions
,migrate_down
, andmigrate_up
respectively.
Deprecation Notes¶
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 tooslo_db.api.DBAPI.from_config
and remove references to the deprecated config option from their documentation.
10.0.0¶
Bug Fixes¶
Removed the
[DATABASE] idle_timeout
,[database] idle_timeout
,[sql] idle_timeout
,[DEFAULT] sql_idle_timeout
and[DATABASE] sql_idle_timeout
options. These were all legacy aliases for[database] connection_recycle_time
.
9.1.0¶
Bug Fixes¶
In mysql 8.0.19, duplicate key error information is extended to include the table name of the key. Previously, duplicate key error information included only the key value and key name. This extends capabilities to handle changes in duplicate key error information with newer mysql version since 8.0.19.
9.0.0¶
Bug Fixes¶
Removed deprecated database option
sql_max_pool_size
.
8.5.0¶
Deprecation Notes¶
The
oslo_db.sqlalchemy.migration
module is deprecated for removal. It only supportssqlalchemy-migrate
, which is no longer under active development and has been effectively replaced byalembic
. Users of this module should consider switching toalembic
or, if necessary, usingsqlalchemy-migrate
directly.
The
oslo_db.sqlalchemy.migration_cli
module is deprecated for removal. It was intended to provide an abstraction layer over different migration backends - specificallysqlalchemy-migrate
andalembic
- however, takeup has been limited and its expected that users will usealembic
directly nowadays.
7.0.0¶
Upgrade Notes¶
Support for Python 2.7 has been dropped. The minimum version of Python now supported is Python 3.6.
5.0.0¶
Bug Fixes¶
Removed deprecated database option
min_pool_size
.This option had no effect and was deprecated in Rocky. For more information see bug 1764786.
4.42.0¶
New Features¶
Added new
.is_started
boolean flag to enginefacade context manager and factory objects, so that double-configure scenarios can be prevented by calling code. Additionally, theTypeError
raised when configure is called after the factory is started is now a specific subclassenginefacade.AlreadyStartedError
.
4.34.0¶
New Features¶
Added new option connection_parameters which allows SQLAlchemy query parameters to be stated separately from the URL itself, to allow URL-persistence schemes like Nova cells to use controller-local query parameters that aren’t broadcast to all other servers.
Bug Fixes¶
Repaired the “synchronous_reader” modifier of enginefacade so that it refers to the “writer” engine when set to True, thereby allowing “synchronous” behavior with the writer. When set to False, this is “asynchronous”, so this should be associated with the async engines. The flag had the reverse behavior previously.
4.30.0¶
Deprecation Notes¶
PyMySQL is a default MySQL DB API driver for oslo.db, as well as for the whole OpenStack. So far it was possible to use MySQL-python as an alternative DB API driver. This driver is no longer being tested in this release, hence it should be considered unsupported. Please switch to PyMySQL, which is an adequate replacement. Refer to https://wiki.openstack.org/wiki/PyMySQL_evaluation for details.
4.26.0¶
Deprecation Notes¶
The configuration option
idle_timeout
is now deprecated and has been renamed toconnection_recycle_time
, including within the main oslo.db options, as well as in the keyword arguments toengines.create_engine()
,enginefacade.configure()
andenginefacade.configure_defaults()
. The new name more accurately describes what this option does, in that it is not directly related to the “idle” time of the connection itself, nor is the connection disconnected at any specific time. It refers to a rule stating that any connection which has been present more than N seconds as a member of the connection pool will be automatically discarded and replaced the next time it is checked out from the pool.
4.22.0¶
Upgrade Notes¶
oslo.db now logs a warning when the connection URL does not explicitly mention a driver. The default driver is still used, but in some cases, such as MySQL, the default is incompatible with the concurrency library eventlet.
It is strongly recommended to use the PyMySQL driver when connecting to a MySQL-compatible database to ensure the best compatibility with the concurrency library eventlet. To use PyMySQL, ensure the connection URL is specified with
mysql+pymysql://
as the scheme.
4.19.0¶
Upgrade Notes¶
The configuration option
sqlite_db
is removed. Pease use configuration optionconnection
orslave_connection
to connect to the database.
4.15.0¶
Deprecation Notes¶
class
InsertFromSelect
from moduleoslo_db.sqlalchemy.utils
is deprecated in favor ofsqlalchemy.sql.expression.Insert.from_select()
method of Insert expression, that is available in SQLAlchemy versions 1.0.0 and newer
base test classes from
oslo_db.sqlalchemy.test_base
are deprecated in favor of new fixtures introduced inoslo_db.sqlalchemy.test_fixtures
module
4.12.0¶
Bug Fixes¶
Decorator
oslo_db.api.wrap_db_retry
now defaults to 10 retries. Previously the number of attempts was 0, and users had to explicitly passmax_retry_interval
value greater than 0 to actually enable retries on errors.
4.9.0¶
Upgrade Notes¶
The allowed values for the
connection_debug
option are now restricted to the range between 0 and 100 (inclusive). Previously a number lower than 0 or higher than 100 could be given without error. But now, aConfigFileValueError
will be raised when the option value is outside this range.
4.8.0¶
New Features¶
enginefacade decorators can now be used for class and instance methods, which implicitly receive the first positional argument. Previously, it was required that all decorated functions receive a context value as the first argument.
Deprecation Notes¶
The configuration option
sqlite_db
is now deprecated and will be removed in the future. Please use configuration optionconnection
orslave_connection
to connect to the database.
4.6.0¶
Upgrade Notes¶
The default value of
max_overflow
config option has been increased from 10 to 50 in order to allow OpenStack services heavily using DBs to better handle spikes of concurrent requests and lower the probability of getting a pool timeout issue.This change potentially leads to increasing of the number of open connections to an RDBMS server. Depending on the configuration, you may see “too many connections” errors in logs of OpenStack services / RDBMS server. The max limit of connections can be set by the means of these config options:
http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_connections http://www.postgresql.org/docs/current/static/runtime-config-connection.html#GUC-MAX-CONNECTIONS
For details, please see the following LP:
https://bugs.launchpad.net/oslo.db/+bug/1535375
and the ML thread:
http://lists.openstack.org/pipermail/openstack-dev/2015-December/082717.html
Other Notes¶
Introduce reno for deployer release notes.