PowerVM 计算检查器¶
https://blueprints.launchpad.net/ceilometer/+spec/powervm-inspector
PowerVM 是 POWER 处理器架构的虚拟机监控程序。支持 PowerVM 在 OpenStack 环境中的 Nova 和 Neutron (ML2 代理) 的社区驱动程序正在积极开发中。遥测是 OpenStack 环境中运营商的关键组成部分。此蓝图建议将 PowerVM 的检查器包含在 Ceilometer 中。
问题描述¶
正在为 Nova 和 Neutron(ML2 代理)开发支持 PowerVM 虚拟机监控程序的 OpenStack 驱动程序。运营商需要的支持不仅仅是 Nova 和 Neutron 的集成 - 他们需要遥测信息。PowerVM 为虚拟机和系统监控指标提供了各种性能监控接口。
本提案是 PowerVM 驱动程序团队向 Ceilometer 项目添加 PowerVM 计算检查器。这将允许运营商以与其他虚拟机监控程序相同的方式接收和存储 PowerVM 的遥测数据。
提议的变更¶
我们建议创建一个新的 Python 包:ceilometer/compute/virt/powervm。
该包将包含一个计算检查器(类似于 hyperv、libvirt、vmware 和 xen 的检查器),用于收集统计信息。
这些统计信息的收集将通过 pypowervm API 驱动。这是一个开源项目,允许 Python 程序与 PowerVM 虚拟机监控程序交互。
pypowervm 中将使用的模块是 LPAR(逻辑分区,相当于虚拟机)统计信息包。这将提供用于收集统计信息的接口。
将包含的给定实例报告的指标是
CPU 统计信息
CPU 利用率
vNIC 统计信息
vNIC 利用率
磁盘统计信息
磁盘速率
磁盘 IOPS
将不包含的指标是
磁盘延迟
磁盘信息
替代方案¶
另一种选择是将检查器保存在单独的 StackForge 项目中。由于检查器的派生方式,这被认为不可行。Ceilometer 依赖于检查器驻留在主 ceilometer.compute.virt 项目中。
如果 get_hypervisor_inspector 方法扩展以支持外部项目,则可以支持这种方法。
数据模型影响¶
无。
REST API 影响¶
无。
安全影响¶
无。
Pipeline 影响¶
无。
其他最终用户影响¶
为了收集信息,检查器应在 PowerVM 主机系统上运行。这与 Nova 计算驱动程序和 Neutron ML2 代理一致。
性能/可扩展性影响¶
无。
其他部署影响¶
hypervisor_inspector 将提供一个新的选项,称为“powervm”。由于将支持标准的统计信息,因此不会对数据库产生影响。
正在开发一个 Chef 蓝图,并且正在与该团队合作以支持 PowerVM 驱动程序/代理的部署。那里的更改将支持使用 Ceilometer 检查器来处理 PowerVM。
开发者影响¶
无。将为新的检查器开发单元测试,但包含在给定的包中。
实现¶
负责人¶
- 主要负责人
thorst
- 其他贡献者
adreznec, efried
- 持续维护者
thorst, efried
工作项¶
交付 powervm 检查器的包结构。
开发 CPU 统计信息方法和单元测试。
开发 CPU 利用率方法和单元测试。
开发 vNIC 统计信息方法和单元测试。
开发 vNIC 利用率方法和单元测试。
开发磁盘统计信息方法和单元测试。
开发磁盘速率方法和单元测试。
开发磁盘 IOPS 方法和单元测试。
未来生命周期¶
驻留在 IBM 内的 PowerVM 驱动程序团队将继续维护和支持未来版本的检查器。PowerVM 驱动程序团队在此处概述:https://launchpad.net/~powervm-drivers
将提供的维护和支持,至少包括
由于基础库更改导致的 PowerVM 检查器中的更改
PowerVM 检查器的持续测试和验证
PowerVM 检查器中识别出的错误修复
依赖项¶
pypowervm: https://github.com/pypowervm/pypowervm
测试¶
将针对 PowerVM 检查器运行现有的 tempest 测试。tempest 测试与虚拟机监控程序无关,允许在不进行更改的情况下,针对 PowerVM 轮询代码运行现有的 tempest 测试。
PowerVM 驱动程序团队将直接在 PowerVM 系统上运行 tempest 测试(使用 Nova PowerVM 驱动程序和 Neutron PowerVM ML2 代理)。
文档影响¶
配置参考应包括 PowerVM 检查器的更新:https://docs.openstack.org/kilo/config-reference/content/ch_configuring-openstack-telemetry.html
参考资料¶
PowerVM 的 Python 库
pypowervm: https://github.com/pypowervm/pypowervm
相应的 OpenStack 项目
nova-powervm: https://launchpad.net/nova-powervm
neutron-powervm: https://launchpad.net/neutron-powervm
注意:这些是 StackForge 项目,我们正在与核心团队合作将其引入核心。鉴于 Neutron 本身的分解目标,Neutron 将保持 StackForge 项目。
PowerVM 作为虚拟机监控程序