为超过最大重试次数添加一个不同的异常¶
https://blueprints.launchpad.net/nova/+spec/no-valid-host-reporting
在尝试启动新的虚拟机时,会引发两种截然不同的情况导致 NoValidHost 异常,这让需要确定虚拟机启动失败原因的操作员感到困惑。本提案建议添加一个新的异常类,以便让操作员更容易区分这两种失败模式。
问题描述¶
目前,NoValidHost 异常在两种不同的情况下被引发
当调度器过滤器无法找到满足请求要求的宿主机时
当尝试创建虚拟机时,超过最大重试次数时
操作员在尝试了解虚拟机启动失败的原因时,可能难以区分这两种情况。
用例¶
作为操作员,我希望有一种更清晰的方式来确定虚拟机启动失败的原因。当前的做法是,对于非常不同的失败原因引发 NoValidHost 异常,不如为不同的模式引发单独的异常类型更有帮助。
项目优先级¶
这是调度器改进工作的一部分,该工作已被确定为 Liberty 的优先级。
提议的变更¶
将定义一个新的异常类,名为 MaxRetriesExceeded,并将所有当前引发 NoValidHost 异常且并非由于所有宿主机都被过滤掉的情况更改为引发这个新的异常类。这个新的异常类将是 NoValidHost 的子类,以便任何捕获 NoValidHost 异常的现有代码都不会中断。
备选方案¶
无。
数据模型影响¶
无。
REST API 影响¶
无。
安全影响¶
无。
通知影响¶
无。
其他最终用户影响¶
无。
性能影响¶
无。
其他部署者影响¶
无。
开发人员影响¶
无。
实现¶
负责人¶
- 主要负责人
edleafe
工作项¶
定义新的异常类
搜索代码中所有引发 NoValidHost 异常的情况,并将那些由于超过最大重试次数而导致引发异常的情况更改为引发这个新的异常类。
依赖项¶
无。
测试¶
现有测试将被更新,以在适当的情况下测试新的异常类,而不是旧的异常类。
文档影响¶
无。
参考资料¶
无。