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 from oslo_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 the oslo_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 the oslo_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, and migrate_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 to oslo_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 supports sqlalchemy-migrate, which is no longer under active development and has been effectively replaced by alembic. Users of this module should consider switching to alembic or, if necessary, using sqlalchemy-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 - specifically sqlalchemy-migrate and alembic - however, takeup has been limited and its expected that users will use alembic 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, the TypeError raised when configure is called after the factory is started is now a specific subclass enginefacade.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 to connection_recycle_time, including within the main oslo.db options, as well as in the keyword arguments to engines.create_engine(), enginefacade.configure() and enginefacade.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 option connection or slave_connection to connect to the database.

4.15.0

Deprecation Notes

  • class InsertFromSelect from module oslo_db.sqlalchemy.utils is deprecated in favor of sqlalchemy.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 in oslo_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 pass max_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, a ConfigFileValueError 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 option connection or slave_connection to connect to the database.

4.6.0

Upgrade Notes

Other Notes

  • Introduce reno for deployer release notes.