向场景测试添加自定义场景¶
https://blueprints.launchpad.net/sahara/+spec/custom-checks
本规范建议为更全面的 Sahara 测试添加自定义测试到场景测试中。
问题描述¶
目前,场景测试仅测试基本功能,用户无法添加自定义测试来检查 Sahara 中的其他功能。
应该添加额外的测试
检查挂载和可用的 cinder 卷;
检查集群上启动的服务;
检查当前未测试的其他进程
提议的变更¶
自定义测试需要添加到 sahara/tests/scenario/custom_checks 中,并且需要在场景测试中实现对这些场景的支持。
为了实现本规范,需要更改场景测试中“scenario”字段的字段参数。现在类型为“enum”,需要更改为“string”,以便能够设置自定义测试。
此外,应该重写 sahara/tests/scenario/testcase.py.mako 模板。自定义测试将从名为 check_{检查名称} 的模块中调用,模块内部包含 check() 方法。
所有当前自定义检查的辅助方法都将编写到包含这些测试的模块中。可以在 sahara/tests/scenario/base.py 中实现可在多个自定义场景中全局使用的通用方法。
替代方案¶
可以将测试手动添加到场景测试的 Base 类中。
数据模型影响¶
无
REST API 影响¶
无
其他最终用户影响¶
无
部署者影响¶
无
开发者影响¶
无
Sahara-image-elements impact¶
无
Sahara-dashboard / Horizon 影响¶
无
实现¶
负责人¶
- 主要负责人
esikachev
工作项¶
添加运行自定义场景测试的能力;
将旧集成测试中的脚本迁移到场景测试中作为自定义检查;
添加新的自定义检查。
依赖项¶
无
测试¶
无
文档影响¶
无
参考资料¶
无