迁移至 oslo_db¶
用 oslo_db 库替换 trove.db.sqlalchemy 包。
Launchpad 蓝图:https://blueprints.launchpad.net/trove/+spec/move-to-oslo-db
问题描述¶
当前代码使用过时的 incubator 包进行数据库连接。旧包存在一些错误,例如无法正确处理并发线程。这是一个迁移到 oslo_db 库,替换 trove.db.sqlalchemy 包的好机会。
其他 OS 项目,例如 nova,已经完成了类似的迁移1。
提议的变更¶
oslo_db 是一个处理常见数据库连接和控制的库。将 trove.db.sqlalchemy 引擎和会话处理更改为使用 oslo_db 库。它透明地处理连接和会话,并防止在 Trove 的线程环境中出现连接管理不当的情况。
唯一的外部影响是暴露 oslo_db 的配置选项。
数据库¶
数据库连接是唯一的更改。数据模型和查询不受影响。
公共 API¶
N/A
公共 API 安全¶
N/A
Python API¶
N/A
CLI (python-troveclient)¶
N/A
内部 API¶
N/A
Guest Agent¶
N/A
Dashboard 影响 (UX)¶
待定 (在批准后添加的部分)
实现¶
删除引擎和会话管理代码,并将其替换为 oslo_db 的 facade。
负责人¶
Matthew Van Dijk
里程碑¶
Mitaka-1
工作项¶
代码更改的单个任务
使用新的配置设置更新文档
升级影响¶
N/A
依赖项¶
oslo_db
测试¶
不要破坏现有的测试 - 尤其是模拟模式测试。
文档影响¶
描述数据库部分中的配置变量。
参考资料¶
附录¶
无