Roadmap

这是 CloudKitty 计划变更的路线图。变更分为

  • 持续

  • 短期(计划在下一个版本中发布)

  • 中期(理想情况下在下一个版本中发布,否则在 R+2 版本中发布)

  • 长期(对于在下一个版本中肯定不会发生变更的情况)。

注意

此文档必须保持最新。应添加任何新计划的功能。应定期更新现有功能的进度。在每个版本发布时,CloudKitty 的 PTL 负责删除在上一个版本中合并的变更。

如何编辑此文档

前两列不需要修改。如果有多人负责某个变更,您可以分别指定每个人,或者在“Assignees”(负责人)列中写上“multiple”(多人)。

状态列可以有四种状态

  • 未开始

  • 已开始

  • 评审

  • 已完成

有关突出显示语法,请参阅此文档的源文件 (doc/source/developer/roadmap.rst)。

持续努力

有些方面需要持续努力。这些不与特定版本绑定,但它们是项目最重要的方面之一。其中一些可以作为良好的首次贡献。

  • 欢迎并指导新贡献者。 审查者在审查一个人的首次贡献时应特别友善。不要假设他们已经记住了“开发者流程”文档和 OpenStack 指南,并在需要时引导他们找到正确的资源。

  • 改进文档。 这包括将文档迁移到新格式(采用用户配置文件和基于组件的布局),但也包括添加您自己发现的信息,而这些信息在现有文档中找不到(例如:特定配置选项的说明、一些示例、对一些可能对新手难以理解的概念的额外解释……)。

  • 改进故障排除文档。 此文档的创建是中期工作的一部分(见下文)。它对新用户将特别有用。 良好的首次贡献

  • 添加测试。 永远不会有足够的测试,所以不要害羞,可以改进当前的单元测试或向 tempest 插件添加一些场景。 良好的首次贡献

短期努力

计划变更

负责人

规范状态

实现状态

简要摘要

添加 v2 API

peschk_l

已完成

已完成

CloudKitty 的新 API,所有新的端点都将添加到此 API 中。

支持本地时区

peschk_l

已完成

已完成

目前,CloudKitty 将所有日期转换为 UTC 并且不感知时区。必须更改此设置,以获得更好的用户体验。

添加 Prometheus scope fetcher

jferrieu

已完成

已完成

一个 scope fetcher,它将以类似于 Gnocchi fetcher 的方式工作(检索给定元数据字段在一组指标上的所有值)。

将 v2 API 的支持添加到客户端

peschk_l

已完成

已完成

为客户端添加必要的基类,以开始支持 v2 API 端点。

添加一个 v2 API 端点,允许重置 scope 的状态

jferrieu

已完成

已完成

这将允许在给定日期之后删除特定 scope 的所有数据,并将此 scope 的状态重置为该日期。

添加一个 v2 API 端点,允许检索评级信息

Multiple

已完成

已完成

这将是 v1 API 中可用的 /summary 端点的改进版本。它将允许根据任何 groupby 属性对数据进行分组。

添加一个 v2 API 端点,允许生成报告

jferrieu

已开始

未开始

这将取代 cloudkitty-writer

中期努力

计划变更

负责人

规范状态

实现状态

简要摘要

创建一个新的评级模块

Multiple

已开始

未开始

此模块将添加对评级规则、规则集有效期的支持,并允许以声明方式创建规则。

添加第二个 v2 存储后端

peschk_l

审查: https://review.opendev.org/#/c/673461/

未开始

InfluxDB 的替代方案,支持集群。目前,Elasticsearch 已被保留。

添加故障排除文档

Multiple

未开始

未开始

一份提供响应、检查清单和教程的文档,解答 #cloudkitty IRC 频道中最常见的问题。

长期努力

计划变更

负责人

规范状态

实现状态

简要摘要

完成 v1 API 到 v2 的迁移

Multiple

已开始

未开始

使 v1 API 的每个(如果未弃用)端点在 v2 API 中可用。

在 API 中添加身份验证中间件,以防它在没有 keystone 的情况下使用。

Undefined

未开始

未开始

这将允许在 openstack 上下文之外支持 RBAC。

API 迁移状态

注意

下面未列出的 v1 API 端点将不会迁移。

v1 端点

规范

端点

客户端

Tempest 测试

GET /v1/info/config

未开始

未开始

未开始

未开始

GET /v1/info/metric

未开始

未开始

未开始

未开始

GET /v1/rating/modules

未开始

未开始

未开始

未开始

PUT /v1/rating/modules

未开始

未开始

未开始

未开始

POST /v1/rating/quote

未开始

未开始

未开始

未开始

GET /v1/report/summary

已完成

已完成

已完成

未开始

GET /v1/storage/dataframes

已完成

已完成

审查:https://review.opendev.org/#/c/681660/

未开始

GET /v1/rating/module_config/pyscripts/scripts

未开始

未开始

未开始

未开始

POST /v1/rating/module_config/pyscripts/scripts

未开始

未开始

未开始

未开始

PUT /v1/rating/module_config/pyscripts/scripts

未开始

未开始

未开始

未开始

DELETE /v1/rating/module_config/pyscripts/scripts

未开始

未开始

未开始

未开始

GET /v1/rating/module_config/hashmap/types

未开始

未开始

未开始

未开始

GET /v1/rating/module_config/hashmap/services

未开始

未开始

未开始

未开始

POST /v1/rating/module_config/hashmap/services

未开始

未开始

未开始

未开始

DELETE /v1/rating/module_config/hashmap/services

未开始

未开始

未开始

未开始

GET /v1/rating/module_config/hashmap/fields

未开始

未开始

未开始

未开始

POST /v1/rating/module_config/hashmap/fields

未开始

未开始

未开始

未开始

DELETE /v1/rating/module_config/hashmap/fields

未开始

未开始

未开始

未开始

GET /v1/rating/module_config/hashmap/mappings

未开始

未开始

未开始

未开始

POST /v1/rating/module_config/hashmap/mappings

未开始

未开始

未开始

未开始

PUT /v1/rating/module_config/hashmap/mappings

未开始

未开始

未开始

未开始

DELETE /v1/rating/module_config/hashmap/mappings

未开始

未开始

未开始

未开始

GET /v1/rating/module_config/hashmap/mappings/group

未开始

未开始

未开始

未开始

GET /v1/rating/module_config/hashmap/groups

未开始

未开始

未开始

未开始

POST /v1/rating/module_config/hashmap/groups

未开始

未开始

未开始

未开始

DELETE /v1/rating/module_config/hashmap/groups

未开始

未开始

未开始

未开始

GET /v1/rating/module_config/hashmap/groups/mappings

未开始

未开始

未开始

未开始

GET /v1/rating/module_config/hashmap/groups/thresholds

未开始

未开始

未开始

未开始