Grenade 资源生存能力¶
https://blueprints.launchpad.net/ceilometer/+spec/grenade-resource-survivability
集成项目需要参与 Grenade 升级测试框架。除了测试升级本身,Grenade 还提供了一种名为 javelin 的机制,用于测试资源在升级过程中的生存能力。Ceilometer 需要参与此测试。
问题描述¶
为了确保 Ceilometer 在升级过程中保持稳定,必须能够处理存在于升级之前和之后的资源的指标和事件。Grenade 提供了一种名为 javelin 的功能,旨在允许断言,确认升级之前存在的资源 A,在升级之后仍然存在。
在 Juno 周期中,Grenade 正在更新以 支持 javelin2,与原始 javelin 不同,javelin2 应该工作良好,并且具有声明式语法来创建断言。
一个 之前的规范 描述了向 Grenade 添加基本的 Ceilometer 支持。此规范专门讨论使用 javelin2 添加测试。
提议的变更¶
为 javelin2 添加 Ceilometer 资源检查的支持。这涉及两种类型的更改(如下详述):在 javelin 代码 中添加对 Ceilometer 查询的支持,以及在资源定义中添加 Ceilometer 特定的条目。
javelin2 将促进的主要检查是确保 API 查询的合理性,查询的时间范围涵盖 Grenade 测试运行的整个时间窗口(例如,现在前后 12 小时)。
替代方案¶
Ceilometer 查询可能无法很好地映射到 javelin2 中使用的资源模型。如果确实如此,那么为 Ceilometer 专门设计另一种升级前后的测试可能是有意义的。但是,这样做会很可惜,最好让 javelin2 更加灵活。
数据模型影响¶
无。
REST API 影响¶
无。
安全影响¶
无。
Pipeline 影响¶
无。
其他最终用户影响¶
无。
性能/可扩展性影响¶
虽然 Ceilometer 在这方面有一些声誉,但由于它已经在 Grenade 环境中运行,因此添加 javelin 测试预计不会产生额外的影响。
其他部署影响¶
无。
开发者影响¶
随着 Ceilometer 功能的增长或变化,可能需要对 javelin2 检查测试进行调整。
实现¶
负责人¶
谁在编写代码?或者这是一个蓝图,您正在将其抛出以查看谁会接受它?
如果有多个人正在进行实现,请指定主要作者和联系人。
- 主要负责人
chdent
- 其他贡献者
emilienm
- 持续维护者
chdent
工作项¶
确定在 javelin2 中处理 ceilometer 查询的最佳形式。从广义上讲,有两种选择:1) 将 ceilometer 查询作为代码包含在
tempest.cmd.javelin本身中,无论是内置的还是作为插件。2) 以声明方式在resources.yaml文件的检查部分中表示查询,该文件可能被其他项目使用。以任何选择的形式添加查询(如 Proposed change 中所述)。
作为第一步,上述选项 1 最为便捷。如果选择,则应考虑其他选项和相关的 review discussion 以供未来参考。
未来生命周期¶
Ceilometer 项目团队将负责 javelin2 测试中 Ceilometer 部分的持续维护。
依赖项¶
这些更改需要 javelin2,该功能已于 2014 年 5 月 30 日合并到 Tempest 中。
测试¶
Est quod est。
文档影响¶
无。
参考资料¶
Ceilometer 蓝图用于 Grenade 升级测试。