Nova/Turbo-Hipster
数据库 CI
Turbo-Hipster 是 OpenStack nova 数据库迁移的持续集成。对于 Nova 的每个新补丁集,数据库迁移都会在真实用户数据集上运行并计时,以捕获可能导致运维人员维护时间显著增加的性能问题。
进行大型 OpenStack 部署在数据库迁移方面一直很困难。运行迁移需要停机时间,而当您拥有巨型数据集时,停机时间可能会持续数小时。为了帮助捕获这些问题,Turbo-Hipster 现在将针对真实数据库的副本运行您的补丁集的迁移。这将为您提供有关补丁成功与否以及迁移可能需要多长时间的宝贵反馈。
第三方 CI 信息请参见 ThirdPartySystems/DB Datasets CI
如果 Turbo-Hipster 失败了,我应该怎么办?
这取决于它失败的原因。以下是一些场景以及您可以针对不同错误采取的步骤
FAILURE – Did not find the end of a migration after a start
如果您查看日志,您应该会发现一个迁移已经开始但从未完成。希望会有追踪信息供您跟踪,以了解失败的原因。
WARNING – Migration %s took too long
在这种情况下,您的迁移在我们的一个测试数据集上花费了很长时间才能运行。您应该重新考虑您的迁移正在执行的操作,并查看是否有任何可以进行优化的操作,或者每个步骤是否真的必要。如果无法加快您的迁移速度,您可以发送电子邮件至 rcbau@rcbops.com 申请例外。
FAILURE – Final schema version does not match expectation
在某个阶段,迁移停止了,并且没有达到预期的版本。数据集从之前的版本开始,必须一路升级。如果您看到此情况,请检查日志中的追踪信息或其他有关失败的提示。
FAILURE – Could not setup seed database. FAILURE – Could not find seed database.
这两个是内部错误。如果您看到其中任何一个,请通过 rcbau@rcbops.com 联系我们,以便我们修复并重新运行测试。
FAILURE – Could not import required module.
这个错误可能不应该发生,因为 Jenkins 应该在 Turbo-Hipster 启动之前在单元测试中捕获它。如果您看到此错误,请通过 rcbau@rcbops.com 联系我们并告知我们。
如果您收到您认为可能是误报的错误,请在评审中留下仅包含“recheck migrations”内容的评论。
升级
如果您看到任何持续的误报或有任何问题或疑问,请通过 rcbau@rcbops.com 联系我们