收听更新计算 CDM 的所有必要通知

https://blueprints.launchpad.net/watcher/+spec/listen-all-necessary-notifications

问题描述

在 Watcher 中,它首先通过收集 nova 计算资源来构建计算 CDM,然后通过收听 nova 通知来更新计算 CDM。它已经收听了以下 nova 事件:

  • service.update

  • instance.update

  • instance.delete.end

  • compute.instance.update

  • compute.instance.create.end

  • compute.instance.delete.end

  • compute.instance.live_migration.post.dest.end

在一个云环境中,会有许多解决方案,这些解决方案会导致计算资源被强烈地重新定位,例如“自动伸缩”解决方案和“计算高可用性”解决方案。如果 Watcher 没有收听所有代表 nova 计算资源变化的通知,计算 CDM 很容易变得陈旧,并且 watcher 将无法提供有效的解决方案。

用例

作为 OpenStack 管理员,我希望 Watcher 在其他项目更改计算资源时仍然能够稳定工作。

提议的变更

以下事件也代表 nova 计算资源的变化。Watcher 需要收听以下通知并更新计算模型。

  • compute.instance.rebuild.end

  • compute.instance.resize.confirm.end

通知 ‘compute.instance.rebuild.end’ 表示一个实例的 ‘evacuate’ 操作完成,而通知 ‘compute.instance.resize.confirm.end’ 表示一个实例的 ‘resize’ 操作完成并得到用户确认。一旦 Watcher 收听了这些通知,它需要更新计算模型中的实例映射。

备选方案

数据模型影响

REST API 影响

安全影响

通知影响

其他最终用户影响

性能影响

其他部署者影响

开发人员影响

实现

负责人

主要负责人:sue

工作项

  • 收听 ‘compute.instance.rebuild.end’ 事件

  • 收听 ‘compute.instance.resize.confirm.end’ 事件

依赖项

测试

单元测试

文档影响

参考资料

历史