清理 nova 实例表中的 ‘scheduled_at’ 列

https://blueprints.launchpad.net/nova/+spec/cleanup-scheduled-at

‘scheduled_at’ 字段是 Nova 实例表的一部分。目前,Nova 调度器不再更新 ‘scheduled_at’ 字段,而是使用 ‘launched_at’ 字段。‘scheduled_at’ 列现在是多余的,应该作为数据库清理的一部分被移除。

问题描述

nova 实例表中的 ‘scheduled_at’ 列现在是多余的。该字段曾经被调度器用来表示实例调度的时刻。移除它的提交是: https://review.openstack.org/#/c/143725/

现在由于所有的基本 VM 生命周期操作都通过调度器进行,‘launched_at’ 字段足以满足上述场景。

这是一项 nova 数据库清理工作,旨在移除实例表中的 ‘scheduled_at’ 列并确保向后兼容性。

用例

这是一项对实例表进行的清理工作。

项目优先级

这是一项重构工作,旨在使 nova 代码更简洁。

提议的变更

预计的更改将发生在以下位置: * 移除 ‘scheduled_at’ 字段的 sqlalchemy 初始化

  • 移除所有涉及此字段的单元测试。

  • 确保 NovaObjects 适应此更改,以处理迁移相关问题。

备选方案

继续在 nova 中保留休眠代码。

数据模型影响

由于目前没有代码更新它,因此可以从实例表中删除 ‘scheduled_at’ 列。

REST API 影响

安全影响

无。

通知影响

其他最终用户影响

性能影响

其他部署者影响

开发人员影响

实现

负责人

主要负责人

  • Sudipta Biswas sbiswas7

工作项

  1. 从 Sqlalchemy 模型中删除 ‘scheduled_at’ 列。

  2. 添加迁移以从实例表中删除该列。

  3. 更改实例对象模块以解决迁移相关问题。

依赖项

测试

这些更改将通过现有的 CI 进行测试。

文档影响

参考资料