修复测试以在非 SQLite 数据库上运行

bp tests-on-rdbmses

Keystone 测试需要修改才能在非 SQLite 数据库上工作。

问题描述

Keystone 测试目前只能在 SQLite 上运行。有很多理由需要在其他数据库上运行测试

* by default SQLite doesn't enforce foreign keys
* most deployments will use another database like MySQL or PostgreSQL
* every few months somebody asks how to make it work

提议的变更

  1. 修复测试以尊重外键。我们目前有一些测试无法在强制执行外键的数据库中工作。

  2. 修复在另一个数据库上运行时出现的任何其他错误。这可能非常大或非常小。在实际开始之前很难判断。

  3. 使 SQLite 强制执行外键,以防止未在非 SQLite 数据库上运行测试的开发人员遗漏错误。

备选方案

实际上没有替代方案,因为这主要只是修复了损坏的测试。在补丁级别,可能存在替代实现,但这超出了本提案的范围。

安全影响

无。这只是关于更改编写和执行测试的方式。

通知影响

无。这只是关于更改编写和执行测试的方式。

其他最终用户影响

无。这只是关于更改编写和执行测试的方式。

性能影响

无。这只是关于更改编写和执行测试的方式。

其他部署者影响

无。这只是关于更改编写和执行测试的方式。

开发人员影响

讨论将影响在 OpenStack 上工作的其他开发人员的事情,例如

  • 如果蓝图提出对驱动程序 API 的更改,则需要讨论其他后端将如何实现该特性。

实现

负责人

主要负责人

dstanek

工作项

待定

依赖项

无。

文档影响

无。这只是关于更改编写和执行测试的方式。

参考资料

无。