Flavor Extra Spec 和镜像属性验证¶
https://blueprints.launchpad.net/nova/+spec/flavor-extra-spec-image-property-validation
问题描述¶
目前 flavor extra-specs 和镜像属性的验证是在不同的地方进行的。如果它们不兼容,实例可能无法启动并进入 ERROR 状态,或者根据 virt 驱动的行为,可能会重新调度未知的次数。
用例¶
作为最终用户,我希望在 flavor extra spec 或镜像属性无效或彼此不兼容时能够立即获得反馈,以便我能够更正我的配置并重试操作。
提议的变更¶
我们希望在两者都已知后,尽快验证 flavor extra-specs 和镜像属性的组合。
如果验证失败,则同步向用户返回错误。
我们需要在 flavor 或镜像发生更改的任何地方执行此操作,基本上是实例创建、重建和调整大小。更具体地说,将 _check_requested_image() 重命名为更通用的名称,将其从 _checks_for_create_and_rebuild() 中移除,修改它以检查更多内容,并从所有三个操作(创建、重建和调整大小)调用它。
注意
仅验证与 virt 驱动程序无关的内容。
要添加的验证示例 [1]
调用 hardware.numa_get_constraints 来验证所有各种与 numa 相关的事务。目前这仅在 _create_instance() 中完成,也应为 resize/rebuild 完成。
确保 cpu 策略、cpu 线程策略和模拟器线程策略值有效。
验证实时掩码。
验证串口数量。
验证 cpu 拓扑约束。
验证 flavor 中的
quota:*设置(不属于 virt 驱动程序特定设置)。
备选方案¶
无
数据模型影响¶
无
REST API 影响¶
由于新的验证,用户在创建/重建/调整大小操作中可能会遇到比以前更多的 4xx 错误。
安全影响¶
无
通知影响¶
无
其他最终用户影响¶
无
性能影响¶
可以忽略不计。
其他部署者影响¶
无
开发人员影响¶
无
升级影响¶
无
实现¶
负责人¶
- 主要负责人
jackding
工作项¶
主要在 nova/compute/api.py 中添加验证。
添加/更新单元测试。
根据添加的新验证,必要时更新文档/发布说明。
依赖项¶
无
测试¶
将添加单元测试。
文档影响¶
无
参考资料¶
历史¶
发布名称 |
描述 |
|---|---|
Stein |
引入 |