Ironic 通知¶
https://blueprints.launchpad.net/ceilometer/+spec/ironic-notifications
目前正在进行中的是让 Ironic 从 IPMI 传感器提供的数据(例如 CPU 温度和电压)发出通知。Ceilometer 需要更新以消费、转换和记录这些通知。
问题描述¶
Ironic 项目正在努力在消息总线上发出包含 IPMI 传感器数据的通知。如果 Ceilometer 处理这些通知,其他服务将能够使用查询和告警来根据需要监控和扩展。
不能简单地将消息转储到总线上,然后让 Ceilometer 处理它。相反,需要在 Ceilometer 中添加一个通知插件,以监听交换机和主题上的通知,并将它们转换为样本。
提议的变更¶
为 Ironic 添加一个新的通知插件,使用现有的 NotficationBase 实现作为模型,将传感器数据转换为样本。为了有效地做到这一点,需要一个完整的预期传感器数据样本,以确定相关的样本类型。
替代方案¶
处理通知是 Ceilometer 收集数据的标准且首选方法。另一种选择是轮询,已知存在可扩展性问题,包括对 IPMI 的过度频繁轮询。如果 Ironic 正在发送通知,它可以继续拥有 IPMI 访问的凭据,并控制传感器轮询的频率。使用通知也允许其他服务消费传感器数据。
数据模型影响¶
无。
REST API 影响¶
查询参数中会有额外的有效值,但 API 端点不会发生变化。
安全影响¶
无。
Pipeline 影响¶
未知。Ironic 通知者提供的数据仍在确定中。只有在可用时才能确定管道中是否有任何有用的转换可以进行。
其他最终用户影响¶
无。
性能/可扩展性影响¶
没有新的影响。通知和存储处理层现有容量方面的担忧仍然存在。
其他部署影响¶
无。
开发者影响¶
无。
实现¶
负责人¶
谁在编写代码?或者这是一个蓝图,您正在将其抛出以查看谁会接受它?
如果有多个人正在进行实现,请指定主要作者和联系人。
- 主要负责人
chdent
- 其他贡献者
whaom
- 持续维护者
chdent
工作项¶
确定预期数据。
创建将
sensordata转换为样本的测试。创建通知插件以消费
sensordata。创建在模拟总线上的通知测试。
创建样本查询测试。
未来生命周期¶
未来预计 Ironic 控制器会发出新的类型的通知。这些需要由额外的通知插件或(希望)通用的通知处理来处理。Ceilometer 团队将负责与 Ironic 团队合作,以确保这些通知得到顺利处理。
依赖项¶
主要依赖项是在 Ironic 规范中描述的工作。一旦实现,通知将出现在总线上。
测试¶
除了单元测试之外,Tempest 测试,确认 Ceilometer 消费 Ironic 生成的通知将会很有用。这样的测试依赖于在测试环境中提供传感器数据的工具。这样的工具类似于 bm_poseur,它在 devstack 中模拟裸机实例。如果这样的工具不可用,只要单元测试中使用的样本数据具有足够的代表性,那么测试本身也应该足够好。
文档影响¶
添加的指标需要在 测量部分中记录。