替换冷迁移以使用 Nova 迁移 API¶
https://blueprints.launchpad.net/watcher/+spec/replace-cold-migrate-to-use-nova-migration-api
问题描述¶
目前 Watcher 通过自身的方式实现实例冷迁移,用于指定目标节点。该实现包括实例创建。由于管理员运行 Watcher API,实例会迁移到服务项目。
用例¶
迁移操作在 `migration_type` 为 cold 时执行实例冷迁移。
提议的变更¶
自 v2.56 起,Nova migrate Server(migrate Action) API 具有 host 选项。通过将 common/nova_helper.py 中的 `watcher_non_live_migrate_instance` 方法替换为使用该 API,我们可以简单地解决这个问题。
备选方案¶
另一种方法是在实例所在的 project 中使用临时用户创建实例。但此解决方案仍然存在 quota 问题。在临时用户存活期间且达到 quota 限制时,无法创建新用户。
数据模型影响¶
无
REST API 影响¶
无
安全影响¶
无
通知影响¶
无
其他最终用户影响¶
无
性能影响¶
我们预计冷迁移会变得更快,因为当前的实现会调用许多 Nova 和 Neutron API。
其他部署者影响¶
管理员可以使用 Nova List Migrations API 通过 Watcher 查看迁移。
开发人员影响¶
无
实现¶
负责人¶
- 主要负责人
<nakamura-h>
- 其他贡献者
<None>
工作项¶
将 common/nova_helper.py 中的 `watcher_non_live_migrate_instance` 方法替换为使用 Nova migrate Server(migrate Action) API。
依赖项¶
无
测试¶
我们应该期望当前的测试代码可以测试此替换。
文档影响¶
无