Vitrage ID¶
Vitrage ID 将采用标准生成的 UUID。
问题描述¶
目前 Vitrage ID 实际上是一组属性。这可能导致重复,并且非常具有误导性。此外,一旦我们拥有历史记录,它将阻碍我们,因为相同的告警可能会多次发生。因此,它应该与其他 Openstack 服务一样,并提供基于 Openstack UUID 生成算法的 ID。
提议的变更¶
将 Vitrage ID 从其当前算法更改为符合 OpenStack 标准的“UUIDUtils”生成的 UUID。
Vitrage 项目中的所有文档和示例都应更新为使用符合 OpenStack 标准的 UUID。
存在一些用于“mock api”请求的 Mock Json 文件,例如 alarms.sample.json。它们包含“旧”Vitrage ID。应该删除“mock”api,并且这些文件也应该删除。我们也可以只修复 mock 中的示例。
告警 ID:在为告警创建 Vitrage ID 时,我们还需要在更新 AODH / 其他时将其放入元数据中。之后,当获取更新后的告警时,我们需要更新 Vitrage 中的告警 ID。如果我们将同时拥有多个告警引擎,我们可能需要为告警创建一个“ServiceName / ID”映射,并且 Vitrage 中的告警 ID 将为“Vitrage ID”。
模板 ID 应从计算字符串更改回生成的 uuid,在 scenario_repository 中。
- 数据源
key / value 测试:修复字段名称。
转换器:转换器无需更改。
处理器:检查实体是否存在于图中:当前根据其 Vitrage ID 在图中查询实体。相反,它将根据设置的参数进行查询。如果实体存在,将使用其原始 Vitrage ID。否则,将通过 openstack UUIDUtils 的 generate_uuid 为 vitrage ID 生成新的 UUID。
更新所有必要的测试。
评估器操作/配方或一致性执行器无需更改。
性能/可扩展性影响¶
需要测试性能,因为在本蓝图开发之后,所有图查询都将使用参数而不是单个索引。
只要 Vitrage 使用内存图数据库,从本次更改开始,标准的 HA 至少会存在问题。实体的 Vitrage ID 在每个 HA “实例”中将具有不同的值。使用 Pacemaker 等效的 HA (stonith) 将解决此问题。
实现¶
负责人¶
- 主要负责人
doffek <dany.offek@gmail.com>
依赖项¶
Aodh:需要更改从 Vitrage 到 Aodh 的通知。
测试¶
单元测试和 tempest 测试。
文档影响¶
将更新所有关于创建 Vitrage ID 的文档。
参考资料¶
无