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 中模拟裸机实例。如果这样的工具不可用,只要单元测试中使用的样本数据具有足够的代表性,那么测试本身也应该足够好。

文档影响

添加的指标需要在 测量部分中记录。

参考资料