Zed Series Release Notes¶
11.2.0¶
Upgrade Notes¶
The following helpers have been removed from the
oslo_db.sqlalchemy.utilsmodule:NonCommittingConnectableNonCommittingEngineNonCommittingConnectionNonCommittingTransaction
These were unused outside of oslo.db and were not compatible with SQLAlchemy 2.0. In addition, the
RollsBackTransactionfixture 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_keyshelper of theoslo_db.sqlalchemy.test_migrations.ModelsMigrationsSyncbase 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_upmethods of theoslo_db.sqlalchemy.test_migrations.ModelsMigrationsSyncbase test class have been removed. These were deprecated in 0.5.0 in favour of their non-private equivalents,walk_versions,migrate_down, andmigrate_uprespectively.
Deprecation Notes¶
The
oslo_db.concurrency.TpoolDbapiWrapperclass and supporting[database] use_tpoolconfig option are now deprecated. This feature never graduated from experimental status and is slated for removal due to a lack of maintenance and test coverage. Users should switch tooslo_db.api.DBAPI.from_configand 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_timeoutand[DATABASE] sql_idle_timeoutoptions. 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.migrationmodule 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 toalembicor, if necessary, usingsqlalchemy-migratedirectly.
The
oslo_db.sqlalchemy.migration_climodule is deprecated for removal. It was intended to provide an abstraction layer over different migration backends - specificallysqlalchemy-migrateandalembic- however, takeup has been limited and its expected that users will usealembicdirectly 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_startedboolean flag to enginefacade context manager and factory objects, so that double-configure scenarios can be prevented by calling code. Additionally, theTypeErrorraised 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” behaviour with the writer. When set to False, this is “asynchronous”, so this should be associated with the async engines. The flag had the reverse behaviour 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_timeoutis 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_dbis removed. Please use configuration optionconnectionorslave_connectionto connect to the database.
4.15.0¶
Deprecation Notes¶
class
InsertFromSelectfrom moduleoslo_db.sqlalchemy.utilsis 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_baseare deprecated in flavour of new fixtures introduced inoslo_db.sqlalchemy.test_fixturesmodule
4.12.0¶
Bug Fixes¶
Decorator
oslo_db.api.wrap_db_retrynow defaults to 10 retries. Previously the number of attempts was 0, and users had to explicitly passmax_retry_intervalvalue greater than 0 to actually enable retries on errors.
4.9.0¶
Upgrade Notes¶
The allowed values for the
connection_debugoption 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, aConfigFileValueErrorwill 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_dbis now deprecated and will be removed in the future. Please use configuration optionconnectionorslave_connectionto connect to the database.
4.6.0¶
Upgrade Notes¶
The default value of
max_overflowconfig 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.