Cloudkitty monasca fetcher 实现¶
https://storyboard.openstack.org/#!/story/2006675
Monasca 已经在 cloudkitty 的 collector 中得到支持。然而,cloudkitty 缺乏一个专门用于 monasca 的 fetcher,而是依赖于其他 fetcher。
问题描述¶
在使用 monasca collector 时,无法进行 scope 发现。这迫使用户使用 keystone fetcher 并将 ‘rating’ 角色分配给每个需要 cloudkitty 的项目。另一个不太理想的解决方案是使用 ‘source’ fetcher,但这需要在配置文件中指定每个 scope。
提议的变更¶
实现一个新的 fetcher,使用 monasca 来发现 scopes
该 fetcher 将连接到 monasca 并检索一个 scope 列表(monasca 中的维度值),给定指定的维度名称。这是通过 monasca 的 python 客户端及其
metrics.list_dimension_values()方法实现的。monasca endpoint 将以类似于 monasca collector 的方式从 keystone 中检索,因为它是 monasca 客户端初始化所必需的。这是一个将 monasca 的客户端引导代码公共化到一个通用文件的良好机会。
配置选项包括
dimension_name:要从中检索 scope_ids 的 monasca 维度,默认为project_id。monasca_tenant_id:monasca tenant id,没有默认值。monasca_service_name:monasca 服务名称,默认为monascainterface:endpoint 类型,默认为internal
备选方案¶
无
数据模型影响¶
无
REST API 影响¶
无
安全影响¶
该 fetcher 将使用与当前 monasca collector 相同的身份验证机制(keystone 用于身份验证,python-monascaclient 用于 monasca 交互),并且不会引入任何新的依赖项。因此,新的 fetcher 不应产生任何安全影响。
通知影响¶
无
其他最终用户影响¶
无
性能影响¶
无
其他部署者影响¶
无
开发人员影响¶
无
实现¶
负责人¶
- 主要负责人
qanglade/qanglade
- 其他贡献者
lukapeschke/peschk_l
工作项¶
使用 python-monascaclient 实现一个 cloudkitty monasca scope fetcher。
依赖项¶
不需要新的依赖项。
测试¶
将包含常规单元测试。
文档影响¶
将添加新 fetcher 的文档,主要涵盖 fetcher 的配置。
参考资料¶
无。