Replace the trove.db.sqlalchemy package with the oslo_db library.
Launchpad Blueprint: https://blueprints.launchpad.net/trove/+spec/move-to-oslo-db
The current code uses the outdated incubator package for database connectivity. The old package has some bugs such as not handling concurrent threads correctly. This is a good opportunity to migrate to the oslo_db library, replacing the trove.db.sqlalchemy package.
A similar move has been done by other OS projects such as nova .
oslo_db is a library that handles the common database connection and controls. Change the trove.db.sqlalchemy engine and session handling to use the oslo_db library. This transparently handles connections and sessions, and protects against mismanaged connections in Trove’s threaded environment.
The only external effect will be the exposure of oslo_db configuration options.
The database connection is the only change. Data models and queries are not affected.
TBD (section added after approval)
Remove the engine and session management code and replace it with a facade from oslo_db.
Matthew Van Dijk
Do not break existing tests - especially the fake mode tests.
Describe the config variables that are in the database section.
|||Nova’s migration commit.|
|||oslo_db configuration options.|
|||Associated bug on Launchpad.|