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 的文档。

参考资料